import * as pulumi from "@pulumi/pulumi";
/**
 * Provides a [Sumologic Partition](https://help.sumologic.com/docs/manage/partitions/data-tiers/).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as sumologic from "@pulumi/sumologic";
 *
 * const examplePartition = new sumologic.Partition("examplePartition", {
 *     name: "examplePartition",
 *     routingExpression: "_sourcecategory=*&#47;IAC",
 *     analyticsTier: "continuous",
 *     isCompliant: false,
 *     isIncludedInDefaultSearch: true,
 * });
 * ```
 *
 * ## Attributes reference
 *
 * The following attributes are exported:
 *
 * - `id` - Unique identifier for the partition.
 *
 * ## Import
 *
 * Partitions can can be imported using the id. The list of partitions and their ids can be obtained using the Sumologic [partions api][2].
 *
 * hcl
 *
 * ```sh
 * $ pulumi import sumologic:index/partition:Partition partition 1234567890
 * ```
 *
 * [1]: https://help.sumologic.com/docs/manage/partitions/data-tiers/
 *
 * [2]: https://api.sumologic.com/docs/#operation/listPartitions
 */
export declare class Partition extends pulumi.CustomResource {
    /**
     * Get an existing Partition 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?: PartitionState, opts?: pulumi.CustomResourceOptions): Partition;
    /**
     * Returns true if the given object is an instance of Partition.  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 Partition;
    readonly analyticsTier: pulumi.Output<string | undefined>;
    readonly dataForwardingId: pulumi.Output<string>;
    readonly indexType: pulumi.Output<string>;
    readonly isActive: pulumi.Output<boolean>;
    /**
     * Whether the partition is compliant or not. Mark a partition as compliant if it contains data used for compliance or audit purpose. Retention for a compliant partition can only be increased and cannot be reduced after the partition is marked compliant. A partition once marked compliant, cannot be marked non-compliant later.
     */
    readonly isCompliant: pulumi.Output<boolean | undefined>;
    /**
     * Indicates whether the partition is included in the default search scope. When executing a query such as "error | count," certain partitions are automatically part of the search scope. However, for specific partitions, the user must explicitly mention the partition using the _index term, as in "_index=webApp error | count". This property governs the default inclusion of the partition in the search scope. Configuring this property is exclusively permitted for flex partitions.
     */
    readonly isIncludedInDefaultSearch: pulumi.Output<boolean | undefined>;
    /**
     * The name of the partition.
     */
    readonly name: pulumi.Output<string>;
    /**
     * This is required on update if the newly specified retention period is less than the existing retention period. In such a situation, a value of true says that data between the existing retention period and the new retention period should be deleted immediately; if false, such data will be deleted after seven days. This property is optional and ignored if the specified retentionPeriod is greater than or equal to the current retention period.
     */
    readonly reduceRetentionPeriodImmediately: pulumi.Output<boolean | undefined>;
    /**
     * The number of days to retain data in the partition, or -1 to use the default value for your account. Only relevant if your account has variable retention enabled.
     */
    readonly retentionPeriod: pulumi.Output<number | undefined>;
    /**
     * The query that defines the data to be included in the partition.
     */
    readonly routingExpression: pulumi.Output<string | undefined>;
    readonly totalBytes: pulumi.Output<number>;
    /**
     * Create a Partition 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?: PartitionArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering Partition resources.
 */
export interface PartitionState {
    analyticsTier?: pulumi.Input<string>;
    dataForwardingId?: pulumi.Input<string>;
    indexType?: pulumi.Input<string>;
    isActive?: pulumi.Input<boolean>;
    /**
     * Whether the partition is compliant or not. Mark a partition as compliant if it contains data used for compliance or audit purpose. Retention for a compliant partition can only be increased and cannot be reduced after the partition is marked compliant. A partition once marked compliant, cannot be marked non-compliant later.
     */
    isCompliant?: pulumi.Input<boolean>;
    /**
     * Indicates whether the partition is included in the default search scope. When executing a query such as "error | count," certain partitions are automatically part of the search scope. However, for specific partitions, the user must explicitly mention the partition using the _index term, as in "_index=webApp error | count". This property governs the default inclusion of the partition in the search scope. Configuring this property is exclusively permitted for flex partitions.
     */
    isIncludedInDefaultSearch?: pulumi.Input<boolean>;
    /**
     * The name of the partition.
     */
    name?: pulumi.Input<string>;
    /**
     * This is required on update if the newly specified retention period is less than the existing retention period. In such a situation, a value of true says that data between the existing retention period and the new retention period should be deleted immediately; if false, such data will be deleted after seven days. This property is optional and ignored if the specified retentionPeriod is greater than or equal to the current retention period.
     */
    reduceRetentionPeriodImmediately?: pulumi.Input<boolean>;
    /**
     * The number of days to retain data in the partition, or -1 to use the default value for your account. Only relevant if your account has variable retention enabled.
     */
    retentionPeriod?: pulumi.Input<number>;
    /**
     * The query that defines the data to be included in the partition.
     */
    routingExpression?: pulumi.Input<string>;
    totalBytes?: pulumi.Input<number>;
}
/**
 * The set of arguments for constructing a Partition resource.
 */
export interface PartitionArgs {
    analyticsTier?: pulumi.Input<string>;
    /**
     * Whether the partition is compliant or not. Mark a partition as compliant if it contains data used for compliance or audit purpose. Retention for a compliant partition can only be increased and cannot be reduced after the partition is marked compliant. A partition once marked compliant, cannot be marked non-compliant later.
     */
    isCompliant?: pulumi.Input<boolean>;
    /**
     * Indicates whether the partition is included in the default search scope. When executing a query such as "error | count," certain partitions are automatically part of the search scope. However, for specific partitions, the user must explicitly mention the partition using the _index term, as in "_index=webApp error | count". This property governs the default inclusion of the partition in the search scope. Configuring this property is exclusively permitted for flex partitions.
     */
    isIncludedInDefaultSearch?: pulumi.Input<boolean>;
    /**
     * The name of the partition.
     */
    name?: pulumi.Input<string>;
    /**
     * This is required on update if the newly specified retention period is less than the existing retention period. In such a situation, a value of true says that data between the existing retention period and the new retention period should be deleted immediately; if false, such data will be deleted after seven days. This property is optional and ignored if the specified retentionPeriod is greater than or equal to the current retention period.
     */
    reduceRetentionPeriodImmediately?: pulumi.Input<boolean>;
    /**
     * The number of days to retain data in the partition, or -1 to use the default value for your account. Only relevant if your account has variable retention enabled.
     */
    retentionPeriod?: pulumi.Input<number>;
    /**
     * The query that defines the data to be included in the partition.
     */
    routingExpression?: pulumi.Input<string>;
}
