import * as pulumi from "@pulumi/pulumi";
/**
 * Manages a Kusto (also known as Azure Data Explorer) Event Grid Data Connection
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const example = new azure.core.ResourceGroup("example", {
 *     name: "example-resources",
 *     location: "West Europe",
 * });
 * const exampleCluster = new azure.kusto.Cluster("example", {
 *     name: "examplekustocluster",
 *     location: example.location,
 *     resourceGroupName: example.name,
 *     sku: {
 *         name: "Standard_D13_v2",
 *         capacity: 2,
 *     },
 * });
 * const exampleDatabase = new azure.kusto.Database("example", {
 *     name: "example-kusto-database",
 *     resourceGroupName: example.name,
 *     location: example.location,
 *     clusterName: exampleCluster.name,
 *     hotCachePeriod: "P7D",
 *     softDeletePeriod: "P31D",
 * });
 * const exampleAccount = new azure.storage.Account("example", {
 *     name: "storageaccountname",
 *     resourceGroupName: example.name,
 *     location: example.location,
 *     accountTier: "Standard",
 *     accountReplicationType: "GRS",
 * });
 * const exampleEventHubNamespace = new azure.eventhub.EventHubNamespace("example", {
 *     name: "eventhubnamespace-example",
 *     location: example.location,
 *     resourceGroupName: example.name,
 *     sku: "Standard",
 * });
 * const exampleEventHub = new azure.eventhub.EventHub("example", {
 *     name: "eventhub-example",
 *     namespaceId: exampleEventHubNamespace.id,
 *     partitionCount: 1,
 *     messageRetention: 1,
 * });
 * const exampleConsumerGroup = new azure.eventhub.ConsumerGroup("example", {
 *     name: "consumergroup-example",
 *     namespaceName: exampleEventHubNamespace.name,
 *     eventhubName: exampleEventHub.name,
 *     resourceGroupName: example.name,
 * });
 * const exampleEventSubscription = new azure.eventgrid.EventSubscription("example", {
 *     name: "eventgrid-example",
 *     scope: exampleAccount.id,
 *     eventhubEndpointId: exampleEventHub.id,
 *     eventDeliverySchema: "EventGridSchema",
 *     includedEventTypes: [
 *         "Microsoft.Storage.BlobCreated",
 *         "Microsoft.Storage.BlobRenamed",
 *     ],
 *     retryPolicy: {
 *         eventTimeToLive: 144,
 *         maxDeliveryAttempts: 10,
 *     },
 * });
 * const exampleEventGridDataConnection = new azure.kusto.EventGridDataConnection("example", {
 *     name: "my-kusto-eventgrid-data-connection",
 *     resourceGroupName: example.name,
 *     location: example.location,
 *     clusterName: exampleCluster.name,
 *     databaseName: exampleDatabase.name,
 *     storageAccountId: exampleAccount.id,
 *     eventhubId: exampleEventHub.id,
 *     eventhubConsumerGroupName: exampleConsumerGroup.name,
 *     tableName: "my-table",
 *     mappingRuleName: "my-table-mapping",
 *     dataFormat: "JSON",
 * }, {
 *     dependsOn: [exampleEventSubscription],
 * });
 * ```
 *
 * ## API Providers
 *
 * <!-- This section is generated, changes will be overwritten -->
 * This resource uses the following Azure API Providers:
 *
 * * `Microsoft.Kusto` - 2024-04-13
 *
 * ## 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
 * ```
 */
export declare class EventGridDataConnection extends pulumi.CustomResource {
    /**
     * Get an existing EventGridDataConnection resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: EventGridDataConnectionState, opts?: pulumi.CustomResourceOptions): EventGridDataConnection;
    /**
     * Returns true if the given object is an instance of EventGridDataConnection.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is EventGridDataConnection;
    /**
     * 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`.
     */
    readonly blobStorageEventType: pulumi.Output<string | undefined>;
    /**
     * Specifies the name of the Kusto Cluster this data connection will be added to. Changing this forces a new resource to be created.
     */
    readonly clusterName: pulumi.Output<string>;
    /**
     * 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`.
     */
    readonly dataFormat: pulumi.Output<string | undefined>;
    /**
     * Specifies the name of the Kusto Database this data connection will be added to. Changing this forces a new resource to be created.
     */
    readonly databaseName: pulumi.Output<string>;
    /**
     * Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: `Single`, `Multi`. Changing this forces a new resource to be created. Defaults to `Single`.
     */
    readonly databaseRoutingType: pulumi.Output<string | undefined>;
    /**
     * The resource ID of the event grid that is subscribed to the storage account events.
     */
    readonly eventgridEventSubscriptionId: pulumi.Output<string>;
    /**
     * @deprecated `eventgridResourceId` has been deprecated in favour of the `eventgridEventSubscriptionId` property and will be removed in v5.0 of the AzureRM Provider.
     */
    readonly eventgridResourceId: pulumi.Output<string>;
    /**
     * Specifies the Event Hub consumer group this data connection will use for ingestion. Changing this forces a new resource to be created.
     */
    readonly eventhubConsumerGroupName: pulumi.Output<string>;
    /**
     * Specifies the resource id of the Event Hub this data connection will use for ingestion. Changing this forces a new resource to be created.
     */
    readonly eventhubId: pulumi.Output<string>;
    /**
     * The location where the Kusto Database should be created. Changing this forces a new resource to be created.
     */
    readonly location: pulumi.Output<string>;
    /**
     * 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.
     */
    readonly managedIdentityId: pulumi.Output<string>;
    /**
     * @deprecated `managedIdentityResourceId` has been deprecated in favour of the `managedIdentityId` property and will be removed in v5.0 of the AzureRM Provider.
     */
    readonly managedIdentityResourceId: pulumi.Output<string>;
    /**
     * Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created.
     */
    readonly mappingRuleName: pulumi.Output<string | undefined>;
    /**
     * The name of the Kusto Event Grid Data Connection to create. Changing this forces a new resource to be created.
     */
    readonly name: pulumi.Output<string>;
    /**
     * Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.
     */
    readonly resourceGroupName: pulumi.Output<string>;
    /**
     * is the first record of every file ignored? Defaults to `false`.
     */
    readonly skipFirstRecord: pulumi.Output<boolean | undefined>;
    /**
     * Specifies the resource id of the Storage Account this data connection will use for ingestion. Changing this forces a new resource to be created.
     */
    readonly storageAccountId: pulumi.Output<string>;
    /**
     * Specifies the target table name used for the message ingestion. Table must exist before resource is created.
     */
    readonly tableName: pulumi.Output<string | undefined>;
    /**
     * Create a EventGridDataConnection resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: EventGridDataConnectionArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering EventGridDataConnection resources.
 */
export interface EventGridDataConnectionState {
    /**
     * 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.Input<string | undefined>;
    /**
     * 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.Input<string | undefined>;
    /**
     * 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.Input<string | undefined>;
    /**
     * 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.Input<string | undefined>;
    /**
     * Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: `Single`, `Multi`. Changing this forces a new resource to be created. Defaults to `Single`.
     */
    databaseRoutingType?: pulumi.Input<string | undefined>;
    /**
     * The resource ID of the event grid that is subscribed to the storage account events.
     */
    eventgridEventSubscriptionId?: pulumi.Input<string | undefined>;
    /**
     * @deprecated `eventgridResourceId` has been deprecated in favour of the `eventgridEventSubscriptionId` property and will be removed in v5.0 of the AzureRM Provider.
     */
    eventgridResourceId?: pulumi.Input<string | undefined>;
    /**
     * Specifies the Event Hub consumer group this data connection will use for ingestion. Changing this forces a new resource to be created.
     */
    eventhubConsumerGroupName?: pulumi.Input<string | undefined>;
    /**
     * 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.Input<string | undefined>;
    /**
     * The location where the Kusto Database should be created. Changing this forces a new resource to be created.
     */
    location?: pulumi.Input<string | undefined>;
    /**
     * 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.
     */
    managedIdentityId?: pulumi.Input<string | undefined>;
    /**
     * @deprecated `managedIdentityResourceId` has been deprecated in favour of the `managedIdentityId` property and will be removed in v5.0 of the AzureRM Provider.
     */
    managedIdentityResourceId?: pulumi.Input<string | undefined>;
    /**
     * Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created.
     */
    mappingRuleName?: pulumi.Input<string | undefined>;
    /**
     * The name of the Kusto Event Grid Data Connection to create. Changing this forces a new resource to be created.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.
     */
    resourceGroupName?: pulumi.Input<string | undefined>;
    /**
     * is the first record of every file ignored? Defaults to `false`.
     */
    skipFirstRecord?: pulumi.Input<boolean | undefined>;
    /**
     * 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.Input<string | undefined>;
    /**
     * Specifies the target table name used for the message ingestion. Table must exist before resource is created.
     */
    tableName?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a EventGridDataConnection resource.
 */
export interface EventGridDataConnectionArgs {
    /**
     * 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.Input<string | undefined>;
    /**
     * 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.Input<string>;
    /**
     * 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.Input<string | undefined>;
    /**
     * 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.Input<string>;
    /**
     * Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: `Single`, `Multi`. Changing this forces a new resource to be created. Defaults to `Single`.
     */
    databaseRoutingType?: pulumi.Input<string | undefined>;
    /**
     * The resource ID of the event grid that is subscribed to the storage account events.
     */
    eventgridEventSubscriptionId?: pulumi.Input<string | undefined>;
    /**
     * @deprecated `eventgridResourceId` has been deprecated in favour of the `eventgridEventSubscriptionId` property and will be removed in v5.0 of the AzureRM Provider.
     */
    eventgridResourceId?: pulumi.Input<string | undefined>;
    /**
     * Specifies the Event Hub consumer group this data connection will use for ingestion. Changing this forces a new resource to be created.
     */
    eventhubConsumerGroupName: pulumi.Input<string>;
    /**
     * 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.Input<string>;
    /**
     * The location where the Kusto Database should be created. Changing this forces a new resource to be created.
     */
    location?: pulumi.Input<string | undefined>;
    /**
     * 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.
     */
    managedIdentityId?: pulumi.Input<string | undefined>;
    /**
     * @deprecated `managedIdentityResourceId` has been deprecated in favour of the `managedIdentityId` property and will be removed in v5.0 of the AzureRM Provider.
     */
    managedIdentityResourceId?: pulumi.Input<string | undefined>;
    /**
     * Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created.
     */
    mappingRuleName?: pulumi.Input<string | undefined>;
    /**
     * The name of the Kusto Event Grid Data Connection to create. Changing this forces a new resource to be created.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * Specifies the Resource Group where the Kusto Database should exist. Changing this forces a new resource to be created.
     */
    resourceGroupName: pulumi.Input<string>;
    /**
     * is the first record of every file ignored? Defaults to `false`.
     */
    skipFirstRecord?: pulumi.Input<boolean | undefined>;
    /**
     * 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.Input<string>;
    /**
     * Specifies the target table name used for the message ingestion. Table must exist before resource is created.
     */
    tableName?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=eventGridDataConnection.d.ts.map