import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * An auto import job instance. Follows Azure Resource Manager standards: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md
 *
 * Uses Azure REST API version 2025-07-01.
 */
export declare class AutoImportJob extends pulumi.CustomResource {
    /**
     * Get an existing AutoImportJob 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 opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): AutoImportJob;
    /**
     * Returns true if the given object is an instance of AutoImportJob.  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 AutoImportJob;
    /**
     * The administrative status of the auto import job. Possible values: 'Enable', 'Disable'. Passing in a value of 'Disable' will disable the current active auto import job. By default it is set to 'Enable'.
     */
    readonly adminStatus: pulumi.Output<string | undefined>;
    /**
     * An array of blob paths/prefixes that get auto imported to the cluster namespace. It has '/' as the default value. Number of maximum allowed paths is 100.
     */
    readonly autoImportPrefixes: pulumi.Output<string[] | undefined>;
    /**
     * The Azure API version of the resource.
     */
    readonly azureApiVersion: pulumi.Output<string>;
    /**
     * The storage account blob change feed status of the auto import job.
     */
    readonly blobSyncEvents: pulumi.Output<outputs.storagecache.AutoImportJobResponseBlobSyncEvents>;
    /**
     * How the auto import job will handle conflicts. For example, if the auto import job is trying to bring in a directory, but a file is at that path, how it handles it. Fail indicates that the auto import job should stop immediately and not do anything with the conflict. Skip indicates that it should pass over the conflict. OverwriteIfDirty causes the auto import job to delete and re-import the file or directory if it is a conflicting type, is dirty, or is currently released. OverwriteAlways extends OverwriteIfDirty to include releasing files that had been restored but were not dirty. Please reference https://learn.microsoft.com/en-us/azure/azure-managed-lustre/blob-integration#conflict-resolution-mode for a thorough explanation of these resolution modes.
     */
    readonly conflictResolutionMode: pulumi.Output<string | undefined>;
    /**
     * Whether or not to enable deletions during auto import. This only affects overwrite-dirty.
     */
    readonly enableDeletions: pulumi.Output<boolean | undefined>;
    /**
     * Number of directories imported during full scan.
     */
    readonly importedDirectories: pulumi.Output<number>;
    /**
     * Number of files imported during full scan.
     */
    readonly importedFiles: pulumi.Output<number>;
    /**
     * Number of symlinks imported during full scan.
     */
    readonly importedSymlinks: pulumi.Output<number>;
    /**
     * The time (in UTC) of the last completed auto import job.
     */
    readonly lastCompletionTimeUTC: pulumi.Output<string>;
    /**
     * The time (in UTC) the latest auto import job started.
     */
    readonly lastStartedTimeUTC: pulumi.Output<string>;
    /**
     * The geo-location where the resource lives
     */
    readonly location: pulumi.Output<string>;
    /**
     * Total non-conflict-oriented errors (e.g., OS errors) Import will tolerate before exiting with failure. -1 means infinite. 0 means exit immediately on any error.
     */
    readonly maximumErrors: pulumi.Output<number | undefined>;
    /**
     * The name of the resource
     */
    readonly name: pulumi.Output<string>;
    /**
     * Number of preexisting directories during full scan.
     */
    readonly preexistingDirectories: pulumi.Output<number>;
    /**
     * Number of preexisting files during full scan.
     */
    readonly preexistingFiles: pulumi.Output<number>;
    /**
     * Number of preexisting symlinks during full scan.
     */
    readonly preexistingSymlinks: pulumi.Output<number>;
    /**
     * ARM provisioning state.
     */
    readonly provisioningState: pulumi.Output<string>;
    /**
     * Rate of blob import during full scan.
     */
    readonly rateOfBlobImport: pulumi.Output<number>;
    /**
     * Rate of blobs walked during full scan.
     */
    readonly rateOfBlobWalk: pulumi.Output<number>;
    /**
     * Date and time of when the full scan ended.
     */
    readonly scanEndTime: pulumi.Output<string>;
    /**
     * Date and time of when the currently running full scan began.
     */
    readonly scanStartTime: pulumi.Output<string>;
    /**
     * The state of the auto import operation.
     */
    readonly state: pulumi.Output<string>;
    /**
     * Server-defined status code for auto import job.
     */
    readonly statusCode: pulumi.Output<string>;
    /**
     * Server-defined status message for auto import job.
     */
    readonly statusMessage: pulumi.Output<string>;
    /**
     * Azure Resource Manager metadata containing createdBy and modifiedBy information.
     */
    readonly systemData: pulumi.Output<outputs.storagecache.SystemDataResponse>;
    /**
     * Resource tags.
     */
    readonly tags: pulumi.Output<{
        [key: string]: string;
    } | undefined>;
    /**
     * Total number of blobs imported during full scan.
     */
    readonly totalBlobsImported: pulumi.Output<number>;
    /**
     * Total number of blobs walked during full scan.
     */
    readonly totalBlobsWalked: pulumi.Output<number>;
    /**
     * Total conflicts encountered during full scan.
     */
    readonly totalConflicts: pulumi.Output<number>;
    /**
     * Total errors encountered during full scan.
     */
    readonly totalErrors: pulumi.Output<number>;
    /**
     * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     */
    readonly type: pulumi.Output<string>;
    /**
     * Create a AutoImportJob 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: AutoImportJobArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a AutoImportJob resource.
 */
export interface AutoImportJobArgs {
    /**
     * The administrative status of the auto import job. Possible values: 'Enable', 'Disable'. Passing in a value of 'Disable' will disable the current active auto import job. By default it is set to 'Enable'.
     */
    adminStatus?: pulumi.Input<string | enums.storagecache.AdminStatus>;
    /**
     * Name for the AML file system. Allows alphanumerics, underscores, and hyphens. Start and end with alphanumeric.
     */
    amlFilesystemName: pulumi.Input<string>;
    /**
     * Name for the auto import job. Allows alphanumerics, underscores, and hyphens. Start and end with alphanumeric.
     */
    autoImportJobName?: pulumi.Input<string>;
    /**
     * An array of blob paths/prefixes that get auto imported to the cluster namespace. It has '/' as the default value. Number of maximum allowed paths is 100.
     */
    autoImportPrefixes?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * How the auto import job will handle conflicts. For example, if the auto import job is trying to bring in a directory, but a file is at that path, how it handles it. Fail indicates that the auto import job should stop immediately and not do anything with the conflict. Skip indicates that it should pass over the conflict. OverwriteIfDirty causes the auto import job to delete and re-import the file or directory if it is a conflicting type, is dirty, or is currently released. OverwriteAlways extends OverwriteIfDirty to include releasing files that had been restored but were not dirty. Please reference https://learn.microsoft.com/en-us/azure/azure-managed-lustre/blob-integration#conflict-resolution-mode for a thorough explanation of these resolution modes.
     */
    conflictResolutionMode?: pulumi.Input<string | enums.storagecache.ConflictResolutionMode>;
    /**
     * Whether or not to enable deletions during auto import. This only affects overwrite-dirty.
     */
    enableDeletions?: pulumi.Input<boolean>;
    /**
     * The geo-location where the resource lives
     */
    location?: pulumi.Input<string>;
    /**
     * Total non-conflict-oriented errors (e.g., OS errors) Import will tolerate before exiting with failure. -1 means infinite. 0 means exit immediately on any error.
     */
    maximumErrors?: pulumi.Input<number>;
    /**
     * The name of the resource group. The name is case insensitive.
     */
    resourceGroupName: pulumi.Input<string>;
    /**
     * Resource tags.
     */
    tags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
}
