@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api KustoManagementClient
@base https://management.azure.com
@version 2019-09-07
@auth OAuth2
@common_fields {subscriptionId: any # Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., api-version: any # Client API Version.}
@endpoints 34
@hint download_for_search
@toc subscriptions(33), providers(1)

@group subscriptions
@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}
@desc Gets a Kusto cluster.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster.}
@returns(200) The Kusto cluster.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}
@desc Create or update a Kusto cluster.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster., parameters: any # The Kusto cluster parameters supplied to the CreateOrUpdate operation.}
@returns(200) Successfully updated the Cluster.
@returns(201) Successfully created the cluster.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}
@desc Update a Kusto cluster.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster., parameters: any # The Kusto cluster parameters supplied to the Update operation.}
@returns(200) Successfully updated the Cluster.
@returns(201) Successfully updated the cluster.
@returns(202) Successfully updated the cluster.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}
@desc Deletes a Kusto cluster.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster.}
@returns(200) OK -- cluster deleted successfully.
@returns(202) Accepted the delete cluster request.
@returns(204) NoContent -- cluster does not exist in the subscription.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/stop
@desc Stops a Kusto cluster.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster.}
@returns(200) OK.
@returns(202) Accepted

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/start
@desc Starts a Kusto cluster.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster.}
@returns(200) OK.
@returns(202) Accepted.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/listFollowerDatabases
@desc Returns a list of databases that are owned by this cluster and were followed by another cluster.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster.}
@returns(200) Successfully retrieved the list of followed databases.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/detachFollowerDatabases
@desc Detaches all followers of a database owned by this cluster.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster., followerDatabaseToRemove: map # The follower databases properties to remove.}
@returns(200) OK.
@returns(202) Accepted

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters
@desc Lists all Kusto clusters within a resource group.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster.}
@returns(200) OK.

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Kusto/clusters
@desc Lists all Kusto clusters within a subscription.
@returns(200) OK.

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Kusto/skus
@desc Lists eligible SKUs for Kusto resource provider.
@returns(200) OK.

@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/checkNameAvailability
@desc Checks that the cluster name is valid and is not already in use.
@required {location: any # Azure location., clusterName: map # The name of the cluster.}
@returns(200) OK -- Operation to check the kusto resource name availability was successful.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkNameAvailability
@desc Checks that the database name is valid and is not already in use.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster., resourceName: map # The name of the resource.}
@returns(200) OK -- Operation to check the kusto resource name availability was successful.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/skus
@desc Returns the SKUs available for the provided resource.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster.}
@returns(200) OK.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases
@desc Returns the list of databases of the given Kusto cluster.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster.}
@returns(200) Successfully retrieved the list of databases.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}
@desc Returns a database.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster., databaseName: any # The name of the database in the Kusto cluster.}
@returns(200) Successfully retrieved the specified database.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}
@desc Creates or updates a database.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster., databaseName: any # The name of the database in the Kusto cluster., parameters: any # The database parameters supplied to the CreateOrUpdate operation.}
@returns(200) Successfully updated the database.
@returns(201) Successfully created the database.
@returns(202) Accepted the create database request.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}
@desc Updates a database.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster., databaseName: any # The name of the database in the Kusto cluster., parameters: any # The database parameters supplied to the Update operation.}
@returns(200) Successfully updated the database.
@returns(201) Successfully updated the database.
@returns(202) Accepted the update database request.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}
@desc Deletes the database with the given name.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster., databaseName: any # The name of the database in the Kusto cluster.}
@returns(200) Successfully deleted the database.
@returns(202) Accepted.
@returns(204) The specified database does not exist.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/listPrincipals
@desc Returns a list of database principals of the given Kusto cluster and database.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster., databaseName: any # The name of the database in the Kusto cluster.}
@returns(200) Successfully retrieved the list of database principals.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/addPrincipals
@desc Add Database principals permissions.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster., databaseName: any # The name of the database in the Kusto cluster., databasePrincipalsToAdd: any # List of database principals to add.}
@returns(200) OK -- Successfully added the list of database principals. Returns the updated list of principals.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations
@desc Returns the list of attached database configurations of the given Kusto cluster.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster.}
@returns(200) Successfully retrieved the list of attached database configurations.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}
@desc Returns an attached database configuration.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster., attachedDatabaseConfigurationName: any # The name of the attached database configuration.}
@returns(200) Successfully retrieved the specified attached database configuration.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}
@desc Creates or updates an attached database configuration.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster., attachedDatabaseConfigurationName: any # The name of the attached database configuration., parameters: any # The database parameters supplied to the CreateOrUpdate operation.}
@returns(200) Successfully updated the database.
@returns(201) Successfully created the database.
@returns(202) Accepted the create database request.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}
@desc Deletes the attached database configuration with the given name.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster., attachedDatabaseConfigurationName: any # The name of the attached database configuration.}
@returns(200) Successfully deleted the database.
@returns(202) Accepted.
@returns(204) The specified database does not exist.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/removePrincipals
@desc Remove Database principals permissions.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster., databaseName: any # The name of the database in the Kusto cluster., databasePrincipalsToRemove: any # List of database principals to remove.}
@returns(200) OK -- Successfully removed the list of database principals. Returns the updated list of principals.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections
@desc Returns the list of data connections of the given Kusto database.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster., databaseName: any # The name of the database in the Kusto cluster.}
@returns(200) Successfully retrieved the list of data connections.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnectionValidation
@desc Checks that the data connection parameters are valid.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster., databaseName: any # The name of the database in the Kusto cluster., parameters: any # The data connection parameters supplied to the CreateOrUpdate operation.}
@returns(200) OK -- Operation to check the kusto resource name availability was successful.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/checkNameAvailability
@desc Checks that the data connection name is valid and is not already in use.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster., databaseName: any # The name of the database in the Kusto cluster., dataConnectionName: map # The name of the data connection.}
@returns(200) OK -- Operation to check the Kusto resource name availability was successful.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}
@desc Returns a data connection.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster., databaseName: any # The name of the database in the Kusto cluster., dataConnectionName: any # The name of the data connection.}
@returns(200) Successfully retrieved the specified data connection.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}
@desc Creates or updates a data connection.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster., databaseName: any # The name of the database in the Kusto cluster., dataConnectionName: any # The name of the data connection., parameters: any # The data connection parameters supplied to the CreateOrUpdate operation.}
@returns(200) Successfully updated the data connection.
@returns(201) Successfully created the data connection.
@returns(202) Accepted the create data connection request.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}
@desc Updates a data connection.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster., databaseName: any # The name of the database in the Kusto cluster., dataConnectionName: any # The name of the data connection., parameters: any # The data connection parameters supplied to the Update operation.}
@returns(200) Successfully updated the data connection.
@returns(201) Successfully updated the data connection.
@returns(202) Accepted the update data connection request.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}
@desc Deletes the data connection with the given name.
@required {resourceGroupName: any # The name of the resource group containing the Kusto cluster., clusterName: any # The name of the Kusto cluster., databaseName: any # The name of the database in the Kusto cluster., dataConnectionName: any # The name of the data connection.}
@returns(200) Successfully deleted the data connection.
@returns(202) Accepted.
@returns(204) The specified data connection does not exist.

@endgroup

@group providers
@endpoint GET /providers/Microsoft.Kusto/operations
@desc Lists available operations for the Microsoft.Kusto provider.
@returns(200) The operation was successful. The response contains the list of available operations.

@endgroup

@end
