import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Use this data source to access information about an existing Data Collection Rule.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const example = azure.monitoring.getDataCollectionRule({
 *     name: "example-rule",
 *     resourceGroupName: exampleAzurermResourceGroup.name,
 * });
 * export const ruleId = example.then(example => example.id);
 * ```
 *
 * ## API Providers
 *
 * <!-- This section is generated, changes will be overwritten -->
 * This data source uses the following Azure API Providers:
 *
 * * `Microsoft.Insights` - 2023-03-11
 */
export declare function getDataCollectionRule(args: GetDataCollectionRuleArgs, opts?: pulumi.InvokeOptions): Promise<GetDataCollectionRuleResult>;
/**
 * A collection of arguments for invoking getDataCollectionRule.
 */
export interface GetDataCollectionRuleArgs {
    /**
     * Specifies the name of the Data Collection Rule.
     */
    name: string;
    /**
     * Specifies the name of the resource group the Data Collection Rule is located in.
     */
    resourceGroupName: string;
}
/**
 * A collection of values returned by getDataCollectionRule.
 */
export interface GetDataCollectionRuleResult {
    /**
     * The resource ID of the Data Collection Endpoint that this rule can be used with.
     */
    readonly dataCollectionEndpointId: string;
    /**
     * One or more `dataFlow` blocks as defined below.
     */
    readonly dataFlows: outputs.monitoring.GetDataCollectionRuleDataFlow[];
    /**
     * A `dataSources` block as defined below. This property is optional and can be omitted if the rule is meant to be used via direct calls to the provisioned endpoint.
     */
    readonly dataSources: outputs.monitoring.GetDataCollectionRuleDataSource[];
    /**
     * The description of the Data Collection Rule.
     */
    readonly description: string;
    /**
     * Specifies a list of destination names. A `azureMonitorMetrics` data source only allows for stream of kind `Microsoft-InsightsMetrics`.
     */
    readonly destinations: outputs.monitoring.GetDataCollectionRuleDestination[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * An `identity` block as defined below.
     */
    readonly identities: outputs.monitoring.GetDataCollectionRuleIdentity[];
    readonly immutableId: string;
    /**
     * The kind of the Data Collection Rule. Possible values are `Linux`, `Windows`,and `AgentDirectToStore`. A rule of kind `Linux` does not allow for `windowsEventLog` data sources. And a rule of kind `Windows` does not allow for `syslog` data sources. If kind is not specified, all kinds of data sources are allowed.
     */
    readonly kind: string;
    /**
     * The Azure Region where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
     */
    readonly location: string;
    /**
     * The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
     */
    readonly name: string;
    readonly resourceGroupName: string;
    /**
     * A `streamDeclaration` block as defined below.
     */
    readonly streamDeclarations: outputs.monitoring.GetDataCollectionRuleStreamDeclaration[];
    /**
     * A mapping of tags which should be assigned to the Data Collection Rule.
     */
    readonly tags: {
        [key: string]: string;
    };
}
/**
 * Use this data source to access information about an existing Data Collection Rule.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const example = azure.monitoring.getDataCollectionRule({
 *     name: "example-rule",
 *     resourceGroupName: exampleAzurermResourceGroup.name,
 * });
 * export const ruleId = example.then(example => example.id);
 * ```
 *
 * ## API Providers
 *
 * <!-- This section is generated, changes will be overwritten -->
 * This data source uses the following Azure API Providers:
 *
 * * `Microsoft.Insights` - 2023-03-11
 */
export declare function getDataCollectionRuleOutput(args: GetDataCollectionRuleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetDataCollectionRuleResult>;
/**
 * A collection of arguments for invoking getDataCollectionRule.
 */
export interface GetDataCollectionRuleOutputArgs {
    /**
     * Specifies the name of the Data Collection Rule.
     */
    name: pulumi.Input<string>;
    /**
     * Specifies the name of the resource group the Data Collection Rule is located in.
     */
    resourceGroupName: pulumi.Input<string>;
}
//# sourceMappingURL=getDataCollectionRule.d.ts.map