kusto

package
v6.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 23, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AttachedDatabaseConfiguration

type AttachedDatabaseConfiguration struct {
	pulumi.CustomResourceState

	// The list of databases from the `clusterResourceId` which are currently attached to the cluster.
	AttachedDatabaseNames pulumi.StringArrayOutput `pulumi:"attachedDatabaseNames"`
	// Specifies the name of the Kusto Cluster for which the configuration will be created. Changing this forces a new resource to be created.
	ClusterName pulumi.StringOutput `pulumi:"clusterName"`
	// The resource id of the cluster where the databases you would like to attach reside. Changing this forces a new resource to be created.
	ClusterResourceId pulumi.StringOutput `pulumi:"clusterResourceId"`
	// The name of the database which you would like to attach, use * if you want to follow all current and future databases. Changing this forces a new resource to be created.
	DatabaseName pulumi.StringOutput `pulumi:"databaseName"`
	// The default principals modification kind. Valid values are: `None` (default), `Replace` and `Union`. Defaults to `None`.
	DefaultPrincipalModificationKind pulumi.StringPtrOutput `pulumi:"defaultPrincipalModificationKind"`
	// Specifies the location of the Kusto Cluster for which the configuration will be created. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name of the Kusto Attached Database Configuration to create. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the resource group of the Kusto Cluster for which the configuration will be created. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// A `sharing` block as defined below.
	Sharing AttachedDatabaseConfigurationSharingPtrOutput `pulumi:"sharing"`
}

Manages a Kusto (also known as Azure Data Explorer) Attached Database Configuration

## Example Usage

```go 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-rg"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		followerCluster, err := kusto.NewCluster(ctx, "follower_cluster", &kusto.ClusterArgs{
			Name:              pulumi.String("cluster1"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku: &kusto.ClusterSkuArgs{
				Name:     pulumi.String("Dev(No SLA)_Standard_D11_v2"),
				Capacity: pulumi.Int(1),
			},
		})
		if err != nil {
			return err
		}
		followedCluster, err := kusto.NewCluster(ctx, "followed_cluster", &kusto.ClusterArgs{
			Name:              pulumi.String("cluster2"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku: &kusto.ClusterSkuArgs{
				Name:     pulumi.String("Dev(No SLA)_Standard_D11_v2"),
				Capacity: pulumi.Int(1),
			},
		})
		if err != nil {
			return err
		}
		_, err = kusto.NewDatabase(ctx, "followed_database", &kusto.DatabaseArgs{
			Name:              pulumi.String("my-followed-database"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			ClusterName:       followerCluster.Name,
		})
		if err != nil {
			return err
		}
		exampleDatabase, err := kusto.NewDatabase(ctx, "example", &kusto.DatabaseArgs{
			Name:              pulumi.String("example"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			ClusterName:       followerCluster.Name,
		})
		if err != nil {
			return err
		}
		_, err = kusto.NewAttachedDatabaseConfiguration(ctx, "example", &kusto.AttachedDatabaseConfigurationArgs{
			Name:              pulumi.String("configuration1"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			ClusterName:       followerCluster.Name,
			ClusterResourceId: followedCluster.ID(),
			DatabaseName:      exampleDatabase.Name,
			Sharing: &kusto.AttachedDatabaseConfigurationSharingArgs{
				ExternalTablesToExcludes: pulumi.StringArray{
					pulumi.String("ExternalTable2"),
				},
				ExternalTablesToIncludes: pulumi.StringArray{
					pulumi.String("ExternalTable1"),
				},
				MaterializedViewsToExcludes: pulumi.StringArray{
					pulumi.String("MaterializedViewTable2"),
				},
				MaterializedViewsToIncludes: pulumi.StringArray{
					pulumi.String("MaterializedViewTable1"),
				},
				TablesToExcludes: pulumi.StringArray{
					pulumi.String("Table2"),
				},
				TablesToIncludes: pulumi.StringArray{
					pulumi.String("Table1"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Kusto Attached Database Configurations can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:kusto/attachedDatabaseConfiguration:AttachedDatabaseConfiguration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Kusto/clusters/cluster1/attachedDatabaseConfigurations/configuration1 ```

func GetAttachedDatabaseConfiguration

func GetAttachedDatabaseConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AttachedDatabaseConfigurationState, opts ...pulumi.ResourceOption) (*AttachedDatabaseConfiguration, error)

GetAttachedDatabaseConfiguration gets an existing AttachedDatabaseConfiguration resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAttachedDatabaseConfiguration

func NewAttachedDatabaseConfiguration(ctx *pulumi.Context,
	name string, args *AttachedDatabaseConfigurationArgs, opts ...pulumi.ResourceOption) (*AttachedDatabaseConfiguration, error)

NewAttachedDatabaseConfiguration registers a new resource with the given unique name, arguments, and options.

func (*AttachedDatabaseConfiguration) ElementType

func (*AttachedDatabaseConfiguration) ToAttachedDatabaseConfigurationOutput

func (i *AttachedDatabaseConfiguration) ToAttachedDatabaseConfigurationOutput() AttachedDatabaseConfigurationOutput

func (*AttachedDatabaseConfiguration) ToAttachedDatabaseConfigurationOutputWithContext

func (i *AttachedDatabaseConfiguration) ToAttachedDatabaseConfigurationOutputWithContext(ctx context.Context) AttachedDatabaseConfigurationOutput

type AttachedDatabaseConfigurationArgs

type AttachedDatabaseConfigurationArgs struct {
	// Specifies the name of the Kusto Cluster for which the configuration will be created. Changing this forces a new resource to be created.
	ClusterName pulumi.StringInput
	// The resource id of the cluster where the databases you would like to attach reside. Changing this forces a new resource to be created.
	ClusterResourceId pulumi.StringInput
	// The name of the database which you would like to attach, use * if you want to follow all current and future databases. Changing this forces a new resource to be created.
	DatabaseName pulumi.StringInput
	// The default principals modification kind. Valid values are: `None` (default), `Replace` and `Union`. Defaults to `None`.
	DefaultPrincipalModificationKind pulumi.StringPtrInput
	// Specifies the location of the Kusto Cluster for which the configuration will be created. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name of the Kusto Attached Database Configuration to create. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies the resource group of the Kusto Cluster for which the configuration will be created. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// A `sharing` block as defined below.
	Sharing AttachedDatabaseConfigurationSharingPtrInput
}

The set of arguments for constructing a AttachedDatabaseConfiguration resource.

func (AttachedDatabaseConfigurationArgs) ElementType

type AttachedDatabaseConfigurationArray

type AttachedDatabaseConfigurationArray []AttachedDatabaseConfigurationInput

func (AttachedDatabaseConfigurationArray) ElementType

func (AttachedDatabaseConfigurationArray) ToAttachedDatabaseConfigurationArrayOutput

func (i AttachedDatabaseConfigurationArray) ToAttachedDatabaseConfigurationArrayOutput() AttachedDatabaseConfigurationArrayOutput

func (AttachedDatabaseConfigurationArray) ToAttachedDatabaseConfigurationArrayOutputWithContext

func (i AttachedDatabaseConfigurationArray) ToAttachedDatabaseConfigurationArrayOutputWithContext(ctx context.Context) AttachedDatabaseConfigurationArrayOutput

type AttachedDatabaseConfigurationArrayInput

type AttachedDatabaseConfigurationArrayInput interface {
	pulumi.Input

	ToAttachedDatabaseConfigurationArrayOutput() AttachedDatabaseConfigurationArrayOutput
	ToAttachedDatabaseConfigurationArrayOutputWithContext(context.Context) AttachedDatabaseConfigurationArrayOutput
}

AttachedDatabaseConfigurationArrayInput is an input type that accepts AttachedDatabaseConfigurationArray and AttachedDatabaseConfigurationArrayOutput values. You can construct a concrete instance of `AttachedDatabaseConfigurationArrayInput` via:

AttachedDatabaseConfigurationArray{ AttachedDatabaseConfigurationArgs{...} }

type AttachedDatabaseConfigurationArrayOutput

type AttachedDatabaseConfigurationArrayOutput struct{ *pulumi.OutputState }

func (AttachedDatabaseConfigurationArrayOutput) ElementType

func (AttachedDatabaseConfigurationArrayOutput) Index

func (AttachedDatabaseConfigurationArrayOutput) ToAttachedDatabaseConfigurationArrayOutput

func (o AttachedDatabaseConfigurationArrayOutput) ToAttachedDatabaseConfigurationArrayOutput() AttachedDatabaseConfigurationArrayOutput

func (AttachedDatabaseConfigurationArrayOutput) ToAttachedDatabaseConfigurationArrayOutputWithContext

func (o AttachedDatabaseConfigurationArrayOutput) ToAttachedDatabaseConfigurationArrayOutputWithContext(ctx context.Context) AttachedDatabaseConfigurationArrayOutput

type AttachedDatabaseConfigurationInput

type AttachedDatabaseConfigurationInput interface {
	pulumi.Input

	ToAttachedDatabaseConfigurationOutput() AttachedDatabaseConfigurationOutput
	ToAttachedDatabaseConfigurationOutputWithContext(ctx context.Context) AttachedDatabaseConfigurationOutput
}

type AttachedDatabaseConfigurationMap

type AttachedDatabaseConfigurationMap map[string]AttachedDatabaseConfigurationInput

func (AttachedDatabaseConfigurationMap) ElementType

func (AttachedDatabaseConfigurationMap) ToAttachedDatabaseConfigurationMapOutput

func (i AttachedDatabaseConfigurationMap) ToAttachedDatabaseConfigurationMapOutput() AttachedDatabaseConfigurationMapOutput

func (AttachedDatabaseConfigurationMap) ToAttachedDatabaseConfigurationMapOutputWithContext

func (i AttachedDatabaseConfigurationMap) ToAttachedDatabaseConfigurationMapOutputWithContext(ctx context.Context) AttachedDatabaseConfigurationMapOutput

type AttachedDatabaseConfigurationMapInput

type AttachedDatabaseConfigurationMapInput interface {
	pulumi.Input

	ToAttachedDatabaseConfigurationMapOutput() AttachedDatabaseConfigurationMapOutput
	ToAttachedDatabaseConfigurationMapOutputWithContext(context.Context) AttachedDatabaseConfigurationMapOutput
}

AttachedDatabaseConfigurationMapInput is an input type that accepts AttachedDatabaseConfigurationMap and AttachedDatabaseConfigurationMapOutput values. You can construct a concrete instance of `AttachedDatabaseConfigurationMapInput` via:

AttachedDatabaseConfigurationMap{ "key": AttachedDatabaseConfigurationArgs{...} }

type AttachedDatabaseConfigurationMapOutput

type AttachedDatabaseConfigurationMapOutput struct{ *pulumi.OutputState }

func (AttachedDatabaseConfigurationMapOutput) ElementType

func (AttachedDatabaseConfigurationMapOutput) MapIndex

func (AttachedDatabaseConfigurationMapOutput) ToAttachedDatabaseConfigurationMapOutput

func (o AttachedDatabaseConfigurationMapOutput) ToAttachedDatabaseConfigurationMapOutput() AttachedDatabaseConfigurationMapOutput

func (AttachedDatabaseConfigurationMapOutput) ToAttachedDatabaseConfigurationMapOutputWithContext

func (o AttachedDatabaseConfigurationMapOutput) ToAttachedDatabaseConfigurationMapOutputWithContext(ctx context.Context) AttachedDatabaseConfigurationMapOutput

type AttachedDatabaseConfigurationOutput

type AttachedDatabaseConfigurationOutput struct{ *pulumi.OutputState }

func (AttachedDatabaseConfigurationOutput) AttachedDatabaseNames

The list of databases from the `clusterResourceId` which are currently attached to the cluster.

func (AttachedDatabaseConfigurationOutput) ClusterName

Specifies the name of the Kusto Cluster for which the configuration will be created. Changing this forces a new resource to be created.

func (AttachedDatabaseConfigurationOutput) ClusterResourceId

The resource id of the cluster where the databases you would like to attach reside. Changing this forces a new resource to be created.

func (AttachedDatabaseConfigurationOutput) DatabaseName

The name of the database which you would like to attach, use * if you want to follow all current and future databases. Changing this forces a new resource to be created.

func (AttachedDatabaseConfigurationOutput) DefaultPrincipalModificationKind

func (o AttachedDatabaseConfigurationOutput) DefaultPrincipalModificationKind() pulumi.StringPtrOutput

The default principals modification kind. Valid values are: `None` (default), `Replace` and `Union`. Defaults to `None`.

func (AttachedDatabaseConfigurationOutput) ElementType

func (AttachedDatabaseConfigurationOutput) Location

Specifies the location of the Kusto Cluster for which the configuration will be created. Changing this forces a new resource to be created.

func (AttachedDatabaseConfigurationOutput) Name

The name of the Kusto Attached Database Configuration to create. Changing this forces a new resource to be created.

func (AttachedDatabaseConfigurationOutput) ResourceGroupName

Specifies the resource group of the Kusto Cluster for which the configuration will be created. Changing this forces a new resource to be created.

func (AttachedDatabaseConfigurationOutput) Sharing

A `sharing` block as defined below.

func (AttachedDatabaseConfigurationOutput) ToAttachedDatabaseConfigurationOutput

func (o AttachedDatabaseConfigurationOutput) ToAttachedDatabaseConfigurationOutput() AttachedDatabaseConfigurationOutput

func (AttachedDatabaseConfigurationOutput) ToAttachedDatabaseConfigurationOutputWithContext

func (o AttachedDatabaseConfigurationOutput) ToAttachedDatabaseConfigurationOutputWithContext(ctx context.Context) AttachedDatabaseConfigurationOutput

type AttachedDatabaseConfigurationSharing

type AttachedDatabaseConfigurationSharing struct {
	// List of external tables exclude from the follower database.
	ExternalTablesToExcludes []string `pulumi:"externalTablesToExcludes"`
	// List of external tables to include in the follower database.
	ExternalTablesToIncludes []string `pulumi:"externalTablesToIncludes"`
	// List of materialized views exclude from the follower database.
	MaterializedViewsToExcludes []string `pulumi:"materializedViewsToExcludes"`
	// List of materialized views to include in the follower database.
	MaterializedViewsToIncludes []string `pulumi:"materializedViewsToIncludes"`
	// List of tables to exclude from the follower database.
	TablesToExcludes []string `pulumi:"tablesToExcludes"`
	// List of tables to include in the follower database.
	TablesToIncludes []string `pulumi:"tablesToIncludes"`
}

type AttachedDatabaseConfigurationSharingArgs

type AttachedDatabaseConfigurationSharingArgs struct {
	// List of external tables exclude from the follower database.
	ExternalTablesToExcludes pulumi.StringArrayInput `pulumi:"externalTablesToExcludes"`
	// List of external tables to include in the follower database.
	ExternalTablesToIncludes pulumi.StringArrayInput `pulumi:"externalTablesToIncludes"`
	// List of materialized views exclude from the follower database.
	MaterializedViewsToExcludes pulumi.StringArrayInput `pulumi:"materializedViewsToExcludes"`
	// List of materialized views to include in the follower database.
	MaterializedViewsToIncludes pulumi.StringArrayInput `pulumi:"materializedViewsToIncludes"`
	// List of tables to exclude from the follower database.
	TablesToExcludes pulumi.StringArrayInput `pulumi:"tablesToExcludes"`
	// List of tables to include in the follower database.
	TablesToIncludes pulumi.StringArrayInput `pulumi:"tablesToIncludes"`
}

func (AttachedDatabaseConfigurationSharingArgs) ElementType

func (AttachedDatabaseConfigurationSharingArgs) ToAttachedDatabaseConfigurationSharingOutput

func (i AttachedDatabaseConfigurationSharingArgs) ToAttachedDatabaseConfigurationSharingOutput() AttachedDatabaseConfigurationSharingOutput

func (AttachedDatabaseConfigurationSharingArgs) ToAttachedDatabaseConfigurationSharingOutputWithContext

func (i AttachedDatabaseConfigurationSharingArgs) ToAttachedDatabaseConfigurationSharingOutputWithContext(ctx context.Context) AttachedDatabaseConfigurationSharingOutput

func (AttachedDatabaseConfigurationSharingArgs) ToAttachedDatabaseConfigurationSharingPtrOutput

func (i AttachedDatabaseConfigurationSharingArgs) ToAttachedDatabaseConfigurationSharingPtrOutput() AttachedDatabaseConfigurationSharingPtrOutput

func (AttachedDatabaseConfigurationSharingArgs) ToAttachedDatabaseConfigurationSharingPtrOutputWithContext

func (i AttachedDatabaseConfigurationSharingArgs) ToAttachedDatabaseConfigurationSharingPtrOutputWithContext(ctx context.Context) AttachedDatabaseConfigurationSharingPtrOutput

type AttachedDatabaseConfigurationSharingInput

type AttachedDatabaseConfigurationSharingInput interface {
	pulumi.Input

	ToAttachedDatabaseConfigurationSharingOutput() AttachedDatabaseConfigurationSharingOutput
	ToAttachedDatabaseConfigurationSharingOutputWithContext(context.Context) AttachedDatabaseConfigurationSharingOutput
}

AttachedDatabaseConfigurationSharingInput is an input type that accepts AttachedDatabaseConfigurationSharingArgs and AttachedDatabaseConfigurationSharingOutput values. You can construct a concrete instance of `AttachedDatabaseConfigurationSharingInput` via:

AttachedDatabaseConfigurationSharingArgs{...}

type AttachedDatabaseConfigurationSharingOutput

type AttachedDatabaseConfigurationSharingOutput struct{ *pulumi.OutputState }

func (AttachedDatabaseConfigurationSharingOutput) ElementType

func (AttachedDatabaseConfigurationSharingOutput) ExternalTablesToExcludes

List of external tables exclude from the follower database.

func (AttachedDatabaseConfigurationSharingOutput) ExternalTablesToIncludes

List of external tables to include in the follower database.

func (AttachedDatabaseConfigurationSharingOutput) MaterializedViewsToExcludes

List of materialized views exclude from the follower database.

func (AttachedDatabaseConfigurationSharingOutput) MaterializedViewsToIncludes

List of materialized views to include in the follower database.

func (AttachedDatabaseConfigurationSharingOutput) TablesToExcludes

List of tables to exclude from the follower database.

func (AttachedDatabaseConfigurationSharingOutput) TablesToIncludes

List of tables to include in the follower database.

func (AttachedDatabaseConfigurationSharingOutput) ToAttachedDatabaseConfigurationSharingOutput

func (o AttachedDatabaseConfigurationSharingOutput) ToAttachedDatabaseConfigurationSharingOutput() AttachedDatabaseConfigurationSharingOutput

func (AttachedDatabaseConfigurationSharingOutput) ToAttachedDatabaseConfigurationSharingOutputWithContext

func (o AttachedDatabaseConfigurationSharingOutput) ToAttachedDatabaseConfigurationSharingOutputWithContext(ctx context.Context) AttachedDatabaseConfigurationSharingOutput

func (AttachedDatabaseConfigurationSharingOutput) ToAttachedDatabaseConfigurationSharingPtrOutput

func (o AttachedDatabaseConfigurationSharingOutput) ToAttachedDatabaseConfigurationSharingPtrOutput() AttachedDatabaseConfigurationSharingPtrOutput

func (AttachedDatabaseConfigurationSharingOutput) ToAttachedDatabaseConfigurationSharingPtrOutputWithContext

func (o AttachedDatabaseConfigurationSharingOutput) ToAttachedDatabaseConfigurationSharingPtrOutputWithContext(ctx context.Context) AttachedDatabaseConfigurationSharingPtrOutput

type AttachedDatabaseConfigurationSharingPtrInput

type AttachedDatabaseConfigurationSharingPtrInput interface {
	pulumi.Input

	ToAttachedDatabaseConfigurationSharingPtrOutput() AttachedDatabaseConfigurationSharingPtrOutput
	ToAttachedDatabaseConfigurationSharingPtrOutputWithContext(context.Context) AttachedDatabaseConfigurationSharingPtrOutput
}

AttachedDatabaseConfigurationSharingPtrInput is an input type that accepts AttachedDatabaseConfigurationSharingArgs, AttachedDatabaseConfigurationSharingPtr and AttachedDatabaseConfigurationSharingPtrOutput values. You can construct a concrete instance of `AttachedDatabaseConfigurationSharingPtrInput` via:

        AttachedDatabaseConfigurationSharingArgs{...}

or:

        nil

type AttachedDatabaseConfigurationSharingPtrOutput

type AttachedDatabaseConfigurationSharingPtrOutput struct{ *pulumi.OutputState }

func (AttachedDatabaseConfigurationSharingPtrOutput) Elem

func (AttachedDatabaseConfigurationSharingPtrOutput) ElementType

func (AttachedDatabaseConfigurationSharingPtrOutput) ExternalTablesToExcludes

List of external tables exclude from the follower database.

func (AttachedDatabaseConfigurationSharingPtrOutput) ExternalTablesToIncludes

List of external tables to include in the follower database.

func (AttachedDatabaseConfigurationSharingPtrOutput) MaterializedViewsToExcludes

List of materialized views exclude from the follower database.

func (AttachedDatabaseConfigurationSharingPtrOutput) MaterializedViewsToIncludes

List of materialized views to include in the follower database.

func (AttachedDatabaseConfigurationSharingPtrOutput) TablesToExcludes

List of tables to exclude from the follower database.

func (AttachedDatabaseConfigurationSharingPtrOutput) TablesToIncludes

List of tables to include in the follower database.

func (AttachedDatabaseConfigurationSharingPtrOutput) ToAttachedDatabaseConfigurationSharingPtrOutput

func (o AttachedDatabaseConfigurationSharingPtrOutput) ToAttachedDatabaseConfigurationSharingPtrOutput() AttachedDatabaseConfigurationSharingPtrOutput

func (AttachedDatabaseConfigurationSharingPtrOutput) ToAttachedDatabaseConfigurationSharingPtrOutputWithContext

func (o AttachedDatabaseConfigurationSharingPtrOutput) ToAttachedDatabaseConfigurationSharingPtrOutputWithContext(ctx context.Context) AttachedDatabaseConfigurationSharingPtrOutput

type AttachedDatabaseConfigurationState

type AttachedDatabaseConfigurationState struct {
	// The list of databases from the `clusterResourceId` which are currently attached to the cluster.
	AttachedDatabaseNames pulumi.StringArrayInput
	// Specifies the name of the Kusto Cluster for which the configuration will be created. Changing this forces a new resource to be created.
	ClusterName pulumi.StringPtrInput
	// The resource id of the cluster where the databases you would like to attach reside. Changing this forces a new resource to be created.
	ClusterResourceId pulumi.StringPtrInput
	// The name of the database which you would like to attach, use * if you want to follow all current and future databases. Changing this forces a new resource to be created.
	DatabaseName pulumi.StringPtrInput
	// The default principals modification kind. Valid values are: `None` (default), `Replace` and `Union`. Defaults to `None`.
	DefaultPrincipalModificationKind pulumi.StringPtrInput
	// Specifies the location of the Kusto Cluster for which the configuration will be created. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name of the Kusto Attached Database Configuration to create. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies the resource group of the Kusto Cluster for which the configuration will be created. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A `sharing` block as defined below.
	Sharing AttachedDatabaseConfigurationSharingPtrInput
}

func (AttachedDatabaseConfigurationState) ElementType

type Cluster

type Cluster struct {
	pulumi.CustomResourceState

	// List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster.
	AllowedFqdns pulumi.StringArrayOutput `pulumi:"allowedFqdns"`
	// The list of ips in the format of CIDR allowed to connect to the cluster.
	AllowedIpRanges pulumi.StringArrayOutput `pulumi:"allowedIpRanges"`
	// Specifies if the cluster could be automatically stopped (due to lack of data or no activity for many days). Defaults to `true`.
	AutoStopEnabled pulumi.BoolPtrOutput `pulumi:"autoStopEnabled"`
	// The Kusto Cluster URI to be used for data ingestion.
	DataIngestionUri pulumi.StringOutput `pulumi:"dataIngestionUri"`
	// Specifies if the cluster's disks are encrypted.
	DiskEncryptionEnabled pulumi.BoolPtrOutput `pulumi:"diskEncryptionEnabled"`
	// Is the cluster's double encryption enabled? Changing this forces a new resource to be created.
	DoubleEncryptionEnabled pulumi.BoolPtrOutput `pulumi:"doubleEncryptionEnabled"`
	// An `identity` block as defined below.
	Identity ClusterIdentityPtrOutput `pulumi:"identity"`
	// An list of `languageExtensions` 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.
	//
	// > **NOTE:** In `v4.0.0` and later version of the AzureRM Provider, `languageExtensions` will be changed to a list of `languageExtension` block. In each block, `name` and `image` are required. `name` is the name of the language extension, possible values are `PYTHON`, `R`. `image` is the image of the language extension, possible values are `Python3_6_5`, `Python3_10_8` and `R`.
	LanguageExtensions ClusterLanguageExtensionArrayOutput `pulumi:"languageExtensions"`
	// The location where the Kusto Cluster should be created. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// 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.
	Name pulumi.StringOutput `pulumi:"name"`
	// An `optimizedAutoScale` block as defined below.
	OptimizedAutoScale ClusterOptimizedAutoScalePtrOutput `pulumi:"optimizedAutoScale"`
	// Whether to restrict outbound network access. Value is optional but if passed in, must be `true` or `false`, default is `false`.
	OutboundNetworkAccessRestricted pulumi.BoolPtrOutput `pulumi:"outboundNetworkAccessRestricted"`
	// Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6). Defaults to `IPv4`.
	PublicIpType pulumi.StringPtrOutput `pulumi:"publicIpType"`
	// Is the public network access enabled? Defaults to `true`.
	PublicNetworkAccessEnabled pulumi.BoolPtrOutput `pulumi:"publicNetworkAccessEnabled"`
	// Specifies if the purge operations are enabled.
	PurgeEnabled pulumi.BoolPtrOutput `pulumi:"purgeEnabled"`
	// Specifies the Resource Group where the Kusto Cluster should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// A `sku` block as defined below.
	Sku ClusterSkuOutput `pulumi:"sku"`
	// Specifies if the streaming ingest is enabled.
	StreamingIngestionEnabled pulumi.BoolPtrOutput `pulumi:"streamingIngestionEnabled"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Specifies a list of tenant IDs that are trusted by the cluster. Default setting trusts all other tenants. Use `trustedExternalTenants = ["*"]` to explicitly allow all other tenants, `trustedExternalTenants = ["MyTenantOnly"]` for only your tenant or `trustedExternalTenants = ["<tenantId1>", "<tenantIdx>"]` to allow specific other tenants.
	//
	// > **NOTE:** In v3.0 of `azurerm` a new or updated Kusto Cluster will only allow your own tenant by default. Explicit configuration of this setting will change from `trustedExternalTenants = ["MyTenantOnly"]` to `trustedExternalTenants = []`.
	TrustedExternalTenants pulumi.StringArrayOutput `pulumi:"trustedExternalTenants"`
	// The FQDN of the Azure Kusto Cluster.
	Uri pulumi.StringOutput `pulumi:"uri"`
	// A `virtualNetworkConfiguration` block as defined below.
	//
	// > **NOTE:** Currently removing `virtualNetworkConfiguration` sets the `virtualNetworkConfiguration` to `Disabled` state. But any changes to `virtualNetworkConfiguration` in `Disabled` state forces a new resource to be created.
	VirtualNetworkConfiguration ClusterVirtualNetworkConfigurationPtrOutput `pulumi:"virtualNetworkConfiguration"`
	// Specifies a list of Availability Zones in which this Kusto Cluster should be located. Changing this forces a new Kusto Cluster to be created.
	Zones pulumi.StringArrayOutput `pulumi:"zones"`
}

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

## Example Usage

```go 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
	})
}

```

## Import

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

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

func GetCluster

func GetCluster(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClusterState, opts ...pulumi.ResourceOption) (*Cluster, error)

GetCluster gets an existing Cluster resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewCluster

func NewCluster(ctx *pulumi.Context,
	name string, args *ClusterArgs, opts ...pulumi.ResourceOption) (*Cluster, error)

NewCluster registers a new resource with the given unique name, arguments, and options.

func (*Cluster) ElementType

func (*Cluster) ElementType() reflect.Type

func (*Cluster) ToClusterOutput

func (i *Cluster) ToClusterOutput() ClusterOutput

func (*Cluster) ToClusterOutputWithContext

func (i *Cluster) ToClusterOutputWithContext(ctx context.Context) ClusterOutput

type ClusterArgs

type ClusterArgs struct {
	// List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster.
	AllowedFqdns pulumi.StringArrayInput
	// The list of ips in the format of CIDR allowed to connect to the cluster.
	AllowedIpRanges pulumi.StringArrayInput
	// Specifies if the cluster could be automatically stopped (due to lack of data or no activity for many days). Defaults to `true`.
	AutoStopEnabled pulumi.BoolPtrInput
	// Specifies if the cluster's disks are encrypted.
	DiskEncryptionEnabled pulumi.BoolPtrInput
	// Is the cluster's double encryption enabled? Changing this forces a new resource to be created.
	DoubleEncryptionEnabled pulumi.BoolPtrInput
	// An `identity` block as defined below.
	Identity ClusterIdentityPtrInput
	// An list of `languageExtensions` 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.
	//
	// > **NOTE:** In `v4.0.0` and later version of the AzureRM Provider, `languageExtensions` will be changed to a list of `languageExtension` block. In each block, `name` and `image` are required. `name` is the name of the language extension, possible values are `PYTHON`, `R`. `image` is the image of the language extension, possible values are `Python3_6_5`, `Python3_10_8` and `R`.
	LanguageExtensions ClusterLanguageExtensionArrayInput
	// The location where the Kusto Cluster should be created. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// 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.
	Name pulumi.StringPtrInput
	// An `optimizedAutoScale` block as defined below.
	OptimizedAutoScale ClusterOptimizedAutoScalePtrInput
	// Whether to restrict outbound network access. Value is optional but if passed in, must be `true` or `false`, default is `false`.
	OutboundNetworkAccessRestricted pulumi.BoolPtrInput
	// Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6). Defaults to `IPv4`.
	PublicIpType pulumi.StringPtrInput
	// Is the public network access enabled? Defaults to `true`.
	PublicNetworkAccessEnabled pulumi.BoolPtrInput
	// Specifies if the purge operations are enabled.
	PurgeEnabled pulumi.BoolPtrInput
	// Specifies the Resource Group where the Kusto Cluster should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// A `sku` block as defined below.
	Sku ClusterSkuInput
	// Specifies if the streaming ingest is enabled.
	StreamingIngestionEnabled pulumi.BoolPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Specifies a list of tenant IDs that are trusted by the cluster. Default setting trusts all other tenants. Use `trustedExternalTenants = ["*"]` to explicitly allow all other tenants, `trustedExternalTenants = ["MyTenantOnly"]` for only your tenant or `trustedExternalTenants = ["<tenantId1>", "<tenantIdx>"]` to allow specific other tenants.
	//
	// > **NOTE:** In v3.0 of `azurerm` a new or updated Kusto Cluster will only allow your own tenant by default. Explicit configuration of this setting will change from `trustedExternalTenants = ["MyTenantOnly"]` to `trustedExternalTenants = []`.
	TrustedExternalTenants pulumi.StringArrayInput
	// A `virtualNetworkConfiguration` block as defined below.
	//
	// > **NOTE:** Currently removing `virtualNetworkConfiguration` sets the `virtualNetworkConfiguration` to `Disabled` state. But any changes to `virtualNetworkConfiguration` in `Disabled` state forces a new resource to be created.
	VirtualNetworkConfiguration ClusterVirtualNetworkConfigurationPtrInput
	// Specifies a list of Availability Zones in which this Kusto Cluster should be located. Changing this forces a new Kusto Cluster to be created.
	Zones pulumi.StringArrayInput
}

The set of arguments for constructing a Cluster resource.

func (ClusterArgs) ElementType

func (ClusterArgs) ElementType() reflect.Type

type ClusterArray

type ClusterArray []ClusterInput

func (ClusterArray) ElementType

func (ClusterArray) ElementType() reflect.Type

func (ClusterArray) ToClusterArrayOutput

func (i ClusterArray) ToClusterArrayOutput() ClusterArrayOutput

func (ClusterArray) ToClusterArrayOutputWithContext

func (i ClusterArray) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput

type ClusterArrayInput

type ClusterArrayInput interface {
	pulumi.Input

	ToClusterArrayOutput() ClusterArrayOutput
	ToClusterArrayOutputWithContext(context.Context) ClusterArrayOutput
}

ClusterArrayInput is an input type that accepts ClusterArray and ClusterArrayOutput values. You can construct a concrete instance of `ClusterArrayInput` via:

ClusterArray{ ClusterArgs{...} }

type ClusterArrayOutput

type ClusterArrayOutput struct{ *pulumi.OutputState }

func (ClusterArrayOutput) ElementType

func (ClusterArrayOutput) ElementType() reflect.Type

func (ClusterArrayOutput) Index

func (ClusterArrayOutput) ToClusterArrayOutput

func (o ClusterArrayOutput) ToClusterArrayOutput() ClusterArrayOutput

func (ClusterArrayOutput) ToClusterArrayOutputWithContext

func (o ClusterArrayOutput) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput

type ClusterCustomerManagedKey

type ClusterCustomerManagedKey struct {
	pulumi.CustomResourceState

	// The ID of the Kusto Cluster. Changing this forces a new resource to be created.
	ClusterId pulumi.StringOutput `pulumi:"clusterId"`
	// The name of Key Vault Key.
	KeyName pulumi.StringOutput `pulumi:"keyName"`
	// The ID of the Key Vault.
	KeyVaultId pulumi.StringOutput `pulumi:"keyVaultId"`
	// The version of Key Vault Key.
	KeyVersion pulumi.StringPtrOutput `pulumi:"keyVersion"`
	// The user assigned identity that has access to the Key Vault Key. If not specified, system assigned identity will be used.
	UserIdentity pulumi.StringPtrOutput `pulumi:"userIdentity"`
}

Manages a Customer Managed Key for a Kusto Cluster.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault"
"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 {
		current, err := core.GetClientConfig(ctx, nil, nil)
		if err != nil {
			return err
		}
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleKeyVault, err := keyvault.NewKeyVault(ctx, "example", &keyvault.KeyVaultArgs{
			Name:                   pulumi.String("examplekv"),
			Location:               example.Location,
			ResourceGroupName:      example.Name,
			TenantId:               pulumi.String(current.TenantId),
			SkuName:                pulumi.String("standard"),
			PurgeProtectionEnabled: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		exampleCluster, 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),
			},
			Identity: &kusto.ClusterIdentityArgs{
				Type: pulumi.String("SystemAssigned"),
			},
		})
		if err != nil {
			return err
		}
		cluster, err := keyvault.NewAccessPolicy(ctx, "cluster", &keyvault.AccessPolicyArgs{
			KeyVaultId: exampleKeyVault.ID(),
			TenantId:   pulumi.String(current.TenantId),
			ObjectId: pulumi.String(exampleCluster.Identity.ApplyT(func(identity kusto.ClusterIdentity) (*string, error) {
				return &identity.PrincipalId, nil
			}).(pulumi.StringPtrOutput)),
			KeyPermissions: pulumi.StringArray{
				pulumi.String("Get"),
				pulumi.String("UnwrapKey"),
				pulumi.String("WrapKey"),
			},
		})
		if err != nil {
			return err
		}
		client, err := keyvault.NewAccessPolicy(ctx, "client", &keyvault.AccessPolicyArgs{
			KeyVaultId: exampleKeyVault.ID(),
			TenantId:   pulumi.String(current.TenantId),
			ObjectId:   pulumi.String(current.ObjectId),
			KeyPermissions: pulumi.StringArray{
				pulumi.String("Get"),
				pulumi.String("List"),
				pulumi.String("Create"),
				pulumi.String("Delete"),
				pulumi.String("Recover"),
				pulumi.String("GetRotationPolicy"),
			},
		})
		if err != nil {
			return err
		}
		exampleKey, err := keyvault.NewKey(ctx, "example", &keyvault.KeyArgs{
			Name:       pulumi.String("tfex-key"),
			KeyVaultId: exampleKeyVault.ID(),
			KeyType:    pulumi.String("RSA"),
			KeySize:    pulumi.Int(2048),
			KeyOpts: pulumi.StringArray{
				pulumi.String("decrypt"),
				pulumi.String("encrypt"),
				pulumi.String("sign"),
				pulumi.String("unwrapKey"),
				pulumi.String("verify"),
				pulumi.String("wrapKey"),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			client,
			cluster,
		}))
		if err != nil {
			return err
		}
		_, err = kusto.NewClusterCustomerManagedKey(ctx, "example", &kusto.ClusterCustomerManagedKeyArgs{
			ClusterId:  exampleCluster.ID(),
			KeyVaultId: exampleKeyVault.ID(),
			KeyName:    exampleKey.Name,
			KeyVersion: exampleKey.Version,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Customer Managed Keys for a Kusto Cluster can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:kusto/clusterCustomerManagedKey:ClusterCustomerManagedKey example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Kusto/clusters/cluster1 ```

func GetClusterCustomerManagedKey

func GetClusterCustomerManagedKey(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClusterCustomerManagedKeyState, opts ...pulumi.ResourceOption) (*ClusterCustomerManagedKey, error)

GetClusterCustomerManagedKey gets an existing ClusterCustomerManagedKey resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewClusterCustomerManagedKey

func NewClusterCustomerManagedKey(ctx *pulumi.Context,
	name string, args *ClusterCustomerManagedKeyArgs, opts ...pulumi.ResourceOption) (*ClusterCustomerManagedKey, error)

NewClusterCustomerManagedKey registers a new resource with the given unique name, arguments, and options.

func (*ClusterCustomerManagedKey) ElementType

func (*ClusterCustomerManagedKey) ElementType() reflect.Type

func (*ClusterCustomerManagedKey) ToClusterCustomerManagedKeyOutput

func (i *ClusterCustomerManagedKey) ToClusterCustomerManagedKeyOutput() ClusterCustomerManagedKeyOutput

func (*ClusterCustomerManagedKey) ToClusterCustomerManagedKeyOutputWithContext

func (i *ClusterCustomerManagedKey) ToClusterCustomerManagedKeyOutputWithContext(ctx context.Context) ClusterCustomerManagedKeyOutput

type ClusterCustomerManagedKeyArgs

type ClusterCustomerManagedKeyArgs struct {
	// The ID of the Kusto Cluster. Changing this forces a new resource to be created.
	ClusterId pulumi.StringInput
	// The name of Key Vault Key.
	KeyName pulumi.StringInput
	// The ID of the Key Vault.
	KeyVaultId pulumi.StringInput
	// The version of Key Vault Key.
	KeyVersion pulumi.StringPtrInput
	// The user assigned identity that has access to the Key Vault Key. If not specified, system assigned identity will be used.
	UserIdentity pulumi.StringPtrInput
}

The set of arguments for constructing a ClusterCustomerManagedKey resource.

func (ClusterCustomerManagedKeyArgs) ElementType

type ClusterCustomerManagedKeyArray

type ClusterCustomerManagedKeyArray []ClusterCustomerManagedKeyInput

func (ClusterCustomerManagedKeyArray) ElementType

func (ClusterCustomerManagedKeyArray) ToClusterCustomerManagedKeyArrayOutput

func (i ClusterCustomerManagedKeyArray) ToClusterCustomerManagedKeyArrayOutput() ClusterCustomerManagedKeyArrayOutput

func (ClusterCustomerManagedKeyArray) ToClusterCustomerManagedKeyArrayOutputWithContext

func (i ClusterCustomerManagedKeyArray) ToClusterCustomerManagedKeyArrayOutputWithContext(ctx context.Context) ClusterCustomerManagedKeyArrayOutput

type ClusterCustomerManagedKeyArrayInput

type ClusterCustomerManagedKeyArrayInput interface {
	pulumi.Input

	ToClusterCustomerManagedKeyArrayOutput() ClusterCustomerManagedKeyArrayOutput
	ToClusterCustomerManagedKeyArrayOutputWithContext(context.Context) ClusterCustomerManagedKeyArrayOutput
}

ClusterCustomerManagedKeyArrayInput is an input type that accepts ClusterCustomerManagedKeyArray and ClusterCustomerManagedKeyArrayOutput values. You can construct a concrete instance of `ClusterCustomerManagedKeyArrayInput` via:

ClusterCustomerManagedKeyArray{ ClusterCustomerManagedKeyArgs{...} }

type ClusterCustomerManagedKeyArrayOutput

type ClusterCustomerManagedKeyArrayOutput struct{ *pulumi.OutputState }

func (ClusterCustomerManagedKeyArrayOutput) ElementType

func (ClusterCustomerManagedKeyArrayOutput) Index

func (ClusterCustomerManagedKeyArrayOutput) ToClusterCustomerManagedKeyArrayOutput

func (o ClusterCustomerManagedKeyArrayOutput) ToClusterCustomerManagedKeyArrayOutput() ClusterCustomerManagedKeyArrayOutput

func (ClusterCustomerManagedKeyArrayOutput) ToClusterCustomerManagedKeyArrayOutputWithContext

func (o ClusterCustomerManagedKeyArrayOutput) ToClusterCustomerManagedKeyArrayOutputWithContext(ctx context.Context) ClusterCustomerManagedKeyArrayOutput

type ClusterCustomerManagedKeyInput

type ClusterCustomerManagedKeyInput interface {
	pulumi.Input

	ToClusterCustomerManagedKeyOutput() ClusterCustomerManagedKeyOutput
	ToClusterCustomerManagedKeyOutputWithContext(ctx context.Context) ClusterCustomerManagedKeyOutput
}

type ClusterCustomerManagedKeyMap

type ClusterCustomerManagedKeyMap map[string]ClusterCustomerManagedKeyInput

func (ClusterCustomerManagedKeyMap) ElementType

func (ClusterCustomerManagedKeyMap) ToClusterCustomerManagedKeyMapOutput

func (i ClusterCustomerManagedKeyMap) ToClusterCustomerManagedKeyMapOutput() ClusterCustomerManagedKeyMapOutput

func (ClusterCustomerManagedKeyMap) ToClusterCustomerManagedKeyMapOutputWithContext

func (i ClusterCustomerManagedKeyMap) ToClusterCustomerManagedKeyMapOutputWithContext(ctx context.Context) ClusterCustomerManagedKeyMapOutput

type ClusterCustomerManagedKeyMapInput

type ClusterCustomerManagedKeyMapInput interface {
	pulumi.Input

	ToClusterCustomerManagedKeyMapOutput() ClusterCustomerManagedKeyMapOutput
	ToClusterCustomerManagedKeyMapOutputWithContext(context.Context) ClusterCustomerManagedKeyMapOutput
}

ClusterCustomerManagedKeyMapInput is an input type that accepts ClusterCustomerManagedKeyMap and ClusterCustomerManagedKeyMapOutput values. You can construct a concrete instance of `ClusterCustomerManagedKeyMapInput` via:

ClusterCustomerManagedKeyMap{ "key": ClusterCustomerManagedKeyArgs{...} }

type ClusterCustomerManagedKeyMapOutput

type ClusterCustomerManagedKeyMapOutput struct{ *pulumi.OutputState }

func (ClusterCustomerManagedKeyMapOutput) ElementType

func (ClusterCustomerManagedKeyMapOutput) MapIndex

func (ClusterCustomerManagedKeyMapOutput) ToClusterCustomerManagedKeyMapOutput

func (o ClusterCustomerManagedKeyMapOutput) ToClusterCustomerManagedKeyMapOutput() ClusterCustomerManagedKeyMapOutput

func (ClusterCustomerManagedKeyMapOutput) ToClusterCustomerManagedKeyMapOutputWithContext

func (o ClusterCustomerManagedKeyMapOutput) ToClusterCustomerManagedKeyMapOutputWithContext(ctx context.Context) ClusterCustomerManagedKeyMapOutput

type ClusterCustomerManagedKeyOutput

type ClusterCustomerManagedKeyOutput struct{ *pulumi.OutputState }

func (ClusterCustomerManagedKeyOutput) ClusterId

The ID of the Kusto Cluster. Changing this forces a new resource to be created.

func (ClusterCustomerManagedKeyOutput) ElementType

func (ClusterCustomerManagedKeyOutput) KeyName

The name of Key Vault Key.

func (ClusterCustomerManagedKeyOutput) KeyVaultId

The ID of the Key Vault.

func (ClusterCustomerManagedKeyOutput) KeyVersion

The version of Key Vault Key.

func (ClusterCustomerManagedKeyOutput) ToClusterCustomerManagedKeyOutput

func (o ClusterCustomerManagedKeyOutput) ToClusterCustomerManagedKeyOutput() ClusterCustomerManagedKeyOutput

func (ClusterCustomerManagedKeyOutput) ToClusterCustomerManagedKeyOutputWithContext

func (o ClusterCustomerManagedKeyOutput) ToClusterCustomerManagedKeyOutputWithContext(ctx context.Context) ClusterCustomerManagedKeyOutput

func (ClusterCustomerManagedKeyOutput) UserIdentity

The user assigned identity that has access to the Key Vault Key. If not specified, system assigned identity will be used.

type ClusterCustomerManagedKeyState

type ClusterCustomerManagedKeyState struct {
	// The ID of the Kusto Cluster. Changing this forces a new resource to be created.
	ClusterId pulumi.StringPtrInput
	// The name of Key Vault Key.
	KeyName pulumi.StringPtrInput
	// The ID of the Key Vault.
	KeyVaultId pulumi.StringPtrInput
	// The version of Key Vault Key.
	KeyVersion pulumi.StringPtrInput
	// The user assigned identity that has access to the Key Vault Key. If not specified, system assigned identity will be used.
	UserIdentity pulumi.StringPtrInput
}

func (ClusterCustomerManagedKeyState) ElementType

type ClusterIdentity

type ClusterIdentity struct {
	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this Kusto Cluster.
	//
	// > **NOTE:** This is required when `type` is set to `UserAssigned` or `SystemAssigned, UserAssigned`.
	IdentityIds []string `pulumi:"identityIds"`
	// The Principal ID associated with this System Assigned Managed Service Identity.
	PrincipalId *string `pulumi:"principalId"`
	// The Tenant ID associated with this System Assigned Managed Service Identity.
	TenantId *string `pulumi:"tenantId"`
	// Specifies the type of Managed Service Identity that is configured on this Kusto Cluster. Possible values are: `SystemAssigned`, `UserAssigned` and `SystemAssigned, UserAssigned`.
	Type string `pulumi:"type"`
}

type ClusterIdentityArgs

type ClusterIdentityArgs struct {
	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this Kusto Cluster.
	//
	// > **NOTE:** This is required when `type` is set to `UserAssigned` or `SystemAssigned, UserAssigned`.
	IdentityIds pulumi.StringArrayInput `pulumi:"identityIds"`
	// The Principal ID associated with this System Assigned Managed Service Identity.
	PrincipalId pulumi.StringPtrInput `pulumi:"principalId"`
	// The Tenant ID associated with this System Assigned Managed Service Identity.
	TenantId pulumi.StringPtrInput `pulumi:"tenantId"`
	// Specifies the type of Managed Service Identity that is configured on this Kusto Cluster. Possible values are: `SystemAssigned`, `UserAssigned` and `SystemAssigned, UserAssigned`.
	Type pulumi.StringInput `pulumi:"type"`
}

func (ClusterIdentityArgs) ElementType

func (ClusterIdentityArgs) ElementType() reflect.Type

func (ClusterIdentityArgs) ToClusterIdentityOutput

func (i ClusterIdentityArgs) ToClusterIdentityOutput() ClusterIdentityOutput

func (ClusterIdentityArgs) ToClusterIdentityOutputWithContext

func (i ClusterIdentityArgs) ToClusterIdentityOutputWithContext(ctx context.Context) ClusterIdentityOutput

func (ClusterIdentityArgs) ToClusterIdentityPtrOutput

func (i ClusterIdentityArgs) ToClusterIdentityPtrOutput() ClusterIdentityPtrOutput

func (ClusterIdentityArgs) ToClusterIdentityPtrOutputWithContext

func (i ClusterIdentityArgs) ToClusterIdentityPtrOutputWithContext(ctx context.Context) ClusterIdentityPtrOutput

type ClusterIdentityInput

type ClusterIdentityInput interface {
	pulumi.Input

	ToClusterIdentityOutput() ClusterIdentityOutput
	ToClusterIdentityOutputWithContext(context.Context) ClusterIdentityOutput
}

ClusterIdentityInput is an input type that accepts ClusterIdentityArgs and ClusterIdentityOutput values. You can construct a concrete instance of `ClusterIdentityInput` via:

ClusterIdentityArgs{...}

type ClusterIdentityOutput

type ClusterIdentityOutput struct{ *pulumi.OutputState }

func (ClusterIdentityOutput) ElementType

func (ClusterIdentityOutput) ElementType() reflect.Type

func (ClusterIdentityOutput) IdentityIds

Specifies a list of User Assigned Managed Identity IDs to be assigned to this Kusto Cluster.

> **NOTE:** This is required when `type` is set to `UserAssigned` or `SystemAssigned, UserAssigned`.

func (ClusterIdentityOutput) PrincipalId

The Principal ID associated with this System Assigned Managed Service Identity.

func (ClusterIdentityOutput) TenantId

The Tenant ID associated with this System Assigned Managed Service Identity.

func (ClusterIdentityOutput) ToClusterIdentityOutput

func (o ClusterIdentityOutput) ToClusterIdentityOutput() ClusterIdentityOutput

func (ClusterIdentityOutput) ToClusterIdentityOutputWithContext

func (o ClusterIdentityOutput) ToClusterIdentityOutputWithContext(ctx context.Context) ClusterIdentityOutput

func (ClusterIdentityOutput) ToClusterIdentityPtrOutput

func (o ClusterIdentityOutput) ToClusterIdentityPtrOutput() ClusterIdentityPtrOutput

func (ClusterIdentityOutput) ToClusterIdentityPtrOutputWithContext

func (o ClusterIdentityOutput) ToClusterIdentityPtrOutputWithContext(ctx context.Context) ClusterIdentityPtrOutput

func (ClusterIdentityOutput) Type

Specifies the type of Managed Service Identity that is configured on this Kusto Cluster. Possible values are: `SystemAssigned`, `UserAssigned` and `SystemAssigned, UserAssigned`.

type ClusterIdentityPtrInput

type ClusterIdentityPtrInput interface {
	pulumi.Input

	ToClusterIdentityPtrOutput() ClusterIdentityPtrOutput
	ToClusterIdentityPtrOutputWithContext(context.Context) ClusterIdentityPtrOutput
}

ClusterIdentityPtrInput is an input type that accepts ClusterIdentityArgs, ClusterIdentityPtr and ClusterIdentityPtrOutput values. You can construct a concrete instance of `ClusterIdentityPtrInput` via:

        ClusterIdentityArgs{...}

or:

        nil

type ClusterIdentityPtrOutput

type ClusterIdentityPtrOutput struct{ *pulumi.OutputState }

func (ClusterIdentityPtrOutput) Elem

func (ClusterIdentityPtrOutput) ElementType

func (ClusterIdentityPtrOutput) ElementType() reflect.Type

func (ClusterIdentityPtrOutput) IdentityIds

Specifies a list of User Assigned Managed Identity IDs to be assigned to this Kusto Cluster.

> **NOTE:** This is required when `type` is set to `UserAssigned` or `SystemAssigned, UserAssigned`.

func (ClusterIdentityPtrOutput) PrincipalId

The Principal ID associated with this System Assigned Managed Service Identity.

func (ClusterIdentityPtrOutput) TenantId

The Tenant ID associated with this System Assigned Managed Service Identity.

func (ClusterIdentityPtrOutput) ToClusterIdentityPtrOutput

func (o ClusterIdentityPtrOutput) ToClusterIdentityPtrOutput() ClusterIdentityPtrOutput

func (ClusterIdentityPtrOutput) ToClusterIdentityPtrOutputWithContext

func (o ClusterIdentityPtrOutput) ToClusterIdentityPtrOutputWithContext(ctx context.Context) ClusterIdentityPtrOutput

func (ClusterIdentityPtrOutput) Type

Specifies the type of Managed Service Identity that is configured on this Kusto Cluster. Possible values are: `SystemAssigned`, `UserAssigned` and `SystemAssigned, UserAssigned`.

type ClusterInput

type ClusterInput interface {
	pulumi.Input

	ToClusterOutput() ClusterOutput
	ToClusterOutputWithContext(ctx context.Context) ClusterOutput
}

type ClusterLanguageExtension

type ClusterLanguageExtension struct {
	Image string `pulumi:"image"`
	// 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.
	Name string `pulumi:"name"`
}

type ClusterLanguageExtensionArgs

type ClusterLanguageExtensionArgs struct {
	Image pulumi.StringInput `pulumi:"image"`
	// 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.
	Name pulumi.StringInput `pulumi:"name"`
}

func (ClusterLanguageExtensionArgs) ElementType

func (ClusterLanguageExtensionArgs) ToClusterLanguageExtensionOutput

func (i ClusterLanguageExtensionArgs) ToClusterLanguageExtensionOutput() ClusterLanguageExtensionOutput

func (ClusterLanguageExtensionArgs) ToClusterLanguageExtensionOutputWithContext

func (i ClusterLanguageExtensionArgs) ToClusterLanguageExtensionOutputWithContext(ctx context.Context) ClusterLanguageExtensionOutput

type ClusterLanguageExtensionArray

type ClusterLanguageExtensionArray []ClusterLanguageExtensionInput

func (ClusterLanguageExtensionArray) ElementType

func (ClusterLanguageExtensionArray) ToClusterLanguageExtensionArrayOutput

func (i ClusterLanguageExtensionArray) ToClusterLanguageExtensionArrayOutput() ClusterLanguageExtensionArrayOutput

func (ClusterLanguageExtensionArray) ToClusterLanguageExtensionArrayOutputWithContext

func (i ClusterLanguageExtensionArray) ToClusterLanguageExtensionArrayOutputWithContext(ctx context.Context) ClusterLanguageExtensionArrayOutput

type ClusterLanguageExtensionArrayInput

type ClusterLanguageExtensionArrayInput interface {
	pulumi.Input

	ToClusterLanguageExtensionArrayOutput() ClusterLanguageExtensionArrayOutput
	ToClusterLanguageExtensionArrayOutputWithContext(context.Context) ClusterLanguageExtensionArrayOutput
}

ClusterLanguageExtensionArrayInput is an input type that accepts ClusterLanguageExtensionArray and ClusterLanguageExtensionArrayOutput values. You can construct a concrete instance of `ClusterLanguageExtensionArrayInput` via:

ClusterLanguageExtensionArray{ ClusterLanguageExtensionArgs{...} }

type ClusterLanguageExtensionArrayOutput

type ClusterLanguageExtensionArrayOutput struct{ *pulumi.OutputState }

func (ClusterLanguageExtensionArrayOutput) ElementType

func (ClusterLanguageExtensionArrayOutput) Index

func (ClusterLanguageExtensionArrayOutput) ToClusterLanguageExtensionArrayOutput

func (o ClusterLanguageExtensionArrayOutput) ToClusterLanguageExtensionArrayOutput() ClusterLanguageExtensionArrayOutput

func (ClusterLanguageExtensionArrayOutput) ToClusterLanguageExtensionArrayOutputWithContext

func (o ClusterLanguageExtensionArrayOutput) ToClusterLanguageExtensionArrayOutputWithContext(ctx context.Context) ClusterLanguageExtensionArrayOutput

type ClusterLanguageExtensionInput

type ClusterLanguageExtensionInput interface {
	pulumi.Input

	ToClusterLanguageExtensionOutput() ClusterLanguageExtensionOutput
	ToClusterLanguageExtensionOutputWithContext(context.Context) ClusterLanguageExtensionOutput
}

ClusterLanguageExtensionInput is an input type that accepts ClusterLanguageExtensionArgs and ClusterLanguageExtensionOutput values. You can construct a concrete instance of `ClusterLanguageExtensionInput` via:

ClusterLanguageExtensionArgs{...}

type ClusterLanguageExtensionOutput

type ClusterLanguageExtensionOutput struct{ *pulumi.OutputState }

func (ClusterLanguageExtensionOutput) ElementType

func (ClusterLanguageExtensionOutput) Image

func (ClusterLanguageExtensionOutput) Name

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.

func (ClusterLanguageExtensionOutput) ToClusterLanguageExtensionOutput

func (o ClusterLanguageExtensionOutput) ToClusterLanguageExtensionOutput() ClusterLanguageExtensionOutput

func (ClusterLanguageExtensionOutput) ToClusterLanguageExtensionOutputWithContext

func (o ClusterLanguageExtensionOutput) ToClusterLanguageExtensionOutputWithContext(ctx context.Context) ClusterLanguageExtensionOutput

type ClusterManagedPrivateEndpoint

type ClusterManagedPrivateEndpoint struct {
	pulumi.CustomResourceState

	// The name of the Kusto Cluster. Changing this forces a new resource to be created.
	ClusterName pulumi.StringOutput `pulumi:"clusterName"`
	// The group id in which the managed private endpoint is created. Changing this forces a new resource to be created.
	GroupId pulumi.StringOutput `pulumi:"groupId"`
	// The name of the Managed Private Endpoints to create. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ARM resource ID of the resource for which the managed private endpoint is created. Changing this forces a new resource to be created.
	PrivateLinkResourceId pulumi.StringOutput `pulumi:"privateLinkResourceId"`
	// The region of the resource to which the managed private endpoint is created. Changing this forces a new resource to be created.
	PrivateLinkResourceRegion pulumi.StringPtrOutput `pulumi:"privateLinkResourceRegion"`
	// The user request message.
	RequestMessage pulumi.StringPtrOutput `pulumi:"requestMessage"`
	// Specifies the Resource Group where the Kusto Cluster should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
}

Manages a Managed Private Endpoint for a Kusto Cluster.

## Example Usage

```go 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-azure/sdk/v6/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := core.GetClientConfig(ctx, nil, nil)
		if err != nil {
			return err
		}
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleCluster, err := kusto.NewCluster(ctx, "example", &kusto.ClusterArgs{
			Name:              pulumi.String("examplekc"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku: &kusto.ClusterSkuArgs{
				Name:     pulumi.String("Dev(No SLA)_Standard_D11_v2"),
				Capacity: pulumi.Int(1),
			},
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
			Name:                   pulumi.String("examplesa"),
			ResourceGroupName:      example.Name,
			Location:               example.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		_, err = kusto.NewClusterManagedPrivateEndpoint(ctx, "example", &kusto.ClusterManagedPrivateEndpointArgs{
			Name:                      pulumi.String("examplempe"),
			ResourceGroupName:         example.Name,
			ClusterName:               exampleCluster.Name,
			PrivateLinkResourceId:     exampleAccount.ID(),
			PrivateLinkResourceRegion: exampleAccount.Location,
			GroupId:                   pulumi.String("blob"),
			RequestMessage:            pulumi.String("Please Approve"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Managed Private Endpoint for a Kusto Cluster can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:kusto/clusterManagedPrivateEndpoint:ClusterManagedPrivateEndpoint example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Kusto/clusters/cluster1/managedPrivateEndpoints/managedPrivateEndpoint1 ```

func GetClusterManagedPrivateEndpoint

func GetClusterManagedPrivateEndpoint(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClusterManagedPrivateEndpointState, opts ...pulumi.ResourceOption) (*ClusterManagedPrivateEndpoint, error)

GetClusterManagedPrivateEndpoint gets an existing ClusterManagedPrivateEndpoint resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewClusterManagedPrivateEndpoint

func NewClusterManagedPrivateEndpoint(ctx *pulumi.Context,
	name string, args *ClusterManagedPrivateEndpointArgs, opts ...pulumi.ResourceOption) (*ClusterManagedPrivateEndpoint, error)

NewClusterManagedPrivateEndpoint registers a new resource with the given unique name, arguments, and options.

func (*ClusterManagedPrivateEndpoint) ElementType

func (*ClusterManagedPrivateEndpoint) ToClusterManagedPrivateEndpointOutput

func (i *ClusterManagedPrivateEndpoint) ToClusterManagedPrivateEndpointOutput() ClusterManagedPrivateEndpointOutput

func (*ClusterManagedPrivateEndpoint) ToClusterManagedPrivateEndpointOutputWithContext

func (i *ClusterManagedPrivateEndpoint) ToClusterManagedPrivateEndpointOutputWithContext(ctx context.Context) ClusterManagedPrivateEndpointOutput

type ClusterManagedPrivateEndpointArgs

type ClusterManagedPrivateEndpointArgs struct {
	// The name of the Kusto Cluster. Changing this forces a new resource to be created.
	ClusterName pulumi.StringInput
	// The group id in which the managed private endpoint is created. Changing this forces a new resource to be created.
	GroupId pulumi.StringInput
	// The name of the Managed Private Endpoints to create. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The ARM resource ID of the resource for which the managed private endpoint is created. Changing this forces a new resource to be created.
	PrivateLinkResourceId pulumi.StringInput
	// The region of the resource to which the managed private endpoint is created. Changing this forces a new resource to be created.
	PrivateLinkResourceRegion pulumi.StringPtrInput
	// The user request message.
	RequestMessage pulumi.StringPtrInput
	// Specifies the Resource Group where the Kusto Cluster should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
}

The set of arguments for constructing a ClusterManagedPrivateEndpoint resource.

func (ClusterManagedPrivateEndpointArgs) ElementType

type ClusterManagedPrivateEndpointArray

type ClusterManagedPrivateEndpointArray []ClusterManagedPrivateEndpointInput

func (ClusterManagedPrivateEndpointArray) ElementType

func (ClusterManagedPrivateEndpointArray) ToClusterManagedPrivateEndpointArrayOutput

func (i ClusterManagedPrivateEndpointArray) ToClusterManagedPrivateEndpointArrayOutput() ClusterManagedPrivateEndpointArrayOutput

func (ClusterManagedPrivateEndpointArray) ToClusterManagedPrivateEndpointArrayOutputWithContext

func (i ClusterManagedPrivateEndpointArray) ToClusterManagedPrivateEndpointArrayOutputWithContext(ctx context.Context) ClusterManagedPrivateEndpointArrayOutput

type ClusterManagedPrivateEndpointArrayInput

type ClusterManagedPrivateEndpointArrayInput interface {
	pulumi.Input

	ToClusterManagedPrivateEndpointArrayOutput() ClusterManagedPrivateEndpointArrayOutput
	ToClusterManagedPrivateEndpointArrayOutputWithContext(context.Context) ClusterManagedPrivateEndpointArrayOutput
}

ClusterManagedPrivateEndpointArrayInput is an input type that accepts ClusterManagedPrivateEndpointArray and ClusterManagedPrivateEndpointArrayOutput values. You can construct a concrete instance of `ClusterManagedPrivateEndpointArrayInput` via:

ClusterManagedPrivateEndpointArray{ ClusterManagedPrivateEndpointArgs{...} }

type ClusterManagedPrivateEndpointArrayOutput

type ClusterManagedPrivateEndpointArrayOutput struct{ *pulumi.OutputState }

func (ClusterManagedPrivateEndpointArrayOutput) ElementType

func (ClusterManagedPrivateEndpointArrayOutput) Index

func (ClusterManagedPrivateEndpointArrayOutput) ToClusterManagedPrivateEndpointArrayOutput

func (o ClusterManagedPrivateEndpointArrayOutput) ToClusterManagedPrivateEndpointArrayOutput() ClusterManagedPrivateEndpointArrayOutput

func (ClusterManagedPrivateEndpointArrayOutput) ToClusterManagedPrivateEndpointArrayOutputWithContext

func (o ClusterManagedPrivateEndpointArrayOutput) ToClusterManagedPrivateEndpointArrayOutputWithContext(ctx context.Context) ClusterManagedPrivateEndpointArrayOutput

type ClusterManagedPrivateEndpointInput

type ClusterManagedPrivateEndpointInput interface {
	pulumi.Input

	ToClusterManagedPrivateEndpointOutput() ClusterManagedPrivateEndpointOutput
	ToClusterManagedPrivateEndpointOutputWithContext(ctx context.Context) ClusterManagedPrivateEndpointOutput
}

type ClusterManagedPrivateEndpointMap

type ClusterManagedPrivateEndpointMap map[string]ClusterManagedPrivateEndpointInput

func (ClusterManagedPrivateEndpointMap) ElementType

func (ClusterManagedPrivateEndpointMap) ToClusterManagedPrivateEndpointMapOutput

func (i ClusterManagedPrivateEndpointMap) ToClusterManagedPrivateEndpointMapOutput() ClusterManagedPrivateEndpointMapOutput

func (ClusterManagedPrivateEndpointMap) ToClusterManagedPrivateEndpointMapOutputWithContext

func (i ClusterManagedPrivateEndpointMap) ToClusterManagedPrivateEndpointMapOutputWithContext(ctx context.Context) ClusterManagedPrivateEndpointMapOutput

type ClusterManagedPrivateEndpointMapInput

type ClusterManagedPrivateEndpointMapInput interface {
	pulumi.Input

	ToClusterManagedPrivateEndpointMapOutput() ClusterManagedPrivateEndpointMapOutput
	ToClusterManagedPrivateEndpointMapOutputWithContext(context.Context) ClusterManagedPrivateEndpointMapOutput
}

ClusterManagedPrivateEndpointMapInput is an input type that accepts ClusterManagedPrivateEndpointMap and ClusterManagedPrivateEndpointMapOutput values. You can construct a concrete instance of `ClusterManagedPrivateEndpointMapInput` via:

ClusterManagedPrivateEndpointMap{ "key": ClusterManagedPrivateEndpointArgs{...} }

type ClusterManagedPrivateEndpointMapOutput

type ClusterManagedPrivateEndpointMapOutput struct{ *pulumi.OutputState }

func (ClusterManagedPrivateEndpointMapOutput) ElementType

func (ClusterManagedPrivateEndpointMapOutput) MapIndex

func (ClusterManagedPrivateEndpointMapOutput) ToClusterManagedPrivateEndpointMapOutput

func (o ClusterManagedPrivateEndpointMapOutput) ToClusterManagedPrivateEndpointMapOutput() ClusterManagedPrivateEndpointMapOutput

func (ClusterManagedPrivateEndpointMapOutput) ToClusterManagedPrivateEndpointMapOutputWithContext

func (o ClusterManagedPrivateEndpointMapOutput) ToClusterManagedPrivateEndpointMapOutputWithContext(ctx context.Context) ClusterManagedPrivateEndpointMapOutput

type ClusterManagedPrivateEndpointOutput

type ClusterManagedPrivateEndpointOutput struct{ *pulumi.OutputState }

func (ClusterManagedPrivateEndpointOutput) ClusterName

The name of the Kusto Cluster. Changing this forces a new resource to be created.

func (ClusterManagedPrivateEndpointOutput) ElementType

func (ClusterManagedPrivateEndpointOutput) GroupId

The group id in which the managed private endpoint is created. Changing this forces a new resource to be created.

func (ClusterManagedPrivateEndpointOutput) Name

The name of the Managed Private Endpoints to create. Changing this forces a new resource to be created.

func (ClusterManagedPrivateEndpointOutput) PrivateLinkResourceId

func (o ClusterManagedPrivateEndpointOutput) PrivateLinkResourceId() pulumi.StringOutput

The ARM resource ID of the resource for which the managed private endpoint is created. Changing this forces a new resource to be created.

func (ClusterManagedPrivateEndpointOutput) PrivateLinkResourceRegion

func (o ClusterManagedPrivateEndpointOutput) PrivateLinkResourceRegion() pulumi.StringPtrOutput

The region of the resource to which the managed private endpoint is created. Changing this forces a new resource to be created.

func (ClusterManagedPrivateEndpointOutput) RequestMessage

The user request message.

func (ClusterManagedPrivateEndpointOutput) ResourceGroupName

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

func (ClusterManagedPrivateEndpointOutput) ToClusterManagedPrivateEndpointOutput

func (o ClusterManagedPrivateEndpointOutput) ToClusterManagedPrivateEndpointOutput() ClusterManagedPrivateEndpointOutput

func (ClusterManagedPrivateEndpointOutput) ToClusterManagedPrivateEndpointOutputWithContext

func (o ClusterManagedPrivateEndpointOutput) ToClusterManagedPrivateEndpointOutputWithContext(ctx context.Context) ClusterManagedPrivateEndpointOutput

type ClusterManagedPrivateEndpointState

type ClusterManagedPrivateEndpointState struct {
	// The name of the Kusto Cluster. Changing this forces a new resource to be created.
	ClusterName pulumi.StringPtrInput
	// The group id in which the managed private endpoint is created. Changing this forces a new resource to be created.
	GroupId pulumi.StringPtrInput
	// The name of the Managed Private Endpoints to create. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The ARM resource ID of the resource for which the managed private endpoint is created. Changing this forces a new resource to be created.
	PrivateLinkResourceId pulumi.StringPtrInput
	// The region of the resource to which the managed private endpoint is created. Changing this forces a new resource to be created.
	PrivateLinkResourceRegion pulumi.StringPtrInput
	// The user request message.
	RequestMessage pulumi.StringPtrInput
	// Specifies the Resource Group where the Kusto Cluster should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
}

func (ClusterManagedPrivateEndpointState) ElementType

type ClusterMap

type ClusterMap map[string]ClusterInput

func (ClusterMap) ElementType

func (ClusterMap) ElementType() reflect.Type

func (ClusterMap) ToClusterMapOutput

func (i ClusterMap) ToClusterMapOutput() ClusterMapOutput

func (ClusterMap) ToClusterMapOutputWithContext

func (i ClusterMap) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput

type ClusterMapInput

type ClusterMapInput interface {
	pulumi.Input

	ToClusterMapOutput() ClusterMapOutput
	ToClusterMapOutputWithContext(context.Context) ClusterMapOutput
}

ClusterMapInput is an input type that accepts ClusterMap and ClusterMapOutput values. You can construct a concrete instance of `ClusterMapInput` via:

ClusterMap{ "key": ClusterArgs{...} }

type ClusterMapOutput

type ClusterMapOutput struct{ *pulumi.OutputState }

func (ClusterMapOutput) ElementType

func (ClusterMapOutput) ElementType() reflect.Type

func (ClusterMapOutput) MapIndex

func (ClusterMapOutput) ToClusterMapOutput

func (o ClusterMapOutput) ToClusterMapOutput() ClusterMapOutput

func (ClusterMapOutput) ToClusterMapOutputWithContext

func (o ClusterMapOutput) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput

type ClusterOptimizedAutoScale

type ClusterOptimizedAutoScale struct {
	// The maximum number of allowed instances. Must between `0` and `1000`.
	MaximumInstances int `pulumi:"maximumInstances"`
	// The minimum number of allowed instances. Must between `0` and `1000`.
	MinimumInstances int `pulumi:"minimumInstances"`
}

type ClusterOptimizedAutoScaleArgs

type ClusterOptimizedAutoScaleArgs struct {
	// The maximum number of allowed instances. Must between `0` and `1000`.
	MaximumInstances pulumi.IntInput `pulumi:"maximumInstances"`
	// The minimum number of allowed instances. Must between `0` and `1000`.
	MinimumInstances pulumi.IntInput `pulumi:"minimumInstances"`
}

func (ClusterOptimizedAutoScaleArgs) ElementType

func (ClusterOptimizedAutoScaleArgs) ToClusterOptimizedAutoScaleOutput

func (i ClusterOptimizedAutoScaleArgs) ToClusterOptimizedAutoScaleOutput() ClusterOptimizedAutoScaleOutput

func (ClusterOptimizedAutoScaleArgs) ToClusterOptimizedAutoScaleOutputWithContext

func (i ClusterOptimizedAutoScaleArgs) ToClusterOptimizedAutoScaleOutputWithContext(ctx context.Context) ClusterOptimizedAutoScaleOutput

func (ClusterOptimizedAutoScaleArgs) ToClusterOptimizedAutoScalePtrOutput

func (i ClusterOptimizedAutoScaleArgs) ToClusterOptimizedAutoScalePtrOutput() ClusterOptimizedAutoScalePtrOutput

func (ClusterOptimizedAutoScaleArgs) ToClusterOptimizedAutoScalePtrOutputWithContext

func (i ClusterOptimizedAutoScaleArgs) ToClusterOptimizedAutoScalePtrOutputWithContext(ctx context.Context) ClusterOptimizedAutoScalePtrOutput

type ClusterOptimizedAutoScaleInput

type ClusterOptimizedAutoScaleInput interface {
	pulumi.Input

	ToClusterOptimizedAutoScaleOutput() ClusterOptimizedAutoScaleOutput
	ToClusterOptimizedAutoScaleOutputWithContext(context.Context) ClusterOptimizedAutoScaleOutput
}

ClusterOptimizedAutoScaleInput is an input type that accepts ClusterOptimizedAutoScaleArgs and ClusterOptimizedAutoScaleOutput values. You can construct a concrete instance of `ClusterOptimizedAutoScaleInput` via:

ClusterOptimizedAutoScaleArgs{...}

type ClusterOptimizedAutoScaleOutput

type ClusterOptimizedAutoScaleOutput struct{ *pulumi.OutputState }

func (ClusterOptimizedAutoScaleOutput) ElementType

func (ClusterOptimizedAutoScaleOutput) MaximumInstances

func (o ClusterOptimizedAutoScaleOutput) MaximumInstances() pulumi.IntOutput

The maximum number of allowed instances. Must between `0` and `1000`.

func (ClusterOptimizedAutoScaleOutput) MinimumInstances

func (o ClusterOptimizedAutoScaleOutput) MinimumInstances() pulumi.IntOutput

The minimum number of allowed instances. Must between `0` and `1000`.

func (ClusterOptimizedAutoScaleOutput) ToClusterOptimizedAutoScaleOutput

func (o ClusterOptimizedAutoScaleOutput) ToClusterOptimizedAutoScaleOutput() ClusterOptimizedAutoScaleOutput

func (ClusterOptimizedAutoScaleOutput) ToClusterOptimizedAutoScaleOutputWithContext

func (o ClusterOptimizedAutoScaleOutput) ToClusterOptimizedAutoScaleOutputWithContext(ctx context.Context) ClusterOptimizedAutoScaleOutput

func (ClusterOptimizedAutoScaleOutput) ToClusterOptimizedAutoScalePtrOutput

func (o ClusterOptimizedAutoScaleOutput) ToClusterOptimizedAutoScalePtrOutput() ClusterOptimizedAutoScalePtrOutput

func (ClusterOptimizedAutoScaleOutput) ToClusterOptimizedAutoScalePtrOutputWithContext

func (o ClusterOptimizedAutoScaleOutput) ToClusterOptimizedAutoScalePtrOutputWithContext(ctx context.Context) ClusterOptimizedAutoScalePtrOutput

type ClusterOptimizedAutoScalePtrInput

type ClusterOptimizedAutoScalePtrInput interface {
	pulumi.Input

	ToClusterOptimizedAutoScalePtrOutput() ClusterOptimizedAutoScalePtrOutput
	ToClusterOptimizedAutoScalePtrOutputWithContext(context.Context) ClusterOptimizedAutoScalePtrOutput
}

ClusterOptimizedAutoScalePtrInput is an input type that accepts ClusterOptimizedAutoScaleArgs, ClusterOptimizedAutoScalePtr and ClusterOptimizedAutoScalePtrOutput values. You can construct a concrete instance of `ClusterOptimizedAutoScalePtrInput` via:

        ClusterOptimizedAutoScaleArgs{...}

or:

        nil

type ClusterOptimizedAutoScalePtrOutput

type ClusterOptimizedAutoScalePtrOutput struct{ *pulumi.OutputState }

func (ClusterOptimizedAutoScalePtrOutput) Elem

func (ClusterOptimizedAutoScalePtrOutput) ElementType

func (ClusterOptimizedAutoScalePtrOutput) MaximumInstances

The maximum number of allowed instances. Must between `0` and `1000`.

func (ClusterOptimizedAutoScalePtrOutput) MinimumInstances

The minimum number of allowed instances. Must between `0` and `1000`.

func (ClusterOptimizedAutoScalePtrOutput) ToClusterOptimizedAutoScalePtrOutput

func (o ClusterOptimizedAutoScalePtrOutput) ToClusterOptimizedAutoScalePtrOutput() ClusterOptimizedAutoScalePtrOutput

func (ClusterOptimizedAutoScalePtrOutput) ToClusterOptimizedAutoScalePtrOutputWithContext

func (o ClusterOptimizedAutoScalePtrOutput) ToClusterOptimizedAutoScalePtrOutputWithContext(ctx context.Context) ClusterOptimizedAutoScalePtrOutput

type ClusterOutput

type ClusterOutput struct{ *pulumi.OutputState }

func (ClusterOutput) AllowedFqdns

func (o ClusterOutput) AllowedFqdns() pulumi.StringArrayOutput

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

func (ClusterOutput) AllowedIpRanges

func (o ClusterOutput) AllowedIpRanges() pulumi.StringArrayOutput

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

func (ClusterOutput) AutoStopEnabled

func (o ClusterOutput) AutoStopEnabled() pulumi.BoolPtrOutput

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

func (ClusterOutput) DataIngestionUri

func (o ClusterOutput) DataIngestionUri() pulumi.StringOutput

The Kusto Cluster URI to be used for data ingestion.

func (ClusterOutput) DiskEncryptionEnabled

func (o ClusterOutput) DiskEncryptionEnabled() pulumi.BoolPtrOutput

Specifies if the cluster's disks are encrypted.

func (ClusterOutput) DoubleEncryptionEnabled

func (o ClusterOutput) DoubleEncryptionEnabled() pulumi.BoolPtrOutput

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

func (ClusterOutput) ElementType

func (ClusterOutput) ElementType() reflect.Type

func (ClusterOutput) Identity

An `identity` block as defined below.

func (ClusterOutput) LanguageExtensions

func (o ClusterOutput) LanguageExtensions() ClusterLanguageExtensionArrayOutput

An list of `languageExtensions` 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.

> **NOTE:** In `v4.0.0` and later version of the AzureRM Provider, `languageExtensions` will be changed to a list of `languageExtension` block. In each block, `name` and `image` are required. `name` is the name of the language extension, possible values are `PYTHON`, `R`. `image` is the image of the language extension, possible values are `Python3_6_5`, `Python3_10_8` and `R`.

func (ClusterOutput) Location

func (o ClusterOutput) Location() pulumi.StringOutput

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

func (ClusterOutput) Name

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.

func (ClusterOutput) OptimizedAutoScale

func (o ClusterOutput) OptimizedAutoScale() ClusterOptimizedAutoScalePtrOutput

An `optimizedAutoScale` block as defined below.

func (ClusterOutput) OutboundNetworkAccessRestricted

func (o ClusterOutput) OutboundNetworkAccessRestricted() pulumi.BoolPtrOutput

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

func (ClusterOutput) PublicIpType

func (o ClusterOutput) PublicIpType() pulumi.StringPtrOutput

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

func (ClusterOutput) PublicNetworkAccessEnabled

func (o ClusterOutput) PublicNetworkAccessEnabled() pulumi.BoolPtrOutput

Is the public network access enabled? Defaults to `true`.

func (ClusterOutput) PurgeEnabled

func (o ClusterOutput) PurgeEnabled() pulumi.BoolPtrOutput

Specifies if the purge operations are enabled.

func (ClusterOutput) ResourceGroupName

func (o ClusterOutput) ResourceGroupName() pulumi.StringOutput

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

func (ClusterOutput) Sku

A `sku` block as defined below.

func (ClusterOutput) StreamingIngestionEnabled

func (o ClusterOutput) StreamingIngestionEnabled() pulumi.BoolPtrOutput

Specifies if the streaming ingest is enabled.

func (ClusterOutput) Tags

A mapping of tags to assign to the resource.

func (ClusterOutput) ToClusterOutput

func (o ClusterOutput) ToClusterOutput() ClusterOutput

func (ClusterOutput) ToClusterOutputWithContext

func (o ClusterOutput) ToClusterOutputWithContext(ctx context.Context) ClusterOutput

func (ClusterOutput) TrustedExternalTenants

func (o ClusterOutput) TrustedExternalTenants() pulumi.StringArrayOutput

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

> **NOTE:** In v3.0 of `azurerm` a new or updated Kusto Cluster will only allow your own tenant by default. Explicit configuration of this setting will change from `trustedExternalTenants = ["MyTenantOnly"]` to `trustedExternalTenants = []`.

func (ClusterOutput) Uri

The FQDN of the Azure Kusto Cluster.

func (ClusterOutput) VirtualNetworkConfiguration

func (o ClusterOutput) VirtualNetworkConfiguration() ClusterVirtualNetworkConfigurationPtrOutput

A `virtualNetworkConfiguration` block as defined below.

> **NOTE:** Currently removing `virtualNetworkConfiguration` sets the `virtualNetworkConfiguration` to `Disabled` state. But any changes to `virtualNetworkConfiguration` in `Disabled` state forces a new resource to be created.

func (ClusterOutput) Zones

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

type ClusterPrincipalAssignment

type ClusterPrincipalAssignment struct {
	pulumi.CustomResourceState

	// The name of the cluster in which to create the resource. Changing this forces a new resource to be created.
	ClusterName pulumi.StringOutput `pulumi:"clusterName"`
	// The name of the Kusto cluster principal assignment. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The object id of the principal. Changing this forces a new resource to be created.
	PrincipalId pulumi.StringOutput `pulumi:"principalId"`
	// The name of the principal.
	PrincipalName pulumi.StringOutput `pulumi:"principalName"`
	// The type of the principal. Valid values include `App`, `Group`, `User`. Changing this forces a new resource to be created.
	PrincipalType pulumi.StringOutput `pulumi:"principalType"`
	// The name of the resource group in which to create the resource. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The cluster role assigned to the principal. Valid values include `AllDatabasesAdmin` and `AllDatabasesViewer`. Changing this forces a new resource to be created.
	Role pulumi.StringOutput `pulumi:"role"`
	// The tenant id in which the principal resides. Changing this forces a new resource to be created.
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
	// The name of the tenant.
	TenantName pulumi.StringOutput `pulumi:"tenantName"`
}

Manages a Kusto Cluster Principal Assignment.

## Example Usage

```go 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 {
		current, err := core.GetClientConfig(ctx, nil, nil)
		if err != nil {
			return err
		}
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("KustoRG"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleCluster, 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),
			},
		})
		if err != nil {
			return err
		}
		_, err = kusto.NewClusterPrincipalAssignment(ctx, "example", &kusto.ClusterPrincipalAssignmentArgs{
			Name:              pulumi.String("KustoPrincipalAssignment"),
			ResourceGroupName: example.Name,
			ClusterName:       exampleCluster.Name,
			TenantId:          pulumi.String(current.TenantId),
			PrincipalId:       pulumi.String(current.ClientId),
			PrincipalType:     pulumi.String("App"),
			Role:              pulumi.String("AllDatabasesAdmin"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Data Explorer Cluster Principal Assignments can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:kusto/clusterPrincipalAssignment:ClusterPrincipalAssignment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Kusto/clusters/cluster1/principalAssignments/assignment1 ```

func GetClusterPrincipalAssignment

func GetClusterPrincipalAssignment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClusterPrincipalAssignmentState, opts ...pulumi.ResourceOption) (*ClusterPrincipalAssignment, error)

GetClusterPrincipalAssignment gets an existing ClusterPrincipalAssignment resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewClusterPrincipalAssignment

func NewClusterPrincipalAssignment(ctx *pulumi.Context,
	name string, args *ClusterPrincipalAssignmentArgs, opts ...pulumi.ResourceOption) (*ClusterPrincipalAssignment, error)

NewClusterPrincipalAssignment registers a new resource with the given unique name, arguments, and options.

func (*ClusterPrincipalAssignment) ElementType

func (*ClusterPrincipalAssignment) ElementType() reflect.Type

func (*ClusterPrincipalAssignment) ToClusterPrincipalAssignmentOutput

func (i *ClusterPrincipalAssignment) ToClusterPrincipalAssignmentOutput() ClusterPrincipalAssignmentOutput

func (*ClusterPrincipalAssignment) ToClusterPrincipalAssignmentOutputWithContext

func (i *ClusterPrincipalAssignment) ToClusterPrincipalAssignmentOutputWithContext(ctx context.Context) ClusterPrincipalAssignmentOutput

type ClusterPrincipalAssignmentArgs

type ClusterPrincipalAssignmentArgs struct {
	// The name of the cluster in which to create the resource. Changing this forces a new resource to be created.
	ClusterName pulumi.StringInput
	// The name of the Kusto cluster principal assignment. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The object id of the principal. Changing this forces a new resource to be created.
	PrincipalId pulumi.StringInput
	// The type of the principal. Valid values include `App`, `Group`, `User`. Changing this forces a new resource to be created.
	PrincipalType pulumi.StringInput
	// The name of the resource group in which to create the resource. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// The cluster role assigned to the principal. Valid values include `AllDatabasesAdmin` and `AllDatabasesViewer`. Changing this forces a new resource to be created.
	Role pulumi.StringInput
	// The tenant id in which the principal resides. Changing this forces a new resource to be created.
	TenantId pulumi.StringInput
}

The set of arguments for constructing a ClusterPrincipalAssignment resource.

func (ClusterPrincipalAssignmentArgs) ElementType

type ClusterPrincipalAssignmentArray

type ClusterPrincipalAssignmentArray []ClusterPrincipalAssignmentInput

func (ClusterPrincipalAssignmentArray) ElementType

func (ClusterPrincipalAssignmentArray) ToClusterPrincipalAssignmentArrayOutput

func (i ClusterPrincipalAssignmentArray) ToClusterPrincipalAssignmentArrayOutput() ClusterPrincipalAssignmentArrayOutput

func (ClusterPrincipalAssignmentArray) ToClusterPrincipalAssignmentArrayOutputWithContext

func (i ClusterPrincipalAssignmentArray) ToClusterPrincipalAssignmentArrayOutputWithContext(ctx context.Context) ClusterPrincipalAssignmentArrayOutput

type ClusterPrincipalAssignmentArrayInput

type ClusterPrincipalAssignmentArrayInput interface {
	pulumi.Input

	ToClusterPrincipalAssignmentArrayOutput() ClusterPrincipalAssignmentArrayOutput
	ToClusterPrincipalAssignmentArrayOutputWithContext(context.Context) ClusterPrincipalAssignmentArrayOutput
}

ClusterPrincipalAssignmentArrayInput is an input type that accepts ClusterPrincipalAssignmentArray and ClusterPrincipalAssignmentArrayOutput values. You can construct a concrete instance of `ClusterPrincipalAssignmentArrayInput` via:

ClusterPrincipalAssignmentArray{ ClusterPrincipalAssignmentArgs{...} }

type ClusterPrincipalAssignmentArrayOutput

type ClusterPrincipalAssignmentArrayOutput struct{ *pulumi.OutputState }

func (ClusterPrincipalAssignmentArrayOutput) ElementType

func (ClusterPrincipalAssignmentArrayOutput) Index

func (ClusterPrincipalAssignmentArrayOutput) ToClusterPrincipalAssignmentArrayOutput

func (o ClusterPrincipalAssignmentArrayOutput) ToClusterPrincipalAssignmentArrayOutput() ClusterPrincipalAssignmentArrayOutput

func (ClusterPrincipalAssignmentArrayOutput) ToClusterPrincipalAssignmentArrayOutputWithContext

func (o ClusterPrincipalAssignmentArrayOutput) ToClusterPrincipalAssignmentArrayOutputWithContext(ctx context.Context) ClusterPrincipalAssignmentArrayOutput

type ClusterPrincipalAssignmentInput

type ClusterPrincipalAssignmentInput interface {
	pulumi.Input

	ToClusterPrincipalAssignmentOutput() ClusterPrincipalAssignmentOutput
	ToClusterPrincipalAssignmentOutputWithContext(ctx context.Context) ClusterPrincipalAssignmentOutput
}

type ClusterPrincipalAssignmentMap

type ClusterPrincipalAssignmentMap map[string]ClusterPrincipalAssignmentInput

func (ClusterPrincipalAssignmentMap) ElementType

func (ClusterPrincipalAssignmentMap) ToClusterPrincipalAssignmentMapOutput

func (i ClusterPrincipalAssignmentMap) ToClusterPrincipalAssignmentMapOutput() ClusterPrincipalAssignmentMapOutput

func (ClusterPrincipalAssignmentMap) ToClusterPrincipalAssignmentMapOutputWithContext

func (i ClusterPrincipalAssignmentMap) ToClusterPrincipalAssignmentMapOutputWithContext(ctx context.Context) ClusterPrincipalAssignmentMapOutput

type ClusterPrincipalAssignmentMapInput

type ClusterPrincipalAssignmentMapInput interface {
	pulumi.Input

	ToClusterPrincipalAssignmentMapOutput() ClusterPrincipalAssignmentMapOutput
	ToClusterPrincipalAssignmentMapOutputWithContext(context.Context) ClusterPrincipalAssignmentMapOutput
}

ClusterPrincipalAssignmentMapInput is an input type that accepts ClusterPrincipalAssignmentMap and ClusterPrincipalAssignmentMapOutput values. You can construct a concrete instance of `ClusterPrincipalAssignmentMapInput` via:

ClusterPrincipalAssignmentMap{ "key": ClusterPrincipalAssignmentArgs{...} }

type ClusterPrincipalAssignmentMapOutput

type ClusterPrincipalAssignmentMapOutput struct{ *pulumi.OutputState }

func (ClusterPrincipalAssignmentMapOutput) ElementType

func (ClusterPrincipalAssignmentMapOutput) MapIndex

func (ClusterPrincipalAssignmentMapOutput) ToClusterPrincipalAssignmentMapOutput

func (o ClusterPrincipalAssignmentMapOutput) ToClusterPrincipalAssignmentMapOutput() ClusterPrincipalAssignmentMapOutput

func (ClusterPrincipalAssignmentMapOutput) ToClusterPrincipalAssignmentMapOutputWithContext

func (o ClusterPrincipalAssignmentMapOutput) ToClusterPrincipalAssignmentMapOutputWithContext(ctx context.Context) ClusterPrincipalAssignmentMapOutput

type ClusterPrincipalAssignmentOutput

type ClusterPrincipalAssignmentOutput struct{ *pulumi.OutputState }

func (ClusterPrincipalAssignmentOutput) ClusterName

The name of the cluster in which to create the resource. Changing this forces a new resource to be created.

func (ClusterPrincipalAssignmentOutput) ElementType

func (ClusterPrincipalAssignmentOutput) Name

The name of the Kusto cluster principal assignment. Changing this forces a new resource to be created.

func (ClusterPrincipalAssignmentOutput) PrincipalId

The object id of the principal. Changing this forces a new resource to be created.

func (ClusterPrincipalAssignmentOutput) PrincipalName

The name of the principal.

func (ClusterPrincipalAssignmentOutput) PrincipalType

The type of the principal. Valid values include `App`, `Group`, `User`. Changing this forces a new resource to be created.

func (ClusterPrincipalAssignmentOutput) ResourceGroupName

The name of the resource group in which to create the resource. Changing this forces a new resource to be created.

func (ClusterPrincipalAssignmentOutput) Role

The cluster role assigned to the principal. Valid values include `AllDatabasesAdmin` and `AllDatabasesViewer`. Changing this forces a new resource to be created.

func (ClusterPrincipalAssignmentOutput) TenantId

The tenant id in which the principal resides. Changing this forces a new resource to be created.

func (ClusterPrincipalAssignmentOutput) TenantName

The name of the tenant.

func (ClusterPrincipalAssignmentOutput) ToClusterPrincipalAssignmentOutput

func (o ClusterPrincipalAssignmentOutput) ToClusterPrincipalAssignmentOutput() ClusterPrincipalAssignmentOutput

func (ClusterPrincipalAssignmentOutput) ToClusterPrincipalAssignmentOutputWithContext

func (o ClusterPrincipalAssignmentOutput) ToClusterPrincipalAssignmentOutputWithContext(ctx context.Context) ClusterPrincipalAssignmentOutput

type ClusterPrincipalAssignmentState

type ClusterPrincipalAssignmentState struct {
	// The name of the cluster in which to create the resource. Changing this forces a new resource to be created.
	ClusterName pulumi.StringPtrInput
	// The name of the Kusto cluster principal assignment. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The object id of the principal. Changing this forces a new resource to be created.
	PrincipalId pulumi.StringPtrInput
	// The name of the principal.
	PrincipalName pulumi.StringPtrInput
	// The type of the principal. Valid values include `App`, `Group`, `User`. Changing this forces a new resource to be created.
	PrincipalType pulumi.StringPtrInput
	// The name of the resource group in which to create the resource. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The cluster role assigned to the principal. Valid values include `AllDatabasesAdmin` and `AllDatabasesViewer`. Changing this forces a new resource to be created.
	Role pulumi.StringPtrInput
	// The tenant id in which the principal resides. Changing this forces a new resource to be created.
	TenantId pulumi.StringPtrInput
	// The name of the tenant.
	TenantName pulumi.StringPtrInput
}

func (ClusterPrincipalAssignmentState) ElementType

type ClusterSku

type ClusterSku struct {
	// Specifies the node count for the cluster. Boundaries depend on the SKU name.
	//
	// > **NOTE:** If no `optimizedAutoScale` block is defined, then the capacity is required.
	// **NOTE:** If an `optimizedAutoScale` block is defined and no capacity is set, then the capacity is initially set to the value of `minimumInstances`.
	Capacity *int `pulumi:"capacity"`
	// The name of the SKU. Possible values are `Dev(No SLA)_Standard_D11_v2`, `Dev(No SLA)_Standard_E2a_v4`, `Standard_D14_v2`, `Standard_D11_v2`, `Standard_D16d_v5`, `Standard_D13_v2`, `Standard_D12_v2`, `Standard_DS14_v2+4TB_PS`, `Standard_DS14_v2+3TB_PS`, `Standard_DS13_v2+1TB_PS`, `Standard_DS13_v2+2TB_PS`, `Standard_D32d_v5`, `Standard_D32d_v4`, `Standard_EC8ads_v5`, `Standard_EC8as_v5+1TB_PS`, `Standard_EC8as_v5+2TB_PS`, `Standard_EC16ads_v5`, `Standard_EC16as_v5+4TB_PS`, `Standard_EC16as_v5+3TB_PS`, `Standard_E80ids_v4`, `Standard_E8a_v4`, `Standard_E8ads_v5`, `Standard_E8as_v5+1TB_PS`, `Standard_E8as_v5+2TB_PS`, `Standard_E8as_v4+1TB_PS`, `Standard_E8as_v4+2TB_PS`, `Standard_E8d_v5`, `Standard_E8d_v4`, `Standard_E8s_v5+1TB_PS`, `Standard_E8s_v5+2TB_PS`, `Standard_E8s_v4+1TB_PS`, `Standard_E8s_v4+2TB_PS`, `Standard_E4a_v4`, `Standard_E4ads_v5`, `Standard_E4d_v5`, `Standard_E4d_v4`, `Standard_E16a_v4`, `Standard_E16ads_v5`, `Standard_E16as_v5+4TB_PS`, `Standard_E16as_v5+3TB_PS`, `Standard_E16as_v4+4TB_PS`, `Standard_E16as_v4+3TB_PS`, `Standard_E16d_v5`, `Standard_E16d_v4`, `Standard_E16s_v5+4TB_PS`, `Standard_E16s_v5+3TB_PS`, `Standard_E16s_v4+4TB_PS`, `Standard_E16s_v4+3TB_PS`, `Standard_E64i_v3`, `Standard_E2a_v4`, `Standard_E2ads_v5`, `Standard_E2d_v5`, `Standard_E2d_v4`, `Standard_L8as_v3`, `Standard_L8s`, `Standard_L8s_v3`, `Standard_L8s_v2`, `Standard_L4s`, `Standard_L16as_v3`, `Standard_L16s`, `Standard_L16s_v3`, `Standard_L16s_v2`, `Standard_L32as_v3` and `Standard_L32s_v3`.
	Name string `pulumi:"name"`
}

type ClusterSkuArgs

type ClusterSkuArgs struct {
	// Specifies the node count for the cluster. Boundaries depend on the SKU name.
	//
	// > **NOTE:** If no `optimizedAutoScale` block is defined, then the capacity is required.
	// **NOTE:** If an `optimizedAutoScale` block is defined and no capacity is set, then the capacity is initially set to the value of `minimumInstances`.
	Capacity pulumi.IntPtrInput `pulumi:"capacity"`
	// The name of the SKU. Possible values are `Dev(No SLA)_Standard_D11_v2`, `Dev(No SLA)_Standard_E2a_v4`, `Standard_D14_v2`, `Standard_D11_v2`, `Standard_D16d_v5`, `Standard_D13_v2`, `Standard_D12_v2`, `Standard_DS14_v2+4TB_PS`, `Standard_DS14_v2+3TB_PS`, `Standard_DS13_v2+1TB_PS`, `Standard_DS13_v2+2TB_PS`, `Standard_D32d_v5`, `Standard_D32d_v4`, `Standard_EC8ads_v5`, `Standard_EC8as_v5+1TB_PS`, `Standard_EC8as_v5+2TB_PS`, `Standard_EC16ads_v5`, `Standard_EC16as_v5+4TB_PS`, `Standard_EC16as_v5+3TB_PS`, `Standard_E80ids_v4`, `Standard_E8a_v4`, `Standard_E8ads_v5`, `Standard_E8as_v5+1TB_PS`, `Standard_E8as_v5+2TB_PS`, `Standard_E8as_v4+1TB_PS`, `Standard_E8as_v4+2TB_PS`, `Standard_E8d_v5`, `Standard_E8d_v4`, `Standard_E8s_v5+1TB_PS`, `Standard_E8s_v5+2TB_PS`, `Standard_E8s_v4+1TB_PS`, `Standard_E8s_v4+2TB_PS`, `Standard_E4a_v4`, `Standard_E4ads_v5`, `Standard_E4d_v5`, `Standard_E4d_v4`, `Standard_E16a_v4`, `Standard_E16ads_v5`, `Standard_E16as_v5+4TB_PS`, `Standard_E16as_v5+3TB_PS`, `Standard_E16as_v4+4TB_PS`, `Standard_E16as_v4+3TB_PS`, `Standard_E16d_v5`, `Standard_E16d_v4`, `Standard_E16s_v5+4TB_PS`, `Standard_E16s_v5+3TB_PS`, `Standard_E16s_v4+4TB_PS`, `Standard_E16s_v4+3TB_PS`, `Standard_E64i_v3`, `Standard_E2a_v4`, `Standard_E2ads_v5`, `Standard_E2d_v5`, `Standard_E2d_v4`, `Standard_L8as_v3`, `Standard_L8s`, `Standard_L8s_v3`, `Standard_L8s_v2`, `Standard_L4s`, `Standard_L16as_v3`, `Standard_L16s`, `Standard_L16s_v3`, `Standard_L16s_v2`, `Standard_L32as_v3` and `Standard_L32s_v3`.
	Name pulumi.StringInput `pulumi:"name"`
}

func (ClusterSkuArgs) ElementType

func (ClusterSkuArgs) ElementType() reflect.Type

func (ClusterSkuArgs) ToClusterSkuOutput

func (i ClusterSkuArgs) ToClusterSkuOutput() ClusterSkuOutput

func (ClusterSkuArgs) ToClusterSkuOutputWithContext

func (i ClusterSkuArgs) ToClusterSkuOutputWithContext(ctx context.Context) ClusterSkuOutput

func (ClusterSkuArgs) ToClusterSkuPtrOutput

func (i ClusterSkuArgs) ToClusterSkuPtrOutput() ClusterSkuPtrOutput

func (ClusterSkuArgs) ToClusterSkuPtrOutputWithContext

func (i ClusterSkuArgs) ToClusterSkuPtrOutputWithContext(ctx context.Context) ClusterSkuPtrOutput

type ClusterSkuInput

type ClusterSkuInput interface {
	pulumi.Input

	ToClusterSkuOutput() ClusterSkuOutput
	ToClusterSkuOutputWithContext(context.Context) ClusterSkuOutput
}

ClusterSkuInput is an input type that accepts ClusterSkuArgs and ClusterSkuOutput values. You can construct a concrete instance of `ClusterSkuInput` via:

ClusterSkuArgs{...}

type ClusterSkuOutput

type ClusterSkuOutput struct{ *pulumi.OutputState }

func (ClusterSkuOutput) Capacity

func (o ClusterSkuOutput) Capacity() pulumi.IntPtrOutput

Specifies the node count for the cluster. Boundaries depend on the SKU name.

> **NOTE:** If no `optimizedAutoScale` block is defined, then the capacity is required. **NOTE:** If an `optimizedAutoScale` block is defined and no capacity is set, then the capacity is initially set to the value of `minimumInstances`.

func (ClusterSkuOutput) ElementType

func (ClusterSkuOutput) ElementType() reflect.Type

func (ClusterSkuOutput) Name

The name of the SKU. Possible values are `Dev(No SLA)_Standard_D11_v2`, `Dev(No SLA)_Standard_E2a_v4`, `Standard_D14_v2`, `Standard_D11_v2`, `Standard_D16d_v5`, `Standard_D13_v2`, `Standard_D12_v2`, `Standard_DS14_v2+4TB_PS`, `Standard_DS14_v2+3TB_PS`, `Standard_DS13_v2+1TB_PS`, `Standard_DS13_v2+2TB_PS`, `Standard_D32d_v5`, `Standard_D32d_v4`, `Standard_EC8ads_v5`, `Standard_EC8as_v5+1TB_PS`, `Standard_EC8as_v5+2TB_PS`, `Standard_EC16ads_v5`, `Standard_EC16as_v5+4TB_PS`, `Standard_EC16as_v5+3TB_PS`, `Standard_E80ids_v4`, `Standard_E8a_v4`, `Standard_E8ads_v5`, `Standard_E8as_v5+1TB_PS`, `Standard_E8as_v5+2TB_PS`, `Standard_E8as_v4+1TB_PS`, `Standard_E8as_v4+2TB_PS`, `Standard_E8d_v5`, `Standard_E8d_v4`, `Standard_E8s_v5+1TB_PS`, `Standard_E8s_v5+2TB_PS`, `Standard_E8s_v4+1TB_PS`, `Standard_E8s_v4+2TB_PS`, `Standard_E4a_v4`, `Standard_E4ads_v5`, `Standard_E4d_v5`, `Standard_E4d_v4`, `Standard_E16a_v4`, `Standard_E16ads_v5`, `Standard_E16as_v5+4TB_PS`, `Standard_E16as_v5+3TB_PS`, `Standard_E16as_v4+4TB_PS`, `Standard_E16as_v4+3TB_PS`, `Standard_E16d_v5`, `Standard_E16d_v4`, `Standard_E16s_v5+4TB_PS`, `Standard_E16s_v5+3TB_PS`, `Standard_E16s_v4+4TB_PS`, `Standard_E16s_v4+3TB_PS`, `Standard_E64i_v3`, `Standard_E2a_v4`, `Standard_E2ads_v5`, `Standard_E2d_v5`, `Standard_E2d_v4`, `Standard_L8as_v3`, `Standard_L8s`, `Standard_L8s_v3`, `Standard_L8s_v2`, `Standard_L4s`, `Standard_L16as_v3`, `Standard_L16s`, `Standard_L16s_v3`, `Standard_L16s_v2`, `Standard_L32as_v3` and `Standard_L32s_v3`.

func (ClusterSkuOutput) ToClusterSkuOutput

func (o ClusterSkuOutput) ToClusterSkuOutput() ClusterSkuOutput

func (ClusterSkuOutput) ToClusterSkuOutputWithContext

func (o ClusterSkuOutput) ToClusterSkuOutputWithContext(ctx context.Context) ClusterSkuOutput

func (ClusterSkuOutput) ToClusterSkuPtrOutput

func (o ClusterSkuOutput) ToClusterSkuPtrOutput() ClusterSkuPtrOutput

func (ClusterSkuOutput) ToClusterSkuPtrOutputWithContext

func (o ClusterSkuOutput) ToClusterSkuPtrOutputWithContext(ctx context.Context) ClusterSkuPtrOutput

type ClusterSkuPtrInput

type ClusterSkuPtrInput interface {
	pulumi.Input

	ToClusterSkuPtrOutput() ClusterSkuPtrOutput
	ToClusterSkuPtrOutputWithContext(context.Context) ClusterSkuPtrOutput
}

ClusterSkuPtrInput is an input type that accepts ClusterSkuArgs, ClusterSkuPtr and ClusterSkuPtrOutput values. You can construct a concrete instance of `ClusterSkuPtrInput` via:

        ClusterSkuArgs{...}

or:

        nil

func ClusterSkuPtr

func ClusterSkuPtr(v *ClusterSkuArgs) ClusterSkuPtrInput

type ClusterSkuPtrOutput

type ClusterSkuPtrOutput struct{ *pulumi.OutputState }

func (ClusterSkuPtrOutput) Capacity

Specifies the node count for the cluster. Boundaries depend on the SKU name.

> **NOTE:** If no `optimizedAutoScale` block is defined, then the capacity is required. **NOTE:** If an `optimizedAutoScale` block is defined and no capacity is set, then the capacity is initially set to the value of `minimumInstances`.

func (ClusterSkuPtrOutput) Elem

func (ClusterSkuPtrOutput) ElementType

func (ClusterSkuPtrOutput) ElementType() reflect.Type

func (ClusterSkuPtrOutput) Name

The name of the SKU. Possible values are `Dev(No SLA)_Standard_D11_v2`, `Dev(No SLA)_Standard_E2a_v4`, `Standard_D14_v2`, `Standard_D11_v2`, `Standard_D16d_v5`, `Standard_D13_v2`, `Standard_D12_v2`, `Standard_DS14_v2+4TB_PS`, `Standard_DS14_v2+3TB_PS`, `Standard_DS13_v2+1TB_PS`, `Standard_DS13_v2+2TB_PS`, `Standard_D32d_v5`, `Standard_D32d_v4`, `Standard_EC8ads_v5`, `Standard_EC8as_v5+1TB_PS`, `Standard_EC8as_v5+2TB_PS`, `Standard_EC16ads_v5`, `Standard_EC16as_v5+4TB_PS`, `Standard_EC16as_v5+3TB_PS`, `Standard_E80ids_v4`, `Standard_E8a_v4`, `Standard_E8ads_v5`, `Standard_E8as_v5+1TB_PS`, `Standard_E8as_v5+2TB_PS`, `Standard_E8as_v4+1TB_PS`, `Standard_E8as_v4+2TB_PS`, `Standard_E8d_v5`, `Standard_E8d_v4`, `Standard_E8s_v5+1TB_PS`, `Standard_E8s_v5+2TB_PS`, `Standard_E8s_v4+1TB_PS`, `Standard_E8s_v4+2TB_PS`, `Standard_E4a_v4`, `Standard_E4ads_v5`, `Standard_E4d_v5`, `Standard_E4d_v4`, `Standard_E16a_v4`, `Standard_E16ads_v5`, `Standard_E16as_v5+4TB_PS`, `Standard_E16as_v5+3TB_PS`, `Standard_E16as_v4+4TB_PS`, `Standard_E16as_v4+3TB_PS`, `Standard_E16d_v5`, `Standard_E16d_v4`, `Standard_E16s_v5+4TB_PS`, `Standard_E16s_v5+3TB_PS`, `Standard_E16s_v4+4TB_PS`, `Standard_E16s_v4+3TB_PS`, `Standard_E64i_v3`, `Standard_E2a_v4`, `Standard_E2ads_v5`, `Standard_E2d_v5`, `Standard_E2d_v4`, `Standard_L8as_v3`, `Standard_L8s`, `Standard_L8s_v3`, `Standard_L8s_v2`, `Standard_L4s`, `Standard_L16as_v3`, `Standard_L16s`, `Standard_L16s_v3`, `Standard_L16s_v2`, `Standard_L32as_v3` and `Standard_L32s_v3`.

func (ClusterSkuPtrOutput) ToClusterSkuPtrOutput

func (o ClusterSkuPtrOutput) ToClusterSkuPtrOutput() ClusterSkuPtrOutput

func (ClusterSkuPtrOutput) ToClusterSkuPtrOutputWithContext

func (o ClusterSkuPtrOutput) ToClusterSkuPtrOutputWithContext(ctx context.Context) ClusterSkuPtrOutput

type ClusterState

type ClusterState struct {
	// List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster.
	AllowedFqdns pulumi.StringArrayInput
	// The list of ips in the format of CIDR allowed to connect to the cluster.
	AllowedIpRanges pulumi.StringArrayInput
	// Specifies if the cluster could be automatically stopped (due to lack of data or no activity for many days). Defaults to `true`.
	AutoStopEnabled pulumi.BoolPtrInput
	// The Kusto Cluster URI to be used for data ingestion.
	DataIngestionUri pulumi.StringPtrInput
	// Specifies if the cluster's disks are encrypted.
	DiskEncryptionEnabled pulumi.BoolPtrInput
	// Is the cluster's double encryption enabled? Changing this forces a new resource to be created.
	DoubleEncryptionEnabled pulumi.BoolPtrInput
	// An `identity` block as defined below.
	Identity ClusterIdentityPtrInput
	// An list of `languageExtensions` 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.
	//
	// > **NOTE:** In `v4.0.0` and later version of the AzureRM Provider, `languageExtensions` will be changed to a list of `languageExtension` block. In each block, `name` and `image` are required. `name` is the name of the language extension, possible values are `PYTHON`, `R`. `image` is the image of the language extension, possible values are `Python3_6_5`, `Python3_10_8` and `R`.
	LanguageExtensions ClusterLanguageExtensionArrayInput
	// The location where the Kusto Cluster should be created. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// 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.
	Name pulumi.StringPtrInput
	// An `optimizedAutoScale` block as defined below.
	OptimizedAutoScale ClusterOptimizedAutoScalePtrInput
	// Whether to restrict outbound network access. Value is optional but if passed in, must be `true` or `false`, default is `false`.
	OutboundNetworkAccessRestricted pulumi.BoolPtrInput
	// Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6). Defaults to `IPv4`.
	PublicIpType pulumi.StringPtrInput
	// Is the public network access enabled? Defaults to `true`.
	PublicNetworkAccessEnabled pulumi.BoolPtrInput
	// Specifies if the purge operations are enabled.
	PurgeEnabled pulumi.BoolPtrInput
	// Specifies the Resource Group where the Kusto Cluster should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A `sku` block as defined below.
	Sku ClusterSkuPtrInput
	// Specifies if the streaming ingest is enabled.
	StreamingIngestionEnabled pulumi.BoolPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Specifies a list of tenant IDs that are trusted by the cluster. Default setting trusts all other tenants. Use `trustedExternalTenants = ["*"]` to explicitly allow all other tenants, `trustedExternalTenants = ["MyTenantOnly"]` for only your tenant or `trustedExternalTenants = ["<tenantId1>", "<tenantIdx>"]` to allow specific other tenants.
	//
	// > **NOTE:** In v3.0 of `azurerm` a new or updated Kusto Cluster will only allow your own tenant by default. Explicit configuration of this setting will change from `trustedExternalTenants = ["MyTenantOnly"]` to `trustedExternalTenants = []`.
	TrustedExternalTenants pulumi.StringArrayInput
	// The FQDN of the Azure Kusto Cluster.
	Uri pulumi.StringPtrInput
	// A `virtualNetworkConfiguration` block as defined below.
	//
	// > **NOTE:** Currently removing `virtualNetworkConfiguration` sets the `virtualNetworkConfiguration` to `Disabled` state. But any changes to `virtualNetworkConfiguration` in `Disabled` state forces a new resource to be created.
	VirtualNetworkConfiguration ClusterVirtualNetworkConfigurationPtrInput
	// Specifies a list of Availability Zones in which this Kusto Cluster should be located. Changing this forces a new Kusto Cluster to be created.
	Zones pulumi.StringArrayInput
}

func (ClusterState) ElementType

func (ClusterState) ElementType() reflect.Type

type ClusterVirtualNetworkConfiguration

type ClusterVirtualNetworkConfiguration struct {
	// Data management's service public IP address resource id.
	DataManagementPublicIpId string `pulumi:"dataManagementPublicIpId"`
	// Engine service's public IP address resource id.
	EnginePublicIpId string `pulumi:"enginePublicIpId"`
	// The subnet resource id.
	SubnetId string `pulumi:"subnetId"`
}

type ClusterVirtualNetworkConfigurationArgs

type ClusterVirtualNetworkConfigurationArgs struct {
	// Data management's service public IP address resource id.
	DataManagementPublicIpId pulumi.StringInput `pulumi:"dataManagementPublicIpId"`
	// Engine service's public IP address resource id.
	EnginePublicIpId pulumi.StringInput `pulumi:"enginePublicIpId"`
	// The subnet resource id.
	SubnetId pulumi.StringInput `pulumi:"subnetId"`
}

func (ClusterVirtualNetworkConfigurationArgs) ElementType

func (ClusterVirtualNetworkConfigurationArgs) ToClusterVirtualNetworkConfigurationOutput

func (i ClusterVirtualNetworkConfigurationArgs) ToClusterVirtualNetworkConfigurationOutput() ClusterVirtualNetworkConfigurationOutput

func (ClusterVirtualNetworkConfigurationArgs) ToClusterVirtualNetworkConfigurationOutputWithContext

func (i ClusterVirtualNetworkConfigurationArgs) ToClusterVirtualNetworkConfigurationOutputWithContext(ctx context.Context) ClusterVirtualNetworkConfigurationOutput

func (ClusterVirtualNetworkConfigurationArgs) ToClusterVirtualNetworkConfigurationPtrOutput

func (i ClusterVirtualNetworkConfigurationArgs) ToClusterVirtualNetworkConfigurationPtrOutput() ClusterVirtualNetworkConfigurationPtrOutput

func (ClusterVirtualNetworkConfigurationArgs) ToClusterVirtualNetworkConfigurationPtrOutputWithContext

func (i ClusterVirtualNetworkConfigurationArgs) ToClusterVirtualNetworkConfigurationPtrOutputWithContext(ctx context.Context) ClusterVirtualNetworkConfigurationPtrOutput

type ClusterVirtualNetworkConfigurationInput

type ClusterVirtualNetworkConfigurationInput interface {
	pulumi.Input

	ToClusterVirtualNetworkConfigurationOutput() ClusterVirtualNetworkConfigurationOutput
	ToClusterVirtualNetworkConfigurationOutputWithContext(context.Context) ClusterVirtualNetworkConfigurationOutput
}

ClusterVirtualNetworkConfigurationInput is an input type that accepts ClusterVirtualNetworkConfigurationArgs and ClusterVirtualNetworkConfigurationOutput values. You can construct a concrete instance of `ClusterVirtualNetworkConfigurationInput` via:

ClusterVirtualNetworkConfigurationArgs{...}

type ClusterVirtualNetworkConfigurationOutput

type ClusterVirtualNetworkConfigurationOutput struct{ *pulumi.OutputState }

func (ClusterVirtualNetworkConfigurationOutput) DataManagementPublicIpId

func (o ClusterVirtualNetworkConfigurationOutput) DataManagementPublicIpId() pulumi.StringOutput

Data management's service public IP address resource id.

func (ClusterVirtualNetworkConfigurationOutput) ElementType

func (ClusterVirtualNetworkConfigurationOutput) EnginePublicIpId

Engine service's public IP address resource id.

func (ClusterVirtualNetworkConfigurationOutput) SubnetId

The subnet resource id.

func (ClusterVirtualNetworkConfigurationOutput) ToClusterVirtualNetworkConfigurationOutput

func (o ClusterVirtualNetworkConfigurationOutput) ToClusterVirtualNetworkConfigurationOutput() ClusterVirtualNetworkConfigurationOutput

func (ClusterVirtualNetworkConfigurationOutput) ToClusterVirtualNetworkConfigurationOutputWithContext

func (o ClusterVirtualNetworkConfigurationOutput) ToClusterVirtualNetworkConfigurationOutputWithContext(ctx context.Context) ClusterVirtualNetworkConfigurationOutput

func (ClusterVirtualNetworkConfigurationOutput) ToClusterVirtualNetworkConfigurationPtrOutput

func (o ClusterVirtualNetworkConfigurationOutput) ToClusterVirtualNetworkConfigurationPtrOutput() ClusterVirtualNetworkConfigurationPtrOutput

func (ClusterVirtualNetworkConfigurationOutput) ToClusterVirtualNetworkConfigurationPtrOutputWithContext

func (o ClusterVirtualNetworkConfigurationOutput) ToClusterVirtualNetworkConfigurationPtrOutputWithContext(ctx context.Context) ClusterVirtualNetworkConfigurationPtrOutput

type ClusterVirtualNetworkConfigurationPtrInput

type ClusterVirtualNetworkConfigurationPtrInput interface {
	pulumi.Input

	ToClusterVirtualNetworkConfigurationPtrOutput() ClusterVirtualNetworkConfigurationPtrOutput
	ToClusterVirtualNetworkConfigurationPtrOutputWithContext(context.Context) ClusterVirtualNetworkConfigurationPtrOutput
}

ClusterVirtualNetworkConfigurationPtrInput is an input type that accepts ClusterVirtualNetworkConfigurationArgs, ClusterVirtualNetworkConfigurationPtr and ClusterVirtualNetworkConfigurationPtrOutput values. You can construct a concrete instance of `ClusterVirtualNetworkConfigurationPtrInput` via:

        ClusterVirtualNetworkConfigurationArgs{...}

or:

        nil

type ClusterVirtualNetworkConfigurationPtrOutput

type ClusterVirtualNetworkConfigurationPtrOutput struct{ *pulumi.OutputState }

func (ClusterVirtualNetworkConfigurationPtrOutput) DataManagementPublicIpId

Data management's service public IP address resource id.

func (ClusterVirtualNetworkConfigurationPtrOutput) Elem

func (ClusterVirtualNetworkConfigurationPtrOutput) ElementType

func (ClusterVirtualNetworkConfigurationPtrOutput) EnginePublicIpId

Engine service's public IP address resource id.

func (ClusterVirtualNetworkConfigurationPtrOutput) SubnetId

The subnet resource id.

func (ClusterVirtualNetworkConfigurationPtrOutput) ToClusterVirtualNetworkConfigurationPtrOutput

func (o ClusterVirtualNetworkConfigurationPtrOutput) ToClusterVirtualNetworkConfigurationPtrOutput() ClusterVirtualNetworkConfigurationPtrOutput

func (ClusterVirtualNetworkConfigurationPtrOutput) ToClusterVirtualNetworkConfigurationPtrOutputWithContext

func (o ClusterVirtualNetworkConfigurationPtrOutput) ToClusterVirtualNetworkConfigurationPtrOutputWithContext(ctx context.Context) ClusterVirtualNetworkConfigurationPtrOutput

type CosmosdbDataConnection

type CosmosdbDataConnection struct {
	pulumi.CustomResourceState

	// The name of an existing container in the Cosmos DB database. Changing this forces a new Kusto Cosmos DB Connection to be created.
	CosmosdbContainerId pulumi.StringOutput `pulumi:"cosmosdbContainerId"`
	// The name of the database in the Kusto cluster. Changing this forces a new Kusto Cosmos DB Connection to be created.
	KustoDatabaseId pulumi.StringOutput `pulumi:"kustoDatabaseId"`
	// The Azure Region where the Data Explorer should exist. Changing this forces a new Kusto Cosmos DB Connection to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The resource ID of a managed system or user-assigned identity. The identity is used to authenticate with Cosmos DB. Changing this forces a new Kusto Cosmos DB Connection to be created.
	ManagedIdentityId pulumi.StringOutput `pulumi:"managedIdentityId"`
	// The name of an existing mapping rule to use when ingesting the retrieved data. Changing this forces a new Kusto Cosmos DB Connection to be created.
	MappingRuleName pulumi.StringPtrOutput `pulumi:"mappingRuleName"`
	// The name of the data connection. Changing this forces a new Kusto Cosmos DB Connection to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// If defined, the data connection retrieves Cosmos DB documents created or updated after the specified retrieval start date. Changing this forces a new Kusto Cosmos DB Connection to be created.
	RetrievalStartDate pulumi.StringPtrOutput `pulumi:"retrievalStartDate"`
	// The case-sensitive name of the existing target table in your cluster. Retrieved data is ingested into this table. Changing this forces a new Kusto Cosmos DB Connection to be created.
	TableName pulumi.StringOutput `pulumi:"tableName"`
}

Manages a Kusto / Cosmos Database Data Connection.

## Import

Kusto / Cosmos Database Data Connection can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:kusto/cosmosdbDataConnection:CosmosdbDataConnection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Kusto/clusters/cluster1/databases/database1/dataConnections/dataConnection1 ```

func GetCosmosdbDataConnection

func GetCosmosdbDataConnection(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *CosmosdbDataConnectionState, opts ...pulumi.ResourceOption) (*CosmosdbDataConnection, error)

GetCosmosdbDataConnection gets an existing CosmosdbDataConnection resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewCosmosdbDataConnection

func NewCosmosdbDataConnection(ctx *pulumi.Context,
	name string, args *CosmosdbDataConnectionArgs, opts ...pulumi.ResourceOption) (*CosmosdbDataConnection, error)

NewCosmosdbDataConnection registers a new resource with the given unique name, arguments, and options.

func (*CosmosdbDataConnection) ElementType

func (*CosmosdbDataConnection) ElementType() reflect.Type

func (*CosmosdbDataConnection) ToCosmosdbDataConnectionOutput

func (i *CosmosdbDataConnection) ToCosmosdbDataConnectionOutput() CosmosdbDataConnectionOutput

func (*CosmosdbDataConnection) ToCosmosdbDataConnectionOutputWithContext

func (i *CosmosdbDataConnection) ToCosmosdbDataConnectionOutputWithContext(ctx context.Context) CosmosdbDataConnectionOutput

type CosmosdbDataConnectionArgs

type CosmosdbDataConnectionArgs struct {
	// The name of an existing container in the Cosmos DB database. Changing this forces a new Kusto Cosmos DB Connection to be created.
	CosmosdbContainerId pulumi.StringInput
	// The name of the database in the Kusto cluster. Changing this forces a new Kusto Cosmos DB Connection to be created.
	KustoDatabaseId pulumi.StringInput
	// The Azure Region where the Data Explorer should exist. Changing this forces a new Kusto Cosmos DB Connection to be created.
	Location pulumi.StringPtrInput
	// The resource ID of a managed system or user-assigned identity. The identity is used to authenticate with Cosmos DB. Changing this forces a new Kusto Cosmos DB Connection to be created.
	ManagedIdentityId pulumi.StringInput
	// The name of an existing mapping rule to use when ingesting the retrieved data. Changing this forces a new Kusto Cosmos DB Connection to be created.
	MappingRuleName pulumi.StringPtrInput
	// The name of the data connection. Changing this forces a new Kusto Cosmos DB Connection to be created.
	Name pulumi.StringPtrInput
	// If defined, the data connection retrieves Cosmos DB documents created or updated after the specified retrieval start date. Changing this forces a new Kusto Cosmos DB Connection to be created.
	RetrievalStartDate pulumi.StringPtrInput
	// The case-sensitive name of the existing target table in your cluster. Retrieved data is ingested into this table. Changing this forces a new Kusto Cosmos DB Connection to be created.
	TableName pulumi.StringInput
}

The set of arguments for constructing a CosmosdbDataConnection resource.

func (CosmosdbDataConnectionArgs) ElementType

func (CosmosdbDataConnectionArgs) ElementType() reflect.Type

type CosmosdbDataConnectionArray

type CosmosdbDataConnectionArray []CosmosdbDataConnectionInput

func (CosmosdbDataConnectionArray) ElementType

func (CosmosdbDataConnectionArray) ToCosmosdbDataConnectionArrayOutput

func (i CosmosdbDataConnectionArray) ToCosmosdbDataConnectionArrayOutput() CosmosdbDataConnectionArrayOutput

func (CosmosdbDataConnectionArray) ToCosmosdbDataConnectionArrayOutputWithContext

func (i CosmosdbDataConnectionArray) ToCosmosdbDataConnectionArrayOutputWithContext(ctx context.Context) CosmosdbDataConnectionArrayOutput

type CosmosdbDataConnectionArrayInput

type CosmosdbDataConnectionArrayInput interface {
	pulumi.Input

	ToCosmosdbDataConnectionArrayOutput() CosmosdbDataConnectionArrayOutput
	ToCosmosdbDataConnectionArrayOutputWithContext(context.Context) CosmosdbDataConnectionArrayOutput
}

CosmosdbDataConnectionArrayInput is an input type that accepts CosmosdbDataConnectionArray and CosmosdbDataConnectionArrayOutput values. You can construct a concrete instance of `CosmosdbDataConnectionArrayInput` via:

CosmosdbDataConnectionArray{ CosmosdbDataConnectionArgs{...} }

type CosmosdbDataConnectionArrayOutput

type CosmosdbDataConnectionArrayOutput struct{ *pulumi.OutputState }

func (CosmosdbDataConnectionArrayOutput) ElementType

func (CosmosdbDataConnectionArrayOutput) Index

func (CosmosdbDataConnectionArrayOutput) ToCosmosdbDataConnectionArrayOutput

func (o CosmosdbDataConnectionArrayOutput) ToCosmosdbDataConnectionArrayOutput() CosmosdbDataConnectionArrayOutput

func (CosmosdbDataConnectionArrayOutput) ToCosmosdbDataConnectionArrayOutputWithContext

func (o CosmosdbDataConnectionArrayOutput) ToCosmosdbDataConnectionArrayOutputWithContext(ctx context.Context) CosmosdbDataConnectionArrayOutput

type CosmosdbDataConnectionInput

type CosmosdbDataConnectionInput interface {
	pulumi.Input

	ToCosmosdbDataConnectionOutput() CosmosdbDataConnectionOutput
	ToCosmosdbDataConnectionOutputWithContext(ctx context.Context) CosmosdbDataConnectionOutput
}

type CosmosdbDataConnectionMap

type CosmosdbDataConnectionMap map[string]CosmosdbDataConnectionInput

func (CosmosdbDataConnectionMap) ElementType

func (CosmosdbDataConnectionMap) ElementType() reflect.Type

func (CosmosdbDataConnectionMap) ToCosmosdbDataConnectionMapOutput

func (i CosmosdbDataConnectionMap) ToCosmosdbDataConnectionMapOutput() CosmosdbDataConnectionMapOutput

func (CosmosdbDataConnectionMap) ToCosmosdbDataConnectionMapOutputWithContext

func (i CosmosdbDataConnectionMap) ToCosmosdbDataConnectionMapOutputWithContext(ctx context.Context) CosmosdbDataConnectionMapOutput

type CosmosdbDataConnectionMapInput

type CosmosdbDataConnectionMapInput interface {
	pulumi.Input

	ToCosmosdbDataConnectionMapOutput() CosmosdbDataConnectionMapOutput
	ToCosmosdbDataConnectionMapOutputWithContext(context.Context) CosmosdbDataConnectionMapOutput
}

CosmosdbDataConnectionMapInput is an input type that accepts CosmosdbDataConnectionMap and CosmosdbDataConnectionMapOutput values. You can construct a concrete instance of `CosmosdbDataConnectionMapInput` via:

CosmosdbDataConnectionMap{ "key": CosmosdbDataConnectionArgs{...} }

type CosmosdbDataConnectionMapOutput

type CosmosdbDataConnectionMapOutput struct{ *pulumi.OutputState }

func (CosmosdbDataConnectionMapOutput) ElementType

func (CosmosdbDataConnectionMapOutput) MapIndex

func (CosmosdbDataConnectionMapOutput) ToCosmosdbDataConnectionMapOutput

func (o CosmosdbDataConnectionMapOutput) ToCosmosdbDataConnectionMapOutput() CosmosdbDataConnectionMapOutput

func (CosmosdbDataConnectionMapOutput) ToCosmosdbDataConnectionMapOutputWithContext

func (o CosmosdbDataConnectionMapOutput) ToCosmosdbDataConnectionMapOutputWithContext(ctx context.Context) CosmosdbDataConnectionMapOutput

type CosmosdbDataConnectionOutput

type CosmosdbDataConnectionOutput struct{ *pulumi.OutputState }

func (CosmosdbDataConnectionOutput) CosmosdbContainerId

func (o CosmosdbDataConnectionOutput) CosmosdbContainerId() pulumi.StringOutput

The name of an existing container in the Cosmos DB database. Changing this forces a new Kusto Cosmos DB Connection to be created.

func (CosmosdbDataConnectionOutput) ElementType

func (CosmosdbDataConnectionOutput) KustoDatabaseId

func (o CosmosdbDataConnectionOutput) KustoDatabaseId() pulumi.StringOutput

The name of the database in the Kusto cluster. Changing this forces a new Kusto Cosmos DB Connection to be created.

func (CosmosdbDataConnectionOutput) Location

The Azure Region where the Data Explorer should exist. Changing this forces a new Kusto Cosmos DB Connection to be created.

func (CosmosdbDataConnectionOutput) ManagedIdentityId

func (o CosmosdbDataConnectionOutput) ManagedIdentityId() pulumi.StringOutput

The resource ID of a managed system or user-assigned identity. The identity is used to authenticate with Cosmos DB. Changing this forces a new Kusto Cosmos DB Connection to be created.

func (CosmosdbDataConnectionOutput) MappingRuleName

The name of an existing mapping rule to use when ingesting the retrieved data. Changing this forces a new Kusto Cosmos DB Connection to be created.

func (CosmosdbDataConnectionOutput) Name

The name of the data connection. Changing this forces a new Kusto Cosmos DB Connection to be created.

func (CosmosdbDataConnectionOutput) RetrievalStartDate

func (o CosmosdbDataConnectionOutput) RetrievalStartDate() pulumi.StringPtrOutput

If defined, the data connection retrieves Cosmos DB documents created or updated after the specified retrieval start date. Changing this forces a new Kusto Cosmos DB Connection to be created.

func (CosmosdbDataConnectionOutput) TableName

The case-sensitive name of the existing target table in your cluster. Retrieved data is ingested into this table. Changing this forces a new Kusto Cosmos DB Connection to be created.

func (CosmosdbDataConnectionOutput) ToCosmosdbDataConnectionOutput

func (o CosmosdbDataConnectionOutput) ToCosmosdbDataConnectionOutput() CosmosdbDataConnectionOutput

func (CosmosdbDataConnectionOutput) ToCosmosdbDataConnectionOutputWithContext

func (o CosmosdbDataConnectionOutput) ToCosmosdbDataConnectionOutputWithContext(ctx context.Context) CosmosdbDataConnectionOutput

type CosmosdbDataConnectionState

type CosmosdbDataConnectionState struct {
	// The name of an existing container in the Cosmos DB database. Changing this forces a new Kusto Cosmos DB Connection to be created.
	CosmosdbContainerId pulumi.StringPtrInput
	// The name of the database in the Kusto cluster. Changing this forces a new Kusto Cosmos DB Connection to be created.
	KustoDatabaseId pulumi.StringPtrInput
	// The Azure Region where the Data Explorer should exist. Changing this forces a new Kusto Cosmos DB Connection to be created.
	Location pulumi.StringPtrInput
	// The resource ID of a managed system or user-assigned identity. The identity is used to authenticate with Cosmos DB. Changing this forces a new Kusto Cosmos DB Connection to be created.
	ManagedIdentityId pulumi.StringPtrInput
	// The name of an existing mapping rule to use when ingesting the retrieved data. Changing this forces a new Kusto Cosmos DB Connection to be created.
	MappingRuleName pulumi.StringPtrInput
	// The name of the data connection. Changing this forces a new Kusto Cosmos DB Connection to be created.
	Name pulumi.StringPtrInput
	// If defined, the data connection retrieves Cosmos DB documents created or updated after the specified retrieval start date. Changing this forces a new Kusto Cosmos DB Connection to be created.
	RetrievalStartDate pulumi.StringPtrInput
	// The case-sensitive name of the existing target table in your cluster. Retrieved data is ingested into this table. Changing this forces a new Kusto Cosmos DB Connection to be created.
	TableName pulumi.StringPtrInput
}

func (CosmosdbDataConnectionState) ElementType

type Database

type Database struct {
	pulumi.CustomResourceState

	// Specifies the name of the Kusto Cluster this database will be added to. Changing this forces a new resource to be created.
	ClusterName pulumi.StringOutput `pulumi:"clusterName"`
	// The time the data that should be kept in cache for fast queries as ISO 8601 timespan. Default is unlimited. For more information see: [ISO 8601 Timespan](https://en.wikipedia.org/wiki/ISO_8601#Durations)
	HotCachePeriod pulumi.StringPtrOutput `pulumi:"hotCachePeriod"`
	// The location where the Kusto Database should be created. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name of the Kusto Database to create. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The size of the database in bytes.
	Size pulumi.Float64Output `pulumi:"size"`
	// The time the data should be kept before it stops being accessible to queries as ISO 8601 timespan. Default is unlimited. For more information see: [ISO 8601 Timespan](https://en.wikipedia.org/wiki/ISO_8601#Durations)
	SoftDeletePeriod pulumi.StringPtrOutput `pulumi:"softDeletePeriod"`
}

## Example Usage

```go 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-rg"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		cluster, err := kusto.NewCluster(ctx, "cluster", &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),
			},
		})
		if err != nil {
			return err
		}
		_, err = kusto.NewDatabase(ctx, "database", &kusto.DatabaseArgs{
			Name:              pulumi.String("my-kusto-database"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			ClusterName:       cluster.Name,
			HotCachePeriod:    pulumi.String("P7D"),
			SoftDeletePeriod:  pulumi.String("P31D"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import azure:kusto/database:Database example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Kusto/clusters/cluster1/databases/database1 ```

func GetDatabase

func GetDatabase(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DatabaseState, opts ...pulumi.ResourceOption) (*Database, error)

GetDatabase gets an existing Database resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDatabase

func NewDatabase(ctx *pulumi.Context,
	name string, args *DatabaseArgs, opts ...pulumi.ResourceOption) (*Database, error)

NewDatabase registers a new resource with the given unique name, arguments, and options.

func (*Database) ElementType

func (*Database) ElementType() reflect.Type

func (*Database) ToDatabaseOutput

func (i *Database) ToDatabaseOutput() DatabaseOutput

func (*Database) ToDatabaseOutputWithContext

func (i *Database) ToDatabaseOutputWithContext(ctx context.Context) DatabaseOutput

type DatabaseArgs

type DatabaseArgs struct {
	// Specifies the name of the Kusto Cluster this database will be added to. Changing this forces a new resource to be created.
	ClusterName pulumi.StringInput
	// The time the data that should be kept in cache for fast queries as ISO 8601 timespan. Default is unlimited. For more information see: [ISO 8601 Timespan](https://en.wikipedia.org/wiki/ISO_8601#Durations)
	HotCachePeriod pulumi.StringPtrInput
	// The location where the Kusto Database should be created. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name of the Kusto Database to create. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// The time the data should be kept before it stops being accessible to queries as ISO 8601 timespan. Default is unlimited. For more information see: [ISO 8601 Timespan](https://en.wikipedia.org/wiki/ISO_8601#Durations)
	SoftDeletePeriod pulumi.StringPtrInput
}

The set of arguments for constructing a Database resource.

func (DatabaseArgs) ElementType

func (DatabaseArgs) ElementType() reflect.Type

type DatabaseArray

type DatabaseArray []DatabaseInput

func (DatabaseArray) ElementType

func (DatabaseArray) ElementType() reflect.Type

func (DatabaseArray) ToDatabaseArrayOutput

func (i DatabaseArray) ToDatabaseArrayOutput() DatabaseArrayOutput

func (DatabaseArray) ToDatabaseArrayOutputWithContext

func (i DatabaseArray) ToDatabaseArrayOutputWithContext(ctx context.Context) DatabaseArrayOutput

type DatabaseArrayInput

type DatabaseArrayInput interface {
	pulumi.Input

	ToDatabaseArrayOutput() DatabaseArrayOutput
	ToDatabaseArrayOutputWithContext(context.Context) DatabaseArrayOutput
}

DatabaseArrayInput is an input type that accepts DatabaseArray and DatabaseArrayOutput values. You can construct a concrete instance of `DatabaseArrayInput` via:

DatabaseArray{ DatabaseArgs{...} }

type DatabaseArrayOutput

type DatabaseArrayOutput struct{ *pulumi.OutputState }

func (DatabaseArrayOutput) ElementType

func (DatabaseArrayOutput) ElementType() reflect.Type

func (DatabaseArrayOutput) Index

func (DatabaseArrayOutput) ToDatabaseArrayOutput

func (o DatabaseArrayOutput) ToDatabaseArrayOutput() DatabaseArrayOutput

func (DatabaseArrayOutput) ToDatabaseArrayOutputWithContext

func (o DatabaseArrayOutput) ToDatabaseArrayOutputWithContext(ctx context.Context) DatabaseArrayOutput

type DatabaseInput

type DatabaseInput interface {
	pulumi.Input

	ToDatabaseOutput() DatabaseOutput
	ToDatabaseOutputWithContext(ctx context.Context) DatabaseOutput
}

type DatabaseMap

type DatabaseMap map[string]DatabaseInput

func (DatabaseMap) ElementType

func (DatabaseMap) ElementType() reflect.Type

func (DatabaseMap) ToDatabaseMapOutput

func (i DatabaseMap) ToDatabaseMapOutput() DatabaseMapOutput

func (DatabaseMap) ToDatabaseMapOutputWithContext

func (i DatabaseMap) ToDatabaseMapOutputWithContext(ctx context.Context) DatabaseMapOutput

type DatabaseMapInput

type DatabaseMapInput interface {
	pulumi.Input

	ToDatabaseMapOutput() DatabaseMapOutput
	ToDatabaseMapOutputWithContext(context.Context) DatabaseMapOutput
}

DatabaseMapInput is an input type that accepts DatabaseMap and DatabaseMapOutput values. You can construct a concrete instance of `DatabaseMapInput` via:

DatabaseMap{ "key": DatabaseArgs{...} }

type DatabaseMapOutput

type DatabaseMapOutput struct{ *pulumi.OutputState }

func (DatabaseMapOutput) ElementType

func (DatabaseMapOutput) ElementType() reflect.Type

func (DatabaseMapOutput) MapIndex

func (DatabaseMapOutput) ToDatabaseMapOutput

func (o DatabaseMapOutput) ToDatabaseMapOutput() DatabaseMapOutput

func (DatabaseMapOutput) ToDatabaseMapOutputWithContext

func (o DatabaseMapOutput) ToDatabaseMapOutputWithContext(ctx context.Context) DatabaseMapOutput

type DatabaseOutput

type DatabaseOutput struct{ *pulumi.OutputState }

func (DatabaseOutput) ClusterName

func (o DatabaseOutput) ClusterName() pulumi.StringOutput

Specifies the name of the Kusto Cluster this database will be added to. Changing this forces a new resource to be created.

func (DatabaseOutput) ElementType

func (DatabaseOutput) ElementType() reflect.Type

func (DatabaseOutput) HotCachePeriod

func (o DatabaseOutput) HotCachePeriod() pulumi.StringPtrOutput

The time the data that should be kept in cache for fast queries as ISO 8601 timespan. Default is unlimited. For more information see: [ISO 8601 Timespan](https://en.wikipedia.org/wiki/ISO_8601#Durations)

func (DatabaseOutput) Location

func (o DatabaseOutput) Location() pulumi.StringOutput

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

func (DatabaseOutput) Name

The name of the Kusto Database to create. Changing this forces a new resource to be created.

func (DatabaseOutput) ResourceGroupName

func (o DatabaseOutput) ResourceGroupName() pulumi.StringOutput

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

func (DatabaseOutput) Size

The size of the database in bytes.

func (DatabaseOutput) SoftDeletePeriod

func (o DatabaseOutput) SoftDeletePeriod() pulumi.StringPtrOutput

The time the data should be kept before it stops being accessible to queries as ISO 8601 timespan. Default is unlimited. For more information see: [ISO 8601 Timespan](https://en.wikipedia.org/wiki/ISO_8601#Durations)

func (DatabaseOutput) ToDatabaseOutput

func (o DatabaseOutput) ToDatabaseOutput() DatabaseOutput

func (DatabaseOutput) ToDatabaseOutputWithContext

func (o DatabaseOutput) ToDatabaseOutputWithContext(ctx context.Context) DatabaseOutput

type DatabasePrincipalAssignment

type DatabasePrincipalAssignment struct {
	pulumi.CustomResourceState

	// The name of the cluster in which to create the resource. Changing this forces a new resource to be created.
	ClusterName pulumi.StringOutput `pulumi:"clusterName"`
	// The name of the database in which to create the resource. Changing this forces a new resource to be created.
	DatabaseName pulumi.StringOutput `pulumi:"databaseName"`
	// The name of the kusto principal assignment. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The object id of the principal. Changing this forces a new resource to be created.
	PrincipalId pulumi.StringOutput `pulumi:"principalId"`
	// The name of the principal.
	PrincipalName pulumi.StringOutput `pulumi:"principalName"`
	// The type of the principal. Valid values include `App`, `Group`, `User`. Changing this forces a new resource to be created.
	PrincipalType pulumi.StringOutput `pulumi:"principalType"`
	// The name of the resource group in which to create the resource. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The database role assigned to the principal. Valid values include `Admin`, `Ingestor`, `Monitor`, `UnrestrictedViewer`, `User` and `Viewer`. Changing this forces a new resource to be created.
	Role pulumi.StringOutput `pulumi:"role"`
	// The tenant id in which the principal resides. Changing this forces a new resource to be created.
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
	// The name of the tenant.
	TenantName pulumi.StringOutput `pulumi:"tenantName"`
}

Manages a Kusto (also known as Azure Data Explorer) Database Principal Assignment.

## Example Usage

```go 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 {
		current, err := core.GetClientConfig(ctx, nil, nil)
		if err != nil {
			return err
		}
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("KustoRG"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleCluster, 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),
			},
		})
		if err != nil {
			return err
		}
		exampleDatabase, err := kusto.NewDatabase(ctx, "example", &kusto.DatabaseArgs{
			Name:              pulumi.String("KustoDatabase"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			ClusterName:       exampleCluster.Name,
			HotCachePeriod:    pulumi.String("P7D"),
			SoftDeletePeriod:  pulumi.String("P31D"),
		})
		if err != nil {
			return err
		}
		_, err = kusto.NewDatabasePrincipalAssignment(ctx, "example", &kusto.DatabasePrincipalAssignmentArgs{
			Name:              pulumi.String("KustoPrincipalAssignment"),
			ResourceGroupName: example.Name,
			ClusterName:       exampleCluster.Name,
			DatabaseName:      exampleDatabase.Name,
			TenantId:          pulumi.String(current.TenantId),
			PrincipalId:       pulumi.String(current.ClientId),
			PrincipalType:     pulumi.String("App"),
			Role:              pulumi.String("Viewer"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Kusto Database Principal Assignment can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:kusto/databasePrincipalAssignment:DatabasePrincipalAssignment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Kusto/clusters/cluster1/databases/database1/principalAssignments/assignment1 ```

func GetDatabasePrincipalAssignment

func GetDatabasePrincipalAssignment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DatabasePrincipalAssignmentState, opts ...pulumi.ResourceOption) (*DatabasePrincipalAssignment, error)

GetDatabasePrincipalAssignment gets an existing DatabasePrincipalAssignment resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDatabasePrincipalAssignment

func NewDatabasePrincipalAssignment(ctx *pulumi.Context,
	name string, args *DatabasePrincipalAssignmentArgs, opts ...pulumi.ResourceOption) (*DatabasePrincipalAssignment, error)

NewDatabasePrincipalAssignment registers a new resource with the given unique name, arguments, and options.

func (*DatabasePrincipalAssignment) ElementType

func (*DatabasePrincipalAssignment) ElementType() reflect.Type

func (*DatabasePrincipalAssignment) ToDatabasePrincipalAssignmentOutput

func (i *DatabasePrincipalAssignment) ToDatabasePrincipalAssignmentOutput() DatabasePrincipalAssignmentOutput

func (*DatabasePrincipalAssignment) ToDatabasePrincipalAssignmentOutputWithContext

func (i *DatabasePrincipalAssignment) ToDatabasePrincipalAssignmentOutputWithContext(ctx context.Context) DatabasePrincipalAssignmentOutput

type DatabasePrincipalAssignmentArgs

type DatabasePrincipalAssignmentArgs struct {
	// The name of the cluster in which to create the resource. Changing this forces a new resource to be created.
	ClusterName pulumi.StringInput
	// The name of the database in which to create the resource. Changing this forces a new resource to be created.
	DatabaseName pulumi.StringInput
	// The name of the kusto principal assignment. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The object id of the principal. Changing this forces a new resource to be created.
	PrincipalId pulumi.StringInput
	// The type of the principal. Valid values include `App`, `Group`, `User`. Changing this forces a new resource to be created.
	PrincipalType pulumi.StringInput
	// The name of the resource group in which to create the resource. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// The database role assigned to the principal. Valid values include `Admin`, `Ingestor`, `Monitor`, `UnrestrictedViewer`, `User` and `Viewer`. Changing this forces a new resource to be created.
	Role pulumi.StringInput
	// The tenant id in which the principal resides. Changing this forces a new resource to be created.
	TenantId pulumi.StringInput
}

The set of arguments for constructing a DatabasePrincipalAssignment resource.

func (DatabasePrincipalAssignmentArgs) ElementType

type DatabasePrincipalAssignmentArray

type DatabasePrincipalAssignmentArray []DatabasePrincipalAssignmentInput

func (DatabasePrincipalAssignmentArray) ElementType

func (DatabasePrincipalAssignmentArray) ToDatabasePrincipalAssignmentArrayOutput

func (i DatabasePrincipalAssignmentArray) ToDatabasePrincipalAssignmentArrayOutput() DatabasePrincipalAssignmentArrayOutput

func (DatabasePrincipalAssignmentArray) ToDatabasePrincipalAssignmentArrayOutputWithContext

func (i DatabasePrincipalAssignmentArray) ToDatabasePrincipalAssignmentArrayOutputWithContext(ctx context.Context) DatabasePrincipalAssignmentArrayOutput

type DatabasePrincipalAssignmentArrayInput

type DatabasePrincipalAssignmentArrayInput interface {
	pulumi.Input

	ToDatabasePrincipalAssignmentArrayOutput() DatabasePrincipalAssignmentArrayOutput
	ToDatabasePrincipalAssignmentArrayOutputWithContext(context.Context) DatabasePrincipalAssignmentArrayOutput
}

DatabasePrincipalAssignmentArrayInput is an input type that accepts DatabasePrincipalAssignmentArray and DatabasePrincipalAssignmentArrayOutput values. You can construct a concrete instance of `DatabasePrincipalAssignmentArrayInput` via:

DatabasePrincipalAssignmentArray{ DatabasePrincipalAssignmentArgs{...} }

type DatabasePrincipalAssignmentArrayOutput

type DatabasePrincipalAssignmentArrayOutput struct{ *pulumi.OutputState }

func (DatabasePrincipalAssignmentArrayOutput) ElementType

func (DatabasePrincipalAssignmentArrayOutput) Index

func (DatabasePrincipalAssignmentArrayOutput) ToDatabasePrincipalAssignmentArrayOutput

func (o DatabasePrincipalAssignmentArrayOutput) ToDatabasePrincipalAssignmentArrayOutput() DatabasePrincipalAssignmentArrayOutput

func (DatabasePrincipalAssignmentArrayOutput) ToDatabasePrincipalAssignmentArrayOutputWithContext

func (o DatabasePrincipalAssignmentArrayOutput) ToDatabasePrincipalAssignmentArrayOutputWithContext(ctx context.Context) DatabasePrincipalAssignmentArrayOutput

type DatabasePrincipalAssignmentInput

type DatabasePrincipalAssignmentInput interface {
	pulumi.Input

	ToDatabasePrincipalAssignmentOutput() DatabasePrincipalAssignmentOutput
	ToDatabasePrincipalAssignmentOutputWithContext(ctx context.Context) DatabasePrincipalAssignmentOutput
}

type DatabasePrincipalAssignmentMap

type DatabasePrincipalAssignmentMap map[string]DatabasePrincipalAssignmentInput

func (DatabasePrincipalAssignmentMap) ElementType

func (DatabasePrincipalAssignmentMap) ToDatabasePrincipalAssignmentMapOutput

func (i DatabasePrincipalAssignmentMap) ToDatabasePrincipalAssignmentMapOutput() DatabasePrincipalAssignmentMapOutput

func (DatabasePrincipalAssignmentMap) ToDatabasePrincipalAssignmentMapOutputWithContext

func (i DatabasePrincipalAssignmentMap) ToDatabasePrincipalAssignmentMapOutputWithContext(ctx context.Context) DatabasePrincipalAssignmentMapOutput

type DatabasePrincipalAssignmentMapInput

type DatabasePrincipalAssignmentMapInput interface {
	pulumi.Input

	ToDatabasePrincipalAssignmentMapOutput() DatabasePrincipalAssignmentMapOutput
	ToDatabasePrincipalAssignmentMapOutputWithContext(context.Context) DatabasePrincipalAssignmentMapOutput
}

DatabasePrincipalAssignmentMapInput is an input type that accepts DatabasePrincipalAssignmentMap and DatabasePrincipalAssignmentMapOutput values. You can construct a concrete instance of `DatabasePrincipalAssignmentMapInput` via:

DatabasePrincipalAssignmentMap{ "key": DatabasePrincipalAssignmentArgs{...} }

type DatabasePrincipalAssignmentMapOutput

type DatabasePrincipalAssignmentMapOutput struct{ *pulumi.OutputState }

func (DatabasePrincipalAssignmentMapOutput) ElementType

func (DatabasePrincipalAssignmentMapOutput) MapIndex

func (DatabasePrincipalAssignmentMapOutput) ToDatabasePrincipalAssignmentMapOutput

func (o DatabasePrincipalAssignmentMapOutput) ToDatabasePrincipalAssignmentMapOutput() DatabasePrincipalAssignmentMapOutput

func (DatabasePrincipalAssignmentMapOutput) ToDatabasePrincipalAssignmentMapOutputWithContext

func (o DatabasePrincipalAssignmentMapOutput) ToDatabasePrincipalAssignmentMapOutputWithContext(ctx context.Context) DatabasePrincipalAssignmentMapOutput

type DatabasePrincipalAssignmentOutput

type DatabasePrincipalAssignmentOutput struct{ *pulumi.OutputState }

func (DatabasePrincipalAssignmentOutput) ClusterName

The name of the cluster in which to create the resource. Changing this forces a new resource to be created.

func (DatabasePrincipalAssignmentOutput) DatabaseName

The name of the database in which to create the resource. Changing this forces a new resource to be created.

func (DatabasePrincipalAssignmentOutput) ElementType

func (DatabasePrincipalAssignmentOutput) Name

The name of the kusto principal assignment. Changing this forces a new resource to be created.

func (DatabasePrincipalAssignmentOutput) PrincipalId

The object id of the principal. Changing this forces a new resource to be created.

func (DatabasePrincipalAssignmentOutput) PrincipalName

The name of the principal.

func (DatabasePrincipalAssignmentOutput) PrincipalType

The type of the principal. Valid values include `App`, `Group`, `User`. Changing this forces a new resource to be created.

func (DatabasePrincipalAssignmentOutput) ResourceGroupName

The name of the resource group in which to create the resource. Changing this forces a new resource to be created.

func (DatabasePrincipalAssignmentOutput) Role

The database role assigned to the principal. Valid values include `Admin`, `Ingestor`, `Monitor`, `UnrestrictedViewer`, `User` and `Viewer`. Changing this forces a new resource to be created.

func (DatabasePrincipalAssignmentOutput) TenantId

The tenant id in which the principal resides. Changing this forces a new resource to be created.

func (DatabasePrincipalAssignmentOutput) TenantName

The name of the tenant.

func (DatabasePrincipalAssignmentOutput) ToDatabasePrincipalAssignmentOutput

func (o DatabasePrincipalAssignmentOutput) ToDatabasePrincipalAssignmentOutput() DatabasePrincipalAssignmentOutput

func (DatabasePrincipalAssignmentOutput) ToDatabasePrincipalAssignmentOutputWithContext

func (o DatabasePrincipalAssignmentOutput) ToDatabasePrincipalAssignmentOutputWithContext(ctx context.Context) DatabasePrincipalAssignmentOutput

type DatabasePrincipalAssignmentState

type DatabasePrincipalAssignmentState struct {
	// The name of the cluster in which to create the resource. Changing this forces a new resource to be created.
	ClusterName pulumi.StringPtrInput
	// The name of the database in which to create the resource. Changing this forces a new resource to be created.
	DatabaseName pulumi.StringPtrInput
	// The name of the kusto principal assignment. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The object id of the principal. Changing this forces a new resource to be created.
	PrincipalId pulumi.StringPtrInput
	// The name of the principal.
	PrincipalName pulumi.StringPtrInput
	// The type of the principal. Valid values include `App`, `Group`, `User`. Changing this forces a new resource to be created.
	PrincipalType pulumi.StringPtrInput
	// The name of the resource group in which to create the resource. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The database role assigned to the principal. Valid values include `Admin`, `Ingestor`, `Monitor`, `UnrestrictedViewer`, `User` and `Viewer`. Changing this forces a new resource to be created.
	Role pulumi.StringPtrInput
	// The tenant id in which the principal resides. Changing this forces a new resource to be created.
	TenantId pulumi.StringPtrInput
	// The name of the tenant.
	TenantName pulumi.StringPtrInput
}

func (DatabasePrincipalAssignmentState) ElementType

type DatabaseState

type DatabaseState struct {
	// Specifies the name of the Kusto Cluster this database will be added to. Changing this forces a new resource to be created.
	ClusterName pulumi.StringPtrInput
	// The time the data that should be kept in cache for fast queries as ISO 8601 timespan. Default is unlimited. For more information see: [ISO 8601 Timespan](https://en.wikipedia.org/wiki/ISO_8601#Durations)
	HotCachePeriod pulumi.StringPtrInput
	// The location where the Kusto Database should be created. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name of the Kusto Database to create. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The size of the database in bytes.
	Size pulumi.Float64PtrInput
	// The time the data should be kept before it stops being accessible to queries as ISO 8601 timespan. Default is unlimited. For more information see: [ISO 8601 Timespan](https://en.wikipedia.org/wiki/ISO_8601#Durations)
	SoftDeletePeriod pulumi.StringPtrInput
}

func (DatabaseState) ElementType

func (DatabaseState) ElementType() reflect.Type

type EventGridDataConnection

type EventGridDataConnection struct {
	pulumi.CustomResourceState

	// Specifies the blob storage event type that needs to be processed. Possible Values are `Microsoft.Storage.BlobCreated` and `Microsoft.Storage.BlobRenamed`. Defaults to `Microsoft.Storage.BlobCreated`.
	BlobStorageEventType pulumi.StringPtrOutput `pulumi:"blobStorageEventType"`
	// Specifies the name of the Kusto Cluster this data connection will be added to. Changing this forces a new resource to be created.
	ClusterName pulumi.StringOutput `pulumi:"clusterName"`
	// Specifies the data format of the EventHub messages. Allowed values: `APACHEAVRO`, `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `ORC`, `PARQUET`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSV`, `TSVE`, `TXT` and `W3CLOGFILE`.
	DataFormat pulumi.StringPtrOutput `pulumi:"dataFormat"`
	// Specifies the name of the Kusto Database this data connection will be added to. Changing this forces a new resource to be created.
	DatabaseName pulumi.StringOutput `pulumi:"databaseName"`
	// Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: `Single`, `Multi`. Changing this forces a new resource to be created. Defaults to `Single`.
	DatabaseRoutingType pulumi.StringPtrOutput `pulumi:"databaseRoutingType"`
	// The resource ID of the event grid that is subscribed to the storage account events.
	EventgridResourceId pulumi.StringPtrOutput `pulumi:"eventgridResourceId"`
	// Specifies the Event Hub consumer group this data connection will use for ingestion. Changing this forces a new resource to be created.
	EventhubConsumerGroupName pulumi.StringOutput `pulumi:"eventhubConsumerGroupName"`
	// Specifies the resource id of the Event Hub this data connection will use for ingestion. Changing this forces a new resource to be created.
	EventhubId pulumi.StringOutput `pulumi:"eventhubId"`
	// The location where the Kusto Database should be created. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// Empty for non-managed identity based data connection. For system assigned identity, provide cluster resource Id. For user assigned identity (UAI) provide the UAI resource Id.
	ManagedIdentityResourceId pulumi.StringPtrOutput `pulumi:"managedIdentityResourceId"`
	// Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created.
	MappingRuleName pulumi.StringPtrOutput `pulumi:"mappingRuleName"`
	// The name of the Kusto Event Grid Data Connection to create. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// is the first record of every file ignored? Defaults to `false`.
	SkipFirstRecord pulumi.BoolPtrOutput `pulumi:"skipFirstRecord"`
	// Specifies the resource id of the Storage Account this data connection will use for ingestion. Changing this forces a new resource to be created.
	StorageAccountId pulumi.StringOutput `pulumi:"storageAccountId"`
	// Specifies the target table name used for the message ingestion. Table must exist before resource is created.
	TableName pulumi.StringPtrOutput `pulumi:"tableName"`
}

Manages a Kusto (also known as Azure Data Explorer) Event Grid Data Connection

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventgrid"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/kusto"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage"
"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("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleCluster, err := kusto.NewCluster(ctx, "example", &kusto.ClusterArgs{
			Name:              pulumi.String("examplekustocluster"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku: &kusto.ClusterSkuArgs{
				Name:     pulumi.String("Standard_D13_v2"),
				Capacity: pulumi.Int(2),
			},
		})
		if err != nil {
			return err
		}
		exampleDatabase, err := kusto.NewDatabase(ctx, "example", &kusto.DatabaseArgs{
			Name:              pulumi.String("example-kusto-database"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			ClusterName:       exampleCluster.Name,
			HotCachePeriod:    pulumi.String("P7D"),
			SoftDeletePeriod:  pulumi.String("P31D"),
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
			Name:                   pulumi.String("storageaccountname"),
			ResourceGroupName:      example.Name,
			Location:               example.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("GRS"),
		})
		if err != nil {
			return err
		}
		exampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, "example", &eventhub.EventHubNamespaceArgs{
			Name:              pulumi.String("eventhubnamespace-example"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		exampleEventHub, err := eventhub.NewEventHub(ctx, "example", &eventhub.EventHubArgs{
			Name:              pulumi.String("eventhub-example"),
			NamespaceName:     exampleEventHubNamespace.Name,
			ResourceGroupName: example.Name,
			PartitionCount:    pulumi.Int(1),
			MessageRetention:  pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		exampleConsumerGroup, err := eventhub.NewConsumerGroup(ctx, "example", &eventhub.ConsumerGroupArgs{
			Name:              pulumi.String("consumergroup-example"),
			NamespaceName:     exampleEventHubNamespace.Name,
			EventhubName:      exampleEventHub.Name,
			ResourceGroupName: example.Name,
		})
		if err != nil {
			return err
		}
		exampleEventSubscription, err := eventgrid.NewEventSubscription(ctx, "example", &eventgrid.EventSubscriptionArgs{
			Name:                pulumi.String("eventgrid-example"),
			Scope:               exampleAccount.ID(),
			EventhubEndpointId:  exampleEventHub.ID(),
			EventDeliverySchema: pulumi.String("EventGridSchema"),
			IncludedEventTypes: pulumi.StringArray{
				pulumi.String("Microsoft.Storage.BlobCreated"),
				pulumi.String("Microsoft.Storage.BlobRenamed"),
			},
			RetryPolicy: &eventgrid.EventSubscriptionRetryPolicyArgs{
				EventTimeToLive:     pulumi.Int(144),
				MaxDeliveryAttempts: pulumi.Int(10),
			},
		})
		if err != nil {
			return err
		}
		_, err = kusto.NewEventGridDataConnection(ctx, "example", &kusto.EventGridDataConnectionArgs{
			Name:                      pulumi.String("my-kusto-eventgrid-data-connection"),
			ResourceGroupName:         example.Name,
			Location:                  example.Location,
			ClusterName:               exampleCluster.Name,
			DatabaseName:              exampleDatabase.Name,
			StorageAccountId:          exampleAccount.ID(),
			EventhubId:                exampleEventHub.ID(),
			EventhubConsumerGroupName: exampleConsumerGroup.Name,
			TableName:                 pulumi.String("my-table"),
			MappingRuleName:           pulumi.String("my-table-mapping"),
			DataFormat:                pulumi.String("JSON"),
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleEventSubscription,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Kusto Event Grid Data Connections can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:kusto/eventGridDataConnection:EventGridDataConnection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Kusto/clusters/cluster1/databases/database1/dataConnections/dataConnection1 ```

func GetEventGridDataConnection

func GetEventGridDataConnection(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EventGridDataConnectionState, opts ...pulumi.ResourceOption) (*EventGridDataConnection, error)

GetEventGridDataConnection gets an existing EventGridDataConnection resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewEventGridDataConnection

func NewEventGridDataConnection(ctx *pulumi.Context,
	name string, args *EventGridDataConnectionArgs, opts ...pulumi.ResourceOption) (*EventGridDataConnection, error)

NewEventGridDataConnection registers a new resource with the given unique name, arguments, and options.

func (*EventGridDataConnection) ElementType

func (*EventGridDataConnection) ElementType() reflect.Type

func (*EventGridDataConnection) ToEventGridDataConnectionOutput

func (i *EventGridDataConnection) ToEventGridDataConnectionOutput() EventGridDataConnectionOutput

func (*EventGridDataConnection) ToEventGridDataConnectionOutputWithContext

func (i *EventGridDataConnection) ToEventGridDataConnectionOutputWithContext(ctx context.Context) EventGridDataConnectionOutput

type EventGridDataConnectionArgs

type EventGridDataConnectionArgs struct {
	// Specifies the blob storage event type that needs to be processed. Possible Values are `Microsoft.Storage.BlobCreated` and `Microsoft.Storage.BlobRenamed`. Defaults to `Microsoft.Storage.BlobCreated`.
	BlobStorageEventType pulumi.StringPtrInput
	// Specifies the name of the Kusto Cluster this data connection will be added to. Changing this forces a new resource to be created.
	ClusterName pulumi.StringInput
	// Specifies the data format of the EventHub messages. Allowed values: `APACHEAVRO`, `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `ORC`, `PARQUET`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSV`, `TSVE`, `TXT` and `W3CLOGFILE`.
	DataFormat pulumi.StringPtrInput
	// Specifies the name of the Kusto Database this data connection will be added to. Changing this forces a new resource to be created.
	DatabaseName pulumi.StringInput
	// Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: `Single`, `Multi`. Changing this forces a new resource to be created. Defaults to `Single`.
	DatabaseRoutingType pulumi.StringPtrInput
	// The resource ID of the event grid that is subscribed to the storage account events.
	EventgridResourceId pulumi.StringPtrInput
	// Specifies the Event Hub consumer group this data connection will use for ingestion. Changing this forces a new resource to be created.
	EventhubConsumerGroupName pulumi.StringInput
	// Specifies the resource id of the Event Hub this data connection will use for ingestion. Changing this forces a new resource to be created.
	EventhubId pulumi.StringInput
	// The location where the Kusto Database should be created. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// Empty for non-managed identity based data connection. For system assigned identity, provide cluster resource Id. For user assigned identity (UAI) provide the UAI resource Id.
	ManagedIdentityResourceId pulumi.StringPtrInput
	// Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created.
	MappingRuleName pulumi.StringPtrInput
	// The name of the Kusto Event Grid Data Connection to create. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// is the first record of every file ignored? Defaults to `false`.
	SkipFirstRecord pulumi.BoolPtrInput
	// Specifies the resource id of the Storage Account this data connection will use for ingestion. Changing this forces a new resource to be created.
	StorageAccountId pulumi.StringInput
	// Specifies the target table name used for the message ingestion. Table must exist before resource is created.
	TableName pulumi.StringPtrInput
}

The set of arguments for constructing a EventGridDataConnection resource.

func (EventGridDataConnectionArgs) ElementType

type EventGridDataConnectionArray

type EventGridDataConnectionArray []EventGridDataConnectionInput

func (EventGridDataConnectionArray) ElementType

func (EventGridDataConnectionArray) ToEventGridDataConnectionArrayOutput

func (i EventGridDataConnectionArray) ToEventGridDataConnectionArrayOutput() EventGridDataConnectionArrayOutput

func (EventGridDataConnectionArray) ToEventGridDataConnectionArrayOutputWithContext

func (i EventGridDataConnectionArray) ToEventGridDataConnectionArrayOutputWithContext(ctx context.Context) EventGridDataConnectionArrayOutput

type EventGridDataConnectionArrayInput

type EventGridDataConnectionArrayInput interface {
	pulumi.Input

	ToEventGridDataConnectionArrayOutput() EventGridDataConnectionArrayOutput
	ToEventGridDataConnectionArrayOutputWithContext(context.Context) EventGridDataConnectionArrayOutput
}

EventGridDataConnectionArrayInput is an input type that accepts EventGridDataConnectionArray and EventGridDataConnectionArrayOutput values. You can construct a concrete instance of `EventGridDataConnectionArrayInput` via:

EventGridDataConnectionArray{ EventGridDataConnectionArgs{...} }

type EventGridDataConnectionArrayOutput

type EventGridDataConnectionArrayOutput struct{ *pulumi.OutputState }

func (EventGridDataConnectionArrayOutput) ElementType

func (EventGridDataConnectionArrayOutput) Index

func (EventGridDataConnectionArrayOutput) ToEventGridDataConnectionArrayOutput

func (o EventGridDataConnectionArrayOutput) ToEventGridDataConnectionArrayOutput() EventGridDataConnectionArrayOutput

func (EventGridDataConnectionArrayOutput) ToEventGridDataConnectionArrayOutputWithContext

func (o EventGridDataConnectionArrayOutput) ToEventGridDataConnectionArrayOutputWithContext(ctx context.Context) EventGridDataConnectionArrayOutput

type EventGridDataConnectionInput

type EventGridDataConnectionInput interface {
	pulumi.Input

	ToEventGridDataConnectionOutput() EventGridDataConnectionOutput
	ToEventGridDataConnectionOutputWithContext(ctx context.Context) EventGridDataConnectionOutput
}

type EventGridDataConnectionMap

type EventGridDataConnectionMap map[string]EventGridDataConnectionInput

func (EventGridDataConnectionMap) ElementType

func (EventGridDataConnectionMap) ElementType() reflect.Type

func (EventGridDataConnectionMap) ToEventGridDataConnectionMapOutput

func (i EventGridDataConnectionMap) ToEventGridDataConnectionMapOutput() EventGridDataConnectionMapOutput

func (EventGridDataConnectionMap) ToEventGridDataConnectionMapOutputWithContext

func (i EventGridDataConnectionMap) ToEventGridDataConnectionMapOutputWithContext(ctx context.Context) EventGridDataConnectionMapOutput

type EventGridDataConnectionMapInput

type EventGridDataConnectionMapInput interface {
	pulumi.Input

	ToEventGridDataConnectionMapOutput() EventGridDataConnectionMapOutput
	ToEventGridDataConnectionMapOutputWithContext(context.Context) EventGridDataConnectionMapOutput
}

EventGridDataConnectionMapInput is an input type that accepts EventGridDataConnectionMap and EventGridDataConnectionMapOutput values. You can construct a concrete instance of `EventGridDataConnectionMapInput` via:

EventGridDataConnectionMap{ "key": EventGridDataConnectionArgs{...} }

type EventGridDataConnectionMapOutput

type EventGridDataConnectionMapOutput struct{ *pulumi.OutputState }

func (EventGridDataConnectionMapOutput) ElementType

func (EventGridDataConnectionMapOutput) MapIndex

func (EventGridDataConnectionMapOutput) ToEventGridDataConnectionMapOutput

func (o EventGridDataConnectionMapOutput) ToEventGridDataConnectionMapOutput() EventGridDataConnectionMapOutput

func (EventGridDataConnectionMapOutput) ToEventGridDataConnectionMapOutputWithContext

func (o EventGridDataConnectionMapOutput) ToEventGridDataConnectionMapOutputWithContext(ctx context.Context) EventGridDataConnectionMapOutput

type EventGridDataConnectionOutput

type EventGridDataConnectionOutput struct{ *pulumi.OutputState }

func (EventGridDataConnectionOutput) BlobStorageEventType

func (o EventGridDataConnectionOutput) BlobStorageEventType() pulumi.StringPtrOutput

Specifies the blob storage event type that needs to be processed. Possible Values are `Microsoft.Storage.BlobCreated` and `Microsoft.Storage.BlobRenamed`. Defaults to `Microsoft.Storage.BlobCreated`.

func (EventGridDataConnectionOutput) ClusterName

Specifies the name of the Kusto Cluster this data connection will be added to. Changing this forces a new resource to be created.

func (EventGridDataConnectionOutput) DataFormat

Specifies the data format of the EventHub messages. Allowed values: `APACHEAVRO`, `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `ORC`, `PARQUET`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSV`, `TSVE`, `TXT` and `W3CLOGFILE`.

func (EventGridDataConnectionOutput) DatabaseName

Specifies the name of the Kusto Database this data connection will be added to. Changing this forces a new resource to be created.

func (EventGridDataConnectionOutput) DatabaseRoutingType

func (o EventGridDataConnectionOutput) DatabaseRoutingType() pulumi.StringPtrOutput

Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: `Single`, `Multi`. Changing this forces a new resource to be created. Defaults to `Single`.

func (EventGridDataConnectionOutput) ElementType

func (EventGridDataConnectionOutput) EventgridResourceId

func (o EventGridDataConnectionOutput) EventgridResourceId() pulumi.StringPtrOutput

The resource ID of the event grid that is subscribed to the storage account events.

func (EventGridDataConnectionOutput) EventhubConsumerGroupName

func (o EventGridDataConnectionOutput) EventhubConsumerGroupName() pulumi.StringOutput

Specifies the Event Hub consumer group this data connection will use for ingestion. Changing this forces a new resource to be created.

func (EventGridDataConnectionOutput) EventhubId

Specifies the resource id of the Event Hub this data connection will use for ingestion. Changing this forces a new resource to be created.

func (EventGridDataConnectionOutput) Location

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

func (EventGridDataConnectionOutput) ManagedIdentityResourceId

func (o EventGridDataConnectionOutput) ManagedIdentityResourceId() pulumi.StringPtrOutput

Empty for non-managed identity based data connection. For system assigned identity, provide cluster resource Id. For user assigned identity (UAI) provide the UAI resource Id.

func (EventGridDataConnectionOutput) MappingRuleName

Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created.

func (EventGridDataConnectionOutput) Name

The name of the Kusto Event Grid Data Connection to create. Changing this forces a new resource to be created.

func (EventGridDataConnectionOutput) ResourceGroupName

func (o EventGridDataConnectionOutput) ResourceGroupName() pulumi.StringOutput

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

func (EventGridDataConnectionOutput) SkipFirstRecord

is the first record of every file ignored? Defaults to `false`.

func (EventGridDataConnectionOutput) StorageAccountId

func (o EventGridDataConnectionOutput) StorageAccountId() pulumi.StringOutput

Specifies the resource id of the Storage Account this data connection will use for ingestion. Changing this forces a new resource to be created.

func (EventGridDataConnectionOutput) TableName

Specifies the target table name used for the message ingestion. Table must exist before resource is created.

func (EventGridDataConnectionOutput) ToEventGridDataConnectionOutput

func (o EventGridDataConnectionOutput) ToEventGridDataConnectionOutput() EventGridDataConnectionOutput

func (EventGridDataConnectionOutput) ToEventGridDataConnectionOutputWithContext

func (o EventGridDataConnectionOutput) ToEventGridDataConnectionOutputWithContext(ctx context.Context) EventGridDataConnectionOutput

type EventGridDataConnectionState

type EventGridDataConnectionState struct {
	// Specifies the blob storage event type that needs to be processed. Possible Values are `Microsoft.Storage.BlobCreated` and `Microsoft.Storage.BlobRenamed`. Defaults to `Microsoft.Storage.BlobCreated`.
	BlobStorageEventType pulumi.StringPtrInput
	// Specifies the name of the Kusto Cluster this data connection will be added to. Changing this forces a new resource to be created.
	ClusterName pulumi.StringPtrInput
	// Specifies the data format of the EventHub messages. Allowed values: `APACHEAVRO`, `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `ORC`, `PARQUET`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSV`, `TSVE`, `TXT` and `W3CLOGFILE`.
	DataFormat pulumi.StringPtrInput
	// Specifies the name of the Kusto Database this data connection will be added to. Changing this forces a new resource to be created.
	DatabaseName pulumi.StringPtrInput
	// Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: `Single`, `Multi`. Changing this forces a new resource to be created. Defaults to `Single`.
	DatabaseRoutingType pulumi.StringPtrInput
	// The resource ID of the event grid that is subscribed to the storage account events.
	EventgridResourceId pulumi.StringPtrInput
	// Specifies the Event Hub consumer group this data connection will use for ingestion. Changing this forces a new resource to be created.
	EventhubConsumerGroupName pulumi.StringPtrInput
	// Specifies the resource id of the Event Hub this data connection will use for ingestion. Changing this forces a new resource to be created.
	EventhubId pulumi.StringPtrInput
	// The location where the Kusto Database should be created. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// Empty for non-managed identity based data connection. For system assigned identity, provide cluster resource Id. For user assigned identity (UAI) provide the UAI resource Id.
	ManagedIdentityResourceId pulumi.StringPtrInput
	// Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created.
	MappingRuleName pulumi.StringPtrInput
	// The name of the Kusto Event Grid Data Connection to create. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// is the first record of every file ignored? Defaults to `false`.
	SkipFirstRecord pulumi.BoolPtrInput
	// Specifies the resource id of the Storage Account this data connection will use for ingestion. Changing this forces a new resource to be created.
	StorageAccountId pulumi.StringPtrInput
	// Specifies the target table name used for the message ingestion. Table must exist before resource is created.
	TableName pulumi.StringPtrInput
}

func (EventGridDataConnectionState) ElementType

type EventhubDataConnection

type EventhubDataConnection struct {
	pulumi.CustomResourceState

	// Specifies the name of the Kusto Cluster this data connection will be added to. Changing this forces a new resource to be created.
	ClusterName pulumi.StringOutput `pulumi:"clusterName"`
	// Specifies compression type for the connection. Allowed values: `GZip` and `None`. Defaults to `None`. Changing this forces a new resource to be created.
	Compression pulumi.StringPtrOutput `pulumi:"compression"`
	// Specifies the EventHub consumer group this data connection will use for ingestion. Changing this forces a new resource to be created.
	ConsumerGroup pulumi.StringOutput `pulumi:"consumerGroup"`
	// Specifies the data format of the EventHub messages. Allowed values: `APACHEAVRO`, `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `ORC`, `PARQUET`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSVE`, `TSV`, `TXT`, and `W3CLOGFILE`.
	DataFormat pulumi.StringPtrOutput `pulumi:"dataFormat"`
	// Specifies the name of the Kusto Database this data connection will be added to. Changing this forces a new resource to be created.
	DatabaseName pulumi.StringOutput `pulumi:"databaseName"`
	// Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: `Single`, `Multi`. Changing this forces a new resource to be created. Defaults to `Single`.
	DatabaseRoutingType pulumi.StringPtrOutput `pulumi:"databaseRoutingType"`
	// Specifies a list of system properties for the Event Hub.
	EventSystemProperties pulumi.StringArrayOutput `pulumi:"eventSystemProperties"`
	// Specifies the resource id of the EventHub this data connection will use for ingestion. Changing this forces a new resource to be created.
	EventhubId pulumi.StringOutput `pulumi:"eventhubId"`
	// The resource ID of a managed identity (system or user assigned) to be used to authenticate with event hub.
	IdentityId pulumi.StringPtrOutput `pulumi:"identityId"`
	// The location where the Kusto Database should be created. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created.
	MappingRuleName pulumi.StringPtrOutput `pulumi:"mappingRuleName"`
	// The name of the Kusto EventHub Data Connection to create. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// Specifies the target table name used for the message ingestion. Table must exist before resource is created.
	TableName pulumi.StringPtrOutput `pulumi:"tableName"`
}

Manages a Kusto (also known as Azure Data Explorer) EventHub Data Connection

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub"
"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-rg"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		cluster, err := kusto.NewCluster(ctx, "cluster", &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),
			},
		})
		if err != nil {
			return err
		}
		database, err := kusto.NewDatabase(ctx, "database", &kusto.DatabaseArgs{
			Name:              pulumi.String("my-kusto-database"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			ClusterName:       cluster.Name,
			HotCachePeriod:    pulumi.String("P7D"),
			SoftDeletePeriod:  pulumi.String("P31D"),
		})
		if err != nil {
			return err
		}
		eventhubNs, err := eventhub.NewEventHubNamespace(ctx, "eventhub_ns", &eventhub.EventHubNamespaceArgs{
			Name:              pulumi.String("my-eventhub-ns"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		eventhub, err := eventhub.NewEventHub(ctx, "eventhub", &eventhub.EventHubArgs{
			Name:              pulumi.String("my-eventhub"),
			NamespaceName:     eventhubNs.Name,
			ResourceGroupName: example.Name,
			PartitionCount:    pulumi.Int(1),
			MessageRetention:  pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		consumerGroup, err := eventhub.NewConsumerGroup(ctx, "consumer_group", &eventhub.ConsumerGroupArgs{
			Name:              pulumi.String("my-eventhub-consumergroup"),
			NamespaceName:     eventhubNs.Name,
			EventhubName:      eventhub.Name,
			ResourceGroupName: example.Name,
		})
		if err != nil {
			return err
		}
		_, err = kusto.NewEventhubDataConnection(ctx, "eventhub_connection", &kusto.EventhubDataConnectionArgs{
			Name:              pulumi.String("my-kusto-eventhub-data-connection"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			ClusterName:       cluster.Name,
			DatabaseName:      database.Name,
			EventhubId:        eventhub.ID(),
			ConsumerGroup:     consumerGroup.Name,
			TableName:         pulumi.String("my-table"),
			MappingRuleName:   pulumi.String("my-table-mapping"),
			DataFormat:        pulumi.String("JSON"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Kusto EventHub Data Connections can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:kusto/eventhubDataConnection:EventhubDataConnection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Kusto/clusters/cluster1/databases/database1/dataConnections/eventHubConnection1 ```

func GetEventhubDataConnection

func GetEventhubDataConnection(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EventhubDataConnectionState, opts ...pulumi.ResourceOption) (*EventhubDataConnection, error)

GetEventhubDataConnection gets an existing EventhubDataConnection resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewEventhubDataConnection

func NewEventhubDataConnection(ctx *pulumi.Context,
	name string, args *EventhubDataConnectionArgs, opts ...pulumi.ResourceOption) (*EventhubDataConnection, error)

NewEventhubDataConnection registers a new resource with the given unique name, arguments, and options.

func (*EventhubDataConnection) ElementType

func (*EventhubDataConnection) ElementType() reflect.Type

func (*EventhubDataConnection) ToEventhubDataConnectionOutput

func (i *EventhubDataConnection) ToEventhubDataConnectionOutput() EventhubDataConnectionOutput

func (*EventhubDataConnection) ToEventhubDataConnectionOutputWithContext

func (i *EventhubDataConnection) ToEventhubDataConnectionOutputWithContext(ctx context.Context) EventhubDataConnectionOutput

type EventhubDataConnectionArgs

type EventhubDataConnectionArgs struct {
	// Specifies the name of the Kusto Cluster this data connection will be added to. Changing this forces a new resource to be created.
	ClusterName pulumi.StringInput
	// Specifies compression type for the connection. Allowed values: `GZip` and `None`. Defaults to `None`. Changing this forces a new resource to be created.
	Compression pulumi.StringPtrInput
	// Specifies the EventHub consumer group this data connection will use for ingestion. Changing this forces a new resource to be created.
	ConsumerGroup pulumi.StringInput
	// Specifies the data format of the EventHub messages. Allowed values: `APACHEAVRO`, `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `ORC`, `PARQUET`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSVE`, `TSV`, `TXT`, and `W3CLOGFILE`.
	DataFormat pulumi.StringPtrInput
	// Specifies the name of the Kusto Database this data connection will be added to. Changing this forces a new resource to be created.
	DatabaseName pulumi.StringInput
	// Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: `Single`, `Multi`. Changing this forces a new resource to be created. Defaults to `Single`.
	DatabaseRoutingType pulumi.StringPtrInput
	// Specifies a list of system properties for the Event Hub.
	EventSystemProperties pulumi.StringArrayInput
	// Specifies the resource id of the EventHub this data connection will use for ingestion. Changing this forces a new resource to be created.
	EventhubId pulumi.StringInput
	// The resource ID of a managed identity (system or user assigned) to be used to authenticate with event hub.
	IdentityId pulumi.StringPtrInput
	// The location where the Kusto Database should be created. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created.
	MappingRuleName pulumi.StringPtrInput
	// The name of the Kusto EventHub Data Connection to create. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// Specifies the target table name used for the message ingestion. Table must exist before resource is created.
	TableName pulumi.StringPtrInput
}

The set of arguments for constructing a EventhubDataConnection resource.

func (EventhubDataConnectionArgs) ElementType

func (EventhubDataConnectionArgs) ElementType() reflect.Type

type EventhubDataConnectionArray

type EventhubDataConnectionArray []EventhubDataConnectionInput

func (EventhubDataConnectionArray) ElementType

func (EventhubDataConnectionArray) ToEventhubDataConnectionArrayOutput

func (i EventhubDataConnectionArray) ToEventhubDataConnectionArrayOutput() EventhubDataConnectionArrayOutput

func (EventhubDataConnectionArray) ToEventhubDataConnectionArrayOutputWithContext

func (i EventhubDataConnectionArray) ToEventhubDataConnectionArrayOutputWithContext(ctx context.Context) EventhubDataConnectionArrayOutput

type EventhubDataConnectionArrayInput

type EventhubDataConnectionArrayInput interface {
	pulumi.Input

	ToEventhubDataConnectionArrayOutput() EventhubDataConnectionArrayOutput
	ToEventhubDataConnectionArrayOutputWithContext(context.Context) EventhubDataConnectionArrayOutput
}

EventhubDataConnectionArrayInput is an input type that accepts EventhubDataConnectionArray and EventhubDataConnectionArrayOutput values. You can construct a concrete instance of `EventhubDataConnectionArrayInput` via:

EventhubDataConnectionArray{ EventhubDataConnectionArgs{...} }

type EventhubDataConnectionArrayOutput

type EventhubDataConnectionArrayOutput struct{ *pulumi.OutputState }

func (EventhubDataConnectionArrayOutput) ElementType

func (EventhubDataConnectionArrayOutput) Index

func (EventhubDataConnectionArrayOutput) ToEventhubDataConnectionArrayOutput

func (o EventhubDataConnectionArrayOutput) ToEventhubDataConnectionArrayOutput() EventhubDataConnectionArrayOutput

func (EventhubDataConnectionArrayOutput) ToEventhubDataConnectionArrayOutputWithContext

func (o EventhubDataConnectionArrayOutput) ToEventhubDataConnectionArrayOutputWithContext(ctx context.Context) EventhubDataConnectionArrayOutput

type EventhubDataConnectionInput

type EventhubDataConnectionInput interface {
	pulumi.Input

	ToEventhubDataConnectionOutput() EventhubDataConnectionOutput
	ToEventhubDataConnectionOutputWithContext(ctx context.Context) EventhubDataConnectionOutput
}

type EventhubDataConnectionMap

type EventhubDataConnectionMap map[string]EventhubDataConnectionInput

func (EventhubDataConnectionMap) ElementType

func (EventhubDataConnectionMap) ElementType() reflect.Type

func (EventhubDataConnectionMap) ToEventhubDataConnectionMapOutput

func (i EventhubDataConnectionMap) ToEventhubDataConnectionMapOutput() EventhubDataConnectionMapOutput

func (EventhubDataConnectionMap) ToEventhubDataConnectionMapOutputWithContext

func (i EventhubDataConnectionMap) ToEventhubDataConnectionMapOutputWithContext(ctx context.Context) EventhubDataConnectionMapOutput

type EventhubDataConnectionMapInput

type EventhubDataConnectionMapInput interface {
	pulumi.Input

	ToEventhubDataConnectionMapOutput() EventhubDataConnectionMapOutput
	ToEventhubDataConnectionMapOutputWithContext(context.Context) EventhubDataConnectionMapOutput
}

EventhubDataConnectionMapInput is an input type that accepts EventhubDataConnectionMap and EventhubDataConnectionMapOutput values. You can construct a concrete instance of `EventhubDataConnectionMapInput` via:

EventhubDataConnectionMap{ "key": EventhubDataConnectionArgs{...} }

type EventhubDataConnectionMapOutput

type EventhubDataConnectionMapOutput struct{ *pulumi.OutputState }

func (EventhubDataConnectionMapOutput) ElementType

func (EventhubDataConnectionMapOutput) MapIndex

func (EventhubDataConnectionMapOutput) ToEventhubDataConnectionMapOutput

func (o EventhubDataConnectionMapOutput) ToEventhubDataConnectionMapOutput() EventhubDataConnectionMapOutput

func (EventhubDataConnectionMapOutput) ToEventhubDataConnectionMapOutputWithContext

func (o EventhubDataConnectionMapOutput) ToEventhubDataConnectionMapOutputWithContext(ctx context.Context) EventhubDataConnectionMapOutput

type EventhubDataConnectionOutput

type EventhubDataConnectionOutput struct{ *pulumi.OutputState }

func (EventhubDataConnectionOutput) ClusterName

Specifies the name of the Kusto Cluster this data connection will be added to. Changing this forces a new resource to be created.

func (EventhubDataConnectionOutput) Compression

Specifies compression type for the connection. Allowed values: `GZip` and `None`. Defaults to `None`. Changing this forces a new resource to be created.

func (EventhubDataConnectionOutput) ConsumerGroup

Specifies the EventHub consumer group this data connection will use for ingestion. Changing this forces a new resource to be created.

func (EventhubDataConnectionOutput) DataFormat

Specifies the data format of the EventHub messages. Allowed values: `APACHEAVRO`, `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `ORC`, `PARQUET`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSVE`, `TSV`, `TXT`, and `W3CLOGFILE`.

func (EventhubDataConnectionOutput) DatabaseName

Specifies the name of the Kusto Database this data connection will be added to. Changing this forces a new resource to be created.

func (EventhubDataConnectionOutput) DatabaseRoutingType

func (o EventhubDataConnectionOutput) DatabaseRoutingType() pulumi.StringPtrOutput

Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: `Single`, `Multi`. Changing this forces a new resource to be created. Defaults to `Single`.

func (EventhubDataConnectionOutput) ElementType

func (EventhubDataConnectionOutput) EventSystemProperties

func (o EventhubDataConnectionOutput) EventSystemProperties() pulumi.StringArrayOutput

Specifies a list of system properties for the Event Hub.

func (EventhubDataConnectionOutput) EventhubId

Specifies the resource id of the EventHub this data connection will use for ingestion. Changing this forces a new resource to be created.

func (EventhubDataConnectionOutput) IdentityId

The resource ID of a managed identity (system or user assigned) to be used to authenticate with event hub.

func (EventhubDataConnectionOutput) Location

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

func (EventhubDataConnectionOutput) MappingRuleName

Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created.

func (EventhubDataConnectionOutput) Name

The name of the Kusto EventHub Data Connection to create. Changing this forces a new resource to be created.

func (EventhubDataConnectionOutput) ResourceGroupName

func (o EventhubDataConnectionOutput) ResourceGroupName() pulumi.StringOutput

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

func (EventhubDataConnectionOutput) TableName

Specifies the target table name used for the message ingestion. Table must exist before resource is created.

func (EventhubDataConnectionOutput) ToEventhubDataConnectionOutput

func (o EventhubDataConnectionOutput) ToEventhubDataConnectionOutput() EventhubDataConnectionOutput

func (EventhubDataConnectionOutput) ToEventhubDataConnectionOutputWithContext

func (o EventhubDataConnectionOutput) ToEventhubDataConnectionOutputWithContext(ctx context.Context) EventhubDataConnectionOutput

type EventhubDataConnectionState

type EventhubDataConnectionState struct {
	// Specifies the name of the Kusto Cluster this data connection will be added to. Changing this forces a new resource to be created.
	ClusterName pulumi.StringPtrInput
	// Specifies compression type for the connection. Allowed values: `GZip` and `None`. Defaults to `None`. Changing this forces a new resource to be created.
	Compression pulumi.StringPtrInput
	// Specifies the EventHub consumer group this data connection will use for ingestion. Changing this forces a new resource to be created.
	ConsumerGroup pulumi.StringPtrInput
	// Specifies the data format of the EventHub messages. Allowed values: `APACHEAVRO`, `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `ORC`, `PARQUET`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSVE`, `TSV`, `TXT`, and `W3CLOGFILE`.
	DataFormat pulumi.StringPtrInput
	// Specifies the name of the Kusto Database this data connection will be added to. Changing this forces a new resource to be created.
	DatabaseName pulumi.StringPtrInput
	// Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: `Single`, `Multi`. Changing this forces a new resource to be created. Defaults to `Single`.
	DatabaseRoutingType pulumi.StringPtrInput
	// Specifies a list of system properties for the Event Hub.
	EventSystemProperties pulumi.StringArrayInput
	// Specifies the resource id of the EventHub this data connection will use for ingestion. Changing this forces a new resource to be created.
	EventhubId pulumi.StringPtrInput
	// The resource ID of a managed identity (system or user assigned) to be used to authenticate with event hub.
	IdentityId pulumi.StringPtrInput
	// The location where the Kusto Database should be created. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created.
	MappingRuleName pulumi.StringPtrInput
	// The name of the Kusto EventHub Data Connection to create. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// Specifies the target table name used for the message ingestion. Table must exist before resource is created.
	TableName pulumi.StringPtrInput
}

func (EventhubDataConnectionState) ElementType

type GetClusterIdentity

type GetClusterIdentity struct {
	// A list of User Assigned Managed Identity IDs to be assigned to this Kusto Cluster.
	IdentityIds []string `pulumi:"identityIds"`
	// The Principal ID associated with this System Assigned Managed Service Identity.
	PrincipalId string `pulumi:"principalId"`
	// The Tenant ID associated with this System Assigned Managed Service Identity.
	TenantId string `pulumi:"tenantId"`
	// The type of Managed Service Identity that is configured on this Kusto Cluster.
	Type string `pulumi:"type"`
}

type GetClusterIdentityArgs

type GetClusterIdentityArgs struct {
	// A list of User Assigned Managed Identity IDs to be assigned to this Kusto Cluster.
	IdentityIds pulumi.StringArrayInput `pulumi:"identityIds"`
	// The Principal ID associated with this System Assigned Managed Service Identity.
	PrincipalId pulumi.StringInput `pulumi:"principalId"`
	// The Tenant ID associated with this System Assigned Managed Service Identity.
	TenantId pulumi.StringInput `pulumi:"tenantId"`
	// The type of Managed Service Identity that is configured on this Kusto Cluster.
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetClusterIdentityArgs) ElementType

func (GetClusterIdentityArgs) ElementType() reflect.Type

func (GetClusterIdentityArgs) ToGetClusterIdentityOutput

func (i GetClusterIdentityArgs) ToGetClusterIdentityOutput() GetClusterIdentityOutput

func (GetClusterIdentityArgs) ToGetClusterIdentityOutputWithContext

func (i GetClusterIdentityArgs) ToGetClusterIdentityOutputWithContext(ctx context.Context) GetClusterIdentityOutput

type GetClusterIdentityArray

type GetClusterIdentityArray []GetClusterIdentityInput

func (GetClusterIdentityArray) ElementType

func (GetClusterIdentityArray) ElementType() reflect.Type

func (GetClusterIdentityArray) ToGetClusterIdentityArrayOutput

func (i GetClusterIdentityArray) ToGetClusterIdentityArrayOutput() GetClusterIdentityArrayOutput

func (GetClusterIdentityArray) ToGetClusterIdentityArrayOutputWithContext

func (i GetClusterIdentityArray) ToGetClusterIdentityArrayOutputWithContext(ctx context.Context) GetClusterIdentityArrayOutput

type GetClusterIdentityArrayInput

type GetClusterIdentityArrayInput interface {
	pulumi.Input

	ToGetClusterIdentityArrayOutput() GetClusterIdentityArrayOutput
	ToGetClusterIdentityArrayOutputWithContext(context.Context) GetClusterIdentityArrayOutput
}

GetClusterIdentityArrayInput is an input type that accepts GetClusterIdentityArray and GetClusterIdentityArrayOutput values. You can construct a concrete instance of `GetClusterIdentityArrayInput` via:

GetClusterIdentityArray{ GetClusterIdentityArgs{...} }

type GetClusterIdentityArrayOutput

type GetClusterIdentityArrayOutput struct{ *pulumi.OutputState }

func (GetClusterIdentityArrayOutput) ElementType

func (GetClusterIdentityArrayOutput) Index

func (GetClusterIdentityArrayOutput) ToGetClusterIdentityArrayOutput

func (o GetClusterIdentityArrayOutput) ToGetClusterIdentityArrayOutput() GetClusterIdentityArrayOutput

func (GetClusterIdentityArrayOutput) ToGetClusterIdentityArrayOutputWithContext

func (o GetClusterIdentityArrayOutput) ToGetClusterIdentityArrayOutputWithContext(ctx context.Context) GetClusterIdentityArrayOutput

type GetClusterIdentityInput

type GetClusterIdentityInput interface {
	pulumi.Input

	ToGetClusterIdentityOutput() GetClusterIdentityOutput
	ToGetClusterIdentityOutputWithContext(context.Context) GetClusterIdentityOutput
}

GetClusterIdentityInput is an input type that accepts GetClusterIdentityArgs and GetClusterIdentityOutput values. You can construct a concrete instance of `GetClusterIdentityInput` via:

GetClusterIdentityArgs{...}

type GetClusterIdentityOutput

type GetClusterIdentityOutput struct{ *pulumi.OutputState }

func (GetClusterIdentityOutput) ElementType

func (GetClusterIdentityOutput) ElementType() reflect.Type

func (GetClusterIdentityOutput) IdentityIds

A list of User Assigned Managed Identity IDs to be assigned to this Kusto Cluster.

func (GetClusterIdentityOutput) PrincipalId

The Principal ID associated with this System Assigned Managed Service Identity.

func (GetClusterIdentityOutput) TenantId

The Tenant ID associated with this System Assigned Managed Service Identity.

func (GetClusterIdentityOutput) ToGetClusterIdentityOutput

func (o GetClusterIdentityOutput) ToGetClusterIdentityOutput() GetClusterIdentityOutput

func (GetClusterIdentityOutput) ToGetClusterIdentityOutputWithContext

func (o GetClusterIdentityOutput) ToGetClusterIdentityOutputWithContext(ctx context.Context) GetClusterIdentityOutput

func (GetClusterIdentityOutput) Type

The type of Managed Service Identity that is configured on this Kusto Cluster.

type IotHubDataConnection

type IotHubDataConnection struct {
	pulumi.CustomResourceState

	// Specifies the name of the Kusto Cluster this data connection will be added to. Changing this forces a new resource to be created.
	ClusterName pulumi.StringOutput `pulumi:"clusterName"`
	// Specifies the IotHub consumer group this data connection will use for ingestion. Changing this forces a new resource to be created.
	ConsumerGroup pulumi.StringOutput `pulumi:"consumerGroup"`
	// Specifies the data format of the IoTHub messages. Allowed values: `APACHEAVRO`, `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `ORC`, `PARQUET`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSV`, `TSVE`, `TXT` and `W3CLOGFILE`. Changing this forces a new resource to be created.
	DataFormat pulumi.StringPtrOutput `pulumi:"dataFormat"`
	// Specifies the name of the Kusto Database this data connection will be added to. Changing this forces a new resource to be created.
	DatabaseName pulumi.StringOutput `pulumi:"databaseName"`
	// Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: `Single`, `Multi`. Changing this forces a new resource to be created. Defaults to `Single`.
	DatabaseRoutingType pulumi.StringPtrOutput `pulumi:"databaseRoutingType"`
	// Specifies the System Properties that each IoT Hub message should contain. Changing this forces a new resource to be created. Possible values are `message-id`, `sequence-number`, `to`, `absolute-expiry-time`, `iothub-enqueuedtime`, `correlation-id`, `user-id`, `iothub-ack`, `iothub-connection-device-id`, `iothub-connection-auth-generation-id` and `iothub-connection-auth-method`.
	EventSystemProperties pulumi.StringArrayOutput `pulumi:"eventSystemProperties"`
	// Specifies the resource id of the IotHub this data connection will use for ingestion. Changing this forces a new resource to be created.
	IothubId pulumi.StringOutput `pulumi:"iothubId"`
	// The location where the Kusto Database should be created. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created. Changing this forces a new resource to be created.
	MappingRuleName pulumi.StringPtrOutput `pulumi:"mappingRuleName"`
	// The name of the Kusto IotHub Data Connection to create. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// Specifies the IotHub Shared Access Policy this data connection will use for ingestion, which must have read permission. Changing this forces a new resource to be created.
	SharedAccessPolicyName pulumi.StringOutput `pulumi:"sharedAccessPolicyName"`
	// Specifies the target table name used for the message ingestion. Table must exist before resource is created. Changing this forces a new resource to be created.
	TableName pulumi.StringPtrOutput `pulumi:"tableName"`
}

Manages a Kusto (also known as Azure Data Explorer) IotHub Data Connection

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot"
"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("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleCluster, err := kusto.NewCluster(ctx, "example", &kusto.ClusterArgs{
			Name:              pulumi.String("examplekustocluster"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku: &kusto.ClusterSkuArgs{
				Name:     pulumi.String("Standard_D13_v2"),
				Capacity: pulumi.Int(2),
			},
		})
		if err != nil {
			return err
		}
		exampleDatabase, err := kusto.NewDatabase(ctx, "example", &kusto.DatabaseArgs{
			Name:              pulumi.String("example-kusto-database"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			ClusterName:       exampleCluster.Name,
			HotCachePeriod:    pulumi.String("P7D"),
			SoftDeletePeriod:  pulumi.String("P31D"),
		})
		if err != nil {
			return err
		}
		exampleIoTHub, err := iot.NewIoTHub(ctx, "example", &iot.IoTHubArgs{
			Name:              pulumi.String("exampleIoTHub"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			Sku: &iot.IoTHubSkuArgs{
				Name:     pulumi.String("B1"),
				Capacity: pulumi.Int(1),
			},
		})
		if err != nil {
			return err
		}
		exampleSharedAccessPolicy, err := iot.NewSharedAccessPolicy(ctx, "example", &iot.SharedAccessPolicyArgs{
			Name:              pulumi.String("example-shared-access-policy"),
			ResourceGroupName: example.Name,
			IothubName:        exampleIoTHub.Name,
			RegistryRead:      pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		exampleConsumerGroup, err := iot.NewConsumerGroup(ctx, "example", &iot.ConsumerGroupArgs{
			Name:                 pulumi.String("example-consumer-group"),
			ResourceGroupName:    example.Name,
			IothubName:           exampleIoTHub.Name,
			EventhubEndpointName: pulumi.String("events"),
		})
		if err != nil {
			return err
		}
		_, err = kusto.NewIotHubDataConnection(ctx, "example", &kusto.IotHubDataConnectionArgs{
			Name:                   pulumi.String("my-kusto-iothub-data-connection"),
			ResourceGroupName:      example.Name,
			Location:               example.Location,
			ClusterName:            exampleCluster.Name,
			DatabaseName:           exampleDatabase.Name,
			IothubId:               exampleIoTHub.ID(),
			ConsumerGroup:          exampleConsumerGroup.Name,
			SharedAccessPolicyName: exampleSharedAccessPolicy.Name,
			EventSystemProperties: pulumi.StringArray{
				pulumi.String("message-id"),
				pulumi.String("sequence-number"),
				pulumi.String("to"),
			},
			TableName:       pulumi.String("my-table"),
			MappingRuleName: pulumi.String("my-table-mapping"),
			DataFormat:      pulumi.String("JSON"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Kusto IotHub Data Connections can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:kusto/iotHubDataConnection:IotHubDataConnection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Kusto/clusters/cluster1/databases/database1/dataConnections/dataConnection1 ```

func GetIotHubDataConnection

func GetIotHubDataConnection(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *IotHubDataConnectionState, opts ...pulumi.ResourceOption) (*IotHubDataConnection, error)

GetIotHubDataConnection gets an existing IotHubDataConnection resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewIotHubDataConnection

func NewIotHubDataConnection(ctx *pulumi.Context,
	name string, args *IotHubDataConnectionArgs, opts ...pulumi.ResourceOption) (*IotHubDataConnection, error)

NewIotHubDataConnection registers a new resource with the given unique name, arguments, and options.

func (*IotHubDataConnection) ElementType

func (*IotHubDataConnection) ElementType() reflect.Type

func (*IotHubDataConnection) ToIotHubDataConnectionOutput

func (i *IotHubDataConnection) ToIotHubDataConnectionOutput() IotHubDataConnectionOutput

func (*IotHubDataConnection) ToIotHubDataConnectionOutputWithContext

func (i *IotHubDataConnection) ToIotHubDataConnectionOutputWithContext(ctx context.Context) IotHubDataConnectionOutput

type IotHubDataConnectionArgs

type IotHubDataConnectionArgs struct {
	// Specifies the name of the Kusto Cluster this data connection will be added to. Changing this forces a new resource to be created.
	ClusterName pulumi.StringInput
	// Specifies the IotHub consumer group this data connection will use for ingestion. Changing this forces a new resource to be created.
	ConsumerGroup pulumi.StringInput
	// Specifies the data format of the IoTHub messages. Allowed values: `APACHEAVRO`, `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `ORC`, `PARQUET`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSV`, `TSVE`, `TXT` and `W3CLOGFILE`. Changing this forces a new resource to be created.
	DataFormat pulumi.StringPtrInput
	// Specifies the name of the Kusto Database this data connection will be added to. Changing this forces a new resource to be created.
	DatabaseName pulumi.StringInput
	// Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: `Single`, `Multi`. Changing this forces a new resource to be created. Defaults to `Single`.
	DatabaseRoutingType pulumi.StringPtrInput
	// Specifies the System Properties that each IoT Hub message should contain. Changing this forces a new resource to be created. Possible values are `message-id`, `sequence-number`, `to`, `absolute-expiry-time`, `iothub-enqueuedtime`, `correlation-id`, `user-id`, `iothub-ack`, `iothub-connection-device-id`, `iothub-connection-auth-generation-id` and `iothub-connection-auth-method`.
	EventSystemProperties pulumi.StringArrayInput
	// Specifies the resource id of the IotHub this data connection will use for ingestion. Changing this forces a new resource to be created.
	IothubId pulumi.StringInput
	// The location where the Kusto Database should be created. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created. Changing this forces a new resource to be created.
	MappingRuleName pulumi.StringPtrInput
	// The name of the Kusto IotHub Data Connection to create. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// Specifies the IotHub Shared Access Policy this data connection will use for ingestion, which must have read permission. Changing this forces a new resource to be created.
	SharedAccessPolicyName pulumi.StringInput
	// Specifies the target table name used for the message ingestion. Table must exist before resource is created. Changing this forces a new resource to be created.
	TableName pulumi.StringPtrInput
}

The set of arguments for constructing a IotHubDataConnection resource.

func (IotHubDataConnectionArgs) ElementType

func (IotHubDataConnectionArgs) ElementType() reflect.Type

type IotHubDataConnectionArray

type IotHubDataConnectionArray []IotHubDataConnectionInput

func (IotHubDataConnectionArray) ElementType

func (IotHubDataConnectionArray) ElementType() reflect.Type

func (IotHubDataConnectionArray) ToIotHubDataConnectionArrayOutput

func (i IotHubDataConnectionArray) ToIotHubDataConnectionArrayOutput() IotHubDataConnectionArrayOutput

func (IotHubDataConnectionArray) ToIotHubDataConnectionArrayOutputWithContext

func (i IotHubDataConnectionArray) ToIotHubDataConnectionArrayOutputWithContext(ctx context.Context) IotHubDataConnectionArrayOutput

type IotHubDataConnectionArrayInput

type IotHubDataConnectionArrayInput interface {
	pulumi.Input

	ToIotHubDataConnectionArrayOutput() IotHubDataConnectionArrayOutput
	ToIotHubDataConnectionArrayOutputWithContext(context.Context) IotHubDataConnectionArrayOutput
}

IotHubDataConnectionArrayInput is an input type that accepts IotHubDataConnectionArray and IotHubDataConnectionArrayOutput values. You can construct a concrete instance of `IotHubDataConnectionArrayInput` via:

IotHubDataConnectionArray{ IotHubDataConnectionArgs{...} }

type IotHubDataConnectionArrayOutput

type IotHubDataConnectionArrayOutput struct{ *pulumi.OutputState }

func (IotHubDataConnectionArrayOutput) ElementType

func (IotHubDataConnectionArrayOutput) Index

func (IotHubDataConnectionArrayOutput) ToIotHubDataConnectionArrayOutput

func (o IotHubDataConnectionArrayOutput) ToIotHubDataConnectionArrayOutput() IotHubDataConnectionArrayOutput

func (IotHubDataConnectionArrayOutput) ToIotHubDataConnectionArrayOutputWithContext

func (o IotHubDataConnectionArrayOutput) ToIotHubDataConnectionArrayOutputWithContext(ctx context.Context) IotHubDataConnectionArrayOutput

type IotHubDataConnectionInput

type IotHubDataConnectionInput interface {
	pulumi.Input

	ToIotHubDataConnectionOutput() IotHubDataConnectionOutput
	ToIotHubDataConnectionOutputWithContext(ctx context.Context) IotHubDataConnectionOutput
}

type IotHubDataConnectionMap

type IotHubDataConnectionMap map[string]IotHubDataConnectionInput

func (IotHubDataConnectionMap) ElementType

func (IotHubDataConnectionMap) ElementType() reflect.Type

func (IotHubDataConnectionMap) ToIotHubDataConnectionMapOutput

func (i IotHubDataConnectionMap) ToIotHubDataConnectionMapOutput() IotHubDataConnectionMapOutput

func (IotHubDataConnectionMap) ToIotHubDataConnectionMapOutputWithContext

func (i IotHubDataConnectionMap) ToIotHubDataConnectionMapOutputWithContext(ctx context.Context) IotHubDataConnectionMapOutput

type IotHubDataConnectionMapInput

type IotHubDataConnectionMapInput interface {
	pulumi.Input

	ToIotHubDataConnectionMapOutput() IotHubDataConnectionMapOutput
	ToIotHubDataConnectionMapOutputWithContext(context.Context) IotHubDataConnectionMapOutput
}

IotHubDataConnectionMapInput is an input type that accepts IotHubDataConnectionMap and IotHubDataConnectionMapOutput values. You can construct a concrete instance of `IotHubDataConnectionMapInput` via:

IotHubDataConnectionMap{ "key": IotHubDataConnectionArgs{...} }

type IotHubDataConnectionMapOutput

type IotHubDataConnectionMapOutput struct{ *pulumi.OutputState }

func (IotHubDataConnectionMapOutput) ElementType

func (IotHubDataConnectionMapOutput) MapIndex

func (IotHubDataConnectionMapOutput) ToIotHubDataConnectionMapOutput

func (o IotHubDataConnectionMapOutput) ToIotHubDataConnectionMapOutput() IotHubDataConnectionMapOutput

func (IotHubDataConnectionMapOutput) ToIotHubDataConnectionMapOutputWithContext

func (o IotHubDataConnectionMapOutput) ToIotHubDataConnectionMapOutputWithContext(ctx context.Context) IotHubDataConnectionMapOutput

type IotHubDataConnectionOutput

type IotHubDataConnectionOutput struct{ *pulumi.OutputState }

func (IotHubDataConnectionOutput) ClusterName

Specifies the name of the Kusto Cluster this data connection will be added to. Changing this forces a new resource to be created.

func (IotHubDataConnectionOutput) ConsumerGroup

Specifies the IotHub consumer group this data connection will use for ingestion. Changing this forces a new resource to be created.

func (IotHubDataConnectionOutput) DataFormat

Specifies the data format of the IoTHub messages. Allowed values: `APACHEAVRO`, `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `ORC`, `PARQUET`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSV`, `TSVE`, `TXT` and `W3CLOGFILE`. Changing this forces a new resource to be created.

func (IotHubDataConnectionOutput) DatabaseName

Specifies the name of the Kusto Database this data connection will be added to. Changing this forces a new resource to be created.

func (IotHubDataConnectionOutput) DatabaseRoutingType

func (o IotHubDataConnectionOutput) DatabaseRoutingType() pulumi.StringPtrOutput

Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: `Single`, `Multi`. Changing this forces a new resource to be created. Defaults to `Single`.

func (IotHubDataConnectionOutput) ElementType

func (IotHubDataConnectionOutput) ElementType() reflect.Type

func (IotHubDataConnectionOutput) EventSystemProperties

func (o IotHubDataConnectionOutput) EventSystemProperties() pulumi.StringArrayOutput

Specifies the System Properties that each IoT Hub message should contain. Changing this forces a new resource to be created. Possible values are `message-id`, `sequence-number`, `to`, `absolute-expiry-time`, `iothub-enqueuedtime`, `correlation-id`, `user-id`, `iothub-ack`, `iothub-connection-device-id`, `iothub-connection-auth-generation-id` and `iothub-connection-auth-method`.

func (IotHubDataConnectionOutput) IothubId

Specifies the resource id of the IotHub this data connection will use for ingestion. Changing this forces a new resource to be created.

func (IotHubDataConnectionOutput) Location

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

func (IotHubDataConnectionOutput) MappingRuleName

Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created. Changing this forces a new resource to be created.

func (IotHubDataConnectionOutput) Name

The name of the Kusto IotHub Data Connection to create. Changing this forces a new resource to be created.

func (IotHubDataConnectionOutput) ResourceGroupName

func (o IotHubDataConnectionOutput) ResourceGroupName() pulumi.StringOutput

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

func (IotHubDataConnectionOutput) SharedAccessPolicyName

func (o IotHubDataConnectionOutput) SharedAccessPolicyName() pulumi.StringOutput

Specifies the IotHub Shared Access Policy this data connection will use for ingestion, which must have read permission. Changing this forces a new resource to be created.

func (IotHubDataConnectionOutput) TableName

Specifies the target table name used for the message ingestion. Table must exist before resource is created. Changing this forces a new resource to be created.

func (IotHubDataConnectionOutput) ToIotHubDataConnectionOutput

func (o IotHubDataConnectionOutput) ToIotHubDataConnectionOutput() IotHubDataConnectionOutput

func (IotHubDataConnectionOutput) ToIotHubDataConnectionOutputWithContext

func (o IotHubDataConnectionOutput) ToIotHubDataConnectionOutputWithContext(ctx context.Context) IotHubDataConnectionOutput

type IotHubDataConnectionState

type IotHubDataConnectionState struct {
	// Specifies the name of the Kusto Cluster this data connection will be added to. Changing this forces a new resource to be created.
	ClusterName pulumi.StringPtrInput
	// Specifies the IotHub consumer group this data connection will use for ingestion. Changing this forces a new resource to be created.
	ConsumerGroup pulumi.StringPtrInput
	// Specifies the data format of the IoTHub messages. Allowed values: `APACHEAVRO`, `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `ORC`, `PARQUET`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSV`, `TSVE`, `TXT` and `W3CLOGFILE`. Changing this forces a new resource to be created.
	DataFormat pulumi.StringPtrInput
	// Specifies the name of the Kusto Database this data connection will be added to. Changing this forces a new resource to be created.
	DatabaseName pulumi.StringPtrInput
	// Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: `Single`, `Multi`. Changing this forces a new resource to be created. Defaults to `Single`.
	DatabaseRoutingType pulumi.StringPtrInput
	// Specifies the System Properties that each IoT Hub message should contain. Changing this forces a new resource to be created. Possible values are `message-id`, `sequence-number`, `to`, `absolute-expiry-time`, `iothub-enqueuedtime`, `correlation-id`, `user-id`, `iothub-ack`, `iothub-connection-device-id`, `iothub-connection-auth-generation-id` and `iothub-connection-auth-method`.
	EventSystemProperties pulumi.StringArrayInput
	// Specifies the resource id of the IotHub this data connection will use for ingestion. Changing this forces a new resource to be created.
	IothubId pulumi.StringPtrInput
	// The location where the Kusto Database should be created. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created. Changing this forces a new resource to be created.
	MappingRuleName pulumi.StringPtrInput
	// The name of the Kusto IotHub Data Connection to create. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// Specifies the IotHub Shared Access Policy this data connection will use for ingestion, which must have read permission. Changing this forces a new resource to be created.
	SharedAccessPolicyName pulumi.StringPtrInput
	// Specifies the target table name used for the message ingestion. Table must exist before resource is created. Changing this forces a new resource to be created.
	TableName pulumi.StringPtrInput
}

func (IotHubDataConnectionState) ElementType

func (IotHubDataConnectionState) ElementType() reflect.Type

type LookupClusterArgs

type LookupClusterArgs struct {
	// Specifies the name of the Kusto Cluster.
	Name string `pulumi:"name"`
	// The name of the Resource Group where the Kusto Cluster exists.
	ResourceGroupName string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getCluster.

type LookupClusterOutputArgs

type LookupClusterOutputArgs struct {
	// Specifies the name of the Kusto Cluster.
	Name pulumi.StringInput `pulumi:"name"`
	// The name of the Resource Group where the Kusto Cluster exists.
	ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getCluster.

func (LookupClusterOutputArgs) ElementType

func (LookupClusterOutputArgs) ElementType() reflect.Type

type LookupClusterResult

type LookupClusterResult struct {
	// The Kusto Cluster URI to be used for data ingestion.
	DataIngestionUri string `pulumi:"dataIngestionUri"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// An `identity` block as defined below.
	Identities        []GetClusterIdentity `pulumi:"identities"`
	Location          string               `pulumi:"location"`
	Name              string               `pulumi:"name"`
	ResourceGroupName string               `pulumi:"resourceGroupName"`
	Tags              map[string]string    `pulumi:"tags"`
	// The FQDN of the Azure Kusto Cluster.
	Uri string `pulumi:"uri"`
}

A collection of values returned by getCluster.

func LookupCluster

func LookupCluster(ctx *pulumi.Context, args *LookupClusterArgs, opts ...pulumi.InvokeOption) (*LookupClusterResult, error)

Use this data source to access information about an existing Kusto (also known as Azure Data Explorer) Cluster

## Example Usage

```go package main

import (

"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 {
		_, err := kusto.LookupCluster(ctx, &kusto.LookupClusterArgs{
			Name:              "kustocluster",
			ResourceGroupName: "test_resource_group",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupClusterResultOutput

type LookupClusterResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getCluster.

func (LookupClusterResultOutput) DataIngestionUri

func (o LookupClusterResultOutput) DataIngestionUri() pulumi.StringOutput

The Kusto Cluster URI to be used for data ingestion.

func (LookupClusterResultOutput) ElementType

func (LookupClusterResultOutput) ElementType() reflect.Type

func (LookupClusterResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupClusterResultOutput) Identities

An `identity` block as defined below.

func (LookupClusterResultOutput) Location

func (LookupClusterResultOutput) Name

func (LookupClusterResultOutput) ResourceGroupName

func (o LookupClusterResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupClusterResultOutput) Tags

func (LookupClusterResultOutput) ToLookupClusterResultOutput

func (o LookupClusterResultOutput) ToLookupClusterResultOutput() LookupClusterResultOutput

func (LookupClusterResultOutput) ToLookupClusterResultOutputWithContext

func (o LookupClusterResultOutput) ToLookupClusterResultOutputWithContext(ctx context.Context) LookupClusterResultOutput

func (LookupClusterResultOutput) Uri

The FQDN of the Azure Kusto Cluster.

type LookupDatabaseArgs

type LookupDatabaseArgs struct {
	// The name of the Kusto Cluster this database is added to.
	ClusterName string `pulumi:"clusterName"`
	// The name of the Kusto Database.
	Name string `pulumi:"name"`
	// The Resource Group where the Kusto Database exists.
	ResourceGroupName string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getDatabase.

type LookupDatabaseOutputArgs

type LookupDatabaseOutputArgs struct {
	// The name of the Kusto Cluster this database is added to.
	ClusterName pulumi.StringInput `pulumi:"clusterName"`
	// The name of the Kusto Database.
	Name pulumi.StringInput `pulumi:"name"`
	// The Resource Group where the Kusto Database exists.
	ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getDatabase.

func (LookupDatabaseOutputArgs) ElementType

func (LookupDatabaseOutputArgs) ElementType() reflect.Type

type LookupDatabaseResult

type LookupDatabaseResult struct {
	ClusterName string `pulumi:"clusterName"`
	// The time the data that should be kept in cache for fast queries as ISO 8601 timespan.
	HotCachePeriod string `pulumi:"hotCachePeriod"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The Azure Region in which the managed Kusto Database exists.
	Location          string `pulumi:"location"`
	Name              string `pulumi:"name"`
	ResourceGroupName string `pulumi:"resourceGroupName"`
	// The size of the database in bytes.
	Size float64 `pulumi:"size"`
	// The time the data should be kept before it stops being accessible to queries as ISO 8601 timespan.
	SoftDeletePeriod string `pulumi:"softDeletePeriod"`
}

A collection of values returned by getDatabase.

func LookupDatabase

func LookupDatabase(ctx *pulumi.Context, args *LookupDatabaseArgs, opts ...pulumi.InvokeOption) (*LookupDatabaseResult, error)

Use this data source to access information about an existing Kusto Database

## Example Usage

```go package main

import (

"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 {
		_, err := kusto.LookupDatabase(ctx, &kusto.LookupDatabaseArgs{
			Name:              "my-kusto-database",
			ResourceGroupName: "test_resource_group",
			ClusterName:       "test_cluster",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupDatabaseResultOutput

type LookupDatabaseResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDatabase.

func (LookupDatabaseResultOutput) ClusterName

func (LookupDatabaseResultOutput) ElementType

func (LookupDatabaseResultOutput) ElementType() reflect.Type

func (LookupDatabaseResultOutput) HotCachePeriod

func (o LookupDatabaseResultOutput) HotCachePeriod() pulumi.StringOutput

The time the data that should be kept in cache for fast queries as ISO 8601 timespan.

func (LookupDatabaseResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupDatabaseResultOutput) Location

The Azure Region in which the managed Kusto Database exists.

func (LookupDatabaseResultOutput) Name

func (LookupDatabaseResultOutput) ResourceGroupName

func (o LookupDatabaseResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupDatabaseResultOutput) Size

The size of the database in bytes.

func (LookupDatabaseResultOutput) SoftDeletePeriod

func (o LookupDatabaseResultOutput) SoftDeletePeriod() pulumi.StringOutput

The time the data should be kept before it stops being accessible to queries as ISO 8601 timespan.

func (LookupDatabaseResultOutput) ToLookupDatabaseResultOutput

func (o LookupDatabaseResultOutput) ToLookupDatabaseResultOutput() LookupDatabaseResultOutput

func (LookupDatabaseResultOutput) ToLookupDatabaseResultOutputWithContext

func (o LookupDatabaseResultOutput) ToLookupDatabaseResultOutputWithContext(ctx context.Context) LookupDatabaseResultOutput

type Script

type Script struct {
	pulumi.CustomResourceState

	// Flag that indicates whether to continue if one of the command fails.
	ContinueOnErrorsEnabled pulumi.BoolPtrOutput `pulumi:"continueOnErrorsEnabled"`
	// The ID of the Kusto Database. Changing this forces a new Kusto Script to be created.
	DatabaseId pulumi.StringOutput `pulumi:"databaseId"`
	// A unique string. If changed the script will be applied again.
	ForceAnUpdateWhenValueChanged pulumi.StringOutput `pulumi:"forceAnUpdateWhenValueChanged"`
	// The name which should be used for this Kusto Script. Changing this forces a new Kusto Script to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The SAS token used to access the script. Must be provided when using scriptUrl property. Changing this forces a new resource to be created.
	SasToken pulumi.StringPtrOutput `pulumi:"sasToken"`
	// The script content. This property should be used when the script is provide inline and not through file in a SA. Must not be used together with `url` and `sasToken` properties. Changing this forces a new resource to be created.
	ScriptContent pulumi.StringPtrOutput `pulumi:"scriptContent"`
	// The url to the KQL script blob file. Must not be used together with scriptContent property. Please reference [this documentation](https://docs.microsoft.com/azure/data-explorer/database-script) that describes the commands that are allowed in the script.
	Url pulumi.StringPtrOutput `pulumi:"url"`
}

Manages a Kusto Script.

## Example Usage

```go 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-azure/sdk/v6/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleCluster, err := kusto.NewCluster(ctx, "example", &kusto.ClusterArgs{
			Name:              pulumi.String("example"),
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			Sku: &kusto.ClusterSkuArgs{
				Name:     pulumi.String("Dev(No SLA)_Standard_D11_v2"),
				Capacity: pulumi.Int(1),
			},
		})
		if err != nil {
			return err
		}
		exampleDatabase, err := kusto.NewDatabase(ctx, "example", &kusto.DatabaseArgs{
			Name:              pulumi.String("example"),
			ResourceGroupName: exampleResourceGroup.Name,
			Location:          exampleResourceGroup.Location,
			ClusterName:       exampleCluster.Name,
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
			Name:                   pulumi.String("example"),
			ResourceGroupName:      exampleResourceGroup.Name,
			Location:               exampleResourceGroup.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		exampleContainer, err := storage.NewContainer(ctx, "example", &storage.ContainerArgs{
			Name:                pulumi.String("setup-files"),
			StorageAccountName:  exampleAccount.Name,
			ContainerAccessType: pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		exampleBlob, err := storage.NewBlob(ctx, "example", &storage.BlobArgs{
			Name:                 pulumi.String("script.txt"),
			StorageAccountName:   exampleAccount.Name,
			StorageContainerName: exampleContainer.Name,
			Type:                 pulumi.String("Block"),
			SourceContent:        pulumi.String(".create table MyTable (Level:string, Timestamp:datetime, UserId:string, TraceId:string, Message:string, ProcessId:int32)"),
		})
		if err != nil {
			return err
		}
		example := storage.GetAccountBlobContainerSASOutput(ctx, storage.GetAccountBlobContainerSASOutputArgs{
			ConnectionString: exampleAccount.PrimaryConnectionString,
			ContainerName:    exampleContainer.Name,
			HttpsOnly:        pulumi.Bool(true),
			Start:            pulumi.String("2017-03-21"),
			Expiry:           pulumi.String("2022-03-21"),
			Permissions: &storage.GetAccountBlobContainerSASPermissionsArgs{
				Read:   pulumi.Bool(true),
				Add:    pulumi.Bool(false),
				Create: pulumi.Bool(false),
				Write:  pulumi.Bool(true),
				Delete: pulumi.Bool(false),
				List:   pulumi.Bool(true),
			},
		}, nil)
		_, err = kusto.NewScript(ctx, "example", &kusto.ScriptArgs{
			Name:       pulumi.String("example"),
			DatabaseId: exampleDatabase.ID(),
			Url:        exampleBlob.ID(),
			SasToken: pulumi.String(example.ApplyT(func(example storage.GetAccountBlobContainerSASResult) (*string, error) {
				return &example.Sas, nil
			}).(pulumi.StringPtrOutput)),
			ContinueOnErrorsEnabled:       pulumi.Bool(true),
			ForceAnUpdateWhenValueChanged: pulumi.String("first"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import azure:kusto/script:Script example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Kusto/clusters/cluster1/databases/database1/scripts/script1 ```

func GetScript

func GetScript(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ScriptState, opts ...pulumi.ResourceOption) (*Script, error)

GetScript gets an existing Script resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewScript

func NewScript(ctx *pulumi.Context,
	name string, args *ScriptArgs, opts ...pulumi.ResourceOption) (*Script, error)

NewScript registers a new resource with the given unique name, arguments, and options.

func (*Script) ElementType

func (*Script) ElementType() reflect.Type

func (*Script) ToScriptOutput

func (i *Script) ToScriptOutput() ScriptOutput

func (*Script) ToScriptOutputWithContext

func (i *Script) ToScriptOutputWithContext(ctx context.Context) ScriptOutput

type ScriptArgs

type ScriptArgs struct {
	// Flag that indicates whether to continue if one of the command fails.
	ContinueOnErrorsEnabled pulumi.BoolPtrInput
	// The ID of the Kusto Database. Changing this forces a new Kusto Script to be created.
	DatabaseId pulumi.StringInput
	// A unique string. If changed the script will be applied again.
	ForceAnUpdateWhenValueChanged pulumi.StringPtrInput
	// The name which should be used for this Kusto Script. Changing this forces a new Kusto Script to be created.
	Name pulumi.StringPtrInput
	// The SAS token used to access the script. Must be provided when using scriptUrl property. Changing this forces a new resource to be created.
	SasToken pulumi.StringPtrInput
	// The script content. This property should be used when the script is provide inline and not through file in a SA. Must not be used together with `url` and `sasToken` properties. Changing this forces a new resource to be created.
	ScriptContent pulumi.StringPtrInput
	// The url to the KQL script blob file. Must not be used together with scriptContent property. Please reference [this documentation](https://docs.microsoft.com/azure/data-explorer/database-script) that describes the commands that are allowed in the script.
	Url pulumi.StringPtrInput
}

The set of arguments for constructing a Script resource.

func (ScriptArgs) ElementType

func (ScriptArgs) ElementType() reflect.Type

type ScriptArray

type ScriptArray []ScriptInput

func (ScriptArray) ElementType

func (ScriptArray) ElementType() reflect.Type

func (ScriptArray) ToScriptArrayOutput

func (i ScriptArray) ToScriptArrayOutput() ScriptArrayOutput

func (ScriptArray) ToScriptArrayOutputWithContext

func (i ScriptArray) ToScriptArrayOutputWithContext(ctx context.Context) ScriptArrayOutput

type ScriptArrayInput

type ScriptArrayInput interface {
	pulumi.Input

	ToScriptArrayOutput() ScriptArrayOutput
	ToScriptArrayOutputWithContext(context.Context) ScriptArrayOutput
}

ScriptArrayInput is an input type that accepts ScriptArray and ScriptArrayOutput values. You can construct a concrete instance of `ScriptArrayInput` via:

ScriptArray{ ScriptArgs{...} }

type ScriptArrayOutput

type ScriptArrayOutput struct{ *pulumi.OutputState }

func (ScriptArrayOutput) ElementType

func (ScriptArrayOutput) ElementType() reflect.Type

func (ScriptArrayOutput) Index

func (ScriptArrayOutput) ToScriptArrayOutput

func (o ScriptArrayOutput) ToScriptArrayOutput() ScriptArrayOutput

func (ScriptArrayOutput) ToScriptArrayOutputWithContext

func (o ScriptArrayOutput) ToScriptArrayOutputWithContext(ctx context.Context) ScriptArrayOutput

type ScriptInput

type ScriptInput interface {
	pulumi.Input

	ToScriptOutput() ScriptOutput
	ToScriptOutputWithContext(ctx context.Context) ScriptOutput
}

type ScriptMap

type ScriptMap map[string]ScriptInput

func (ScriptMap) ElementType

func (ScriptMap) ElementType() reflect.Type

func (ScriptMap) ToScriptMapOutput

func (i ScriptMap) ToScriptMapOutput() ScriptMapOutput

func (ScriptMap) ToScriptMapOutputWithContext

func (i ScriptMap) ToScriptMapOutputWithContext(ctx context.Context) ScriptMapOutput

type ScriptMapInput

type ScriptMapInput interface {
	pulumi.Input

	ToScriptMapOutput() ScriptMapOutput
	ToScriptMapOutputWithContext(context.Context) ScriptMapOutput
}

ScriptMapInput is an input type that accepts ScriptMap and ScriptMapOutput values. You can construct a concrete instance of `ScriptMapInput` via:

ScriptMap{ "key": ScriptArgs{...} }

type ScriptMapOutput

type ScriptMapOutput struct{ *pulumi.OutputState }

func (ScriptMapOutput) ElementType

func (ScriptMapOutput) ElementType() reflect.Type

func (ScriptMapOutput) MapIndex

func (ScriptMapOutput) ToScriptMapOutput

func (o ScriptMapOutput) ToScriptMapOutput() ScriptMapOutput

func (ScriptMapOutput) ToScriptMapOutputWithContext

func (o ScriptMapOutput) ToScriptMapOutputWithContext(ctx context.Context) ScriptMapOutput

type ScriptOutput

type ScriptOutput struct{ *pulumi.OutputState }

func (ScriptOutput) ContinueOnErrorsEnabled

func (o ScriptOutput) ContinueOnErrorsEnabled() pulumi.BoolPtrOutput

Flag that indicates whether to continue if one of the command fails.

func (ScriptOutput) DatabaseId

func (o ScriptOutput) DatabaseId() pulumi.StringOutput

The ID of the Kusto Database. Changing this forces a new Kusto Script to be created.

func (ScriptOutput) ElementType

func (ScriptOutput) ElementType() reflect.Type

func (ScriptOutput) ForceAnUpdateWhenValueChanged

func (o ScriptOutput) ForceAnUpdateWhenValueChanged() pulumi.StringOutput

A unique string. If changed the script will be applied again.

func (ScriptOutput) Name

func (o ScriptOutput) Name() pulumi.StringOutput

The name which should be used for this Kusto Script. Changing this forces a new Kusto Script to be created.

func (ScriptOutput) SasToken

func (o ScriptOutput) SasToken() pulumi.StringPtrOutput

The SAS token used to access the script. Must be provided when using scriptUrl property. Changing this forces a new resource to be created.

func (ScriptOutput) ScriptContent

func (o ScriptOutput) ScriptContent() pulumi.StringPtrOutput

The script content. This property should be used when the script is provide inline and not through file in a SA. Must not be used together with `url` and `sasToken` properties. Changing this forces a new resource to be created.

func (ScriptOutput) ToScriptOutput

func (o ScriptOutput) ToScriptOutput() ScriptOutput

func (ScriptOutput) ToScriptOutputWithContext

func (o ScriptOutput) ToScriptOutputWithContext(ctx context.Context) ScriptOutput

func (ScriptOutput) Url

The url to the KQL script blob file. Must not be used together with scriptContent property. Please reference [this documentation](https://docs.microsoft.com/azure/data-explorer/database-script) that describes the commands that are allowed in the script.

type ScriptState

type ScriptState struct {
	// Flag that indicates whether to continue if one of the command fails.
	ContinueOnErrorsEnabled pulumi.BoolPtrInput
	// The ID of the Kusto Database. Changing this forces a new Kusto Script to be created.
	DatabaseId pulumi.StringPtrInput
	// A unique string. If changed the script will be applied again.
	ForceAnUpdateWhenValueChanged pulumi.StringPtrInput
	// The name which should be used for this Kusto Script. Changing this forces a new Kusto Script to be created.
	Name pulumi.StringPtrInput
	// The SAS token used to access the script. Must be provided when using scriptUrl property. Changing this forces a new resource to be created.
	SasToken pulumi.StringPtrInput
	// The script content. This property should be used when the script is provide inline and not through file in a SA. Must not be used together with `url` and `sasToken` properties. Changing this forces a new resource to be created.
	ScriptContent pulumi.StringPtrInput
	// The url to the KQL script blob file. Must not be used together with scriptContent property. Please reference [this documentation](https://docs.microsoft.com/azure/data-explorer/database-script) that describes the commands that are allowed in the script.
	Url pulumi.StringPtrInput
}

func (ScriptState) ElementType

func (ScriptState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL