ClusterArgs

data class ClusterArgs(val allowedFqdns: Output<List<String>>? = null, val allowedIpRanges: Output<List<String>>? = null, val autoStopEnabled: Output<Boolean>? = null, val diskEncryptionEnabled: Output<Boolean>? = null, val doubleEncryptionEnabled: Output<Boolean>? = null, val identity: Output<ClusterIdentityArgs>? = null, val languageExtensions: Output<List<ClusterLanguageExtensionArgs>>? = null, val location: Output<String>? = null, val name: Output<String>? = null, val optimizedAutoScale: Output<ClusterOptimizedAutoScaleArgs>? = null, val outboundNetworkAccessRestricted: Output<Boolean>? = null, val publicIpType: Output<String>? = null, val publicNetworkAccessEnabled: Output<Boolean>? = null, val purgeEnabled: Output<Boolean>? = null, val resourceGroupName: Output<String>? = null, val sku: Output<ClusterSkuArgs>? = null, val streamingIngestionEnabled: Output<Boolean>? = null, val tags: Output<Map<String, String>>? = null, val trustedExternalTenants: Output<List<String>>? = null, val virtualNetworkConfiguration: Output<ClusterVirtualNetworkConfigurationArgs>? = null, val zones: Output<List<String>>? = null) : ConvertibleToJava<ClusterArgs>

Manages a Kusto (also known as Azure Data Explorer) Cluster

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
name: "my-kusto-cluster-rg",
location: "West Europe",
});
const exampleCluster = new azure.kusto.Cluster("example", {
name: "kustocluster",
location: example.location,
resourceGroupName: example.name,
sku: {
name: "Standard_D13_v2",
capacity: 2,
},
tags: {
Environment: "Production",
},
});
import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="my-kusto-cluster-rg",
location="West Europe")
example_cluster = azure.kusto.Cluster("example",
name="kustocluster",
location=example.location,
resource_group_name=example.name,
sku={
"name": "Standard_D13_v2",
"capacity": 2,
},
tags={
"Environment": "Production",
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "my-kusto-cluster-rg",
Location = "West Europe",
});
var exampleCluster = new Azure.Kusto.Cluster("example", new()
{
Name = "kustocluster",
Location = example.Location,
ResourceGroupName = example.Name,
Sku = new Azure.Kusto.Inputs.ClusterSkuArgs
{
Name = "Standard_D13_v2",
Capacity = 2,
},
Tags =
{
{ "Environment", "Production" },
},
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/kusto"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("my-kusto-cluster-rg"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
_, err = kusto.NewCluster(ctx, "example", &kusto.ClusterArgs{
Name: pulumi.String("kustocluster"),
Location: example.Location,
ResourceGroupName: example.Name,
Sku: &kusto.ClusterSkuArgs{
Name: pulumi.String("Standard_D13_v2"),
Capacity: pulumi.Int(2),
},
Tags: pulumi.StringMap{
"Environment": pulumi.String("Production"),
},
})
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.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.kusto.Cluster;
import com.pulumi.azure.kusto.ClusterArgs;
import com.pulumi.azure.kusto.inputs.ClusterSkuArgs;
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 example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("my-kusto-cluster-rg")
.location("West Europe")
.build());
var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder()
.name("kustocluster")
.location(example.location())
.resourceGroupName(example.name())
.sku(ClusterSkuArgs.builder()
.name("Standard_D13_v2")
.capacity(2)
.build())
.tags(Map.of("Environment", "Production"))
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: my-kusto-cluster-rg
location: West Europe
exampleCluster:
type: azure:kusto:Cluster
name: example
properties:
name: kustocluster
location: ${example.location}
resourceGroupName: ${example.name}
sku:
name: Standard_D13_v2
capacity: 2
tags:
Environment: Production

Import

Kusto Clusters can be imported using the resource id, e.g.

$ pulumi import azure:kusto/cluster:Cluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Kusto/clusters/cluster1

Constructors

Link copied to clipboard
constructor(allowedFqdns: Output<List<String>>? = null, allowedIpRanges: Output<List<String>>? = null, autoStopEnabled: Output<Boolean>? = null, diskEncryptionEnabled: Output<Boolean>? = null, doubleEncryptionEnabled: Output<Boolean>? = null, identity: Output<ClusterIdentityArgs>? = null, languageExtensions: Output<List<ClusterLanguageExtensionArgs>>? = null, location: Output<String>? = null, name: Output<String>? = null, optimizedAutoScale: Output<ClusterOptimizedAutoScaleArgs>? = null, outboundNetworkAccessRestricted: Output<Boolean>? = null, publicIpType: Output<String>? = null, publicNetworkAccessEnabled: Output<Boolean>? = null, purgeEnabled: Output<Boolean>? = null, resourceGroupName: Output<String>? = null, sku: Output<ClusterSkuArgs>? = null, streamingIngestionEnabled: Output<Boolean>? = null, tags: Output<Map<String, String>>? = null, trustedExternalTenants: Output<List<String>>? = null, virtualNetworkConfiguration: Output<ClusterVirtualNetworkConfigurationArgs>? = null, zones: Output<List<String>>? = null)

Properties

Link copied to clipboard
val allowedFqdns: Output<List<String>>? = null

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

Link copied to clipboard
val allowedIpRanges: Output<List<String>>? = null

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

Link copied to clipboard
val autoStopEnabled: Output<Boolean>? = null

Specifies if the cluster could be automatically stopped (due to lack of data or no activity for many days). Defaults to true.

Link copied to clipboard
val diskEncryptionEnabled: Output<Boolean>? = null

Specifies if the cluster's disks are encrypted.

Link copied to clipboard
val doubleEncryptionEnabled: Output<Boolean>? = null

Is the cluster's double encryption enabled? Changing this forces a new resource to be created.

Link copied to clipboard
val identity: Output<ClusterIdentityArgs>? = null

An identity block as defined below.

Link copied to clipboard

An list of language_extensions to enable. Valid values are: PYTHON, PYTHON_3.10.8 and R. PYTHON is used to specify Python 3.6.5 image and PYTHON_3.10.8 is used to specify Python 3.10.8 image. Note that PYTHON_3.10.8 is only available in skus which support nested virtualization.

Link copied to clipboard
val location: Output<String>? = null

The location where the Kusto Cluster should be created. Changing this forces a new resource to be created.

Link copied to clipboard
val name: Output<String>? = null

The name of the Kusto Cluster to create. Only lowercase Alphanumeric characters allowed, starting with a letter. Changing this forces a new resource to be created.

Link copied to clipboard

An optimized_auto_scale block as defined below.

Link copied to clipboard

Whether to restrict outbound network access. Value is optional but if passed in, must be true or false, default is false.

Link copied to clipboard
val publicIpType: Output<String>? = null

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

Link copied to clipboard
val publicNetworkAccessEnabled: Output<Boolean>? = null

Is the public network access enabled? Defaults to true.

Link copied to clipboard
val purgeEnabled: Output<Boolean>? = null

Specifies if the purge operations are enabled.

Link copied to clipboard
val resourceGroupName: Output<String>? = null

Specifies the Resource Group where the Kusto Cluster should exist. Changing this forces a new resource to be created.

Link copied to clipboard
val sku: Output<ClusterSkuArgs>? = null

A sku block as defined below.

Link copied to clipboard
val streamingIngestionEnabled: Output<Boolean>? = null

Specifies if the streaming ingest is enabled.

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

A mapping of tags to assign to the resource.

Link copied to clipboard
val trustedExternalTenants: Output<List<String>>? = null

Specifies a list of tenant IDs that are trusted by the cluster. Default setting trusts all other tenants. Use trusted_external_tenants = ["*"] to explicitly allow all other tenants, trusted_external_tenants = ["MyTenantOnly"] for only your tenant or trusted_external_tenants = ["<tenantId1>", "<tenantIdx>"] to allow specific other tenants.

Link copied to clipboard

A virtual_network_configuration block as defined below.

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

Specifies a list of Availability Zones in which this Kusto Cluster should be located. Changing this forces a new Kusto Cluster to be created.

Functions

Link copied to clipboard
open override fun toJava(): ClusterArgs