# Az.Kusto This directory contains the PowerShell module for the Kusto service. --- ## Info - Modifiable: yes - Generated: all - Committed: yes - Packaged: yes --- ## Detail This module was primarily generated via [AutoRest](https://github.com/Azure/autorest) using the [PowerShell](https://github.com/Azure/autorest.powershell) extension. ## Module Requirements - [Az.Accounts module](https://www.powershellgallery.com/packages/Az.Accounts/), version 2.7.5 or greater ## Authentication AutoRest does not generate authentication code for the module. Authentication is handled via Az.Accounts by altering the HTTP payload before it is sent. ## Development For information on how to develop for `Az.Kusto`, see [how-to.md](how-to.md). --- ## Generation Requirements Use of the beta version of `autorest.powershell` generator requires the following: - [NodeJS LTS](https://nodejs.org) (10.15.x LTS preferred) - **Note**: It *will not work* with Node < 10.x. Using 11.x builds may cause issues as they may introduce instability or breaking changes. > If you want an easy way to install and update Node, [NVS - Node Version Switcher](../nodejs/installing-via-nvs.md) or [NVM - Node Version Manager](../nodejs/installing-via-nvm.md) is recommended. - [AutoRest](https://aka.ms/autorest) v3 beta
`npm install -g autorest@autorest`
  - PowerShell 6.0 or greater - If you don't have it installed, you can use the cross-platform npm package
`npm install -g pwsh`
  - .NET Core SDK 2.0 or greater - If you don't have it installed, you can use the cross-platform npm package
`npm install -g dotnet-sdk-2.2`
  ## Run Generation In this directory, run AutoRest: > `autorest` --- ### AutoRest Configuration > see https://aka.ms/autorest ### General settings > Values ``` yaml require: - $(this-folder)/../../readme.azure.noprofile.md # lock the commit input-file: - $(repo)/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2024-04-13/kusto.json commit: 9a38736f10946d4e41ea40b3ba43d85a738f3263 keep-pec-and-plr: true ``` > Names ``` yaml module-version: 0.1.4 title: Kusto subject-prefix: $(service-name) ``` > Folders ``` yaml clear-output-folder: true output-folder: . ``` > Directives ``` yaml directive: # Fix the error in swagger, RP actually returns 200 when deletion succeeds - from: swagger-document where: $..produces transform: $ = $.filter( each => each === 'application/json'); reason: this spec adds produces application/xml and text/json erroneously. # Fix the case mismatch between swagger and RP - from: swagger-document where: $ transform: return $.replace(/\/clusters\//g, "/Clusters/") - from: swagger-document where: $ transform: return $.replace(/\/databases\//g, "/Databases/") - from: swagger-document where: $ transform: return $.replace(/\/dataConnections\//g, "/DataConnections/") - from: swagger-document where: $ transform: return $.replace(/\/attachedDatabaseConfigurations\//g, "/AttachedDatabaseConfigurations/") - from: swagger-document where: $ transform: return $.replace(/\/principalAssignments\//g, "/PrincipalAssignments/") # Remove the non-expanded parameter set - where: variant: ^(Add|Check|Detach)(?!.*?(Expanded|JsonFilePath|JsonString)) remove: true - where: variant: ^CreateViaIdentity$|^CreateViaIdentityExpanded$ remove: true # Remove the unexpanded parameter set for specific commands - where: subject: ^AttachedDatabaseConfiguration$|^Cluster$|^ClusterPrincipalAssignment$|^DatabasePrincipalAssignment$ variant: ^(Create|Update)(?!.*?(Expanded|JsonFilePath|JsonString)) remove: true - where: verb: Remove subject: DatabasePrincipal|ClusterLanguageExtension variant: ^(Remove)(?!.*?(Expanded|JsonFilePath|JsonString)) remove: true # Custom commands - where: subject: ^DataConnectionValidation$ hide: true - where: subject: ^Database$|^DataConnection$ variant: ^Create$|^CreateExpanded$|^Update$|^UpdateExpanded$|^UpdateViaIdentity$|^UpdateViaIdentityExpanded$ hide: true # Autorest V4 generated variants, but need customise, can be added back upon service team request - where: subject: ^Database$|^DataConnection$ variant: ^CreateViaIdentityCluster$|^CreateViaIdentityClusterExpanded$|^CreateViaIdentityDatabase$|^CreateViaIdentityDatabaseExpanded$|^UpdateViaIdentityCluster$|^UpdateViaIdentityClusterExpanded$|^UpdateViaIdentityDatabase$|^UpdateViaIdentityDatabaseExpanded$ remove: true # Hide the operation API - where: subject: Operation hide: true # Remove the set-* cmdlet - where: verb: Set remove: true # Rename cmdlet from Get-AzKustoOperationsResultsLocation to Get-AzKustoOperationsResultLocation so it's consistent with Get-AzKustoOperationsResult - where: verb: Get subject: OperationsResultsLocation set: subject: OperationsResultLocation # For Get-AzKustoOperationResult no particular need for -PassThru parameter - where: verb: Get subject: OperationsResultLocation parameter-name: ^PassThru$ hide: true # Rename Move-AzKustoCluster -> Invoke-AzKustoClusterMigration - where: verb: Move subject: Cluster set: verb: Invoke subject: ClusterMigration # Autorest V4 generated GET+PUT api Update cmdlets, can be added upon service team request - where: verb: Update subject: DatabasePrincipalAssignment|ClusterPrincipalAssignment|AttachedDatabaseConfiguration|PrivateEndpointConnection remove: true # Correct some generated code - from: source-file-csharp where: $ transform: $ = $.replace('internal Microsoft.Azure.PowerShell.Cmdlets.Kusto.Models.IDataConnection Property', 'public Microsoft.Azure.PowerShell.Cmdlets.Kusto.Models.IDataConnection Property'); # Breaking change preview messages for Az v16.0.0 migration to autorest v4 - where: verb: Add subject: ^ClusterCalloutPolicy$|^ClusterLanguageExtension$|^DatabasePrincipal$ set: preview-announcement: preview-message: "*****************************************************************************************\\r\\n* This cmdlet will undergo a breaking change in Az v16.0.0, to be released on May 2026. *\\r\\n* At least one change applies to this cmdlet. *\\r\\n* See all possible breaking changes at https://go.microsoft.com/fwlink/?linkid=2333486 *\\r\\n**************************************************************************************************" - where: verb: Get subject: ^AttachedDatabaseConfiguration$|^Cluster$|^ClusterCalloutPolicy$|^ClusterFollowerDatabase$|^ClusterFollowerDatabaseGet$|^ClusterLanguageExtension$|^ClusterOutboundNetworkDependencyEndpoint$|^ClusterPrincipalAssignment$|^ClusterSku$|^Database$|^DatabasePrincipal$|^DatabasePrincipalAssignment$|^DataConnection$|^ManagedPrivateEndpoint$|^OperationsResult$|^PrivateEndpointConnection$|^PrivateLinkResource$|^SandboxCustomImage$|^Script$|^Sku$ set: preview-announcement: preview-message: "*****************************************************************************************\\r\\n* This cmdlet will undergo a breaking change in Az v16.0.0, to be released on May 2026. *\\r\\n* At least one change applies to this cmdlet. *\\r\\n* See all possible breaking changes at https://go.microsoft.com/fwlink/?linkid=2333486 *\\r\\n**************************************************************************************************" - where: verb: Invoke subject: ^DetachClusterFollowerDatabase$|^InviteDatabaseFollower$ set: preview-announcement: preview-message: "*****************************************************************************************\\r\\n* This cmdlet will undergo a breaking change in Az v16.0.0, to be released on May 2026. *\\r\\n* At least one change applies to this cmdlet. *\\r\\n* See all possible breaking changes at https://go.microsoft.com/fwlink/?linkid=2333486 *\\r\\n**************************************************************************************************" - where: verb: New subject: ^AttachedDatabaseConfiguration$|^Cluster$|^ClusterPrincipalAssignment$|^DatabasePrincipalAssignment$|^ManagedPrivateEndpoint$|^PrivateEndpointConnection$|^SandboxCustomImage$|^Script$ set: preview-announcement: preview-message: "*****************************************************************************************\\r\\n* This cmdlet will undergo a breaking change in Az v16.0.0, to be released on May 2026. *\\r\\n* At least one change applies to this cmdlet. *\\r\\n* See all possible breaking changes at https://go.microsoft.com/fwlink/?linkid=2333486 *\\r\\n**************************************************************************************************" - where: verb: Remove subject: ^ClusterLanguageExtension$|^DatabasePrincipal$ set: preview-announcement: preview-message: "*****************************************************************************************\\r\\n* This cmdlet will undergo a breaking change in Az v16.0.0, to be released on May 2026. *\\r\\n* At least one change applies to this cmdlet. *\\r\\n* See all possible breaking changes at https://go.microsoft.com/fwlink/?linkid=2333486 *\\r\\n**************************************************************************************************" - where: verb: Test subject: ^AttachedDatabaseConfigurationNameAvailability$|^ClusterNameAvailability$|^ClusterPrincipalAssignmentNameAvailability$|^DatabaseNameAvailability$|^DatabasePrincipalAssignmentNameAvailability$|^DataConnectionNameAvailability$|^ManagedPrivateEndpointNameAvailability$|^SandboxCustomImageNameAvailability$|^ScriptNameAvailability$ set: preview-announcement: preview-message: "*****************************************************************************************\\r\\n* This cmdlet will undergo a breaking change in Az v16.0.0, to be released on May 2026. *\\r\\n* At least one change applies to this cmdlet. *\\r\\n* See all possible breaking changes at https://go.microsoft.com/fwlink/?linkid=2333486 *\\r\\n**************************************************************************************************" - where: verb: Update subject: ^Cluster$|^ManagedPrivateEndpoint$|^SandboxCustomImage$|^Script$ set: preview-announcement: preview-message: "*****************************************************************************************\\r\\n* This cmdlet will undergo a breaking change in Az v16.0.0, to be released on May 2026. *\\r\\n* At least one change applies to this cmdlet. *\\r\\n* See all possible breaking changes at https://go.microsoft.com/fwlink/?linkid=2333486 *\\r\\n**************************************************************************************************" ```