kusto

package
v5.29.0 Latest Latest
Warning

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

Go to latest
Published: Jan 6, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AttachedDatabaseConfiguration

type AttachedDatabaseConfiguration struct {
	pulumi.CustomResourceState

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

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/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
		}
		followerCluster, err := kusto.NewCluster(ctx, "followerCluster", &kusto.ClusterArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			Sku: &kusto.ClusterSkuArgs{
				Name:     pulumi.String("Dev(No SLA)_Standard_D11_v2"),
				Capacity: pulumi.Int(1),
			},
		})
		if err != nil {
			return err
		}
		followedCluster, err := kusto.NewCluster(ctx, "followedCluster", &kusto.ClusterArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			Sku: &kusto.ClusterSkuArgs{
				Name:     pulumi.String("Dev(No SLA)_Standard_D11_v2"),
				Capacity: pulumi.Int(1),
			},
		})
		if err != nil {
			return err
		}
		_, err = kusto.NewDatabase(ctx, "followedDatabase", &kusto.DatabaseArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			Location:          exampleResourceGroup.Location,
			ClusterName:       followerCluster.Name,
		})
		if err != nil {
			return err
		}
		exampleDatabase, err := kusto.NewDatabase(ctx, "exampleDatabase", &kusto.DatabaseArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			Location:          exampleResourceGroup.Location,
			ClusterName:       followerCluster.Name,
		})
		if err != nil {
			return err
		}
		_, err = kusto.NewAttachedDatabaseConfiguration(ctx, "exampleAttachedDatabaseConfiguration", &kusto.AttachedDatabaseConfigurationArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			Location:          exampleResourceGroup.Location,
			ClusterName:       followerCluster.Name,
			ClusterResourceId: followedCluster.ID(),
			DatabaseName:      exampleDatabase.Name,
			Sharing: &kusto.AttachedDatabaseConfigurationSharingArgs{
				ExternalTablesToExcludes: pulumi.StringArray{
					pulumi.String("ExternalTable2"),
				},
				ExternalTablesToIncludes: pulumi.StringArray{
					pulumi.String("ExternalTable1"),
				},
				MaterializedViewsToExcludes: pulumi.StringArray{
					pulumi.String("MaterializedViewTable2"),
				},
				MaterializedViewsToIncludes: pulumi.StringArray{
					pulumi.String("MaterializedViewTable1"),
				},
				TablesToExcludes: pulumi.StringArray{
					pulumi.String("Table2"),
				},
				TablesToIncludes: pulumi.StringArray{
					pulumi.String("Table1"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

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

```

func GetAttachedDatabaseConfiguration

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

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

func NewAttachedDatabaseConfiguration

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

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

func (*AttachedDatabaseConfiguration) ElementType

func (*AttachedDatabaseConfiguration) ToAttachedDatabaseConfigurationOutput

func (i *AttachedDatabaseConfiguration) ToAttachedDatabaseConfigurationOutput() AttachedDatabaseConfigurationOutput

func (*AttachedDatabaseConfiguration) ToAttachedDatabaseConfigurationOutputWithContext

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

type AttachedDatabaseConfigurationArgs

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

The set of arguments for constructing a AttachedDatabaseConfiguration resource.

func (AttachedDatabaseConfigurationArgs) ElementType

type AttachedDatabaseConfigurationArray

type AttachedDatabaseConfigurationArray []AttachedDatabaseConfigurationInput

func (AttachedDatabaseConfigurationArray) ElementType

func (AttachedDatabaseConfigurationArray) ToAttachedDatabaseConfigurationArrayOutput

func (i AttachedDatabaseConfigurationArray) ToAttachedDatabaseConfigurationArrayOutput() AttachedDatabaseConfigurationArrayOutput

func (AttachedDatabaseConfigurationArray) ToAttachedDatabaseConfigurationArrayOutputWithContext

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

type AttachedDatabaseConfigurationArrayInput

type AttachedDatabaseConfigurationArrayInput interface {
	pulumi.Input

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

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

AttachedDatabaseConfigurationArray{ AttachedDatabaseConfigurationArgs{...} }

type AttachedDatabaseConfigurationArrayOutput

type AttachedDatabaseConfigurationArrayOutput struct{ *pulumi.OutputState }

func (AttachedDatabaseConfigurationArrayOutput) ElementType

func (AttachedDatabaseConfigurationArrayOutput) Index

func (AttachedDatabaseConfigurationArrayOutput) ToAttachedDatabaseConfigurationArrayOutput

func (o AttachedDatabaseConfigurationArrayOutput) ToAttachedDatabaseConfigurationArrayOutput() AttachedDatabaseConfigurationArrayOutput

func (AttachedDatabaseConfigurationArrayOutput) ToAttachedDatabaseConfigurationArrayOutputWithContext

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

type AttachedDatabaseConfigurationInput

type AttachedDatabaseConfigurationInput interface {
	pulumi.Input

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

type AttachedDatabaseConfigurationMap

type AttachedDatabaseConfigurationMap map[string]AttachedDatabaseConfigurationInput

func (AttachedDatabaseConfigurationMap) ElementType

func (AttachedDatabaseConfigurationMap) ToAttachedDatabaseConfigurationMapOutput

func (i AttachedDatabaseConfigurationMap) ToAttachedDatabaseConfigurationMapOutput() AttachedDatabaseConfigurationMapOutput

func (AttachedDatabaseConfigurationMap) ToAttachedDatabaseConfigurationMapOutputWithContext

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

type AttachedDatabaseConfigurationMapInput

type AttachedDatabaseConfigurationMapInput interface {
	pulumi.Input

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

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

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

type AttachedDatabaseConfigurationMapOutput

type AttachedDatabaseConfigurationMapOutput struct{ *pulumi.OutputState }

func (AttachedDatabaseConfigurationMapOutput) ElementType

func (AttachedDatabaseConfigurationMapOutput) MapIndex

func (AttachedDatabaseConfigurationMapOutput) ToAttachedDatabaseConfigurationMapOutput

func (o AttachedDatabaseConfigurationMapOutput) ToAttachedDatabaseConfigurationMapOutput() AttachedDatabaseConfigurationMapOutput

func (AttachedDatabaseConfigurationMapOutput) ToAttachedDatabaseConfigurationMapOutputWithContext

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

type AttachedDatabaseConfigurationOutput

type AttachedDatabaseConfigurationOutput struct{ *pulumi.OutputState }

func (AttachedDatabaseConfigurationOutput) AttachedDatabaseNames added in v5.5.0

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

func (AttachedDatabaseConfigurationOutput) ClusterName added in v5.5.0

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

func (AttachedDatabaseConfigurationOutput) ClusterResourceId added in v5.5.0

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

func (AttachedDatabaseConfigurationOutput) DatabaseName added in v5.5.0

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

func (AttachedDatabaseConfigurationOutput) DefaultPrincipalModificationKind added in v5.5.0

func (o AttachedDatabaseConfigurationOutput) DefaultPrincipalModificationKind() pulumi.StringPtrOutput

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

func (AttachedDatabaseConfigurationOutput) ElementType

func (AttachedDatabaseConfigurationOutput) Location added in v5.5.0

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

func (AttachedDatabaseConfigurationOutput) Name added in v5.5.0

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

func (AttachedDatabaseConfigurationOutput) ResourceGroupName added in v5.5.0

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

func (AttachedDatabaseConfigurationOutput) Sharing added in v5.5.0

A `sharing` block as defined below.

func (AttachedDatabaseConfigurationOutput) ToAttachedDatabaseConfigurationOutput

func (o AttachedDatabaseConfigurationOutput) ToAttachedDatabaseConfigurationOutput() AttachedDatabaseConfigurationOutput

func (AttachedDatabaseConfigurationOutput) ToAttachedDatabaseConfigurationOutputWithContext

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

type AttachedDatabaseConfigurationSharing

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

type AttachedDatabaseConfigurationSharingArgs

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

func (AttachedDatabaseConfigurationSharingArgs) ElementType

func (AttachedDatabaseConfigurationSharingArgs) ToAttachedDatabaseConfigurationSharingOutput

func (i AttachedDatabaseConfigurationSharingArgs) ToAttachedDatabaseConfigurationSharingOutput() AttachedDatabaseConfigurationSharingOutput

func (AttachedDatabaseConfigurationSharingArgs) ToAttachedDatabaseConfigurationSharingOutputWithContext

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

func (AttachedDatabaseConfigurationSharingArgs) ToAttachedDatabaseConfigurationSharingPtrOutput

func (i AttachedDatabaseConfigurationSharingArgs) ToAttachedDatabaseConfigurationSharingPtrOutput() AttachedDatabaseConfigurationSharingPtrOutput

func (AttachedDatabaseConfigurationSharingArgs) ToAttachedDatabaseConfigurationSharingPtrOutputWithContext

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

type AttachedDatabaseConfigurationSharingInput

type AttachedDatabaseConfigurationSharingInput interface {
	pulumi.Input

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

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

AttachedDatabaseConfigurationSharingArgs{...}

type AttachedDatabaseConfigurationSharingOutput

type AttachedDatabaseConfigurationSharingOutput struct{ *pulumi.OutputState }

func (AttachedDatabaseConfigurationSharingOutput) ElementType

func (AttachedDatabaseConfigurationSharingOutput) ExternalTablesToExcludes

List of external tables exclude from the follower database.

func (AttachedDatabaseConfigurationSharingOutput) ExternalTablesToIncludes

List of external tables to include in the follower database.

func (AttachedDatabaseConfigurationSharingOutput) MaterializedViewsToExcludes

List of materialized views exclude from the follower database.

func (AttachedDatabaseConfigurationSharingOutput) MaterializedViewsToIncludes

List of materialized views to include in the follower database.

func (AttachedDatabaseConfigurationSharingOutput) TablesToExcludes

List of tables to exclude from the follower database.

func (AttachedDatabaseConfigurationSharingOutput) TablesToIncludes

List of tables to include in the follower database.

func (AttachedDatabaseConfigurationSharingOutput) ToAttachedDatabaseConfigurationSharingOutput

func (o AttachedDatabaseConfigurationSharingOutput) ToAttachedDatabaseConfigurationSharingOutput() AttachedDatabaseConfigurationSharingOutput

func (AttachedDatabaseConfigurationSharingOutput) ToAttachedDatabaseConfigurationSharingOutputWithContext

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

func (AttachedDatabaseConfigurationSharingOutput) ToAttachedDatabaseConfigurationSharingPtrOutput

func (o AttachedDatabaseConfigurationSharingOutput) ToAttachedDatabaseConfigurationSharingPtrOutput() AttachedDatabaseConfigurationSharingPtrOutput

func (AttachedDatabaseConfigurationSharingOutput) ToAttachedDatabaseConfigurationSharingPtrOutputWithContext

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

type AttachedDatabaseConfigurationSharingPtrInput

type AttachedDatabaseConfigurationSharingPtrInput interface {
	pulumi.Input

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

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

        AttachedDatabaseConfigurationSharingArgs{...}

or:

        nil

type AttachedDatabaseConfigurationSharingPtrOutput

type AttachedDatabaseConfigurationSharingPtrOutput struct{ *pulumi.OutputState }

func (AttachedDatabaseConfigurationSharingPtrOutput) Elem

func (AttachedDatabaseConfigurationSharingPtrOutput) ElementType

func (AttachedDatabaseConfigurationSharingPtrOutput) ExternalTablesToExcludes

List of external tables exclude from the follower database.

func (AttachedDatabaseConfigurationSharingPtrOutput) ExternalTablesToIncludes

List of external tables to include in the follower database.

func (AttachedDatabaseConfigurationSharingPtrOutput) MaterializedViewsToExcludes

List of materialized views exclude from the follower database.

func (AttachedDatabaseConfigurationSharingPtrOutput) MaterializedViewsToIncludes

List of materialized views to include in the follower database.

func (AttachedDatabaseConfigurationSharingPtrOutput) TablesToExcludes

List of tables to exclude from the follower database.

func (AttachedDatabaseConfigurationSharingPtrOutput) TablesToIncludes

List of tables to include in the follower database.

func (AttachedDatabaseConfigurationSharingPtrOutput) ToAttachedDatabaseConfigurationSharingPtrOutput

func (o AttachedDatabaseConfigurationSharingPtrOutput) ToAttachedDatabaseConfigurationSharingPtrOutput() AttachedDatabaseConfigurationSharingPtrOutput

func (AttachedDatabaseConfigurationSharingPtrOutput) ToAttachedDatabaseConfigurationSharingPtrOutputWithContext

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

type AttachedDatabaseConfigurationState

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

func (AttachedDatabaseConfigurationState) ElementType

type Cluster

type Cluster struct {
	pulumi.CustomResourceState

	// List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster.
	AllowedFqdns pulumi.StringArrayOutput `pulumi:"allowedFqdns"`
	// The list of ips in the format of CIDR allowed to connect to the cluster.
	AllowedIpRanges pulumi.StringArrayOutput `pulumi:"allowedIpRanges"`
	// Specifies if the cluster could be automatically stopped (due to lack of data or no activity for many days). Defaults to `true`.
	AutoStopEnabled pulumi.BoolPtrOutput `pulumi:"autoStopEnabled"`
	// The Kusto Cluster URI to be used for data ingestion.
	DataIngestionUri pulumi.StringOutput `pulumi:"dataIngestionUri"`
	// Specifies if the cluster's disks are encrypted.
	DiskEncryptionEnabled pulumi.BoolPtrOutput `pulumi:"diskEncryptionEnabled"`
	// Is the cluster's double encryption enabled?  Changing this forces a new resource to be created.
	DoubleEncryptionEnabled pulumi.BoolPtrOutput `pulumi:"doubleEncryptionEnabled"`
	// . The engine type that will be used in the backend. Possible values are `V2` and `V3`. Defaults to `V2`. Changing this forces a new Kusto Cluster to be created.
	Engine pulumi.StringPtrOutput `pulumi:"engine"`
	// An `identity` block as defined below.
	Identity ClusterIdentityPtrOutput `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. Only lowercase Alphanumeric characters allowed, starting with a letter. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// An `optimizedAutoScale` block as defined below.
	OptimizedAutoScale ClusterOptimizedAutoScalePtrOutput `pulumi:"optimizedAutoScale"`
	// Whether to restrict outbound network access. Value is optional but if passed in, must be `true` or `false`, default is `false`.
	OutboundNetworkAccessRestricted pulumi.BoolPtrOutput `pulumi:"outboundNetworkAccessRestricted"`
	// Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6).
	PublicIpType pulumi.StringPtrOutput `pulumi:"publicIpType"`
	// Is the public network access enabled? Defaults to `true`.
	PublicNetworkAccessEnabled pulumi.BoolPtrOutput `pulumi:"publicNetworkAccessEnabled"`
	// Specifies if the purge operations are enabled.
	PurgeEnabled pulumi.BoolPtrOutput `pulumi:"purgeEnabled"`
	// Specifies the Resource Group where the Kusto Cluster should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// A `sku` block as defined below.
	Sku ClusterSkuOutput `pulumi:"sku"`
	// Specifies if the streaming ingest is enabled.
	StreamingIngestionEnabled pulumi.BoolPtrOutput `pulumi:"streamingIngestionEnabled"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Specifies a list of tenant IDs that are trusted by the cluster. Default setting trusts all other tenants. Use `trustedExternalTenants = ["*"]` to explicitly allow all other tenants, `trustedExternalTenants = ["MyTenantOnly"]` for only your tenant or `trustedExternalTenants = ["<tenantId1>", "<tenantIdx>"]` to allow specific other tenants.
	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"`
	// Specifies a list of Availability Zones in which this Kusto Cluster should be located. Changing this forces a new Kusto Cluster to be created.
	Zones pulumi.StringArrayOutput `pulumi:"zones"`
}

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/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
		}
		_, 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),
			},
			Tags: pulumi.StringMap{
				"Environment": pulumi.String("Production"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

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

```

func GetCluster

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

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

func NewCluster

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

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

func (*Cluster) ElementType

func (*Cluster) ElementType() reflect.Type

func (*Cluster) ToClusterOutput

func (i *Cluster) ToClusterOutput() ClusterOutput

func (*Cluster) ToClusterOutputWithContext

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

type ClusterArgs

type ClusterArgs struct {
	// List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster.
	AllowedFqdns pulumi.StringArrayInput
	// The list of ips in the format of CIDR allowed to connect to the cluster.
	AllowedIpRanges pulumi.StringArrayInput
	// Specifies if the cluster could be automatically stopped (due to lack of data or no activity for many days). Defaults to `true`.
	AutoStopEnabled pulumi.BoolPtrInput
	// Specifies if the cluster's disks are encrypted.
	DiskEncryptionEnabled pulumi.BoolPtrInput
	// Is the cluster's double encryption enabled?  Changing this forces a new resource to be created.
	DoubleEncryptionEnabled pulumi.BoolPtrInput
	// . The engine type that will be used in the backend. Possible values are `V2` and `V3`. Defaults to `V2`. Changing this forces a new Kusto Cluster to be created.
	Engine pulumi.StringPtrInput
	// An `identity` block as defined below.
	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. Only lowercase Alphanumeric characters allowed, starting with a letter. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// An `optimizedAutoScale` block as defined below.
	OptimizedAutoScale ClusterOptimizedAutoScalePtrInput
	// Whether to restrict outbound network access. Value is optional but if passed in, must be `true` or `false`, default is `false`.
	OutboundNetworkAccessRestricted pulumi.BoolPtrInput
	// Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6).
	PublicIpType pulumi.StringPtrInput
	// Is the public network access enabled? Defaults to `true`.
	PublicNetworkAccessEnabled pulumi.BoolPtrInput
	// Specifies if the purge operations are enabled.
	PurgeEnabled pulumi.BoolPtrInput
	// Specifies the Resource Group where the Kusto Cluster should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// A `sku` block as defined below.
	Sku ClusterSkuInput
	// Specifies if the streaming ingest is enabled.
	StreamingIngestionEnabled pulumi.BoolPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Specifies a list of tenant IDs that are trusted by the cluster. Default setting trusts all other tenants. Use `trustedExternalTenants = ["*"]` to explicitly allow all other tenants, `trustedExternalTenants = ["MyTenantOnly"]` for only your tenant or `trustedExternalTenants = ["<tenantId1>", "<tenantIdx>"]` to allow specific other tenants.
	TrustedExternalTenants pulumi.StringArrayInput
	// A `virtualNetworkConfiguration` block as defined below. Changing this forces a new resource to be created.
	VirtualNetworkConfiguration ClusterVirtualNetworkConfigurationPtrInput
	// Specifies a list of Availability Zones in which this Kusto Cluster should be located. Changing this forces a new Kusto Cluster to be created.
	Zones pulumi.StringArrayInput
}

The set of arguments for constructing a Cluster resource.

func (ClusterArgs) ElementType

func (ClusterArgs) ElementType() reflect.Type

type ClusterArray

type ClusterArray []ClusterInput

func (ClusterArray) ElementType

func (ClusterArray) ElementType() reflect.Type

func (ClusterArray) ToClusterArrayOutput

func (i ClusterArray) ToClusterArrayOutput() ClusterArrayOutput

func (ClusterArray) ToClusterArrayOutputWithContext

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

type ClusterArrayInput

type ClusterArrayInput interface {
	pulumi.Input

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

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

ClusterArray{ ClusterArgs{...} }

type ClusterArrayOutput

type ClusterArrayOutput struct{ *pulumi.OutputState }

func (ClusterArrayOutput) ElementType

func (ClusterArrayOutput) ElementType() reflect.Type

func (ClusterArrayOutput) Index

func (ClusterArrayOutput) ToClusterArrayOutput

func (o ClusterArrayOutput) ToClusterArrayOutput() ClusterArrayOutput

func (ClusterArrayOutput) ToClusterArrayOutputWithContext

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

type ClusterCustomerManagedKey

type ClusterCustomerManagedKey struct {
	pulumi.CustomResourceState

	// The ID of the Kusto Cluster. Changing this forces a new resource to be created.
	ClusterId pulumi.StringOutput `pulumi:"clusterId"`
	// The name of Key Vault Key.
	KeyName pulumi.StringOutput `pulumi:"keyName"`
	// The ID of the Key Vault.
	KeyVaultId pulumi.StringOutput `pulumi:"keyVaultId"`
	// The version of Key Vault Key.
	KeyVersion pulumi.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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault"
"github.com/pulumi/pulumi-azure/sdk/v5/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:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.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.StringPtrOutput),
			KeyPermissions: pulumi.StringArray{
				pulumi.String("Get"),
				pulumi.String("UnwrapKey"),
				pulumi.String("WrapKey"),
			},
		})
		if err != nil {
			return err
		}
		client, err := keyvault.NewAccessPolicy(ctx, "client", &keyvault.AccessPolicyArgs{
			KeyVaultId: exampleKeyVault.ID(),
			TenantId:   *pulumi.String(current.TenantId),
			ObjectId:   *pulumi.String(current.ObjectId),
			KeyPermissions: pulumi.StringArray{
				pulumi.String("Get"),
				pulumi.String("List"),
				pulumi.String("Create"),
				pulumi.String("Delete"),
				pulumi.String("Recover"),
			},
		})
		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

type ClusterCustomerManagedKeyArgs

type ClusterCustomerManagedKeyArgs struct {
	// The ID of the Kusto Cluster. Changing this forces a new resource to be created.
	ClusterId pulumi.StringInput
	// The name of Key Vault Key.
	KeyName pulumi.StringInput
	// The ID of the Key Vault.
	KeyVaultId pulumi.StringInput
	// The version of Key Vault Key.
	KeyVersion pulumi.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) ClusterId added in v5.5.0

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

func (ClusterCustomerManagedKeyOutput) ElementType

func (ClusterCustomerManagedKeyOutput) KeyName added in v5.5.0

The name of Key Vault Key.

func (ClusterCustomerManagedKeyOutput) KeyVaultId added in v5.5.0

The ID of the Key Vault.

func (ClusterCustomerManagedKeyOutput) KeyVersion added in v5.5.0

The version of Key Vault Key.

func (ClusterCustomerManagedKeyOutput) ToClusterCustomerManagedKeyOutput

func (o ClusterCustomerManagedKeyOutput) ToClusterCustomerManagedKeyOutput() ClusterCustomerManagedKeyOutput

func (ClusterCustomerManagedKeyOutput) ToClusterCustomerManagedKeyOutputWithContext

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

func (ClusterCustomerManagedKeyOutput) UserIdentity added in v5.5.0

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

type ClusterCustomerManagedKeyState

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

func (ClusterCustomerManagedKeyState) ElementType

type ClusterIdentity

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

type ClusterIdentityArgs

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

func (ClusterIdentityArgs) ElementType

func (ClusterIdentityArgs) ElementType() reflect.Type

func (ClusterIdentityArgs) ToClusterIdentityOutput

func (i ClusterIdentityArgs) ToClusterIdentityOutput() ClusterIdentityOutput

func (ClusterIdentityArgs) ToClusterIdentityOutputWithContext

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

func (ClusterIdentityArgs) ToClusterIdentityPtrOutput

func (i ClusterIdentityArgs) ToClusterIdentityPtrOutput() ClusterIdentityPtrOutput

func (ClusterIdentityArgs) ToClusterIdentityPtrOutputWithContext

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

type ClusterIdentityInput

type ClusterIdentityInput interface {
	pulumi.Input

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

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

ClusterIdentityArgs{...}

type ClusterIdentityOutput

type ClusterIdentityOutput struct{ *pulumi.OutputState }

func (ClusterIdentityOutput) ElementType

func (ClusterIdentityOutput) ElementType() reflect.Type

func (ClusterIdentityOutput) IdentityIds

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

func (ClusterIdentityOutput) PrincipalId

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

func (ClusterIdentityOutput) TenantId

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

func (ClusterIdentityOutput) ToClusterIdentityOutput

func (o ClusterIdentityOutput) ToClusterIdentityOutput() ClusterIdentityOutput

func (ClusterIdentityOutput) ToClusterIdentityOutputWithContext

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

func (ClusterIdentityOutput) ToClusterIdentityPtrOutput

func (o ClusterIdentityOutput) ToClusterIdentityPtrOutput() ClusterIdentityPtrOutput

func (ClusterIdentityOutput) ToClusterIdentityPtrOutputWithContext

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

func (ClusterIdentityOutput) Type

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

type ClusterIdentityPtrInput

type ClusterIdentityPtrInput interface {
	pulumi.Input

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

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

        ClusterIdentityArgs{...}

or:

        nil

type ClusterIdentityPtrOutput

type ClusterIdentityPtrOutput struct{ *pulumi.OutputState }

func (ClusterIdentityPtrOutput) Elem

func (ClusterIdentityPtrOutput) ElementType

func (ClusterIdentityPtrOutput) ElementType() reflect.Type

func (ClusterIdentityPtrOutput) IdentityIds

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

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 ClusterManagedPrivateEndpoint added in v5.15.0

type ClusterManagedPrivateEndpoint struct {
	pulumi.CustomResourceState

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

Manages a Managed Private Endpoint for a Kusto Cluster.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := core.GetClientConfig(ctx, nil, nil)
		if err != nil {
			return err
		}
		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("Dev(No SLA)_Standard_D11_v2"),
				Capacity: pulumi.Int(1),
			},
		})
		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("LRS"),
		})
		if err != nil {
			return err
		}
		_, err = kusto.NewClusterManagedPrivateEndpoint(ctx, "exampleClusterManagedPrivateEndpoint", &kusto.ClusterManagedPrivateEndpointArgs{
			ResourceGroupName:         exampleResourceGroup.Name,
			ClusterName:               exampleCluster.Name,
			PrivateLinkResourceId:     exampleAccount.ID(),
			PrivateLinkResourceRegion: exampleAccount.Location,
			GroupId:                   pulumi.String("blob"),
			RequestMessage:            pulumi.String("Please Approve"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

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

```

func GetClusterManagedPrivateEndpoint added in v5.15.0

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

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

func NewClusterManagedPrivateEndpoint added in v5.15.0

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

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

func (*ClusterManagedPrivateEndpoint) ElementType added in v5.15.0

func (*ClusterManagedPrivateEndpoint) ToClusterManagedPrivateEndpointOutput added in v5.15.0

func (i *ClusterManagedPrivateEndpoint) ToClusterManagedPrivateEndpointOutput() ClusterManagedPrivateEndpointOutput

func (*ClusterManagedPrivateEndpoint) ToClusterManagedPrivateEndpointOutputWithContext added in v5.15.0

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

type ClusterManagedPrivateEndpointArgs added in v5.15.0

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

The set of arguments for constructing a ClusterManagedPrivateEndpoint resource.

func (ClusterManagedPrivateEndpointArgs) ElementType added in v5.15.0

type ClusterManagedPrivateEndpointArray added in v5.15.0

type ClusterManagedPrivateEndpointArray []ClusterManagedPrivateEndpointInput

func (ClusterManagedPrivateEndpointArray) ElementType added in v5.15.0

func (ClusterManagedPrivateEndpointArray) ToClusterManagedPrivateEndpointArrayOutput added in v5.15.0

func (i ClusterManagedPrivateEndpointArray) ToClusterManagedPrivateEndpointArrayOutput() ClusterManagedPrivateEndpointArrayOutput

func (ClusterManagedPrivateEndpointArray) ToClusterManagedPrivateEndpointArrayOutputWithContext added in v5.15.0

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

type ClusterManagedPrivateEndpointArrayInput added in v5.15.0

type ClusterManagedPrivateEndpointArrayInput interface {
	pulumi.Input

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

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

ClusterManagedPrivateEndpointArray{ ClusterManagedPrivateEndpointArgs{...} }

type ClusterManagedPrivateEndpointArrayOutput added in v5.15.0

type ClusterManagedPrivateEndpointArrayOutput struct{ *pulumi.OutputState }

func (ClusterManagedPrivateEndpointArrayOutput) ElementType added in v5.15.0

func (ClusterManagedPrivateEndpointArrayOutput) Index added in v5.15.0

func (ClusterManagedPrivateEndpointArrayOutput) ToClusterManagedPrivateEndpointArrayOutput added in v5.15.0

func (o ClusterManagedPrivateEndpointArrayOutput) ToClusterManagedPrivateEndpointArrayOutput() ClusterManagedPrivateEndpointArrayOutput

func (ClusterManagedPrivateEndpointArrayOutput) ToClusterManagedPrivateEndpointArrayOutputWithContext added in v5.15.0

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

type ClusterManagedPrivateEndpointInput added in v5.15.0

type ClusterManagedPrivateEndpointInput interface {
	pulumi.Input

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

type ClusterManagedPrivateEndpointMap added in v5.15.0

type ClusterManagedPrivateEndpointMap map[string]ClusterManagedPrivateEndpointInput

func (ClusterManagedPrivateEndpointMap) ElementType added in v5.15.0

func (ClusterManagedPrivateEndpointMap) ToClusterManagedPrivateEndpointMapOutput added in v5.15.0

func (i ClusterManagedPrivateEndpointMap) ToClusterManagedPrivateEndpointMapOutput() ClusterManagedPrivateEndpointMapOutput

func (ClusterManagedPrivateEndpointMap) ToClusterManagedPrivateEndpointMapOutputWithContext added in v5.15.0

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

type ClusterManagedPrivateEndpointMapInput added in v5.15.0

type ClusterManagedPrivateEndpointMapInput interface {
	pulumi.Input

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

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

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

type ClusterManagedPrivateEndpointMapOutput added in v5.15.0

type ClusterManagedPrivateEndpointMapOutput struct{ *pulumi.OutputState }

func (ClusterManagedPrivateEndpointMapOutput) ElementType added in v5.15.0

func (ClusterManagedPrivateEndpointMapOutput) MapIndex added in v5.15.0

func (ClusterManagedPrivateEndpointMapOutput) ToClusterManagedPrivateEndpointMapOutput added in v5.15.0

func (o ClusterManagedPrivateEndpointMapOutput) ToClusterManagedPrivateEndpointMapOutput() ClusterManagedPrivateEndpointMapOutput

func (ClusterManagedPrivateEndpointMapOutput) ToClusterManagedPrivateEndpointMapOutputWithContext added in v5.15.0

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

type ClusterManagedPrivateEndpointOutput added in v5.15.0

type ClusterManagedPrivateEndpointOutput struct{ *pulumi.OutputState }

func (ClusterManagedPrivateEndpointOutput) ClusterName added in v5.15.0

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

func (ClusterManagedPrivateEndpointOutput) ElementType added in v5.15.0

func (ClusterManagedPrivateEndpointOutput) GroupId added in v5.15.0

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

func (ClusterManagedPrivateEndpointOutput) Name added in v5.15.0

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

func (ClusterManagedPrivateEndpointOutput) PrivateLinkResourceId added in v5.15.0

func (o ClusterManagedPrivateEndpointOutput) PrivateLinkResourceId() pulumi.StringOutput

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

func (ClusterManagedPrivateEndpointOutput) PrivateLinkResourceRegion added in v5.15.0

func (o ClusterManagedPrivateEndpointOutput) PrivateLinkResourceRegion() pulumi.StringPtrOutput

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

func (ClusterManagedPrivateEndpointOutput) RequestMessage added in v5.15.0

The user request message.

func (ClusterManagedPrivateEndpointOutput) ResourceGroupName added in v5.15.0

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

func (ClusterManagedPrivateEndpointOutput) ToClusterManagedPrivateEndpointOutput added in v5.15.0

func (o ClusterManagedPrivateEndpointOutput) ToClusterManagedPrivateEndpointOutput() ClusterManagedPrivateEndpointOutput

func (ClusterManagedPrivateEndpointOutput) ToClusterManagedPrivateEndpointOutputWithContext added in v5.15.0

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

type ClusterManagedPrivateEndpointState added in v5.15.0

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

func (ClusterManagedPrivateEndpointState) ElementType added in v5.15.0

type ClusterMap

type ClusterMap map[string]ClusterInput

func (ClusterMap) ElementType

func (ClusterMap) ElementType() reflect.Type

func (ClusterMap) ToClusterMapOutput

func (i ClusterMap) ToClusterMapOutput() ClusterMapOutput

func (ClusterMap) ToClusterMapOutputWithContext

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

type ClusterMapInput

type ClusterMapInput interface {
	pulumi.Input

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

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

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

type ClusterMapOutput

type ClusterMapOutput struct{ *pulumi.OutputState }

func (ClusterMapOutput) ElementType

func (ClusterMapOutput) ElementType() reflect.Type

func (ClusterMapOutput) MapIndex

func (ClusterMapOutput) ToClusterMapOutput

func (o ClusterMapOutput) ToClusterMapOutput() ClusterMapOutput

func (ClusterMapOutput) ToClusterMapOutputWithContext

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

type ClusterOptimizedAutoScale

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

type ClusterOptimizedAutoScaleArgs

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

func (ClusterOptimizedAutoScaleArgs) ElementType

func (ClusterOptimizedAutoScaleArgs) ToClusterOptimizedAutoScaleOutput

func (i ClusterOptimizedAutoScaleArgs) ToClusterOptimizedAutoScaleOutput() ClusterOptimizedAutoScaleOutput

func (ClusterOptimizedAutoScaleArgs) ToClusterOptimizedAutoScaleOutputWithContext

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

func (ClusterOptimizedAutoScaleArgs) ToClusterOptimizedAutoScalePtrOutput

func (i ClusterOptimizedAutoScaleArgs) ToClusterOptimizedAutoScalePtrOutput() ClusterOptimizedAutoScalePtrOutput

func (ClusterOptimizedAutoScaleArgs) ToClusterOptimizedAutoScalePtrOutputWithContext

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

type ClusterOptimizedAutoScaleInput

type ClusterOptimizedAutoScaleInput interface {
	pulumi.Input

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

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

ClusterOptimizedAutoScaleArgs{...}

type ClusterOptimizedAutoScaleOutput

type ClusterOptimizedAutoScaleOutput struct{ *pulumi.OutputState }

func (ClusterOptimizedAutoScaleOutput) ElementType

func (ClusterOptimizedAutoScaleOutput) MaximumInstances

func (o ClusterOptimizedAutoScaleOutput) MaximumInstances() pulumi.IntOutput

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

func (ClusterOptimizedAutoScaleOutput) MinimumInstances

func (o ClusterOptimizedAutoScaleOutput) MinimumInstances() pulumi.IntOutput

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

func (ClusterOptimizedAutoScaleOutput) ToClusterOptimizedAutoScaleOutput

func (o ClusterOptimizedAutoScaleOutput) ToClusterOptimizedAutoScaleOutput() ClusterOptimizedAutoScaleOutput

func (ClusterOptimizedAutoScaleOutput) ToClusterOptimizedAutoScaleOutputWithContext

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

func (ClusterOptimizedAutoScaleOutput) ToClusterOptimizedAutoScalePtrOutput

func (o ClusterOptimizedAutoScaleOutput) ToClusterOptimizedAutoScalePtrOutput() ClusterOptimizedAutoScalePtrOutput

func (ClusterOptimizedAutoScaleOutput) ToClusterOptimizedAutoScalePtrOutputWithContext

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

type ClusterOptimizedAutoScalePtrInput

type ClusterOptimizedAutoScalePtrInput interface {
	pulumi.Input

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

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

        ClusterOptimizedAutoScaleArgs{...}

or:

        nil

type ClusterOptimizedAutoScalePtrOutput

type ClusterOptimizedAutoScalePtrOutput struct{ *pulumi.OutputState }

func (ClusterOptimizedAutoScalePtrOutput) Elem

func (ClusterOptimizedAutoScalePtrOutput) ElementType

func (ClusterOptimizedAutoScalePtrOutput) MaximumInstances

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

func (ClusterOptimizedAutoScalePtrOutput) MinimumInstances

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

func (ClusterOptimizedAutoScalePtrOutput) ToClusterOptimizedAutoScalePtrOutput

func (o ClusterOptimizedAutoScalePtrOutput) ToClusterOptimizedAutoScalePtrOutput() ClusterOptimizedAutoScalePtrOutput

func (ClusterOptimizedAutoScalePtrOutput) ToClusterOptimizedAutoScalePtrOutputWithContext

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

type ClusterOutput

type ClusterOutput struct{ *pulumi.OutputState }

func (ClusterOutput) AllowedFqdns added in v5.14.0

func (o ClusterOutput) AllowedFqdns() pulumi.StringArrayOutput

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

func (ClusterOutput) AllowedIpRanges added in v5.14.0

func (o ClusterOutput) AllowedIpRanges() pulumi.StringArrayOutput

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

func (ClusterOutput) AutoStopEnabled added in v5.5.0

func (o ClusterOutput) AutoStopEnabled() pulumi.BoolPtrOutput

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

func (ClusterOutput) DataIngestionUri added in v5.5.0

func (o ClusterOutput) DataIngestionUri() pulumi.StringOutput

The Kusto Cluster URI to be used for data ingestion.

func (ClusterOutput) DiskEncryptionEnabled added in v5.5.0

func (o ClusterOutput) DiskEncryptionEnabled() pulumi.BoolPtrOutput

Specifies if the cluster's disks are encrypted.

func (ClusterOutput) DoubleEncryptionEnabled added in v5.5.0

func (o ClusterOutput) DoubleEncryptionEnabled() pulumi.BoolPtrOutput

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

func (ClusterOutput) ElementType

func (ClusterOutput) ElementType() reflect.Type

func (ClusterOutput) Engine added in v5.5.0

. The engine type that will be used in the backend. Possible values are `V2` and `V3`. Defaults to `V2`. Changing this forces a new Kusto Cluster to be created.

func (ClusterOutput) Identity added in v5.5.0

An `identity` block as defined below.

func (ClusterOutput) LanguageExtensions added in v5.5.0

func (o ClusterOutput) LanguageExtensions() pulumi.StringArrayOutput

An list of `languageExtensions` to enable. Valid values are: `PYTHON` and `R`.

func (ClusterOutput) Location added in v5.5.0

func (o ClusterOutput) Location() pulumi.StringOutput

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

func (ClusterOutput) Name added in v5.5.0

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

func (ClusterOutput) OptimizedAutoScale added in v5.5.0

func (o ClusterOutput) OptimizedAutoScale() ClusterOptimizedAutoScalePtrOutput

An `optimizedAutoScale` block as defined below.

func (ClusterOutput) OutboundNetworkAccessRestricted added in v5.14.0

func (o ClusterOutput) OutboundNetworkAccessRestricted() pulumi.BoolPtrOutput

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

func (ClusterOutput) PublicIpType added in v5.13.0

func (o ClusterOutput) PublicIpType() pulumi.StringPtrOutput

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

func (ClusterOutput) PublicNetworkAccessEnabled added in v5.5.0

func (o ClusterOutput) PublicNetworkAccessEnabled() pulumi.BoolPtrOutput

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

func (ClusterOutput) PurgeEnabled added in v5.5.0

func (o ClusterOutput) PurgeEnabled() pulumi.BoolPtrOutput

Specifies if the purge operations are enabled.

func (ClusterOutput) ResourceGroupName added in v5.5.0

func (o ClusterOutput) ResourceGroupName() pulumi.StringOutput

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

func (ClusterOutput) Sku added in v5.5.0

A `sku` block as defined below.

func (ClusterOutput) StreamingIngestionEnabled added in v5.5.0

func (o ClusterOutput) StreamingIngestionEnabled() pulumi.BoolPtrOutput

Specifies if the streaming ingest is enabled.

func (ClusterOutput) Tags added in v5.5.0

A mapping of tags to assign to the resource.

func (ClusterOutput) ToClusterOutput

func (o ClusterOutput) ToClusterOutput() ClusterOutput

func (ClusterOutput) ToClusterOutputWithContext

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

func (ClusterOutput) TrustedExternalTenants added in v5.5.0

func (o ClusterOutput) TrustedExternalTenants() pulumi.StringArrayOutput

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

func (ClusterOutput) Uri added in v5.5.0

The FQDN of the Azure Kusto Cluster.

func (ClusterOutput) VirtualNetworkConfiguration added in v5.5.0

func (o ClusterOutput) VirtualNetworkConfiguration() ClusterVirtualNetworkConfigurationPtrOutput

A `virtualNetworkConfiguration` block as defined below. Changing this forces a new resource to be created.

func (ClusterOutput) Zones added in v5.5.0

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

type ClusterPrincipalAssignment

type ClusterPrincipalAssignment struct {
	pulumi.CustomResourceState

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

Manages a Kusto Cluster Principal Assignment.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/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
		}
		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
		}
		_, err = kusto.NewClusterPrincipalAssignment(ctx, "exampleClusterPrincipalAssignment", &kusto.ClusterPrincipalAssignmentArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			ClusterName:       exampleCluster.Name,
			TenantId:          *pulumi.String(current.TenantId),
			PrincipalId:       *pulumi.String(current.ClientId),
			PrincipalType:     pulumi.String("App"),
			Role:              pulumi.String("AllDatabasesAdmin"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

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

```

func GetClusterPrincipalAssignment

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

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

func NewClusterPrincipalAssignment

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

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

func (*ClusterPrincipalAssignment) ElementType

func (*ClusterPrincipalAssignment) ElementType() reflect.Type

func (*ClusterPrincipalAssignment) ToClusterPrincipalAssignmentOutput

func (i *ClusterPrincipalAssignment) ToClusterPrincipalAssignmentOutput() ClusterPrincipalAssignmentOutput

func (*ClusterPrincipalAssignment) ToClusterPrincipalAssignmentOutputWithContext

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

type ClusterPrincipalAssignmentArgs

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

The set of arguments for constructing a ClusterPrincipalAssignment resource.

func (ClusterPrincipalAssignmentArgs) ElementType

type ClusterPrincipalAssignmentArray

type ClusterPrincipalAssignmentArray []ClusterPrincipalAssignmentInput

func (ClusterPrincipalAssignmentArray) ElementType

func (ClusterPrincipalAssignmentArray) ToClusterPrincipalAssignmentArrayOutput

func (i ClusterPrincipalAssignmentArray) ToClusterPrincipalAssignmentArrayOutput() ClusterPrincipalAssignmentArrayOutput

func (ClusterPrincipalAssignmentArray) ToClusterPrincipalAssignmentArrayOutputWithContext

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

type ClusterPrincipalAssignmentArrayInput

type ClusterPrincipalAssignmentArrayInput interface {
	pulumi.Input

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

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

ClusterPrincipalAssignmentArray{ ClusterPrincipalAssignmentArgs{...} }

type ClusterPrincipalAssignmentArrayOutput

type ClusterPrincipalAssignmentArrayOutput struct{ *pulumi.OutputState }

func (ClusterPrincipalAssignmentArrayOutput) ElementType

func (ClusterPrincipalAssignmentArrayOutput) Index

func (ClusterPrincipalAssignmentArrayOutput) ToClusterPrincipalAssignmentArrayOutput

func (o ClusterPrincipalAssignmentArrayOutput) ToClusterPrincipalAssignmentArrayOutput() ClusterPrincipalAssignmentArrayOutput

func (ClusterPrincipalAssignmentArrayOutput) ToClusterPrincipalAssignmentArrayOutputWithContext

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

type ClusterPrincipalAssignmentInput

type ClusterPrincipalAssignmentInput interface {
	pulumi.Input

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

type ClusterPrincipalAssignmentMap

type ClusterPrincipalAssignmentMap map[string]ClusterPrincipalAssignmentInput

func (ClusterPrincipalAssignmentMap) ElementType

func (ClusterPrincipalAssignmentMap) ToClusterPrincipalAssignmentMapOutput

func (i ClusterPrincipalAssignmentMap) ToClusterPrincipalAssignmentMapOutput() ClusterPrincipalAssignmentMapOutput

func (ClusterPrincipalAssignmentMap) ToClusterPrincipalAssignmentMapOutputWithContext

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

type ClusterPrincipalAssignmentMapInput

type ClusterPrincipalAssignmentMapInput interface {
	pulumi.Input

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

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

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

type ClusterPrincipalAssignmentMapOutput

type ClusterPrincipalAssignmentMapOutput struct{ *pulumi.OutputState }

func (ClusterPrincipalAssignmentMapOutput) ElementType

func (ClusterPrincipalAssignmentMapOutput) MapIndex

func (ClusterPrincipalAssignmentMapOutput) ToClusterPrincipalAssignmentMapOutput

func (o ClusterPrincipalAssignmentMapOutput) ToClusterPrincipalAssignmentMapOutput() ClusterPrincipalAssignmentMapOutput

func (ClusterPrincipalAssignmentMapOutput) ToClusterPrincipalAssignmentMapOutputWithContext

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

type ClusterPrincipalAssignmentOutput

type ClusterPrincipalAssignmentOutput struct{ *pulumi.OutputState }

func (ClusterPrincipalAssignmentOutput) ClusterName added in v5.5.0

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

func (ClusterPrincipalAssignmentOutput) ElementType

func (ClusterPrincipalAssignmentOutput) Name added in v5.5.0

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

func (ClusterPrincipalAssignmentOutput) PrincipalId added in v5.5.0

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

func (ClusterPrincipalAssignmentOutput) PrincipalName added in v5.5.0

The name of the principal.

func (ClusterPrincipalAssignmentOutput) PrincipalType added in v5.5.0

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

func (ClusterPrincipalAssignmentOutput) ResourceGroupName added in v5.5.0

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

func (ClusterPrincipalAssignmentOutput) Role added in v5.5.0

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

func (ClusterPrincipalAssignmentOutput) TenantId added in v5.5.0

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

func (ClusterPrincipalAssignmentOutput) TenantName added in v5.5.0

The name of the tenant.

func (ClusterPrincipalAssignmentOutput) ToClusterPrincipalAssignmentOutput

func (o ClusterPrincipalAssignmentOutput) ToClusterPrincipalAssignmentOutput() ClusterPrincipalAssignmentOutput

func (ClusterPrincipalAssignmentOutput) ToClusterPrincipalAssignmentOutputWithContext

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

type ClusterPrincipalAssignmentState

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

func (ClusterPrincipalAssignmentState) ElementType

type ClusterSku

type ClusterSku struct {
	// Specifies the node count for the cluster. Boundaries depend on the SKU name.
	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_D16d_v5`, `Standard_D32d_v4`, `Standard_D32d_v5`, `Standard_DS13_v2+1TB_PS`, `Standard_DS13_v2+2TB_PS`, `Standard_DS14_v2+3TB_PS`, `Standard_DS14_v2+4TB_PS`, `Standard_E16a_v4`, `Standard_E16ads_v5`, `Standard_E16as_v4+3TB_PS`, `Standard_E16as_v4+4TB_PS`, `Standard_E16as_v5+3TB_PS`, `Standard_E16as_v5+4TB_PS`, `Standard_E16s_v4+3TB_PS`, `Standard_E16s_v4+4TB_PS`, `Standard_E16s_v5+3TB_PS`, `Standard_E16s_v5+4TB_PS`, `Standard_E2a_v4`, `Standard_E2ads_v5`,`Standard_E4a_v4`, `Standard_E4ads_v5`, `Standard_E64i_v3`, `Standard_E80ids_v4`, `Standard_E8a_v4`, `Standard_E8ads_v5`, `Standard_E8as_v4+1TB_PS`, `Standard_E8as_v4+2TB_PS`, `Standard_E8as_v5+1TB_PS`, `Standard_E8as_v5+2TB_PS`, `Standard_E8s_v4+1TB_PS`, `Standard_E8s_v4+2TB_PS`, `Standard_E8s_v5+1TB_PS`, `Standard_E8s_v5+2TB_PS`, `Standard_L16s`, `Standard_L16s_v2`, `Standard_L4s`, `Standard_L8s`, `Standard_L8s_v2`, "Standard_L8s_v3", `Standard_L16s_v3`, `Standard_L8as_v3`, `Standard_L16as_v3`, `Standard_EC8as_v5+1TB_PS`, `Standard_EC8as_v5+2TB_PS`, `Standard_EC16as_v5+3TB_PS`, `Standard_EC16as_v5+4TB_PS`, `Standard_EC8ads_v5`, `Standard_EC16ads_v5`, `Standard_E2d_v4`, `Standard_E4d_v4`, `Standard_E8d_v4`, `Standard_E16d_v4`, `Standard_E2d_v5`, `Standard_E4d_v5`, `Standard_E8d_v5` and `Standard_E16d_v5`.
	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_D16d_v5`, `Standard_D32d_v4`, `Standard_D32d_v5`, `Standard_DS13_v2+1TB_PS`, `Standard_DS13_v2+2TB_PS`, `Standard_DS14_v2+3TB_PS`, `Standard_DS14_v2+4TB_PS`, `Standard_E16a_v4`, `Standard_E16ads_v5`, `Standard_E16as_v4+3TB_PS`, `Standard_E16as_v4+4TB_PS`, `Standard_E16as_v5+3TB_PS`, `Standard_E16as_v5+4TB_PS`, `Standard_E16s_v4+3TB_PS`, `Standard_E16s_v4+4TB_PS`, `Standard_E16s_v5+3TB_PS`, `Standard_E16s_v5+4TB_PS`, `Standard_E2a_v4`, `Standard_E2ads_v5`,`Standard_E4a_v4`, `Standard_E4ads_v5`, `Standard_E64i_v3`, `Standard_E80ids_v4`, `Standard_E8a_v4`, `Standard_E8ads_v5`, `Standard_E8as_v4+1TB_PS`, `Standard_E8as_v4+2TB_PS`, `Standard_E8as_v5+1TB_PS`, `Standard_E8as_v5+2TB_PS`, `Standard_E8s_v4+1TB_PS`, `Standard_E8s_v4+2TB_PS`, `Standard_E8s_v5+1TB_PS`, `Standard_E8s_v5+2TB_PS`, `Standard_L16s`, `Standard_L16s_v2`, `Standard_L4s`, `Standard_L8s`, `Standard_L8s_v2`, "Standard_L8s_v3", `Standard_L16s_v3`, `Standard_L8as_v3`, `Standard_L16as_v3`, `Standard_EC8as_v5+1TB_PS`, `Standard_EC8as_v5+2TB_PS`, `Standard_EC16as_v5+3TB_PS`, `Standard_EC16as_v5+4TB_PS`, `Standard_EC8ads_v5`, `Standard_EC16ads_v5`, `Standard_E2d_v4`, `Standard_E4d_v4`, `Standard_E8d_v4`, `Standard_E16d_v4`, `Standard_E2d_v5`, `Standard_E4d_v5`, `Standard_E8d_v5` and `Standard_E16d_v5`.
	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_D16d_v5`, `Standard_D32d_v4`, `Standard_D32d_v5`, `Standard_DS13_v2+1TB_PS`, `Standard_DS13_v2+2TB_PS`, `Standard_DS14_v2+3TB_PS`, `Standard_DS14_v2+4TB_PS`, `Standard_E16a_v4`, `Standard_E16ads_v5`, `Standard_E16as_v4+3TB_PS`, `Standard_E16as_v4+4TB_PS`, `Standard_E16as_v5+3TB_PS`, `Standard_E16as_v5+4TB_PS`, `Standard_E16s_v4+3TB_PS`, `Standard_E16s_v4+4TB_PS`, `Standard_E16s_v5+3TB_PS`, `Standard_E16s_v5+4TB_PS`, `Standard_E2a_v4`, `Standard_E2ads_v5`,`Standard_E4a_v4`, `Standard_E4ads_v5`, `Standard_E64i_v3`, `Standard_E80ids_v4`, `Standard_E8a_v4`, `Standard_E8ads_v5`, `Standard_E8as_v4+1TB_PS`, `Standard_E8as_v4+2TB_PS`, `Standard_E8as_v5+1TB_PS`, `Standard_E8as_v5+2TB_PS`, `Standard_E8s_v4+1TB_PS`, `Standard_E8s_v4+2TB_PS`, `Standard_E8s_v5+1TB_PS`, `Standard_E8s_v5+2TB_PS`, `Standard_L16s`, `Standard_L16s_v2`, `Standard_L4s`, `Standard_L8s`, `Standard_L8s_v2`, "Standard_L8s_v3", `Standard_L16s_v3`, `Standard_L8as_v3`, `Standard_L16as_v3`, `Standard_EC8as_v5+1TB_PS`, `Standard_EC8as_v5+2TB_PS`, `Standard_EC16as_v5+3TB_PS`, `Standard_EC16as_v5+4TB_PS`, `Standard_EC8ads_v5`, `Standard_EC16ads_v5`, `Standard_E2d_v4`, `Standard_E4d_v4`, `Standard_E8d_v4`, `Standard_E16d_v4`, `Standard_E2d_v5`, `Standard_E4d_v5`, `Standard_E8d_v5` and `Standard_E16d_v5`.

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_D16d_v5`, `Standard_D32d_v4`, `Standard_D32d_v5`, `Standard_DS13_v2+1TB_PS`, `Standard_DS13_v2+2TB_PS`, `Standard_DS14_v2+3TB_PS`, `Standard_DS14_v2+4TB_PS`, `Standard_E16a_v4`, `Standard_E16ads_v5`, `Standard_E16as_v4+3TB_PS`, `Standard_E16as_v4+4TB_PS`, `Standard_E16as_v5+3TB_PS`, `Standard_E16as_v5+4TB_PS`, `Standard_E16s_v4+3TB_PS`, `Standard_E16s_v4+4TB_PS`, `Standard_E16s_v5+3TB_PS`, `Standard_E16s_v5+4TB_PS`, `Standard_E2a_v4`, `Standard_E2ads_v5`,`Standard_E4a_v4`, `Standard_E4ads_v5`, `Standard_E64i_v3`, `Standard_E80ids_v4`, `Standard_E8a_v4`, `Standard_E8ads_v5`, `Standard_E8as_v4+1TB_PS`, `Standard_E8as_v4+2TB_PS`, `Standard_E8as_v5+1TB_PS`, `Standard_E8as_v5+2TB_PS`, `Standard_E8s_v4+1TB_PS`, `Standard_E8s_v4+2TB_PS`, `Standard_E8s_v5+1TB_PS`, `Standard_E8s_v5+2TB_PS`, `Standard_L16s`, `Standard_L16s_v2`, `Standard_L4s`, `Standard_L8s`, `Standard_L8s_v2`, "Standard_L8s_v3", `Standard_L16s_v3`, `Standard_L8as_v3`, `Standard_L16as_v3`, `Standard_EC8as_v5+1TB_PS`, `Standard_EC8as_v5+2TB_PS`, `Standard_EC16as_v5+3TB_PS`, `Standard_EC16as_v5+4TB_PS`, `Standard_EC8ads_v5`, `Standard_EC16ads_v5`, `Standard_E2d_v4`, `Standard_E4d_v4`, `Standard_E8d_v4`, `Standard_E16d_v4`, `Standard_E2d_v5`, `Standard_E4d_v5`, `Standard_E8d_v5` and `Standard_E16d_v5`.

func (ClusterSkuPtrOutput) ToClusterSkuPtrOutput

func (o ClusterSkuPtrOutput) ToClusterSkuPtrOutput() ClusterSkuPtrOutput

func (ClusterSkuPtrOutput) ToClusterSkuPtrOutputWithContext

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

type ClusterState

type ClusterState struct {
	// List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster.
	AllowedFqdns pulumi.StringArrayInput
	// The list of ips in the format of CIDR allowed to connect to the cluster.
	AllowedIpRanges pulumi.StringArrayInput
	// Specifies if the cluster could be automatically stopped (due to lack of data or no activity for many days). Defaults to `true`.
	AutoStopEnabled pulumi.BoolPtrInput
	// The Kusto Cluster URI to be used for data ingestion.
	DataIngestionUri pulumi.StringPtrInput
	// Specifies if the cluster's disks are encrypted.
	DiskEncryptionEnabled pulumi.BoolPtrInput
	// Is the cluster's double encryption enabled?  Changing this forces a new resource to be created.
	DoubleEncryptionEnabled pulumi.BoolPtrInput
	// . The engine type that will be used in the backend. Possible values are `V2` and `V3`. Defaults to `V2`. Changing this forces a new Kusto Cluster to be created.
	Engine pulumi.StringPtrInput
	// An `identity` block as defined below.
	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. Only lowercase Alphanumeric characters allowed, starting with a letter. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// An `optimizedAutoScale` block as defined below.
	OptimizedAutoScale ClusterOptimizedAutoScalePtrInput
	// Whether to restrict outbound network access. Value is optional but if passed in, must be `true` or `false`, default is `false`.
	OutboundNetworkAccessRestricted pulumi.BoolPtrInput
	// Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6).
	PublicIpType pulumi.StringPtrInput
	// Is the public network access enabled? Defaults to `true`.
	PublicNetworkAccessEnabled pulumi.BoolPtrInput
	// Specifies if the purge operations are enabled.
	PurgeEnabled pulumi.BoolPtrInput
	// Specifies the Resource Group where the Kusto Cluster should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A `sku` block as defined below.
	Sku ClusterSkuPtrInput
	// Specifies if the streaming ingest is enabled.
	StreamingIngestionEnabled pulumi.BoolPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Specifies a list of tenant IDs that are trusted by the cluster. Default setting trusts all other tenants. Use `trustedExternalTenants = ["*"]` to explicitly allow all other tenants, `trustedExternalTenants = ["MyTenantOnly"]` for only your tenant or `trustedExternalTenants = ["<tenantId1>", "<tenantIdx>"]` to allow specific other tenants.
	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
	// Specifies a list of Availability Zones in which this Kusto Cluster should be located. Changing this forces a new Kusto Cluster to be created.
	Zones pulumi.StringArrayInput
}

func (ClusterState) ElementType

func (ClusterState) ElementType() reflect.Type

type ClusterVirtualNetworkConfiguration

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

type ClusterVirtualNetworkConfigurationArgs

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

func (ClusterVirtualNetworkConfigurationArgs) ElementType

func (ClusterVirtualNetworkConfigurationArgs) ToClusterVirtualNetworkConfigurationOutput

func (i ClusterVirtualNetworkConfigurationArgs) ToClusterVirtualNetworkConfigurationOutput() ClusterVirtualNetworkConfigurationOutput

func (ClusterVirtualNetworkConfigurationArgs) ToClusterVirtualNetworkConfigurationOutputWithContext

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

func (ClusterVirtualNetworkConfigurationArgs) ToClusterVirtualNetworkConfigurationPtrOutput

func (i ClusterVirtualNetworkConfigurationArgs) ToClusterVirtualNetworkConfigurationPtrOutput() ClusterVirtualNetworkConfigurationPtrOutput

func (ClusterVirtualNetworkConfigurationArgs) ToClusterVirtualNetworkConfigurationPtrOutputWithContext

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

type ClusterVirtualNetworkConfigurationInput

type ClusterVirtualNetworkConfigurationInput interface {
	pulumi.Input

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

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

ClusterVirtualNetworkConfigurationArgs{...}

type ClusterVirtualNetworkConfigurationOutput

type ClusterVirtualNetworkConfigurationOutput struct{ *pulumi.OutputState }

func (ClusterVirtualNetworkConfigurationOutput) DataManagementPublicIpId

func (o ClusterVirtualNetworkConfigurationOutput) DataManagementPublicIpId() pulumi.StringOutput

Data management's service public IP address resource id.

func (ClusterVirtualNetworkConfigurationOutput) ElementType

func (ClusterVirtualNetworkConfigurationOutput) EnginePublicIpId

Engine service's public IP address resource id.

func (ClusterVirtualNetworkConfigurationOutput) SubnetId

The subnet resource id.

func (ClusterVirtualNetworkConfigurationOutput) ToClusterVirtualNetworkConfigurationOutput

func (o ClusterVirtualNetworkConfigurationOutput) ToClusterVirtualNetworkConfigurationOutput() ClusterVirtualNetworkConfigurationOutput

func (ClusterVirtualNetworkConfigurationOutput) ToClusterVirtualNetworkConfigurationOutputWithContext

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

func (ClusterVirtualNetworkConfigurationOutput) ToClusterVirtualNetworkConfigurationPtrOutput

func (o ClusterVirtualNetworkConfigurationOutput) ToClusterVirtualNetworkConfigurationPtrOutput() ClusterVirtualNetworkConfigurationPtrOutput

func (ClusterVirtualNetworkConfigurationOutput) ToClusterVirtualNetworkConfigurationPtrOutputWithContext

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

type ClusterVirtualNetworkConfigurationPtrInput

type ClusterVirtualNetworkConfigurationPtrInput interface {
	pulumi.Input

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

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

        ClusterVirtualNetworkConfigurationArgs{...}

or:

        nil

type ClusterVirtualNetworkConfigurationPtrOutput

type ClusterVirtualNetworkConfigurationPtrOutput struct{ *pulumi.OutputState }

func (ClusterVirtualNetworkConfigurationPtrOutput) DataManagementPublicIpId

Data management's service public IP address resource id.

func (ClusterVirtualNetworkConfigurationPtrOutput) Elem

func (ClusterVirtualNetworkConfigurationPtrOutput) ElementType

func (ClusterVirtualNetworkConfigurationPtrOutput) EnginePublicIpId

Engine service's public IP address resource id.

func (ClusterVirtualNetworkConfigurationPtrOutput) SubnetId

The subnet resource id.

func (ClusterVirtualNetworkConfigurationPtrOutput) ToClusterVirtualNetworkConfigurationPtrOutput

func (o ClusterVirtualNetworkConfigurationPtrOutput) ToClusterVirtualNetworkConfigurationPtrOutput() ClusterVirtualNetworkConfigurationPtrOutput

func (ClusterVirtualNetworkConfigurationPtrOutput) ToClusterVirtualNetworkConfigurationPtrOutputWithContext

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

type 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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/kusto"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		cluster, err := kusto.NewCluster(ctx, "cluster", &kusto.ClusterArgs{
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku: &kusto.ClusterSkuArgs{
				Name:     pulumi.String("Standard_D13_v2"),
				Capacity: pulumi.Int(2),
			},
		})
		if err != nil {
			return err
		}
		_, err = kusto.NewDatabase(ctx, "database", &kusto.DatabaseArgs{
			ResourceGroupName: example.Name,
			Location:          example.Location,
			ClusterName:       cluster.Name,
			HotCachePeriod:    pulumi.String("P7D"),
			SoftDeletePeriod:  pulumi.String("P31D"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

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

```

func GetDatabase

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

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

func NewDatabase

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

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

func (*Database) ElementType

func (*Database) ElementType() reflect.Type

func (*Database) ToDatabaseOutput

func (i *Database) ToDatabaseOutput() DatabaseOutput

func (*Database) ToDatabaseOutputWithContext

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

type DatabaseArgs

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

The set of arguments for constructing a Database resource.

func (DatabaseArgs) ElementType

func (DatabaseArgs) ElementType() reflect.Type

type DatabaseArray

type DatabaseArray []DatabaseInput

func (DatabaseArray) ElementType

func (DatabaseArray) ElementType() reflect.Type

func (DatabaseArray) ToDatabaseArrayOutput

func (i DatabaseArray) ToDatabaseArrayOutput() DatabaseArrayOutput

func (DatabaseArray) ToDatabaseArrayOutputWithContext

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

type DatabaseArrayInput

type DatabaseArrayInput interface {
	pulumi.Input

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

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

DatabaseArray{ DatabaseArgs{...} }

type DatabaseArrayOutput

type DatabaseArrayOutput struct{ *pulumi.OutputState }

func (DatabaseArrayOutput) ElementType

func (DatabaseArrayOutput) ElementType() reflect.Type

func (DatabaseArrayOutput) Index

func (DatabaseArrayOutput) ToDatabaseArrayOutput

func (o DatabaseArrayOutput) ToDatabaseArrayOutput() DatabaseArrayOutput

func (DatabaseArrayOutput) ToDatabaseArrayOutputWithContext

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

type DatabaseInput

type DatabaseInput interface {
	pulumi.Input

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

type DatabaseMap

type DatabaseMap map[string]DatabaseInput

func (DatabaseMap) ElementType

func (DatabaseMap) ElementType() reflect.Type

func (DatabaseMap) ToDatabaseMapOutput

func (i DatabaseMap) ToDatabaseMapOutput() DatabaseMapOutput

func (DatabaseMap) ToDatabaseMapOutputWithContext

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

type DatabaseMapInput

type DatabaseMapInput interface {
	pulumi.Input

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

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

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

type DatabaseMapOutput

type DatabaseMapOutput struct{ *pulumi.OutputState }

func (DatabaseMapOutput) ElementType

func (DatabaseMapOutput) ElementType() reflect.Type

func (DatabaseMapOutput) MapIndex

func (DatabaseMapOutput) ToDatabaseMapOutput

func (o DatabaseMapOutput) ToDatabaseMapOutput() DatabaseMapOutput

func (DatabaseMapOutput) ToDatabaseMapOutputWithContext

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

type DatabaseOutput

type DatabaseOutput struct{ *pulumi.OutputState }

func (DatabaseOutput) ClusterName added in v5.5.0

func (o DatabaseOutput) ClusterName() pulumi.StringOutput

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

func (DatabaseOutput) ElementType

func (DatabaseOutput) ElementType() reflect.Type

func (DatabaseOutput) HotCachePeriod added in v5.5.0

func (o DatabaseOutput) HotCachePeriod() pulumi.StringPtrOutput

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

func (DatabaseOutput) Location added in v5.5.0

func (o DatabaseOutput) Location() pulumi.StringOutput

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

func (DatabaseOutput) Name added in v5.5.0

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

func (DatabaseOutput) ResourceGroupName added in v5.5.0

func (o DatabaseOutput) ResourceGroupName() pulumi.StringOutput

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

func (DatabaseOutput) Size added in v5.5.0

The size of the database in bytes.

func (DatabaseOutput) SoftDeletePeriod added in v5.5.0

func (o DatabaseOutput) SoftDeletePeriod() pulumi.StringPtrOutput

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

func (DatabaseOutput) ToDatabaseOutput

func (o DatabaseOutput) ToDatabaseOutput() DatabaseOutput

func (DatabaseOutput) ToDatabaseOutputWithContext

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

type DatabasePrincipalAssignment

type DatabasePrincipalAssignment struct {
	pulumi.CustomResourceState

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

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/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
		}
		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
		}
		_, err = kusto.NewDatabasePrincipalAssignment(ctx, "exampleDatabasePrincipalAssignment", &kusto.DatabasePrincipalAssignmentArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			ClusterName:       exampleCluster.Name,
			DatabaseName:      exampleDatabase.Name,
			TenantId:          *pulumi.String(current.TenantId),
			PrincipalId:       *pulumi.String(current.ClientId),
			PrincipalType:     pulumi.String("App"),
			Role:              pulumi.String("Viewer"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

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

```

func GetDatabasePrincipalAssignment

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

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

func NewDatabasePrincipalAssignment

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

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

func (*DatabasePrincipalAssignment) ElementType

func (*DatabasePrincipalAssignment) ElementType() reflect.Type

func (*DatabasePrincipalAssignment) ToDatabasePrincipalAssignmentOutput

func (i *DatabasePrincipalAssignment) ToDatabasePrincipalAssignmentOutput() DatabasePrincipalAssignmentOutput

func (*DatabasePrincipalAssignment) ToDatabasePrincipalAssignmentOutputWithContext

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

type DatabasePrincipalAssignmentArgs

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

The set of arguments for constructing a DatabasePrincipalAssignment resource.

func (DatabasePrincipalAssignmentArgs) ElementType

type DatabasePrincipalAssignmentArray

type DatabasePrincipalAssignmentArray []DatabasePrincipalAssignmentInput

func (DatabasePrincipalAssignmentArray) ElementType

func (DatabasePrincipalAssignmentArray) ToDatabasePrincipalAssignmentArrayOutput

func (i DatabasePrincipalAssignmentArray) ToDatabasePrincipalAssignmentArrayOutput() DatabasePrincipalAssignmentArrayOutput

func (DatabasePrincipalAssignmentArray) ToDatabasePrincipalAssignmentArrayOutputWithContext

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

type DatabasePrincipalAssignmentArrayInput

type DatabasePrincipalAssignmentArrayInput interface {
	pulumi.Input

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

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

DatabasePrincipalAssignmentArray{ DatabasePrincipalAssignmentArgs{...} }

type DatabasePrincipalAssignmentArrayOutput

type DatabasePrincipalAssignmentArrayOutput struct{ *pulumi.OutputState }

func (DatabasePrincipalAssignmentArrayOutput) ElementType

func (DatabasePrincipalAssignmentArrayOutput) Index

func (DatabasePrincipalAssignmentArrayOutput) ToDatabasePrincipalAssignmentArrayOutput

func (o DatabasePrincipalAssignmentArrayOutput) ToDatabasePrincipalAssignmentArrayOutput() DatabasePrincipalAssignmentArrayOutput

func (DatabasePrincipalAssignmentArrayOutput) ToDatabasePrincipalAssignmentArrayOutputWithContext

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

type DatabasePrincipalAssignmentInput

type DatabasePrincipalAssignmentInput interface {
	pulumi.Input

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

type DatabasePrincipalAssignmentMap

type DatabasePrincipalAssignmentMap map[string]DatabasePrincipalAssignmentInput

func (DatabasePrincipalAssignmentMap) ElementType

func (DatabasePrincipalAssignmentMap) ToDatabasePrincipalAssignmentMapOutput

func (i DatabasePrincipalAssignmentMap) ToDatabasePrincipalAssignmentMapOutput() DatabasePrincipalAssignmentMapOutput

func (DatabasePrincipalAssignmentMap) ToDatabasePrincipalAssignmentMapOutputWithContext

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

type DatabasePrincipalAssignmentMapInput

type DatabasePrincipalAssignmentMapInput interface {
	pulumi.Input

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

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

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

type DatabasePrincipalAssignmentMapOutput

type DatabasePrincipalAssignmentMapOutput struct{ *pulumi.OutputState }

func (DatabasePrincipalAssignmentMapOutput) ElementType

func (DatabasePrincipalAssignmentMapOutput) MapIndex

func (DatabasePrincipalAssignmentMapOutput) ToDatabasePrincipalAssignmentMapOutput

func (o DatabasePrincipalAssignmentMapOutput) ToDatabasePrincipalAssignmentMapOutput() DatabasePrincipalAssignmentMapOutput

func (DatabasePrincipalAssignmentMapOutput) ToDatabasePrincipalAssignmentMapOutputWithContext

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

type DatabasePrincipalAssignmentOutput

type DatabasePrincipalAssignmentOutput struct{ *pulumi.OutputState }

func (DatabasePrincipalAssignmentOutput) ClusterName added in v5.5.0

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

func (DatabasePrincipalAssignmentOutput) DatabaseName added in v5.5.0

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

func (DatabasePrincipalAssignmentOutput) ElementType

func (DatabasePrincipalAssignmentOutput) Name added in v5.5.0

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

func (DatabasePrincipalAssignmentOutput) PrincipalId added in v5.5.0

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

func (DatabasePrincipalAssignmentOutput) PrincipalName added in v5.5.0

The name of the principal.

func (DatabasePrincipalAssignmentOutput) PrincipalType added in v5.5.0

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

func (DatabasePrincipalAssignmentOutput) ResourceGroupName added in v5.5.0

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

func (DatabasePrincipalAssignmentOutput) Role added in v5.5.0

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

func (DatabasePrincipalAssignmentOutput) TenantId added in v5.5.0

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

func (DatabasePrincipalAssignmentOutput) TenantName added in v5.5.0

The name of the tenant.

func (DatabasePrincipalAssignmentOutput) ToDatabasePrincipalAssignmentOutput

func (o DatabasePrincipalAssignmentOutput) ToDatabasePrincipalAssignmentOutput() DatabasePrincipalAssignmentOutput

func (DatabasePrincipalAssignmentOutput) ToDatabasePrincipalAssignmentOutputWithContext

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

type DatabasePrincipalAssignmentState

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

func (DatabasePrincipalAssignmentState) ElementType

type DatabaseState

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

func (DatabaseState) ElementType

func (DatabaseState) ElementType() reflect.Type

type EventGridDataConnection

type EventGridDataConnection struct {
	pulumi.CustomResourceState

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

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/eventgrid"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/eventhub"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/kusto"
"github.com/pulumi/pulumi-azure/sdk/v5/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
		}
		exampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, "exampleEventHubNamespace", &eventhub.EventHubNamespaceArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		exampleEventHub, err := eventhub.NewEventHub(ctx, "exampleEventHub", &eventhub.EventHubArgs{
			NamespaceName:     exampleEventHubNamespace.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:     exampleEventHubNamespace.Name,
			EventhubName:      exampleEventHub.Name,
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		exampleEventSubscription, err := eventgrid.NewEventSubscription(ctx, "exampleEventSubscription", &eventgrid.EventSubscriptionArgs{
			Scope:               exampleAccount.ID(),
			EventhubEndpointId:  exampleEventHub.ID(),
			EventDeliverySchema: pulumi.String("EventGridSchema"),
			IncludedEventTypes: pulumi.StringArray{
				pulumi.String("Microsoft.Storage.BlobCreated"),
				pulumi.String("Microsoft.Storage.BlobRenamed"),
			},
			RetryPolicy: &eventgrid.EventSubscriptionRetryPolicyArgs{
				EventTimeToLive:     pulumi.Int(144),
				MaxDeliveryAttempts: pulumi.Int(10),
			},
		})
		if err != nil {
			return err
		}
		_, err = kusto.NewEventGridDataConnection(ctx, "exampleEventGridDataConnection", &kusto.EventGridDataConnectionArgs{
			ResourceGroupName:         exampleResourceGroup.Name,
			Location:                  exampleResourceGroup.Location,
			ClusterName:               exampleCluster.Name,
			DatabaseName:              exampleDatabase.Name,
			StorageAccountId:          exampleAccount.ID(),
			EventhubId:                exampleEventHub.ID(),
			EventhubConsumerGroupName: exampleConsumerGroup.Name,
			TableName:                 pulumi.String("my-table"),
			MappingRuleName:           pulumi.String("my-table-mapping"),
			DataFormat:                pulumi.String("JSON"),
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleEventSubscription,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

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

```

func GetEventGridDataConnection

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

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

func NewEventGridDataConnection

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

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

func (*EventGridDataConnection) ElementType

func (*EventGridDataConnection) ElementType() reflect.Type

func (*EventGridDataConnection) ToEventGridDataConnectionOutput

func (i *EventGridDataConnection) ToEventGridDataConnectionOutput() EventGridDataConnectionOutput

func (*EventGridDataConnection) ToEventGridDataConnectionOutputWithContext

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

type EventGridDataConnectionArgs

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

The set of arguments for constructing a EventGridDataConnection resource.

func (EventGridDataConnectionArgs) ElementType

type EventGridDataConnectionArray

type EventGridDataConnectionArray []EventGridDataConnectionInput

func (EventGridDataConnectionArray) ElementType

func (EventGridDataConnectionArray) ToEventGridDataConnectionArrayOutput

func (i EventGridDataConnectionArray) ToEventGridDataConnectionArrayOutput() EventGridDataConnectionArrayOutput

func (EventGridDataConnectionArray) ToEventGridDataConnectionArrayOutputWithContext

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

type EventGridDataConnectionArrayInput

type EventGridDataConnectionArrayInput interface {
	pulumi.Input

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

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

EventGridDataConnectionArray{ EventGridDataConnectionArgs{...} }

type EventGridDataConnectionArrayOutput

type EventGridDataConnectionArrayOutput struct{ *pulumi.OutputState }

func (EventGridDataConnectionArrayOutput) ElementType

func (EventGridDataConnectionArrayOutput) Index

func (EventGridDataConnectionArrayOutput) ToEventGridDataConnectionArrayOutput

func (o EventGridDataConnectionArrayOutput) ToEventGridDataConnectionArrayOutput() EventGridDataConnectionArrayOutput

func (EventGridDataConnectionArrayOutput) ToEventGridDataConnectionArrayOutputWithContext

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

type EventGridDataConnectionInput

type EventGridDataConnectionInput interface {
	pulumi.Input

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

type EventGridDataConnectionMap

type EventGridDataConnectionMap map[string]EventGridDataConnectionInput

func (EventGridDataConnectionMap) ElementType

func (EventGridDataConnectionMap) ElementType() reflect.Type

func (EventGridDataConnectionMap) ToEventGridDataConnectionMapOutput

func (i EventGridDataConnectionMap) ToEventGridDataConnectionMapOutput() EventGridDataConnectionMapOutput

func (EventGridDataConnectionMap) ToEventGridDataConnectionMapOutputWithContext

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

type EventGridDataConnectionMapInput

type EventGridDataConnectionMapInput interface {
	pulumi.Input

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

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

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

type EventGridDataConnectionMapOutput

type EventGridDataConnectionMapOutput struct{ *pulumi.OutputState }

func (EventGridDataConnectionMapOutput) ElementType

func (EventGridDataConnectionMapOutput) MapIndex

func (EventGridDataConnectionMapOutput) ToEventGridDataConnectionMapOutput

func (o EventGridDataConnectionMapOutput) ToEventGridDataConnectionMapOutput() EventGridDataConnectionMapOutput

func (EventGridDataConnectionMapOutput) ToEventGridDataConnectionMapOutputWithContext

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

type EventGridDataConnectionOutput

type EventGridDataConnectionOutput struct{ *pulumi.OutputState }

func (EventGridDataConnectionOutput) BlobStorageEventType added in v5.5.0

func (o EventGridDataConnectionOutput) BlobStorageEventType() pulumi.StringPtrOutput

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

func (EventGridDataConnectionOutput) ClusterName added in v5.5.0

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

func (EventGridDataConnectionOutput) DataFormat added in v5.5.0

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

func (EventGridDataConnectionOutput) DatabaseName added in v5.5.0

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

func (EventGridDataConnectionOutput) DatabaseRoutingType added in v5.13.0

func (o EventGridDataConnectionOutput) DatabaseRoutingType() pulumi.StringPtrOutput

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

func (EventGridDataConnectionOutput) ElementType

func (EventGridDataConnectionOutput) EventgridResourceId added in v5.13.0

func (o EventGridDataConnectionOutput) EventgridResourceId() pulumi.StringPtrOutput

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

func (EventGridDataConnectionOutput) EventhubConsumerGroupName added in v5.5.0

func (o EventGridDataConnectionOutput) EventhubConsumerGroupName() pulumi.StringOutput

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

func (EventGridDataConnectionOutput) EventhubId added in v5.5.0

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

func (EventGridDataConnectionOutput) Location added in v5.5.0

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

func (EventGridDataConnectionOutput) ManagedIdentityResourceId added in v5.13.0

func (o EventGridDataConnectionOutput) ManagedIdentityResourceId() pulumi.StringPtrOutput

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

func (EventGridDataConnectionOutput) MappingRuleName added in v5.5.0

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

func (EventGridDataConnectionOutput) Name added in v5.5.0

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

func (EventGridDataConnectionOutput) ResourceGroupName added in v5.5.0

func (o EventGridDataConnectionOutput) ResourceGroupName() pulumi.StringOutput

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

func (EventGridDataConnectionOutput) SkipFirstRecord added in v5.5.0

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

func (EventGridDataConnectionOutput) StorageAccountId added in v5.5.0

func (o EventGridDataConnectionOutput) StorageAccountId() pulumi.StringOutput

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

func (EventGridDataConnectionOutput) TableName added in v5.5.0

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

func (EventGridDataConnectionOutput) ToEventGridDataConnectionOutput

func (o EventGridDataConnectionOutput) ToEventGridDataConnectionOutput() EventGridDataConnectionOutput

func (EventGridDataConnectionOutput) ToEventGridDataConnectionOutputWithContext

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

type EventGridDataConnectionState

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

func (EventGridDataConnectionState) ElementType

type EventhubDataConnection

type EventhubDataConnection struct {
	pulumi.CustomResourceState

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

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		cluster, err := kusto.NewCluster(ctx, "cluster", &kusto.ClusterArgs{
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku: &kusto.ClusterSkuArgs{
				Name:     pulumi.String("Standard_D13_v2"),
				Capacity: pulumi.Int(2),
			},
		})
		if err != nil {
			return err
		}
		database, err := kusto.NewDatabase(ctx, "database", &kusto.DatabaseArgs{
			ResourceGroupName: example.Name,
			Location:          example.Location,
			ClusterName:       cluster.Name,
			HotCachePeriod:    pulumi.String("P7D"),
			SoftDeletePeriod:  pulumi.String("P31D"),
		})
		if err != nil {
			return err
		}
		eventhubNs, err := eventhub.NewEventHubNamespace(ctx, "eventhubNs", &eventhub.EventHubNamespaceArgs{
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		eventhub, err := eventhub.NewEventHub(ctx, "eventhub", &eventhub.EventHubArgs{
			NamespaceName:     eventhubNs.Name,
			ResourceGroupName: example.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: example.Name,
		})
		if err != nil {
			return err
		}
		_, err = kusto.NewEventhubDataConnection(ctx, "eventhubConnection", &kusto.EventhubDataConnectionArgs{
			ResourceGroupName: example.Name,
			Location:          example.Location,
			ClusterName:       cluster.Name,
			DatabaseName:      database.Name,
			EventhubId:        eventhub.ID(),
			ConsumerGroup:     consumerGroup.Name,
			TableName:         pulumi.String("my-table"),
			MappingRuleName:   pulumi.String("my-table-mapping"),
			DataFormat:        pulumi.String("JSON"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

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

```

func GetEventhubDataConnection

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

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

func NewEventhubDataConnection

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

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

func (*EventhubDataConnection) ElementType

func (*EventhubDataConnection) ElementType() reflect.Type

func (*EventhubDataConnection) ToEventhubDataConnectionOutput

func (i *EventhubDataConnection) ToEventhubDataConnectionOutput() EventhubDataConnectionOutput

func (*EventhubDataConnection) ToEventhubDataConnectionOutputWithContext

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

type EventhubDataConnectionArgs

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

The set of arguments for constructing a EventhubDataConnection resource.

func (EventhubDataConnectionArgs) ElementType

func (EventhubDataConnectionArgs) ElementType() reflect.Type

type EventhubDataConnectionArray

type EventhubDataConnectionArray []EventhubDataConnectionInput

func (EventhubDataConnectionArray) ElementType

func (EventhubDataConnectionArray) ToEventhubDataConnectionArrayOutput

func (i EventhubDataConnectionArray) ToEventhubDataConnectionArrayOutput() EventhubDataConnectionArrayOutput

func (EventhubDataConnectionArray) ToEventhubDataConnectionArrayOutputWithContext

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

type EventhubDataConnectionArrayInput

type EventhubDataConnectionArrayInput interface {
	pulumi.Input

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

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

EventhubDataConnectionArray{ EventhubDataConnectionArgs{...} }

type EventhubDataConnectionArrayOutput

type EventhubDataConnectionArrayOutput struct{ *pulumi.OutputState }

func (EventhubDataConnectionArrayOutput) ElementType

func (EventhubDataConnectionArrayOutput) Index

func (EventhubDataConnectionArrayOutput) ToEventhubDataConnectionArrayOutput

func (o EventhubDataConnectionArrayOutput) ToEventhubDataConnectionArrayOutput() EventhubDataConnectionArrayOutput

func (EventhubDataConnectionArrayOutput) ToEventhubDataConnectionArrayOutputWithContext

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

type EventhubDataConnectionInput

type EventhubDataConnectionInput interface {
	pulumi.Input

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

type EventhubDataConnectionMap

type EventhubDataConnectionMap map[string]EventhubDataConnectionInput

func (EventhubDataConnectionMap) ElementType

func (EventhubDataConnectionMap) ElementType() reflect.Type

func (EventhubDataConnectionMap) ToEventhubDataConnectionMapOutput

func (i EventhubDataConnectionMap) ToEventhubDataConnectionMapOutput() EventhubDataConnectionMapOutput

func (EventhubDataConnectionMap) ToEventhubDataConnectionMapOutputWithContext

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

type EventhubDataConnectionMapInput

type EventhubDataConnectionMapInput interface {
	pulumi.Input

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

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

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

type EventhubDataConnectionMapOutput

type EventhubDataConnectionMapOutput struct{ *pulumi.OutputState }

func (EventhubDataConnectionMapOutput) ElementType

func (EventhubDataConnectionMapOutput) MapIndex

func (EventhubDataConnectionMapOutput) ToEventhubDataConnectionMapOutput

func (o EventhubDataConnectionMapOutput) ToEventhubDataConnectionMapOutput() EventhubDataConnectionMapOutput

func (EventhubDataConnectionMapOutput) ToEventhubDataConnectionMapOutputWithContext

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

type EventhubDataConnectionOutput

type EventhubDataConnectionOutput struct{ *pulumi.OutputState }

func (EventhubDataConnectionOutput) ClusterName added in v5.5.0

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

func (EventhubDataConnectionOutput) Compression added in v5.5.0

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

func (EventhubDataConnectionOutput) ConsumerGroup added in v5.5.0

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

func (EventhubDataConnectionOutput) DataFormat added in v5.5.0

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

func (EventhubDataConnectionOutput) DatabaseName added in v5.5.0

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

func (EventhubDataConnectionOutput) DatabaseRoutingType added in v5.13.0

func (o EventhubDataConnectionOutput) DatabaseRoutingType() pulumi.StringPtrOutput

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

func (EventhubDataConnectionOutput) ElementType

func (EventhubDataConnectionOutput) EventSystemProperties added in v5.5.0

func (o EventhubDataConnectionOutput) EventSystemProperties() pulumi.StringArrayOutput

Specifies a list of system properties for the Event Hub.

func (EventhubDataConnectionOutput) EventhubId added in v5.5.0

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

func (EventhubDataConnectionOutput) IdentityId added in v5.5.0

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

func (EventhubDataConnectionOutput) Location added in v5.5.0

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

func (EventhubDataConnectionOutput) MappingRuleName added in v5.5.0

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

func (EventhubDataConnectionOutput) Name added in v5.5.0

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

func (EventhubDataConnectionOutput) ResourceGroupName added in v5.5.0

func (o EventhubDataConnectionOutput) ResourceGroupName() pulumi.StringOutput

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

func (EventhubDataConnectionOutput) TableName added in v5.5.0

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

func (EventhubDataConnectionOutput) ToEventhubDataConnectionOutput

func (o EventhubDataConnectionOutput) ToEventhubDataConnectionOutput() EventhubDataConnectionOutput

func (EventhubDataConnectionOutput) ToEventhubDataConnectionOutputWithContext

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

type EventhubDataConnectionState

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

func (EventhubDataConnectionState) ElementType

type IotHubDataConnection

type IotHubDataConnection struct {
	pulumi.CustomResourceState

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

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/iot"
"github.com/pulumi/pulumi-azure/sdk/v5/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

type IotHubDataConnectionArgs

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

The set of arguments for constructing a IotHubDataConnection resource.

func (IotHubDataConnectionArgs) ElementType

func (IotHubDataConnectionArgs) ElementType() reflect.Type

type IotHubDataConnectionArray

type IotHubDataConnectionArray []IotHubDataConnectionInput

func (IotHubDataConnectionArray) ElementType

func (IotHubDataConnectionArray) ElementType() reflect.Type

func (IotHubDataConnectionArray) ToIotHubDataConnectionArrayOutput

func (i IotHubDataConnectionArray) ToIotHubDataConnectionArrayOutput() IotHubDataConnectionArrayOutput

func (IotHubDataConnectionArray) ToIotHubDataConnectionArrayOutputWithContext

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

type IotHubDataConnectionArrayInput

type IotHubDataConnectionArrayInput interface {
	pulumi.Input

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

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

IotHubDataConnectionArray{ IotHubDataConnectionArgs{...} }

type IotHubDataConnectionArrayOutput

type IotHubDataConnectionArrayOutput struct{ *pulumi.OutputState }

func (IotHubDataConnectionArrayOutput) ElementType

func (IotHubDataConnectionArrayOutput) Index

func (IotHubDataConnectionArrayOutput) ToIotHubDataConnectionArrayOutput

func (o IotHubDataConnectionArrayOutput) ToIotHubDataConnectionArrayOutput() IotHubDataConnectionArrayOutput

func (IotHubDataConnectionArrayOutput) ToIotHubDataConnectionArrayOutputWithContext

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

type IotHubDataConnectionInput

type IotHubDataConnectionInput interface {
	pulumi.Input

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

type IotHubDataConnectionMap

type IotHubDataConnectionMap map[string]IotHubDataConnectionInput

func (IotHubDataConnectionMap) ElementType

func (IotHubDataConnectionMap) ElementType() reflect.Type

func (IotHubDataConnectionMap) ToIotHubDataConnectionMapOutput

func (i IotHubDataConnectionMap) ToIotHubDataConnectionMapOutput() IotHubDataConnectionMapOutput

func (IotHubDataConnectionMap) ToIotHubDataConnectionMapOutputWithContext

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

type IotHubDataConnectionMapInput

type IotHubDataConnectionMapInput interface {
	pulumi.Input

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

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

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

type IotHubDataConnectionMapOutput

type IotHubDataConnectionMapOutput struct{ *pulumi.OutputState }

func (IotHubDataConnectionMapOutput) ElementType

func (IotHubDataConnectionMapOutput) MapIndex

func (IotHubDataConnectionMapOutput) ToIotHubDataConnectionMapOutput

func (o IotHubDataConnectionMapOutput) ToIotHubDataConnectionMapOutput() IotHubDataConnectionMapOutput

func (IotHubDataConnectionMapOutput) ToIotHubDataConnectionMapOutputWithContext

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

type IotHubDataConnectionOutput

type IotHubDataConnectionOutput struct{ *pulumi.OutputState }

func (IotHubDataConnectionOutput) ClusterName added in v5.5.0

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

func (IotHubDataConnectionOutput) ConsumerGroup added in v5.5.0

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

func (IotHubDataConnectionOutput) DataFormat added in v5.5.0

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

func (IotHubDataConnectionOutput) DatabaseName added in v5.5.0

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

func (IotHubDataConnectionOutput) DatabaseRoutingType added in v5.13.0

func (o IotHubDataConnectionOutput) DatabaseRoutingType() pulumi.StringPtrOutput

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

func (IotHubDataConnectionOutput) ElementType

func (IotHubDataConnectionOutput) ElementType() reflect.Type

func (IotHubDataConnectionOutput) EventSystemProperties added in v5.5.0

func (o IotHubDataConnectionOutput) EventSystemProperties() pulumi.StringArrayOutput

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

func (IotHubDataConnectionOutput) IothubId added in v5.5.0

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

func (IotHubDataConnectionOutput) Location added in v5.5.0

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

func (IotHubDataConnectionOutput) MappingRuleName added in v5.5.0

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

func (IotHubDataConnectionOutput) Name added in v5.5.0

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

func (IotHubDataConnectionOutput) ResourceGroupName added in v5.5.0

func (o IotHubDataConnectionOutput) ResourceGroupName() pulumi.StringOutput

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

func (IotHubDataConnectionOutput) SharedAccessPolicyName added in v5.5.0

func (o IotHubDataConnectionOutput) SharedAccessPolicyName() pulumi.StringOutput

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

func (IotHubDataConnectionOutput) TableName added in v5.5.0

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

func (IotHubDataConnectionOutput) ToIotHubDataConnectionOutput

func (o IotHubDataConnectionOutput) ToIotHubDataConnectionOutput() IotHubDataConnectionOutput

func (IotHubDataConnectionOutput) ToIotHubDataConnectionOutputWithContext

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

type IotHubDataConnectionState

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

func (IotHubDataConnectionState) ElementType

func (IotHubDataConnectionState) ElementType() reflect.Type

type LookupClusterArgs

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

A collection of arguments for invoking getCluster.

type LookupClusterOutputArgs

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

A collection of arguments for invoking getCluster.

func (LookupClusterOutputArgs) ElementType

func (LookupClusterOutputArgs) ElementType() reflect.Type

type LookupClusterResult

type LookupClusterResult struct {
	// The Kusto Cluster URI to be used for data ingestion.
	DataIngestionUri string `pulumi:"dataIngestionUri"`
	// The provider-assigned unique ID for this managed resource.
	Id                string            `pulumi:"id"`
	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/v5/go/azure/kusto"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := kusto.LookupCluster(ctx, &kusto.LookupClusterArgs{
			Name:              "kustocluster",
			ResourceGroupName: "test_resource_group",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupClusterResultOutput

type LookupClusterResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getCluster.

func (LookupClusterResultOutput) DataIngestionUri

func (o LookupClusterResultOutput) DataIngestionUri() pulumi.StringOutput

The Kusto Cluster URI to be used for data ingestion.

func (LookupClusterResultOutput) ElementType

func (LookupClusterResultOutput) ElementType() reflect.Type

func (LookupClusterResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupClusterResultOutput) Location

func (LookupClusterResultOutput) Name

func (LookupClusterResultOutput) ResourceGroupName

func (o LookupClusterResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupClusterResultOutput) Tags

func (LookupClusterResultOutput) ToLookupClusterResultOutput

func (o LookupClusterResultOutput) ToLookupClusterResultOutput() LookupClusterResultOutput

func (LookupClusterResultOutput) ToLookupClusterResultOutputWithContext

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

func (LookupClusterResultOutput) Uri

The FQDN of the Azure Kusto Cluster.

type LookupDatabaseArgs added in v5.2.0

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

A collection of arguments for invoking getDatabase.

type LookupDatabaseOutputArgs added in v5.2.0

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

A collection of arguments for invoking getDatabase.

func (LookupDatabaseOutputArgs) ElementType added in v5.2.0

func (LookupDatabaseOutputArgs) ElementType() reflect.Type

type LookupDatabaseResult added in v5.2.0

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

A collection of values returned by getDatabase.

func LookupDatabase added in v5.2.0

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

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := kusto.LookupDatabase(ctx, &kusto.LookupDatabaseArgs{
			ClusterName:       "test_cluster",
			Name:              "my-kusto-database",
			ResourceGroupName: "test_resource_group",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupDatabaseResultOutput added in v5.2.0

type LookupDatabaseResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDatabase.

func LookupDatabaseOutput added in v5.2.0

func LookupDatabaseOutput(ctx *pulumi.Context, args LookupDatabaseOutputArgs, opts ...pulumi.InvokeOption) LookupDatabaseResultOutput

func (LookupDatabaseResultOutput) ClusterName added in v5.2.0

func (LookupDatabaseResultOutput) ElementType added in v5.2.0

func (LookupDatabaseResultOutput) ElementType() reflect.Type

func (LookupDatabaseResultOutput) HotCachePeriod added in v5.2.0

func (o LookupDatabaseResultOutput) HotCachePeriod() pulumi.StringOutput

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

func (LookupDatabaseResultOutput) Id added in v5.2.0

The provider-assigned unique ID for this managed resource.

func (LookupDatabaseResultOutput) Location added in v5.2.0

The Azure Region in which the managed Kusto Database exists.

func (LookupDatabaseResultOutput) Name added in v5.2.0

func (LookupDatabaseResultOutput) ResourceGroupName added in v5.2.0

func (o LookupDatabaseResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupDatabaseResultOutput) Size added in v5.2.0

The size of the database in bytes.

func (LookupDatabaseResultOutput) SoftDeletePeriod added in v5.2.0

func (o LookupDatabaseResultOutput) SoftDeletePeriod() pulumi.StringOutput

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

func (LookupDatabaseResultOutput) ToLookupDatabaseResultOutput added in v5.2.0

func (o LookupDatabaseResultOutput) ToLookupDatabaseResultOutput() LookupDatabaseResultOutput

func (LookupDatabaseResultOutput) ToLookupDatabaseResultOutputWithContext added in v5.2.0

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

type Script

type Script struct {
	pulumi.CustomResourceState

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

Manages a Kusto Script.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/kusto"
"github.com/pulumi/pulumi-azure/sdk/v5/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("Dev(No SLA)_Standard_D11_v2"),
				Capacity: pulumi.Int(1),
			},
		})
		if err != nil {
			return err
		}
		exampleDatabase, err := kusto.NewDatabase(ctx, "exampleDatabase", &kusto.DatabaseArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			Location:          exampleResourceGroup.Location,
			ClusterName:       exampleCluster.Name,
		})
		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("LRS"),
		})
		if err != nil {
			return err
		}
		exampleContainer, err := storage.NewContainer(ctx, "exampleContainer", &storage.ContainerArgs{
			StorageAccountName:  exampleAccount.Name,
			ContainerAccessType: pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		exampleBlob, err := storage.NewBlob(ctx, "exampleBlob", &storage.BlobArgs{
			StorageAccountName:   exampleAccount.Name,
			StorageContainerName: exampleContainer.Name,
			Type:                 pulumi.String("Block"),
			SourceContent:        pulumi.String(".create table MyTable (Level:string, Timestamp:datetime, UserId:string, TraceId:string, Message:string, ProcessId:int32)"),
		})
		if err != nil {
			return err
		}
		exampleAccountBlobContainerSAS := storage.GetAccountBlobContainerSASOutput(ctx, storage.GetAccountBlobContainerSASOutputArgs{
			ConnectionString: exampleAccount.PrimaryConnectionString,
			ContainerName:    exampleContainer.Name,
			HttpsOnly:        pulumi.Bool(true),
			Start:            pulumi.String("2017-03-21"),
			Expiry:           pulumi.String("2022-03-21"),
			Permissions: &storage.GetAccountBlobContainerSASPermissionsArgs{
				Read:   pulumi.Bool(true),
				Add:    pulumi.Bool(false),
				Create: pulumi.Bool(false),
				Write:  pulumi.Bool(true),
				Delete: pulumi.Bool(false),
				List:   pulumi.Bool(true),
			},
		}, nil)
		_, err = kusto.NewScript(ctx, "exampleScript", &kusto.ScriptArgs{
			DatabaseId: exampleDatabase.ID(),
			Url:        exampleBlob.ID(),
			SasToken: exampleAccountBlobContainerSAS.ApplyT(func(exampleAccountBlobContainerSAS storage.GetAccountBlobContainerSASResult) (*string, error) {
				return &exampleAccountBlobContainerSAS.Sas, nil
			}).(pulumi.StringPtrOutput),
			ContinueOnErrorsEnabled:       pulumi.Bool(true),
			ForceAnUpdateWhenValueChanged: pulumi.String("first"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

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

```

func GetScript

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

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

func NewScript

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

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

func (*Script) ElementType

func (*Script) ElementType() reflect.Type

func (*Script) ToScriptOutput

func (i *Script) ToScriptOutput() ScriptOutput

func (*Script) ToScriptOutputWithContext

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

type ScriptArgs

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

The set of arguments for constructing a Script resource.

func (ScriptArgs) ElementType

func (ScriptArgs) ElementType() reflect.Type

type ScriptArray

type ScriptArray []ScriptInput

func (ScriptArray) ElementType

func (ScriptArray) ElementType() reflect.Type

func (ScriptArray) ToScriptArrayOutput

func (i ScriptArray) ToScriptArrayOutput() ScriptArrayOutput

func (ScriptArray) ToScriptArrayOutputWithContext

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

type ScriptArrayInput

type ScriptArrayInput interface {
	pulumi.Input

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

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

ScriptArray{ ScriptArgs{...} }

type ScriptArrayOutput

type ScriptArrayOutput struct{ *pulumi.OutputState }

func (ScriptArrayOutput) ElementType

func (ScriptArrayOutput) ElementType() reflect.Type

func (ScriptArrayOutput) Index

func (ScriptArrayOutput) ToScriptArrayOutput

func (o ScriptArrayOutput) ToScriptArrayOutput() ScriptArrayOutput

func (ScriptArrayOutput) ToScriptArrayOutputWithContext

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

type ScriptInput

type ScriptInput interface {
	pulumi.Input

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

type ScriptMap

type ScriptMap map[string]ScriptInput

func (ScriptMap) ElementType

func (ScriptMap) ElementType() reflect.Type

func (ScriptMap) ToScriptMapOutput

func (i ScriptMap) ToScriptMapOutput() ScriptMapOutput

func (ScriptMap) ToScriptMapOutputWithContext

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

type ScriptMapInput

type ScriptMapInput interface {
	pulumi.Input

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

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

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

type ScriptMapOutput

type ScriptMapOutput struct{ *pulumi.OutputState }

func (ScriptMapOutput) ElementType

func (ScriptMapOutput) ElementType() reflect.Type

func (ScriptMapOutput) MapIndex

func (ScriptMapOutput) ToScriptMapOutput

func (o ScriptMapOutput) ToScriptMapOutput() ScriptMapOutput

func (ScriptMapOutput) ToScriptMapOutputWithContext

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

type ScriptOutput

type ScriptOutput struct{ *pulumi.OutputState }

func (ScriptOutput) ContinueOnErrorsEnabled added in v5.5.0

func (o ScriptOutput) ContinueOnErrorsEnabled() pulumi.BoolPtrOutput

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

func (ScriptOutput) DatabaseId added in v5.5.0

func (o ScriptOutput) DatabaseId() pulumi.StringOutput

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

func (ScriptOutput) ElementType

func (ScriptOutput) ElementType() reflect.Type

func (ScriptOutput) ForceAnUpdateWhenValueChanged added in v5.5.0

func (o ScriptOutput) ForceAnUpdateWhenValueChanged() pulumi.StringOutput

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

func (ScriptOutput) Name added in v5.5.0

func (o ScriptOutput) Name() pulumi.StringOutput

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

func (ScriptOutput) SasToken added in v5.5.0

func (o ScriptOutput) SasToken() pulumi.StringPtrOutput

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

func (ScriptOutput) ScriptContent added in v5.13.0

func (o ScriptOutput) ScriptContent() pulumi.StringPtrOutput

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

func (ScriptOutput) ToScriptOutput

func (o ScriptOutput) ToScriptOutput() ScriptOutput

func (ScriptOutput) ToScriptOutputWithContext

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

func (ScriptOutput) Url added in v5.5.0

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

type ScriptState

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

func (ScriptState) ElementType

func (ScriptState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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