import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Manages a Stream Analytics Job.
 *
 * ## 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 exampleJob = new azure.streamanalytics.Job("example", {
 *     name: "example-job",
 *     resourceGroupName: example.name,
 *     location: example.location,
 *     compatibilityLevel: "1.2",
 *     dataLocale: "en-GB",
 *     eventsLateArrivalMaxDelayInSeconds: 60,
 *     eventsOutOfOrderMaxDelayInSeconds: 50,
 *     eventsOutOfOrderPolicy: "Adjust",
 *     outputErrorPolicy: "Drop",
 *     streamingUnits: 3,
 *     skuName: "StandardV2",
 *     tags: {
 *         environment: "Example",
 *     },
 *     transformationQuery: `    SELECT *
 *     INTO [YourOutputAlias]
 *     FROM [YourInputAlias]
 * `,
 * });
 * ```
 *
 * ## API Providers
 *
 * <!-- This section is generated, changes will be overwritten -->
 * This resource uses the following Azure API Providers:
 *
 * * `Microsoft.StreamAnalytics` - 2021-10-01-preview, 2020-03-01
 *
 * ## Import
 *
 * Stream Analytics Job's can be imported using the `resource id`, e.g.
 *
 * ```sh
 * $ pulumi import azure:streamanalytics/job:Job example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StreamAnalytics/streamingJobs/job1
 * ```
 */
export declare class Job extends pulumi.CustomResource {
    /**
     * Get an existing Job 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?: JobState, opts?: pulumi.CustomResourceOptions): Job;
    /**
     * Returns true if the given object is an instance of Job.  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 Job;
    /**
     * Specifies the compatibility level for this job - which controls certain runtime behaviours of the streaming job. Possible values are `1.0`, `1.1` and `1.2`.
     *
     * > **Note:** Support for Compatibility Level 1.2 is dependent on a new version of the Stream Analytics API, which [being tracked in this issue](https://github.com/Azure/azure-rest-api-specs/issues/5604).
     */
    readonly compatibilityLevel: pulumi.Output<string>;
    /**
     * The policy for storing stream analytics content. Possible values are `JobStorageAccount`, `SystemAccount`. Defaults to `SystemAccount`.
     */
    readonly contentStoragePolicy: pulumi.Output<string | undefined>;
    /**
     * Specifies the Data Locale of the Job, which [should be a supported .NET Culture](https://msdn.microsoft.com/en-us/library/system.globalization.culturetypes(v=vs.110).aspx). Defaults to `en-US`.
     */
    readonly dataLocale: pulumi.Output<string | undefined>;
    /**
     * Specifies the maximum tolerable delay in seconds where events arriving late could be included. Supported range is `-1` (indefinite) to `1814399` (20d 23h 59m 59s). Default is `5`.
     */
    readonly eventsLateArrivalMaxDelayInSeconds: pulumi.Output<number | undefined>;
    /**
     * Specifies the maximum tolerable delay in seconds where out-of-order events can be adjusted to be back in order. Supported range is `0` to `599` (9m 59s). Default is `0`.
     */
    readonly eventsOutOfOrderMaxDelayInSeconds: pulumi.Output<number | undefined>;
    /**
     * Specifies the policy which should be applied to events which arrive out of order in the input event stream. Possible values are `Adjust` and `Drop`. Default is `Adjust`.
     */
    readonly eventsOutOfOrderPolicy: pulumi.Output<string | undefined>;
    /**
     * An `identity` block as defined below.
     */
    readonly identity: pulumi.Output<outputs.streamanalytics.JobIdentity | undefined>;
    /**
     * The Job ID assigned by the Stream Analytics Job.
     */
    readonly jobId: pulumi.Output<string>;
    /**
     * The details of the job storage account. A `jobStorageAccount` block as defined below.
     *
     * > **Note:** `contentStoragePolicy` must be set to `JobStorageAccount` when specifying `jobStorageAccount`.
     */
    readonly jobStorageAccounts: pulumi.Output<outputs.streamanalytics.JobJobStorageAccount[] | undefined>;
    /**
     * The Azure Region in which the Resource Group exists. Changing this forces a new resource to be created.
     */
    readonly location: pulumi.Output<string>;
    /**
     * The name of the Stream Analytics Job. Changing this forces a new resource to be created.
     */
    readonly name: pulumi.Output<string>;
    /**
     * Specifies the policy which should be applied to events which arrive at the output and cannot be written to the external storage due to being malformed (such as missing column values, column values of wrong type or size). Possible values are `Drop` and `Stop`. Default is `Drop`.
     */
    readonly outputErrorPolicy: pulumi.Output<string | undefined>;
    /**
     * The name of the Resource Group where the Stream Analytics Job should exist. Changing this forces a new resource to be created.
     */
    readonly resourceGroupName: pulumi.Output<string>;
    /**
     * The SKU Name to use for the Stream Analytics Job. Possible values are `Standard`, `StandardV2`. Defaults to `Standard`.
     */
    readonly skuName: pulumi.Output<string | undefined>;
    /**
     * The ID of an existing Stream Analytics Cluster where the Stream Analytics Job should run.
     */
    readonly streamAnalyticsClusterId: pulumi.Output<string | undefined>;
    /**
     * Specifies the number of streaming units that the streaming job uses. Supported values are `1`, `3`, `6` and multiples of `6` up to `120`. A conversion table for V2 streaming units can be found [here](https://learn.microsoft.com/azure/stream-analytics/stream-analytics-streaming-unit-consumption#understand-streaming-unit-conversions-and-where-they-apply)
     *
     * > **Note:** `streamingUnits` must be set when `type` is `Cloud`.
     */
    readonly streamingUnits: pulumi.Output<number | undefined>;
    readonly tags: pulumi.Output<{
        [key: string]: string;
    } | undefined>;
    readonly transformationQuery: pulumi.Output<string>;
    /**
     * The type of the Stream Analytics Job. Possible values are `Cloud` and `Edge`. Defaults to `Cloud`. Changing this forces a new resource to be created.
     *
     * > **Note:** `Edge` doesn't support `streamAnalyticsClusterId` and `streamingUnits`.
     */
    readonly type: pulumi.Output<string | undefined>;
    /**
     * Create a Job 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: JobArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering Job resources.
 */
export interface JobState {
    /**
     * Specifies the compatibility level for this job - which controls certain runtime behaviours of the streaming job. Possible values are `1.0`, `1.1` and `1.2`.
     *
     * > **Note:** Support for Compatibility Level 1.2 is dependent on a new version of the Stream Analytics API, which [being tracked in this issue](https://github.com/Azure/azure-rest-api-specs/issues/5604).
     */
    compatibilityLevel?: pulumi.Input<string | undefined>;
    /**
     * The policy for storing stream analytics content. Possible values are `JobStorageAccount`, `SystemAccount`. Defaults to `SystemAccount`.
     */
    contentStoragePolicy?: pulumi.Input<string | undefined>;
    /**
     * Specifies the Data Locale of the Job, which [should be a supported .NET Culture](https://msdn.microsoft.com/en-us/library/system.globalization.culturetypes(v=vs.110).aspx). Defaults to `en-US`.
     */
    dataLocale?: pulumi.Input<string | undefined>;
    /**
     * Specifies the maximum tolerable delay in seconds where events arriving late could be included. Supported range is `-1` (indefinite) to `1814399` (20d 23h 59m 59s). Default is `5`.
     */
    eventsLateArrivalMaxDelayInSeconds?: pulumi.Input<number | undefined>;
    /**
     * Specifies the maximum tolerable delay in seconds where out-of-order events can be adjusted to be back in order. Supported range is `0` to `599` (9m 59s). Default is `0`.
     */
    eventsOutOfOrderMaxDelayInSeconds?: pulumi.Input<number | undefined>;
    /**
     * Specifies the policy which should be applied to events which arrive out of order in the input event stream. Possible values are `Adjust` and `Drop`. Default is `Adjust`.
     */
    eventsOutOfOrderPolicy?: pulumi.Input<string | undefined>;
    /**
     * An `identity` block as defined below.
     */
    identity?: pulumi.Input<inputs.streamanalytics.JobIdentity | undefined>;
    /**
     * The Job ID assigned by the Stream Analytics Job.
     */
    jobId?: pulumi.Input<string | undefined>;
    /**
     * The details of the job storage account. A `jobStorageAccount` block as defined below.
     *
     * > **Note:** `contentStoragePolicy` must be set to `JobStorageAccount` when specifying `jobStorageAccount`.
     */
    jobStorageAccounts?: pulumi.Input<pulumi.Input<inputs.streamanalytics.JobJobStorageAccount>[] | undefined>;
    /**
     * The Azure Region in which the Resource Group exists. Changing this forces a new resource to be created.
     */
    location?: pulumi.Input<string | undefined>;
    /**
     * The name of the Stream Analytics Job. Changing this forces a new resource to be created.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * Specifies the policy which should be applied to events which arrive at the output and cannot be written to the external storage due to being malformed (such as missing column values, column values of wrong type or size). Possible values are `Drop` and `Stop`. Default is `Drop`.
     */
    outputErrorPolicy?: pulumi.Input<string | undefined>;
    /**
     * The name of the Resource Group where the Stream Analytics Job should exist. Changing this forces a new resource to be created.
     */
    resourceGroupName?: pulumi.Input<string | undefined>;
    /**
     * The SKU Name to use for the Stream Analytics Job. Possible values are `Standard`, `StandardV2`. Defaults to `Standard`.
     */
    skuName?: pulumi.Input<string | undefined>;
    /**
     * The ID of an existing Stream Analytics Cluster where the Stream Analytics Job should run.
     */
    streamAnalyticsClusterId?: pulumi.Input<string | undefined>;
    /**
     * Specifies the number of streaming units that the streaming job uses. Supported values are `1`, `3`, `6` and multiples of `6` up to `120`. A conversion table for V2 streaming units can be found [here](https://learn.microsoft.com/azure/stream-analytics/stream-analytics-streaming-unit-consumption#understand-streaming-unit-conversions-and-where-they-apply)
     *
     * > **Note:** `streamingUnits` must be set when `type` is `Cloud`.
     */
    streamingUnits?: pulumi.Input<number | undefined>;
    tags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    transformationQuery?: pulumi.Input<string | undefined>;
    /**
     * The type of the Stream Analytics Job. Possible values are `Cloud` and `Edge`. Defaults to `Cloud`. Changing this forces a new resource to be created.
     *
     * > **Note:** `Edge` doesn't support `streamAnalyticsClusterId` and `streamingUnits`.
     */
    type?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a Job resource.
 */
export interface JobArgs {
    /**
     * Specifies the compatibility level for this job - which controls certain runtime behaviours of the streaming job. Possible values are `1.0`, `1.1` and `1.2`.
     *
     * > **Note:** Support for Compatibility Level 1.2 is dependent on a new version of the Stream Analytics API, which [being tracked in this issue](https://github.com/Azure/azure-rest-api-specs/issues/5604).
     */
    compatibilityLevel?: pulumi.Input<string | undefined>;
    /**
     * The policy for storing stream analytics content. Possible values are `JobStorageAccount`, `SystemAccount`. Defaults to `SystemAccount`.
     */
    contentStoragePolicy?: pulumi.Input<string | undefined>;
    /**
     * Specifies the Data Locale of the Job, which [should be a supported .NET Culture](https://msdn.microsoft.com/en-us/library/system.globalization.culturetypes(v=vs.110).aspx). Defaults to `en-US`.
     */
    dataLocale?: pulumi.Input<string | undefined>;
    /**
     * Specifies the maximum tolerable delay in seconds where events arriving late could be included. Supported range is `-1` (indefinite) to `1814399` (20d 23h 59m 59s). Default is `5`.
     */
    eventsLateArrivalMaxDelayInSeconds?: pulumi.Input<number | undefined>;
    /**
     * Specifies the maximum tolerable delay in seconds where out-of-order events can be adjusted to be back in order. Supported range is `0` to `599` (9m 59s). Default is `0`.
     */
    eventsOutOfOrderMaxDelayInSeconds?: pulumi.Input<number | undefined>;
    /**
     * Specifies the policy which should be applied to events which arrive out of order in the input event stream. Possible values are `Adjust` and `Drop`. Default is `Adjust`.
     */
    eventsOutOfOrderPolicy?: pulumi.Input<string | undefined>;
    /**
     * An `identity` block as defined below.
     */
    identity?: pulumi.Input<inputs.streamanalytics.JobIdentity | undefined>;
    /**
     * The details of the job storage account. A `jobStorageAccount` block as defined below.
     *
     * > **Note:** `contentStoragePolicy` must be set to `JobStorageAccount` when specifying `jobStorageAccount`.
     */
    jobStorageAccounts?: pulumi.Input<pulumi.Input<inputs.streamanalytics.JobJobStorageAccount>[] | undefined>;
    /**
     * The Azure Region in which the Resource Group exists. Changing this forces a new resource to be created.
     */
    location?: pulumi.Input<string | undefined>;
    /**
     * The name of the Stream Analytics Job. Changing this forces a new resource to be created.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * Specifies the policy which should be applied to events which arrive at the output and cannot be written to the external storage due to being malformed (such as missing column values, column values of wrong type or size). Possible values are `Drop` and `Stop`. Default is `Drop`.
     */
    outputErrorPolicy?: pulumi.Input<string | undefined>;
    /**
     * The name of the Resource Group where the Stream Analytics Job should exist. Changing this forces a new resource to be created.
     */
    resourceGroupName: pulumi.Input<string>;
    /**
     * The SKU Name to use for the Stream Analytics Job. Possible values are `Standard`, `StandardV2`. Defaults to `Standard`.
     */
    skuName?: pulumi.Input<string | undefined>;
    /**
     * The ID of an existing Stream Analytics Cluster where the Stream Analytics Job should run.
     */
    streamAnalyticsClusterId?: pulumi.Input<string | undefined>;
    /**
     * Specifies the number of streaming units that the streaming job uses. Supported values are `1`, `3`, `6` and multiples of `6` up to `120`. A conversion table for V2 streaming units can be found [here](https://learn.microsoft.com/azure/stream-analytics/stream-analytics-streaming-unit-consumption#understand-streaming-unit-conversions-and-where-they-apply)
     *
     * > **Note:** `streamingUnits` must be set when `type` is `Cloud`.
     */
    streamingUnits?: pulumi.Input<number | undefined>;
    tags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    transformationQuery: pulumi.Input<string>;
    /**
     * The type of the Stream Analytics Job. Possible values are `Cloud` and `Edge`. Defaults to `Cloud`. Changing this forces a new resource to be created.
     *
     * > **Note:** `Edge` doesn't support `streamAnalyticsClusterId` and `streamingUnits`.
     */
    type?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=job.d.ts.map