@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api HDInsightManagementClient
@base https://management.azure.com
@version 2018-06-01-preview
@auth OAuth2
@common_fields {subscriptionId: any # The subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., api-version: any # The HDInsight client API Version.}
@endpoints 13
@toc subscriptions(13)

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}
@desc Creates a new HDInsight cluster with the specified parameters.
@required {resourceGroupName: any # The name of the resource group., clusterName: any # The name of the cluster., parameters: any # The cluster create request.}
@returns(200) OK response definition.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}
@desc Patch HDInsight cluster with the specified parameters.
@required {resourceGroupName: any # The name of the resource group., clusterName: any # The name of the cluster., parameters: any # The cluster patch request.}
@returns(200) OK response definition.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}
@desc Deletes the specified HDInsight cluster.
@required {resourceGroupName: any # The name of the resource group., clusterName: any # The name of the cluster.}
@returns(200) Ok response definition.
@returns(202) Accepted response definition.
@returns(204) No Content response definition.

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

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters
@desc Lists the HDInsight clusters in a resource group.
@required {resourceGroupName: any # The name of the resource group.}
@returns(200) OK response definition.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/roles/{roleName}/resize
@desc Resizes the specified HDInsight cluster to the specified size.
@required {resourceGroupName: any # The name of the resource group., clusterName: any # The name of the cluster., roleName: any # The constant value for the roleName, parameters: any # The parameters for the resize operation.}
@returns(200) OK response definition.
@returns(202) Accepted response definition.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/roles/{roleName}/autoscale
@desc Updates the Autoscale Configuration for HDInsight cluster.
@required {resourceGroupName: any # The name of the resource group., clusterName: any # The name of the cluster., roleName: any # The constant value for the roleName, parameters: any # The parameters for the update autoscale configuration operation.}
@returns(200) OK response definition.
@returns(202) Accepted response definition.

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/clusters
@desc Lists all the HDInsight clusters under the subscription.
@returns(200) OK response definition.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/rotatediskencryptionkey
@desc Rotate disk encryption key of the specified HDInsight cluster.
@required {resourceGroupName: any # The name of the resource group., clusterName: any # The name of the cluster., parameters: any # The parameters for the disk encryption operation.}
@returns(200) OK response definition.
@returns(202) Accepted response definition.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/getGatewaySettings
@desc Gets the gateway settings for the specified cluster.
@required {resourceGroupName: any # The name of the resource group., clusterName: any # The name of the cluster.}
@returns(200) OK response definition.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/updateGatewaySettings
@desc Configures the gateway settings on the specified cluster.
@required {resourceGroupName: any # The name of the resource group., clusterName: any # The name of the cluster., parameters: any # The cluster configurations.}
@returns(200) OK response definition.
@returns(202) Accepted response definition

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/azureasyncoperations/{operationId}
@desc The the async operation status.
@required {resourceGroupName: any # The name of the resource group., clusterName: any # The name of the cluster., operationId: any # The long running operation id.}
@returns(200) OK response definition.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/updateClusterIdentityCertificate
@desc Updates the cluster identity certificate.
@required {resourceGroupName: any # The name of the resource group., clusterName: any # The name of the cluster., parameters: map # The cluster configurations.}
@returns(200) OK response definition.
@returns(202) Accepted response definition

@end
