Cluster

class Cluster : KotlinCustomResource

Class representing a Kusto cluster. Uses Azure REST API version 2024-04-13. In version 2.x of the Azure Native provider, it used API version 2022-12-29. Other available API versions: 2018-09-07-preview, 2019-01-21, 2019-05-15, 2019-09-07, 2019-11-09, 2020-02-15, 2020-06-14, 2020-09-18, 2021-01-01, 2021-08-27, 2022-02-01, 2022-07-07, 2022-11-11, 2022-12-29, 2023-05-02, 2023-08-15. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native kusto [ApiVersion]. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.

Example Usage

KustoClustersCreateOrUpdate

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var cluster = new AzureNative.Kusto.Cluster("cluster", new()
{
AllowedIpRangeList = new[]
{
"0.0.0.0/0",
},
ClusterName = "kustoCluster",
EnableAutoStop = true,
EnableDoubleEncryption = false,
EnablePurge = true,
EnableStreamingIngest = true,
Identity = new AzureNative.Kusto.Inputs.IdentityArgs
{
Type = AzureNative.Kusto.IdentityType.SystemAssigned,
},
LanguageExtensions = new AzureNative.Kusto.Inputs.LanguageExtensionsListArgs
{
Value = new[]
{
new AzureNative.Kusto.Inputs.LanguageExtensionArgs
{
LanguageExtensionImageName = AzureNative.Kusto.LanguageExtensionImageName.Python3_10_8,
LanguageExtensionName = AzureNative.Kusto.LanguageExtensionName.PYTHON,
},
new AzureNative.Kusto.Inputs.LanguageExtensionArgs
{
LanguageExtensionImageName = AzureNative.Kusto.LanguageExtensionImageName.R,
LanguageExtensionName = AzureNative.Kusto.LanguageExtensionName.R,
},
},
},
Location = "westus",
PublicIPType = AzureNative.Kusto.PublicIPType.DualStack,
PublicNetworkAccess = AzureNative.Kusto.PublicNetworkAccess.Enabled,
ResourceGroupName = "kustorptest",
Sku = new AzureNative.Kusto.Inputs.AzureSkuArgs
{
Capacity = 2,
Name = AzureNative.Kusto.AzureSkuName.Standard_L16as_v3,
Tier = AzureNative.Kusto.AzureSkuTier.Standard,
},
});
});
package main
import (
kusto "github.com/pulumi/pulumi-azure-native-sdk/kusto/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := kusto.NewCluster(ctx, "cluster", &kusto.ClusterArgs{
AllowedIpRangeList: pulumi.StringArray{
pulumi.String("0.0.0.0/0"),
},
ClusterName: pulumi.String("kustoCluster"),
EnableAutoStop: pulumi.Bool(true),
EnableDoubleEncryption: pulumi.Bool(false),
EnablePurge: pulumi.Bool(true),
EnableStreamingIngest: pulumi.Bool(true),
Identity: &kusto.IdentityArgs{
Type: pulumi.String(kusto.IdentityTypeSystemAssigned),
},
LanguageExtensions: &kusto.LanguageExtensionsListArgs{
Value: kusto.LanguageExtensionArray{
&kusto.LanguageExtensionArgs{
LanguageExtensionImageName: pulumi.String(kusto.LanguageExtensionImageName_Python3_10_8),
LanguageExtensionName: pulumi.String(kusto.LanguageExtensionNamePYTHON),
},
&kusto.LanguageExtensionArgs{
LanguageExtensionImageName: pulumi.String(kusto.LanguageExtensionImageNameR),
LanguageExtensionName: pulumi.String(kusto.LanguageExtensionNameR),
},
},
},
Location: pulumi.String("westus"),
PublicIPType: pulumi.String(kusto.PublicIPTypeDualStack),
PublicNetworkAccess: pulumi.String(kusto.PublicNetworkAccessEnabled),
ResourceGroupName: pulumi.String("kustorptest"),
Sku: &kusto.AzureSkuArgs{
Capacity: pulumi.Int(2),
Name: pulumi.String(kusto.AzureSkuName_Standard_L16as_v3),
Tier: pulumi.String(kusto.AzureSkuTierStandard),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.kusto.Cluster;
import com.pulumi.azurenative.kusto.ClusterArgs;
import com.pulumi.azurenative.kusto.inputs.IdentityArgs;
import com.pulumi.azurenative.kusto.inputs.LanguageExtensionsListArgs;
import com.pulumi.azurenative.kusto.inputs.AzureSkuArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var cluster = new Cluster("cluster", ClusterArgs.builder()
.allowedIpRangeList("0.0.0.0/0")
.clusterName("kustoCluster")
.enableAutoStop(true)
.enableDoubleEncryption(false)
.enablePurge(true)
.enableStreamingIngest(true)
.identity(IdentityArgs.builder()
.type("SystemAssigned")
.build())
.languageExtensions(LanguageExtensionsListArgs.builder()
.value(
LanguageExtensionArgs.builder()
.languageExtensionImageName("Python3_10_8")
.languageExtensionName("PYTHON")
.build(),
LanguageExtensionArgs.builder()
.languageExtensionImageName("R")
.languageExtensionName("R")
.build())
.build())
.location("westus")
.publicIPType("DualStack")
.publicNetworkAccess("Enabled")
.resourceGroupName("kustorptest")
.sku(AzureSkuArgs.builder()
.capacity(2)
.name("Standard_L16as_v3")
.tier("Standard")
.build())
.build());
}
}

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:kusto:Cluster kustoCluster /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}

Properties

Link copied to clipboard

The cluster's accepted audiences.

Link copied to clipboard
val allowedFqdnList: Output<List<String>>?

List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster.

Link copied to clipboard

The list of ips in the format of CIDR allowed to connect to the cluster.

Link copied to clipboard
val azureApiVersion: Output<String>

The Azure API version of the resource.

Link copied to clipboard

List of callout policies for egress from Cluster.

Link copied to clipboard

The cluster data ingestion URI.

Link copied to clipboard
val enableAutoStop: Output<Boolean>?

A boolean value that indicates if the cluster could be automatically stopped (due to lack of data or no activity for many days).

Link copied to clipboard

A boolean value that indicates if the cluster's disks are encrypted.

Link copied to clipboard

A boolean value that indicates if double encryption is enabled.

Link copied to clipboard
val enablePurge: Output<Boolean>?

A boolean value that indicates if the purge operations are enabled.

Link copied to clipboard

A boolean value that indicates if the streaming ingest is enabled.

Link copied to clipboard
val engineType: Output<String>?

The engine type

Link copied to clipboard
val etag: Output<String>

A unique read-only string that changes whenever the resource is updated.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard

The identity of the cluster, if configured.

Link copied to clipboard

KeyVault properties for the cluster encryption.

Link copied to clipboard

List of the cluster's language extensions.

Link copied to clipboard
val location: Output<String>

The geo-location where the resource lives

Link copied to clipboard

Properties of the peer cluster involved in a migration to/from this cluster.

Link copied to clipboard
val name: Output<String>

The name of the resource

Link copied to clipboard

Optimized auto scale definition.

Link copied to clipboard

A list of private endpoint connections.

Link copied to clipboard

The provisioned state of the resource.

Link copied to clipboard
val publicIPType: Output<String>?

Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6)

Link copied to clipboard

Public network access to the cluster is enabled by default. When disabled, only private endpoint connection to the cluster is allowed

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Whether or not to restrict outbound network access. Value is optional but if passed in, must be 'Enabled' or 'Disabled'

Link copied to clipboard
val sku: Output<AzureSkuResponse>

The SKU of the cluster.

Link copied to clipboard
val state: Output<String>

The state of the resource.

Link copied to clipboard
val stateReason: Output<String>

The reason for the cluster's current state.

Link copied to clipboard

Metadata pertaining to creation and last modification of the resource.

Link copied to clipboard
val tags: Output<Map<String, String>>?

Resource tags.

Link copied to clipboard

The cluster's external tenants.

Link copied to clipboard
val type: Output<String>

The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

Link copied to clipboard
val uri: Output<String>

The cluster URI.

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard

Virtual network definition.

Link copied to clipboard
val zones: Output<List<String>>?

The availability zones of the cluster.

Link copied to clipboard
val zoneStatus: Output<String>

Indicates whether the cluster is zonal or non-zonal.