kusto

package
v4.20.1 Latest Latest
Warning

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

Go to latest
Published: Sep 28, 2021 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.
	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.
	DatabaseName pulumi.StringOutput `pulumi:"databaseName"`
	// The default principals modification kind. Valid values are: `None` (default), `Replace` and `Union`.
	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"`
}

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

## 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

func (*AttachedDatabaseConfiguration) ToAttachedDatabaseConfigurationPtrOutput

func (i *AttachedDatabaseConfiguration) ToAttachedDatabaseConfigurationPtrOutput() AttachedDatabaseConfigurationPtrOutput

func (*AttachedDatabaseConfiguration) ToAttachedDatabaseConfigurationPtrOutputWithContext

func (i *AttachedDatabaseConfiguration) ToAttachedDatabaseConfigurationPtrOutputWithContext(ctx context.Context) AttachedDatabaseConfigurationPtrOutput

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.
	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.
	DatabaseName pulumi.StringInput
	// The default principals modification kind. Valid values are: `None` (default), `Replace` and `Union`.
	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
}

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) ElementType

func (AttachedDatabaseConfigurationOutput) ToAttachedDatabaseConfigurationOutput

func (o AttachedDatabaseConfigurationOutput) ToAttachedDatabaseConfigurationOutput() AttachedDatabaseConfigurationOutput

func (AttachedDatabaseConfigurationOutput) ToAttachedDatabaseConfigurationOutputWithContext

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

func (AttachedDatabaseConfigurationOutput) ToAttachedDatabaseConfigurationPtrOutput

func (o AttachedDatabaseConfigurationOutput) ToAttachedDatabaseConfigurationPtrOutput() AttachedDatabaseConfigurationPtrOutput

func (AttachedDatabaseConfigurationOutput) ToAttachedDatabaseConfigurationPtrOutputWithContext

func (o AttachedDatabaseConfigurationOutput) ToAttachedDatabaseConfigurationPtrOutputWithContext(ctx context.Context) AttachedDatabaseConfigurationPtrOutput

type AttachedDatabaseConfigurationPtrInput

type AttachedDatabaseConfigurationPtrInput interface {
	pulumi.Input

	ToAttachedDatabaseConfigurationPtrOutput() AttachedDatabaseConfigurationPtrOutput
	ToAttachedDatabaseConfigurationPtrOutputWithContext(ctx context.Context) AttachedDatabaseConfigurationPtrOutput
}

type AttachedDatabaseConfigurationPtrOutput

type AttachedDatabaseConfigurationPtrOutput struct{ *pulumi.OutputState }

func (AttachedDatabaseConfigurationPtrOutput) Elem added in v4.20.0

func (AttachedDatabaseConfigurationPtrOutput) ElementType

func (AttachedDatabaseConfigurationPtrOutput) ToAttachedDatabaseConfigurationPtrOutput

func (o AttachedDatabaseConfigurationPtrOutput) ToAttachedDatabaseConfigurationPtrOutput() AttachedDatabaseConfigurationPtrOutput

func (AttachedDatabaseConfigurationPtrOutput) ToAttachedDatabaseConfigurationPtrOutputWithContext

func (o AttachedDatabaseConfigurationPtrOutput) ToAttachedDatabaseConfigurationPtrOutputWithContext(ctx context.Context) AttachedDatabaseConfigurationPtrOutput

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.
	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.
	DatabaseName pulumi.StringPtrInput
	// The default principals modification kind. Valid values are: `None` (default), `Replace` and `Union`.
	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
}

func (AttachedDatabaseConfigurationState) ElementType

type Cluster

type Cluster struct {
	pulumi.CustomResourceState

	// The Kusto Cluster URI to be used for data ingestion.
	DataIngestionUri pulumi.StringOutput `pulumi:"dataIngestionUri"`
	// Is the cluster's double encryption enabled? Defaults to `false`. Changing this forces a new resource to be created.
	DoubleEncryptionEnabled pulumi.BoolPtrOutput `pulumi:"doubleEncryptionEnabled"`
	// Specifies if the cluster's disks are encrypted.
	EnableDiskEncryption pulumi.BoolPtrOutput `pulumi:"enableDiskEncryption"`
	// Specifies if the purge operations are enabled.
	EnablePurge pulumi.BoolPtrOutput `pulumi:"enablePurge"`
	// Specifies if the streaming ingest is enabled.
	EnableStreamingIngest pulumi.BoolPtrOutput `pulumi:"enableStreamingIngest"`
	// . The engine type that should be used. Possible values are `V2` and `V3`. Defaults to `V2`.
	Engine pulumi.StringPtrOutput `pulumi:"engine"`
	// An identity block.
	Identity ClusterIdentityOutput `pulumi:"identity"`
	// An list of `languageExtensions` to enable. Valid values are: `PYTHON` and `R`.
	LanguageExtensions pulumi.StringArrayOutput `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. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// An `optimizedAutoScale` block as defined below.
	OptimizedAutoScale ClusterOptimizedAutoScalePtrOutput `pulumi:"optimizedAutoScale"`
	// 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"`
	// 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.
	TrustedExternalTenants pulumi.StringArrayOutput `pulumi:"trustedExternalTenants"`
	// The FQDN of the Azure Kusto Cluster.
	Uri pulumi.StringOutput `pulumi:"uri"`
	// A `virtualNetworkConfiguration` block as defined below. Changing this forces a new resource to be created.
	VirtualNetworkConfiguration ClusterVirtualNetworkConfigurationPtrOutput `pulumi:"virtualNetworkConfiguration"`
	// A list of Availability Zones in which the cluster instances should be created in. Changing this forces a new resource 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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/kusto"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		rg, err := core.NewResourceGroup(ctx, "rg", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = kusto.NewCluster(ctx, "example", &kusto.ClusterArgs{
			Location:          rg.Location,
			ResourceGroupName: rg.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

func (*Cluster) ToClusterPtrOutput

func (i *Cluster) ToClusterPtrOutput() ClusterPtrOutput

func (*Cluster) ToClusterPtrOutputWithContext

func (i *Cluster) ToClusterPtrOutputWithContext(ctx context.Context) ClusterPtrOutput

type ClusterArgs

type ClusterArgs struct {
	// Is the cluster's double encryption enabled? Defaults to `false`. Changing this forces a new resource to be created.
	DoubleEncryptionEnabled pulumi.BoolPtrInput
	// Specifies if the cluster's disks are encrypted.
	EnableDiskEncryption pulumi.BoolPtrInput
	// Specifies if the purge operations are enabled.
	EnablePurge pulumi.BoolPtrInput
	// Specifies if the streaming ingest is enabled.
	EnableStreamingIngest pulumi.BoolPtrInput
	// . The engine type that should be used. Possible values are `V2` and `V3`. Defaults to `V2`.
	Engine pulumi.StringPtrInput
	// An identity block.
	Identity ClusterIdentityPtrInput
	// An list of `languageExtensions` to enable. Valid values are: `PYTHON` and `R`.
	LanguageExtensions pulumi.StringArrayInput
	// 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. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// An `optimizedAutoScale` block as defined below.
	OptimizedAutoScale ClusterOptimizedAutoScalePtrInput
	// 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
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Specifies a list of tenant IDs that are trusted by the cluster.
	TrustedExternalTenants pulumi.StringArrayInput
	// A `virtualNetworkConfiguration` block as defined below. Changing this forces a new resource to be created.
	VirtualNetworkConfiguration ClusterVirtualNetworkConfigurationPtrInput
	// A list of Availability Zones in which the cluster instances should be created in. Changing this forces a new resource 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. Changing this forces a new resource to be created.
	KeyVaultId pulumi.StringOutput `pulumi:"keyVaultId"`
	// The version of Key Vault Key.
	KeyVersion pulumi.StringOutput `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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/keyvault"
"github.com/pulumi/pulumi-azure/sdk/v4/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
		}
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleKeyVault, err := keyvault.NewKeyVault(ctx, "exampleKeyVault", &keyvault.KeyVaultArgs{
			Location:               exampleResourceGroup.Location,
			ResourceGroupName:      exampleResourceGroup.Name,
			TenantId:               pulumi.String(current.TenantId),
			SkuName:                pulumi.String("standard"),
			PurgeProtectionEnabled: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		exampleCluster, err := kusto.NewCluster(ctx, "exampleCluster", &kusto.ClusterArgs{
			Location:          pulumi.Any(azurerm_resource_group.Rg.Location),
			ResourceGroupName: pulumi.Any(azurerm_resource_group.Rg.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: exampleCluster.Identity.ApplyT(func(identity kusto.ClusterIdentity) (string, error) {
				return identity.PrincipalId, nil
			}).(pulumi.StringOutput),
			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"),
			},
		})
		if err != nil {
			return err
		}
		exampleKey, err := keyvault.NewKey(ctx, "exampleKey", &keyvault.KeyArgs{
			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, "exampleClusterCustomerManagedKey", &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

func (*ClusterCustomerManagedKey) ToClusterCustomerManagedKeyPtrOutput

func (i *ClusterCustomerManagedKey) ToClusterCustomerManagedKeyPtrOutput() ClusterCustomerManagedKeyPtrOutput

func (*ClusterCustomerManagedKey) ToClusterCustomerManagedKeyPtrOutputWithContext

func (i *ClusterCustomerManagedKey) ToClusterCustomerManagedKeyPtrOutputWithContext(ctx context.Context) ClusterCustomerManagedKeyPtrOutput

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. Changing this forces a new resource to be created.
	KeyVaultId pulumi.StringInput
	// The version of Key Vault Key.
	KeyVersion pulumi.StringInput
	// 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) ElementType

func (ClusterCustomerManagedKeyOutput) ToClusterCustomerManagedKeyOutput

func (o ClusterCustomerManagedKeyOutput) ToClusterCustomerManagedKeyOutput() ClusterCustomerManagedKeyOutput

func (ClusterCustomerManagedKeyOutput) ToClusterCustomerManagedKeyOutputWithContext

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

func (ClusterCustomerManagedKeyOutput) ToClusterCustomerManagedKeyPtrOutput

func (o ClusterCustomerManagedKeyOutput) ToClusterCustomerManagedKeyPtrOutput() ClusterCustomerManagedKeyPtrOutput

func (ClusterCustomerManagedKeyOutput) ToClusterCustomerManagedKeyPtrOutputWithContext

func (o ClusterCustomerManagedKeyOutput) ToClusterCustomerManagedKeyPtrOutputWithContext(ctx context.Context) ClusterCustomerManagedKeyPtrOutput

type ClusterCustomerManagedKeyPtrInput

type ClusterCustomerManagedKeyPtrInput interface {
	pulumi.Input

	ToClusterCustomerManagedKeyPtrOutput() ClusterCustomerManagedKeyPtrOutput
	ToClusterCustomerManagedKeyPtrOutputWithContext(ctx context.Context) ClusterCustomerManagedKeyPtrOutput
}

type ClusterCustomerManagedKeyPtrOutput

type ClusterCustomerManagedKeyPtrOutput struct{ *pulumi.OutputState }

func (ClusterCustomerManagedKeyPtrOutput) Elem added in v4.20.0

func (ClusterCustomerManagedKeyPtrOutput) ElementType

func (ClusterCustomerManagedKeyPtrOutput) ToClusterCustomerManagedKeyPtrOutput

func (o ClusterCustomerManagedKeyPtrOutput) ToClusterCustomerManagedKeyPtrOutput() ClusterCustomerManagedKeyPtrOutput

func (ClusterCustomerManagedKeyPtrOutput) ToClusterCustomerManagedKeyPtrOutputWithContext

func (o ClusterCustomerManagedKeyPtrOutput) ToClusterCustomerManagedKeyPtrOutputWithContext(ctx context.Context) ClusterCustomerManagedKeyPtrOutput

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. Changing this forces a new resource to be created.
	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 {
	// A list of IDs for User Assigned Managed Identity resources to be assigned.
	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 {
	// A list of IDs for User Assigned Managed Identity resources to be assigned.
	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

A list of IDs for User Assigned Managed Identity resources to be assigned.

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

A list of IDs for User Assigned Managed Identity resources to be assigned.

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 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) ElementType

func (ClusterOutput) ElementType() reflect.Type

func (ClusterOutput) ToClusterOutput

func (o ClusterOutput) ToClusterOutput() ClusterOutput

func (ClusterOutput) ToClusterOutputWithContext

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

func (ClusterOutput) ToClusterPtrOutput

func (o ClusterOutput) ToClusterPtrOutput() ClusterPtrOutput

func (ClusterOutput) ToClusterPtrOutputWithContext

func (o ClusterOutput) ToClusterPtrOutputWithContext(ctx context.Context) ClusterPtrOutput

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"`
	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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/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
		}
		rg, err := core.NewResourceGroup(ctx, "rg", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleCluster, err := kusto.NewCluster(ctx, "exampleCluster", &kusto.ClusterArgs{
			Location:          rg.Location,
			ResourceGroupName: rg.Name,
			Sku: &kusto.ClusterSkuArgs{
				Name:     pulumi.String("Standard_D13_v2"),
				Capacity: pulumi.Int(2),
			},
		})
		if err != nil {
			return err
		}
		_, err = kusto.NewClusterPrincipalAssignment(ctx, "exampleClusterPrincipalAssignment", &kusto.ClusterPrincipalAssignmentArgs{
			ResourceGroupName: rg.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

func (*ClusterPrincipalAssignment) ToClusterPrincipalAssignmentPtrOutput

func (i *ClusterPrincipalAssignment) ToClusterPrincipalAssignmentPtrOutput() ClusterPrincipalAssignmentPtrOutput

func (*ClusterPrincipalAssignment) ToClusterPrincipalAssignmentPtrOutputWithContext

func (i *ClusterPrincipalAssignment) ToClusterPrincipalAssignmentPtrOutputWithContext(ctx context.Context) ClusterPrincipalAssignmentPtrOutput

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
	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) ElementType

func (ClusterPrincipalAssignmentOutput) ToClusterPrincipalAssignmentOutput

func (o ClusterPrincipalAssignmentOutput) ToClusterPrincipalAssignmentOutput() ClusterPrincipalAssignmentOutput

func (ClusterPrincipalAssignmentOutput) ToClusterPrincipalAssignmentOutputWithContext

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

func (ClusterPrincipalAssignmentOutput) ToClusterPrincipalAssignmentPtrOutput

func (o ClusterPrincipalAssignmentOutput) ToClusterPrincipalAssignmentPtrOutput() ClusterPrincipalAssignmentPtrOutput

func (ClusterPrincipalAssignmentOutput) ToClusterPrincipalAssignmentPtrOutputWithContext

func (o ClusterPrincipalAssignmentOutput) ToClusterPrincipalAssignmentPtrOutputWithContext(ctx context.Context) ClusterPrincipalAssignmentPtrOutput

type ClusterPrincipalAssignmentPtrInput

type ClusterPrincipalAssignmentPtrInput interface {
	pulumi.Input

	ToClusterPrincipalAssignmentPtrOutput() ClusterPrincipalAssignmentPtrOutput
	ToClusterPrincipalAssignmentPtrOutputWithContext(ctx context.Context) ClusterPrincipalAssignmentPtrOutput
}

type ClusterPrincipalAssignmentPtrOutput

type ClusterPrincipalAssignmentPtrOutput struct{ *pulumi.OutputState }

func (ClusterPrincipalAssignmentPtrOutput) Elem added in v4.20.0

func (ClusterPrincipalAssignmentPtrOutput) ElementType

func (ClusterPrincipalAssignmentPtrOutput) ToClusterPrincipalAssignmentPtrOutput

func (o ClusterPrincipalAssignmentPtrOutput) ToClusterPrincipalAssignmentPtrOutput() ClusterPrincipalAssignmentPtrOutput

func (ClusterPrincipalAssignmentPtrOutput) ToClusterPrincipalAssignmentPtrOutputWithContext

func (o ClusterPrincipalAssignmentPtrOutput) ToClusterPrincipalAssignmentPtrOutputWithContext(ctx context.Context) ClusterPrincipalAssignmentPtrOutput

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
	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 ClusterPtrInput

type ClusterPtrInput interface {
	pulumi.Input

	ToClusterPtrOutput() ClusterPtrOutput
	ToClusterPtrOutputWithContext(ctx context.Context) ClusterPtrOutput
}

type ClusterPtrOutput

type ClusterPtrOutput struct{ *pulumi.OutputState }

func (ClusterPtrOutput) Elem added in v4.20.0

func (ClusterPtrOutput) ElementType

func (ClusterPtrOutput) ElementType() reflect.Type

func (ClusterPtrOutput) ToClusterPtrOutput

func (o ClusterPtrOutput) ToClusterPtrOutput() ClusterPtrOutput

func (ClusterPtrOutput) ToClusterPtrOutputWithContext

func (o ClusterPtrOutput) ToClusterPtrOutputWithContext(ctx context.Context) ClusterPtrOutput

type ClusterSku

type ClusterSku struct {
	// Specifies the node count for the cluster. Boundaries depend on the sku name.
	Capacity *int `pulumi:"capacity"`
	// The name of the SKU. Valid values are: `Dev(No SLA)_Standard_D11_v2`, `Dev(No SLA)_Standard_E2a_v4`, `Standard_D11_v2`, `Standard_D12_v2`, `Standard_D13_v2`, `Standard_D14_v2`, `Standard_DS13_v2+1TB_PS`, `Standard_DS13_v2+2TB_PS`, `Standard_DS14_v2+3TB_PS`, `Standard_DS14_v2+4TB_PS`, `Standard_E16as_v4+3TB_PS`, `Standard_E16as_v4+4TB_PS`, `Standard_E16a_v4`, `Standard_E2a_v4`, `Standard_E4a_v4`, `Standard_E64i_v3`, `Standard_E8as_v4+1TB_PS`, `Standard_E8as_v4+2TB_PS`, `Standard_E8a_v4`, `Standard_L16s`, `Standard_L4s`, `Standard_L8s`, `Standard_L16s_v2` and `Standard_L8s_v2`.
	Name string `pulumi:"name"`
}

type ClusterSkuArgs

type ClusterSkuArgs struct {
	// Specifies the node count for the cluster. Boundaries depend on the sku name.
	Capacity pulumi.IntPtrInput `pulumi:"capacity"`
	// The name of the SKU. Valid values are: `Dev(No SLA)_Standard_D11_v2`, `Dev(No SLA)_Standard_E2a_v4`, `Standard_D11_v2`, `Standard_D12_v2`, `Standard_D13_v2`, `Standard_D14_v2`, `Standard_DS13_v2+1TB_PS`, `Standard_DS13_v2+2TB_PS`, `Standard_DS14_v2+3TB_PS`, `Standard_DS14_v2+4TB_PS`, `Standard_E16as_v4+3TB_PS`, `Standard_E16as_v4+4TB_PS`, `Standard_E16a_v4`, `Standard_E2a_v4`, `Standard_E4a_v4`, `Standard_E64i_v3`, `Standard_E8as_v4+1TB_PS`, `Standard_E8as_v4+2TB_PS`, `Standard_E8a_v4`, `Standard_L16s`, `Standard_L4s`, `Standard_L8s`, `Standard_L16s_v2` and `Standard_L8s_v2`.
	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.

func (ClusterSkuOutput) ElementType

func (ClusterSkuOutput) ElementType() reflect.Type

func (ClusterSkuOutput) Name

The name of the SKU. Valid values are: `Dev(No SLA)_Standard_D11_v2`, `Dev(No SLA)_Standard_E2a_v4`, `Standard_D11_v2`, `Standard_D12_v2`, `Standard_D13_v2`, `Standard_D14_v2`, `Standard_DS13_v2+1TB_PS`, `Standard_DS13_v2+2TB_PS`, `Standard_DS14_v2+3TB_PS`, `Standard_DS14_v2+4TB_PS`, `Standard_E16as_v4+3TB_PS`, `Standard_E16as_v4+4TB_PS`, `Standard_E16a_v4`, `Standard_E2a_v4`, `Standard_E4a_v4`, `Standard_E64i_v3`, `Standard_E8as_v4+1TB_PS`, `Standard_E8as_v4+2TB_PS`, `Standard_E8a_v4`, `Standard_L16s`, `Standard_L4s`, `Standard_L8s`, `Standard_L16s_v2` and `Standard_L8s_v2`.

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.

func (ClusterSkuPtrOutput) Elem

func (ClusterSkuPtrOutput) ElementType

func (ClusterSkuPtrOutput) ElementType() reflect.Type

func (ClusterSkuPtrOutput) Name

The name of the SKU. Valid values are: `Dev(No SLA)_Standard_D11_v2`, `Dev(No SLA)_Standard_E2a_v4`, `Standard_D11_v2`, `Standard_D12_v2`, `Standard_D13_v2`, `Standard_D14_v2`, `Standard_DS13_v2+1TB_PS`, `Standard_DS13_v2+2TB_PS`, `Standard_DS14_v2+3TB_PS`, `Standard_DS14_v2+4TB_PS`, `Standard_E16as_v4+3TB_PS`, `Standard_E16as_v4+4TB_PS`, `Standard_E16a_v4`, `Standard_E2a_v4`, `Standard_E4a_v4`, `Standard_E64i_v3`, `Standard_E8as_v4+1TB_PS`, `Standard_E8as_v4+2TB_PS`, `Standard_E8a_v4`, `Standard_L16s`, `Standard_L4s`, `Standard_L8s`, `Standard_L16s_v2` and `Standard_L8s_v2`.

func (ClusterSkuPtrOutput) ToClusterSkuPtrOutput

func (o ClusterSkuPtrOutput) ToClusterSkuPtrOutput() ClusterSkuPtrOutput

func (ClusterSkuPtrOutput) ToClusterSkuPtrOutputWithContext

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

type ClusterState

type ClusterState struct {
	// The Kusto Cluster URI to be used for data ingestion.
	DataIngestionUri pulumi.StringPtrInput
	// Is the cluster's double encryption enabled? Defaults to `false`. Changing this forces a new resource to be created.
	DoubleEncryptionEnabled pulumi.BoolPtrInput
	// Specifies if the cluster's disks are encrypted.
	EnableDiskEncryption pulumi.BoolPtrInput
	// Specifies if the purge operations are enabled.
	EnablePurge pulumi.BoolPtrInput
	// Specifies if the streaming ingest is enabled.
	EnableStreamingIngest pulumi.BoolPtrInput
	// . The engine type that should be used. Possible values are `V2` and `V3`. Defaults to `V2`.
	Engine pulumi.StringPtrInput
	// An identity block.
	Identity ClusterIdentityPtrInput
	// An list of `languageExtensions` to enable. Valid values are: `PYTHON` and `R`.
	LanguageExtensions pulumi.StringArrayInput
	// 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. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// An `optimizedAutoScale` block as defined below.
	OptimizedAutoScale ClusterOptimizedAutoScalePtrInput
	// 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
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Specifies a list of tenant IDs that are trusted by the cluster.
	TrustedExternalTenants pulumi.StringArrayInput
	// The FQDN of the Azure Kusto Cluster.
	Uri pulumi.StringPtrInput
	// A `virtualNetworkConfiguration` block as defined below. Changing this forces a new resource to be created.
	VirtualNetworkConfiguration ClusterVirtualNetworkConfigurationPtrInput
	// A list of Availability Zones in which the cluster instances should be created in. Changing this forces a new resource 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 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"`
}

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/kusto"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		rg, err := core.NewResourceGroup(ctx, "rg", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		cluster, err := kusto.NewCluster(ctx, "cluster", &kusto.ClusterArgs{
			Location:          rg.Location,
			ResourceGroupName: rg.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{
			ResourceGroupName: rg.Name,
			Location:          rg.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

func (*Database) ToDatabasePtrOutput

func (i *Database) ToDatabasePtrOutput() DatabasePtrOutput

func (*Database) ToDatabasePtrOutputWithContext

func (i *Database) ToDatabasePtrOutputWithContext(ctx context.Context) DatabasePtrOutput

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) ElementType

func (DatabaseOutput) ElementType() reflect.Type

func (DatabaseOutput) ToDatabaseOutput

func (o DatabaseOutput) ToDatabaseOutput() DatabaseOutput

func (DatabaseOutput) ToDatabaseOutputWithContext

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

func (DatabaseOutput) ToDatabasePtrOutput

func (o DatabaseOutput) ToDatabasePtrOutput() DatabasePtrOutput

func (DatabaseOutput) ToDatabasePtrOutputWithContext

func (o DatabaseOutput) ToDatabasePtrOutputWithContext(ctx context.Context) DatabasePtrOutput

type DatabasePrincipal

type DatabasePrincipal struct {
	pulumi.CustomResourceState

	// The app id, if not empty, of the principal.
	AppId pulumi.StringOutput `pulumi:"appId"`
	// The Client ID that owns the specified `objectId`. Changing this forces a new resource to be created.
	ClientId pulumi.StringOutput `pulumi:"clientId"`
	// Specifies the name of the Kusto Cluster this database principal will be added to. Changing this forces a new resource to be created.
	ClusterName pulumi.StringOutput `pulumi:"clusterName"`
	// Specified the name of the Kusto Database this principal will be added to. Changing this forces a new resource to be created.
	DatabaseName pulumi.StringOutput `pulumi:"databaseName"`
	// The email, if not empty, of the principal.
	Email pulumi.StringOutput `pulumi:"email"`
	// The fully qualified name of the principal.
	FullyQualifiedName pulumi.StringOutput `pulumi:"fullyQualifiedName"`
	// The name of the Kusto Database Principal.
	Name pulumi.StringOutput `pulumi:"name"`
	// An Object ID of a User, Group, or App. Changing this forces a new resource to be created.
	ObjectId pulumi.StringOutput `pulumi:"objectId"`
	// Specifies the Resource Group where the Kusto Database Principal should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// Specifies the permissions the Principal will have. Valid values include `Admin`, `Ingestor`, `Monitor`, `UnrestrictedViewers`, `User`, `Viewer`. Changing this forces a new resource to be created.
	Role pulumi.StringOutput `pulumi:"role"`
	// Specifies the type of object the principal is. Valid values include `App`, `Group`, `User`. Changing this forces a new resource to be created.
	Type pulumi.StringOutput `pulumi:"type"`
}

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

> **NOTE:** This resource is being **deprecated** due to API updates and should no longer be used. Please use kusto.DatabasePrincipalAssignment instead.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/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
		}
		rg, err := core.NewResourceGroup(ctx, "rg", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		cluster, err := kusto.NewCluster(ctx, "cluster", &kusto.ClusterArgs{
			Location:          rg.Location,
			ResourceGroupName: rg.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{
			ResourceGroupName: rg.Name,
			Location:          rg.Location,
			ClusterName:       cluster.Name,
			HotCachePeriod:    pulumi.String("P7D"),
			SoftDeletePeriod:  pulumi.String("P31D"),
		})
		if err != nil {
			return err
		}
		_, err = kusto.NewDatabasePrincipal(ctx, "principal", &kusto.DatabasePrincipalArgs{
			ResourceGroupName: rg.Name,
			ClusterName:       cluster.Name,
			DatabaseName:      pulumi.Any(azurerm_kusto_database.Test.Name),
			Role:              pulumi.String("Viewer"),
			Type:              pulumi.String("User"),
			ClientId:          pulumi.String(current.TenantId),
			ObjectId:          pulumi.String(current.ClientId),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

$ pulumi import azure:kusto/databasePrincipal:DatabasePrincipal example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Kusto/Clusters/cluster1/Databases/database1/Role/role1/FQN/some-guid

```

func GetDatabasePrincipal

func GetDatabasePrincipal(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DatabasePrincipalState, opts ...pulumi.ResourceOption) (*DatabasePrincipal, error)

GetDatabasePrincipal gets an existing DatabasePrincipal 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 NewDatabasePrincipal

func NewDatabasePrincipal(ctx *pulumi.Context,
	name string, args *DatabasePrincipalArgs, opts ...pulumi.ResourceOption) (*DatabasePrincipal, error)

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

func (*DatabasePrincipal) ElementType

func (*DatabasePrincipal) ElementType() reflect.Type

func (*DatabasePrincipal) ToDatabasePrincipalOutput

func (i *DatabasePrincipal) ToDatabasePrincipalOutput() DatabasePrincipalOutput

func (*DatabasePrincipal) ToDatabasePrincipalOutputWithContext

func (i *DatabasePrincipal) ToDatabasePrincipalOutputWithContext(ctx context.Context) DatabasePrincipalOutput

func (*DatabasePrincipal) ToDatabasePrincipalPtrOutput

func (i *DatabasePrincipal) ToDatabasePrincipalPtrOutput() DatabasePrincipalPtrOutput

func (*DatabasePrincipal) ToDatabasePrincipalPtrOutputWithContext

func (i *DatabasePrincipal) ToDatabasePrincipalPtrOutputWithContext(ctx context.Context) DatabasePrincipalPtrOutput

type DatabasePrincipalArgs

type DatabasePrincipalArgs struct {
	// The Client ID that owns the specified `objectId`. Changing this forces a new resource to be created.
	ClientId pulumi.StringInput
	// Specifies the name of the Kusto Cluster this database principal will be added to. Changing this forces a new resource to be created.
	ClusterName pulumi.StringInput
	// Specified the name of the Kusto Database this principal will be added to. Changing this forces a new resource to be created.
	DatabaseName pulumi.StringInput
	// An Object ID of a User, Group, or App. Changing this forces a new resource to be created.
	ObjectId pulumi.StringInput
	// Specifies the Resource Group where the Kusto Database Principal should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// Specifies the permissions the Principal will have. Valid values include `Admin`, `Ingestor`, `Monitor`, `UnrestrictedViewers`, `User`, `Viewer`. Changing this forces a new resource to be created.
	Role pulumi.StringInput
	// Specifies the type of object the principal is. Valid values include `App`, `Group`, `User`. Changing this forces a new resource to be created.
	Type pulumi.StringInput
}

The set of arguments for constructing a DatabasePrincipal resource.

func (DatabasePrincipalArgs) ElementType

func (DatabasePrincipalArgs) ElementType() reflect.Type

type DatabasePrincipalArray

type DatabasePrincipalArray []DatabasePrincipalInput

func (DatabasePrincipalArray) ElementType

func (DatabasePrincipalArray) ElementType() reflect.Type

func (DatabasePrincipalArray) ToDatabasePrincipalArrayOutput

func (i DatabasePrincipalArray) ToDatabasePrincipalArrayOutput() DatabasePrincipalArrayOutput

func (DatabasePrincipalArray) ToDatabasePrincipalArrayOutputWithContext

func (i DatabasePrincipalArray) ToDatabasePrincipalArrayOutputWithContext(ctx context.Context) DatabasePrincipalArrayOutput

type DatabasePrincipalArrayInput

type DatabasePrincipalArrayInput interface {
	pulumi.Input

	ToDatabasePrincipalArrayOutput() DatabasePrincipalArrayOutput
	ToDatabasePrincipalArrayOutputWithContext(context.Context) DatabasePrincipalArrayOutput
}

DatabasePrincipalArrayInput is an input type that accepts DatabasePrincipalArray and DatabasePrincipalArrayOutput values. You can construct a concrete instance of `DatabasePrincipalArrayInput` via:

DatabasePrincipalArray{ DatabasePrincipalArgs{...} }

type DatabasePrincipalArrayOutput

type DatabasePrincipalArrayOutput struct{ *pulumi.OutputState }

func (DatabasePrincipalArrayOutput) ElementType

func (DatabasePrincipalArrayOutput) Index

func (DatabasePrincipalArrayOutput) ToDatabasePrincipalArrayOutput

func (o DatabasePrincipalArrayOutput) ToDatabasePrincipalArrayOutput() DatabasePrincipalArrayOutput

func (DatabasePrincipalArrayOutput) ToDatabasePrincipalArrayOutputWithContext

func (o DatabasePrincipalArrayOutput) ToDatabasePrincipalArrayOutputWithContext(ctx context.Context) DatabasePrincipalArrayOutput

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"`
	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`, `UnrestrictedViewers`, `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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/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
		}
		rg, err := core.NewResourceGroup(ctx, "rg", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleCluster, err := kusto.NewCluster(ctx, "exampleCluster", &kusto.ClusterArgs{
			Location:          rg.Location,
			ResourceGroupName: rg.Name,
			Sku: &kusto.ClusterSkuArgs{
				Name:     pulumi.String("Standard_D13_v2"),
				Capacity: pulumi.Int(2),
			},
		})
		if err != nil {
			return err
		}
		exampleDatabase, err := kusto.NewDatabase(ctx, "exampleDatabase", &kusto.DatabaseArgs{
			ResourceGroupName: rg.Name,
			Location:          rg.Location,
			ClusterName:       exampleCluster.Name,
			HotCachePeriod:    pulumi.String("P7D"),
			SoftDeletePeriod:  pulumi.String("P31D"),
		})
		if err != nil {
			return err
		}
		_, err = kusto.NewDatabasePrincipalAssignment(ctx, "exampleDatabasePrincipalAssignment", &kusto.DatabasePrincipalAssignmentArgs{
			ResourceGroupName: rg.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

func (*DatabasePrincipalAssignment) ToDatabasePrincipalAssignmentPtrOutput

func (i *DatabasePrincipalAssignment) ToDatabasePrincipalAssignmentPtrOutput() DatabasePrincipalAssignmentPtrOutput

func (*DatabasePrincipalAssignment) ToDatabasePrincipalAssignmentPtrOutputWithContext

func (i *DatabasePrincipalAssignment) ToDatabasePrincipalAssignmentPtrOutputWithContext(ctx context.Context) DatabasePrincipalAssignmentPtrOutput

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
	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`, `UnrestrictedViewers`, `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) ElementType

func (DatabasePrincipalAssignmentOutput) ToDatabasePrincipalAssignmentOutput

func (o DatabasePrincipalAssignmentOutput) ToDatabasePrincipalAssignmentOutput() DatabasePrincipalAssignmentOutput

func (DatabasePrincipalAssignmentOutput) ToDatabasePrincipalAssignmentOutputWithContext

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

func (DatabasePrincipalAssignmentOutput) ToDatabasePrincipalAssignmentPtrOutput

func (o DatabasePrincipalAssignmentOutput) ToDatabasePrincipalAssignmentPtrOutput() DatabasePrincipalAssignmentPtrOutput

func (DatabasePrincipalAssignmentOutput) ToDatabasePrincipalAssignmentPtrOutputWithContext

func (o DatabasePrincipalAssignmentOutput) ToDatabasePrincipalAssignmentPtrOutputWithContext(ctx context.Context) DatabasePrincipalAssignmentPtrOutput

type DatabasePrincipalAssignmentPtrInput

type DatabasePrincipalAssignmentPtrInput interface {
	pulumi.Input

	ToDatabasePrincipalAssignmentPtrOutput() DatabasePrincipalAssignmentPtrOutput
	ToDatabasePrincipalAssignmentPtrOutputWithContext(ctx context.Context) DatabasePrincipalAssignmentPtrOutput
}

type DatabasePrincipalAssignmentPtrOutput

type DatabasePrincipalAssignmentPtrOutput struct{ *pulumi.OutputState }

func (DatabasePrincipalAssignmentPtrOutput) Elem added in v4.20.0

func (DatabasePrincipalAssignmentPtrOutput) ElementType

func (DatabasePrincipalAssignmentPtrOutput) ToDatabasePrincipalAssignmentPtrOutput

func (o DatabasePrincipalAssignmentPtrOutput) ToDatabasePrincipalAssignmentPtrOutput() DatabasePrincipalAssignmentPtrOutput

func (DatabasePrincipalAssignmentPtrOutput) ToDatabasePrincipalAssignmentPtrOutputWithContext

func (o DatabasePrincipalAssignmentPtrOutput) ToDatabasePrincipalAssignmentPtrOutputWithContext(ctx context.Context) DatabasePrincipalAssignmentPtrOutput

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
	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`, `UnrestrictedViewers`, `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 DatabasePrincipalInput

type DatabasePrincipalInput interface {
	pulumi.Input

	ToDatabasePrincipalOutput() DatabasePrincipalOutput
	ToDatabasePrincipalOutputWithContext(ctx context.Context) DatabasePrincipalOutput
}

type DatabasePrincipalMap

type DatabasePrincipalMap map[string]DatabasePrincipalInput

func (DatabasePrincipalMap) ElementType

func (DatabasePrincipalMap) ElementType() reflect.Type

func (DatabasePrincipalMap) ToDatabasePrincipalMapOutput

func (i DatabasePrincipalMap) ToDatabasePrincipalMapOutput() DatabasePrincipalMapOutput

func (DatabasePrincipalMap) ToDatabasePrincipalMapOutputWithContext

func (i DatabasePrincipalMap) ToDatabasePrincipalMapOutputWithContext(ctx context.Context) DatabasePrincipalMapOutput

type DatabasePrincipalMapInput

type DatabasePrincipalMapInput interface {
	pulumi.Input

	ToDatabasePrincipalMapOutput() DatabasePrincipalMapOutput
	ToDatabasePrincipalMapOutputWithContext(context.Context) DatabasePrincipalMapOutput
}

DatabasePrincipalMapInput is an input type that accepts DatabasePrincipalMap and DatabasePrincipalMapOutput values. You can construct a concrete instance of `DatabasePrincipalMapInput` via:

DatabasePrincipalMap{ "key": DatabasePrincipalArgs{...} }

type DatabasePrincipalMapOutput

type DatabasePrincipalMapOutput struct{ *pulumi.OutputState }

func (DatabasePrincipalMapOutput) ElementType

func (DatabasePrincipalMapOutput) ElementType() reflect.Type

func (DatabasePrincipalMapOutput) MapIndex

func (DatabasePrincipalMapOutput) ToDatabasePrincipalMapOutput

func (o DatabasePrincipalMapOutput) ToDatabasePrincipalMapOutput() DatabasePrincipalMapOutput

func (DatabasePrincipalMapOutput) ToDatabasePrincipalMapOutputWithContext

func (o DatabasePrincipalMapOutput) ToDatabasePrincipalMapOutputWithContext(ctx context.Context) DatabasePrincipalMapOutput

type DatabasePrincipalOutput

type DatabasePrincipalOutput struct{ *pulumi.OutputState }

func (DatabasePrincipalOutput) ElementType

func (DatabasePrincipalOutput) ElementType() reflect.Type

func (DatabasePrincipalOutput) ToDatabasePrincipalOutput

func (o DatabasePrincipalOutput) ToDatabasePrincipalOutput() DatabasePrincipalOutput

func (DatabasePrincipalOutput) ToDatabasePrincipalOutputWithContext

func (o DatabasePrincipalOutput) ToDatabasePrincipalOutputWithContext(ctx context.Context) DatabasePrincipalOutput

func (DatabasePrincipalOutput) ToDatabasePrincipalPtrOutput

func (o DatabasePrincipalOutput) ToDatabasePrincipalPtrOutput() DatabasePrincipalPtrOutput

func (DatabasePrincipalOutput) ToDatabasePrincipalPtrOutputWithContext

func (o DatabasePrincipalOutput) ToDatabasePrincipalPtrOutputWithContext(ctx context.Context) DatabasePrincipalPtrOutput

type DatabasePrincipalPtrInput

type DatabasePrincipalPtrInput interface {
	pulumi.Input

	ToDatabasePrincipalPtrOutput() DatabasePrincipalPtrOutput
	ToDatabasePrincipalPtrOutputWithContext(ctx context.Context) DatabasePrincipalPtrOutput
}

type DatabasePrincipalPtrOutput

type DatabasePrincipalPtrOutput struct{ *pulumi.OutputState }

func (DatabasePrincipalPtrOutput) Elem added in v4.20.0

func (DatabasePrincipalPtrOutput) ElementType

func (DatabasePrincipalPtrOutput) ElementType() reflect.Type

func (DatabasePrincipalPtrOutput) ToDatabasePrincipalPtrOutput

func (o DatabasePrincipalPtrOutput) ToDatabasePrincipalPtrOutput() DatabasePrincipalPtrOutput

func (DatabasePrincipalPtrOutput) ToDatabasePrincipalPtrOutputWithContext

func (o DatabasePrincipalPtrOutput) ToDatabasePrincipalPtrOutputWithContext(ctx context.Context) DatabasePrincipalPtrOutput

type DatabasePrincipalState

type DatabasePrincipalState struct {
	// The app id, if not empty, of the principal.
	AppId pulumi.StringPtrInput
	// The Client ID that owns the specified `objectId`. Changing this forces a new resource to be created.
	ClientId pulumi.StringPtrInput
	// Specifies the name of the Kusto Cluster this database principal will be added to. Changing this forces a new resource to be created.
	ClusterName pulumi.StringPtrInput
	// Specified the name of the Kusto Database this principal will be added to. Changing this forces a new resource to be created.
	DatabaseName pulumi.StringPtrInput
	// The email, if not empty, of the principal.
	Email pulumi.StringPtrInput
	// The fully qualified name of the principal.
	FullyQualifiedName pulumi.StringPtrInput
	// The name of the Kusto Database Principal.
	Name pulumi.StringPtrInput
	// An Object ID of a User, Group, or App. Changing this forces a new resource to be created.
	ObjectId pulumi.StringPtrInput
	// Specifies the Resource Group where the Kusto Database Principal should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// Specifies the permissions the Principal will have. Valid values include `Admin`, `Ingestor`, `Monitor`, `UnrestrictedViewers`, `User`, `Viewer`. Changing this forces a new resource to be created.
	Role pulumi.StringPtrInput
	// Specifies the type of object the principal is. Valid values include `App`, `Group`, `User`. Changing this forces a new resource to be created.
	Type pulumi.StringPtrInput
}

func (DatabasePrincipalState) ElementType

func (DatabasePrincipalState) ElementType() reflect.Type

type DatabasePtrInput

type DatabasePtrInput interface {
	pulumi.Input

	ToDatabasePtrOutput() DatabasePtrOutput
	ToDatabasePtrOutputWithContext(ctx context.Context) DatabasePtrOutput
}

type DatabasePtrOutput

type DatabasePtrOutput struct{ *pulumi.OutputState }

func (DatabasePtrOutput) Elem added in v4.20.0

func (DatabasePtrOutput) ElementType

func (DatabasePtrOutput) ElementType() reflect.Type

func (DatabasePtrOutput) ToDatabasePtrOutput

func (o DatabasePtrOutput) ToDatabasePtrOutput() DatabasePtrOutput

func (DatabasePtrOutput) ToDatabasePtrOutputWithContext

func (o DatabasePtrOutput) ToDatabasePtrOutputWithContext(ctx context.Context) DatabasePtrOutput

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: `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSV` and `TXT`
	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"`
	// 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"`
	// 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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/eventgrid"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/eventhub"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/kusto"
"github.com/pulumi/pulumi-azure/sdk/v4/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, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleCluster, err := kusto.NewCluster(ctx, "exampleCluster", &kusto.ClusterArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			Sku: &kusto.ClusterSkuArgs{
				Name:     pulumi.String("Standard_D13_v2"),
				Capacity: pulumi.Int(2),
			},
		})
		if err != nil {
			return err
		}
		exampleDatabase, err := kusto.NewDatabase(ctx, "exampleDatabase", &kusto.DatabaseArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			Location:          exampleResourceGroup.Location,
			ClusterName:       exampleCluster.Name,
			HotCachePeriod:    pulumi.String("P7D"),
			SoftDeletePeriod:  pulumi.String("P31D"),
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "exampleAccount", &storage.AccountArgs{
			ResourceGroupName:      exampleResourceGroup.Name,
			Location:               exampleResourceGroup.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("GRS"),
		})
		if err != nil {
			return err
		}
		_, err = eventhub.NewEventHubNamespace(ctx, "testEventHubNamespace", &eventhub.EventHubNamespaceArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		_, err = eventhub.NewEventHub(ctx, "testEventHub", &eventhub.EventHubArgs{
			NamespaceName:     pulumi.Any(azurerm_eventhub_namespace.Example.Name),
			ResourceGroupName: exampleResourceGroup.Name,
			PartitionCount:    pulumi.Int(1),
			MessageRetention:  pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		exampleConsumerGroup, err := eventhub.NewConsumerGroup(ctx, "exampleConsumerGroup", &eventhub.ConsumerGroupArgs{
			NamespaceName:     pulumi.Any(azurerm_eventhub_namespace.Example.Name),
			EventhubName:      pulumi.Any(azurerm_eventhub.Example.Name),
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		exampleEventSubscription, err := eventgrid.NewEventSubscription(ctx, "exampleEventSubscription", &eventgrid.EventSubscriptionArgs{
			Scope:               exampleAccount.ID(),
			EventhubEndpointId:  pulumi.Any(azurerm_eventhub.Example.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, "exampleEventGridDataConnection", &kusto.EventGridDataConnectionArgs{
			ResourceGroupName:         exampleResourceGroup.Name,
			Location:                  exampleResourceGroup.Location,
			ClusterName:               exampleCluster.Name,
			DatabaseName:              exampleDatabase.Name,
			StorageAccountId:          exampleAccount.ID(),
			EventhubId:                pulumi.Any(azurerm_eventhub.Example.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

func (*EventGridDataConnection) ToEventGridDataConnectionPtrOutput

func (i *EventGridDataConnection) ToEventGridDataConnectionPtrOutput() EventGridDataConnectionPtrOutput

func (*EventGridDataConnection) ToEventGridDataConnectionPtrOutputWithContext

func (i *EventGridDataConnection) ToEventGridDataConnectionPtrOutputWithContext(ctx context.Context) EventGridDataConnectionPtrOutput

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: `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSV` and `TXT`
	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
	// 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
	// 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) ElementType

func (EventGridDataConnectionOutput) ToEventGridDataConnectionOutput

func (o EventGridDataConnectionOutput) ToEventGridDataConnectionOutput() EventGridDataConnectionOutput

func (EventGridDataConnectionOutput) ToEventGridDataConnectionOutputWithContext

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

func (EventGridDataConnectionOutput) ToEventGridDataConnectionPtrOutput

func (o EventGridDataConnectionOutput) ToEventGridDataConnectionPtrOutput() EventGridDataConnectionPtrOutput

func (EventGridDataConnectionOutput) ToEventGridDataConnectionPtrOutputWithContext

func (o EventGridDataConnectionOutput) ToEventGridDataConnectionPtrOutputWithContext(ctx context.Context) EventGridDataConnectionPtrOutput

type EventGridDataConnectionPtrInput

type EventGridDataConnectionPtrInput interface {
	pulumi.Input

	ToEventGridDataConnectionPtrOutput() EventGridDataConnectionPtrOutput
	ToEventGridDataConnectionPtrOutputWithContext(ctx context.Context) EventGridDataConnectionPtrOutput
}

type EventGridDataConnectionPtrOutput

type EventGridDataConnectionPtrOutput struct{ *pulumi.OutputState }

func (EventGridDataConnectionPtrOutput) Elem added in v4.20.0

func (EventGridDataConnectionPtrOutput) ElementType

func (EventGridDataConnectionPtrOutput) ToEventGridDataConnectionPtrOutput

func (o EventGridDataConnectionPtrOutput) ToEventGridDataConnectionPtrOutput() EventGridDataConnectionPtrOutput

func (EventGridDataConnectionPtrOutput) ToEventGridDataConnectionPtrOutputWithContext

func (o EventGridDataConnectionPtrOutput) ToEventGridDataConnectionPtrOutputWithContext(ctx context.Context) EventGridDataConnectionPtrOutput

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: `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSV` and `TXT`
	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
	// 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
	// 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"`
	// 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 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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/eventhub"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/kusto"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		rg, err := core.NewResourceGroup(ctx, "rg", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		cluster, err := kusto.NewCluster(ctx, "cluster", &kusto.ClusterArgs{
			Location:          rg.Location,
			ResourceGroupName: rg.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{
			ResourceGroupName: rg.Name,
			Location:          rg.Location,
			ClusterName:       cluster.Name,
			HotCachePeriod:    pulumi.String("P7D"),
			SoftDeletePeriod:  pulumi.String("P31D"),
		})
		if err != nil {
			return err
		}
		eventhubNs, err := eventhub.NewEventHubNamespace(ctx, "eventhubNs", &eventhub.EventHubNamespaceArgs{
			Location:          rg.Location,
			ResourceGroupName: rg.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		eventhub, err := eventhub.NewEventHub(ctx, "eventhub", &eventhub.EventHubArgs{
			NamespaceName:     eventhubNs.Name,
			ResourceGroupName: rg.Name,
			PartitionCount:    pulumi.Int(1),
			MessageRetention:  pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		consumerGroup, err := eventhub.NewConsumerGroup(ctx, "consumerGroup", &eventhub.ConsumerGroupArgs{
			NamespaceName:     eventhubNs.Name,
			EventhubName:      eventhub.Name,
			ResourceGroupName: rg.Name,
		})
		if err != nil {
			return err
		}
		_, err = kusto.NewEventhubDataConnection(ctx, "eventhubConnection", &kusto.EventhubDataConnectionArgs{
			ResourceGroupName: rg.Name,
			Location:          rg.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

func (*EventhubDataConnection) ToEventhubDataConnectionPtrOutput

func (i *EventhubDataConnection) ToEventhubDataConnectionPtrOutput() EventhubDataConnectionPtrOutput

func (*EventhubDataConnection) ToEventhubDataConnectionPtrOutputWithContext

func (i *EventhubDataConnection) ToEventhubDataConnectionPtrOutputWithContext(ctx context.Context) EventhubDataConnectionPtrOutput

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
	// 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 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) ElementType

func (EventhubDataConnectionOutput) ToEventhubDataConnectionOutput

func (o EventhubDataConnectionOutput) ToEventhubDataConnectionOutput() EventhubDataConnectionOutput

func (EventhubDataConnectionOutput) ToEventhubDataConnectionOutputWithContext

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

func (EventhubDataConnectionOutput) ToEventhubDataConnectionPtrOutput

func (o EventhubDataConnectionOutput) ToEventhubDataConnectionPtrOutput() EventhubDataConnectionPtrOutput

func (EventhubDataConnectionOutput) ToEventhubDataConnectionPtrOutputWithContext

func (o EventhubDataConnectionOutput) ToEventhubDataConnectionPtrOutputWithContext(ctx context.Context) EventhubDataConnectionPtrOutput

type EventhubDataConnectionPtrInput

type EventhubDataConnectionPtrInput interface {
	pulumi.Input

	ToEventhubDataConnectionPtrOutput() EventhubDataConnectionPtrOutput
	ToEventhubDataConnectionPtrOutputWithContext(ctx context.Context) EventhubDataConnectionPtrOutput
}

type EventhubDataConnectionPtrOutput

type EventhubDataConnectionPtrOutput struct{ *pulumi.OutputState }

func (EventhubDataConnectionPtrOutput) Elem added in v4.20.0

func (EventhubDataConnectionPtrOutput) ElementType

func (EventhubDataConnectionPtrOutput) ToEventhubDataConnectionPtrOutput

func (o EventhubDataConnectionPtrOutput) ToEventhubDataConnectionPtrOutput() EventhubDataConnectionPtrOutput

func (EventhubDataConnectionPtrOutput) ToEventhubDataConnectionPtrOutputWithContext

func (o EventhubDataConnectionPtrOutput) ToEventhubDataConnectionPtrOutputWithContext(ctx context.Context) EventhubDataConnectionPtrOutput

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
	// 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 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 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`.
	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"`
	// Specifies the System Properties that each IoT Hub message should contain. Changing this forces a new resource to be created.
	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.
	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.
	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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/iot"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/kusto"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleCluster, err := kusto.NewCluster(ctx, "exampleCluster", &kusto.ClusterArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			Sku: &kusto.ClusterSkuArgs{
				Name:     pulumi.String("Standard_D13_v2"),
				Capacity: pulumi.Int(2),
			},
		})
		if err != nil {
			return err
		}
		exampleDatabase, err := kusto.NewDatabase(ctx, "exampleDatabase", &kusto.DatabaseArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			Location:          exampleResourceGroup.Location,
			ClusterName:       exampleCluster.Name,
			HotCachePeriod:    pulumi.String("P7D"),
			SoftDeletePeriod:  pulumi.String("P31D"),
		})
		if err != nil {
			return err
		}
		exampleIoTHub, err := iot.NewIoTHub(ctx, "exampleIoTHub", &iot.IoTHubArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			Location:          exampleResourceGroup.Location,
			Sku: &iot.IoTHubSkuArgs{
				Name:     pulumi.String("B1"),
				Capacity: pulumi.Int(1),
			},
		})
		if err != nil {
			return err
		}
		exampleSharedAccessPolicy, err := iot.NewSharedAccessPolicy(ctx, "exampleSharedAccessPolicy", &iot.SharedAccessPolicyArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			IothubName:        exampleIoTHub.Name,
			RegistryRead:      pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		exampleConsumerGroup, err := iot.NewConsumerGroup(ctx, "exampleConsumerGroup", &iot.ConsumerGroupArgs{
			ResourceGroupName:    exampleResourceGroup.Name,
			IothubName:           exampleIoTHub.Name,
			EventhubEndpointName: pulumi.String("events"),
		})
		if err != nil {
			return err
		}
		_, err = kusto.NewIotHubDataConnection(ctx, "exampleIotHubDataConnection", &kusto.IotHubDataConnectionArgs{
			ResourceGroupName:      exampleResourceGroup.Name,
			Location:               exampleResourceGroup.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

func (*IotHubDataConnection) ToIotHubDataConnectionPtrOutput

func (i *IotHubDataConnection) ToIotHubDataConnectionPtrOutput() IotHubDataConnectionPtrOutput

func (*IotHubDataConnection) ToIotHubDataConnectionPtrOutputWithContext

func (i *IotHubDataConnection) ToIotHubDataConnectionPtrOutputWithContext(ctx context.Context) IotHubDataConnectionPtrOutput

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`.
	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
	// Specifies the System Properties that each IoT Hub message should contain. Changing this forces a new resource to be created.
	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.
	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.
	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) ElementType

func (IotHubDataConnectionOutput) ElementType() reflect.Type

func (IotHubDataConnectionOutput) ToIotHubDataConnectionOutput

func (o IotHubDataConnectionOutput) ToIotHubDataConnectionOutput() IotHubDataConnectionOutput

func (IotHubDataConnectionOutput) ToIotHubDataConnectionOutputWithContext

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

func (IotHubDataConnectionOutput) ToIotHubDataConnectionPtrOutput

func (o IotHubDataConnectionOutput) ToIotHubDataConnectionPtrOutput() IotHubDataConnectionPtrOutput

func (IotHubDataConnectionOutput) ToIotHubDataConnectionPtrOutputWithContext

func (o IotHubDataConnectionOutput) ToIotHubDataConnectionPtrOutputWithContext(ctx context.Context) IotHubDataConnectionPtrOutput

type IotHubDataConnectionPtrInput

type IotHubDataConnectionPtrInput interface {
	pulumi.Input

	ToIotHubDataConnectionPtrOutput() IotHubDataConnectionPtrOutput
	ToIotHubDataConnectionPtrOutputWithContext(ctx context.Context) IotHubDataConnectionPtrOutput
}

type IotHubDataConnectionPtrOutput

type IotHubDataConnectionPtrOutput struct{ *pulumi.OutputState }

func (IotHubDataConnectionPtrOutput) Elem added in v4.20.0

func (IotHubDataConnectionPtrOutput) ElementType

func (IotHubDataConnectionPtrOutput) ToIotHubDataConnectionPtrOutput

func (o IotHubDataConnectionPtrOutput) ToIotHubDataConnectionPtrOutput() IotHubDataConnectionPtrOutput

func (IotHubDataConnectionPtrOutput) ToIotHubDataConnectionPtrOutputWithContext

func (o IotHubDataConnectionPtrOutput) ToIotHubDataConnectionPtrOutputWithContext(ctx context.Context) IotHubDataConnectionPtrOutput

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`.
	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
	// Specifies the System Properties that each IoT Hub message should contain. Changing this forces a new resource to be created.
	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.
	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.
	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 added in v4.20.0

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 added in v4.20.0

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"`
	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/v4/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 added in v4.20.0

type LookupClusterResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getCluster.

func LookupClusterOutput added in v4.20.0

func LookupClusterOutput(ctx *pulumi.Context, args LookupClusterOutputArgs, opts ...pulumi.InvokeOption) LookupClusterResultOutput

func (LookupClusterResultOutput) DataIngestionUri added in v4.20.0

func (o LookupClusterResultOutput) DataIngestionUri() pulumi.StringOutput

The Kusto Cluster URI to be used for data ingestion.

func (LookupClusterResultOutput) ElementType added in v4.20.0

func (LookupClusterResultOutput) ElementType() reflect.Type

func (LookupClusterResultOutput) Id added in v4.20.0

The provider-assigned unique ID for this managed resource.

func (LookupClusterResultOutput) Location added in v4.20.0

func (LookupClusterResultOutput) Name added in v4.20.0

func (LookupClusterResultOutput) ResourceGroupName added in v4.20.0

func (o LookupClusterResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupClusterResultOutput) Tags added in v4.20.0

func (LookupClusterResultOutput) ToLookupClusterResultOutput added in v4.20.0

func (o LookupClusterResultOutput) ToLookupClusterResultOutput() LookupClusterResultOutput

func (LookupClusterResultOutput) ToLookupClusterResultOutputWithContext added in v4.20.0

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

func (LookupClusterResultOutput) Uri added in v4.20.0

The FQDN of the Azure Kusto Cluster.

Jump to

Keyboard shortcuts

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