import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This resource provides the Media Workflow Job resource in Oracle Cloud Infrastructure Media Services service.
 * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/dms/latest/MediaWorkflowJob
 *
 * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/media_services
 *
 * Run the MediaWorkflow according to the given mediaWorkflow definition and configuration.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testMediaWorkflowJob = new oci.mediaservices.MediaWorkflowJob("test_media_workflow_job", {
 *     compartmentId: compartmentId,
 *     workflowIdentifierType: mediaWorkflowJobWorkflowIdentifierType,
 *     definedTags: {
 *         "foo-namespace.bar-key": "value",
 *     },
 *     displayName: mediaWorkflowJobDisplayName,
 *     freeformTags: {
 *         "bar-key": "value",
 *     },
 *     locks: [{
 *         compartmentId: compartmentId,
 *         type: mediaWorkflowJobLocksType,
 *         message: mediaWorkflowJobLocksMessage,
 *         relatedResourceId: testResource.id,
 *         timeCreated: mediaWorkflowJobLocksTimeCreated,
 *     }],
 *     mediaWorkflowConfigurationIds: mediaWorkflowJobMediaWorkflowConfigurationIds,
 *     mediaWorkflowId: testMediaWorkflow.id,
 *     mediaWorkflowName: testMediaWorkflow.name,
 *     parameters: mediaWorkflowJobParameters,
 * });
 * ```
 *
 * ## Import
 *
 * MediaWorkflowJobs can be imported using the `id`, e.g.
 *
 * ```sh
 * $ pulumi import oci:MediaServices/mediaWorkflowJob:MediaWorkflowJob test_media_workflow_job "id"
 * ```
 */
export declare class MediaWorkflowJob extends pulumi.CustomResource {
    /**
     * Get an existing MediaWorkflowJob 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?: MediaWorkflowJobState, opts?: pulumi.CustomResourceOptions): MediaWorkflowJob;
    /**
     * Returns true if the given object is an instance of MediaWorkflowJob.  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 MediaWorkflowJob;
    /**
     * (Updatable) ID of the compartment in which the job should be created.
     */
    readonly compartmentId: pulumi.Output<string>;
    /**
     * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`
     */
    readonly definedTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * (Updatable) Name of the Media Workflow Job. Does not have to be unique. Avoid entering confidential information.
     */
    readonly displayName: pulumi.Output<string>;
    /**
     * (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
     */
    readonly freeformTags: pulumi.Output<{
        [key: string]: string;
    }>;
    readonly isLockOverride: pulumi.Output<boolean>;
    /**
     * The lifecycle details of MediaWorkflowJob task.
     */
    readonly lifecycleDetails: pulumi.Output<string>;
    /**
     * Locks associated with this resource.
     */
    readonly locks: pulumi.Output<outputs.MediaServices.MediaWorkflowJobLock[]>;
    /**
     * Configurations to be applied to this run of the workflow.
     */
    readonly mediaWorkflowConfigurationIds: pulumi.Output<string[]>;
    /**
     * OCID of the MediaWorkflow that should be run.
     */
    readonly mediaWorkflowId: pulumi.Output<string>;
    /**
     * Name of the system MediaWorkflow that should be run.
     */
    readonly mediaWorkflowName: pulumi.Output<string>;
    /**
     * A list of JobOutput for the workflowJob.
     */
    readonly outputs: pulumi.Output<outputs.MediaServices.MediaWorkflowJobOutput[]>;
    /**
     * Parameters that override parameters specified in MediaWorkflowTaskDeclarations, the MediaWorkflow, the MediaWorkflow's MediaWorkflowConfigurations and the MediaWorkflowConfigurations of this MediaWorkflowJob. The parameters are given as JSON. The top level and 2nd level elements must be JSON objects (vs arrays, scalars, etc). The top level keys refer to a task's key and the 2nd level keys refer to a parameter's name.
     */
    readonly parameters: pulumi.Output<string>;
    /**
     * A JSON representation of the job as it will be run by the system. All the task declarations, configurations and parameters are merged. Parameter values are all fully resolved.
     */
    readonly runnable: pulumi.Output<string>;
    /**
     * The current state of the MediaWorkflowJob task.
     */
    readonly state: pulumi.Output<string>;
    /**
     * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud.free-tier-retained": "true"}`
     */
    readonly systemTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * Status of each task.
     */
    readonly taskLifecycleStates: pulumi.Output<outputs.MediaServices.MediaWorkflowJobTaskLifecycleState[]>;
    /**
     * Creation time of the job. An RFC3339 formatted datetime string.
     */
    readonly timeCreated: pulumi.Output<string>;
    /**
     * Time when the job finished. An RFC3339 formatted datetime string.
     */
    readonly timeEnded: pulumi.Output<string>;
    /**
     * Time when the job started to execute. An RFC3339 formatted datetime string.
     */
    readonly timeStarted: pulumi.Output<string>;
    /**
     * Updated time of the job. An RFC3339 formatted datetime string.
     */
    readonly timeUpdated: pulumi.Output<string>;
    /**
     * Discriminate identification of a workflow by name versus a workflow by ID.
     *
     *
     * ** IMPORTANT **
     * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
     */
    readonly workflowIdentifierType: pulumi.Output<string>;
    /**
     * Create a MediaWorkflowJob 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: MediaWorkflowJobArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering MediaWorkflowJob resources.
 */
export interface MediaWorkflowJobState {
    /**
     * (Updatable) ID of the compartment in which the job should be created.
     */
    compartmentId?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`
     */
    definedTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * (Updatable) Name of the Media Workflow Job. Does not have to be unique. Avoid entering confidential information.
     */
    displayName?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
     */
    freeformTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    isLockOverride?: pulumi.Input<boolean | undefined>;
    /**
     * The lifecycle details of MediaWorkflowJob task.
     */
    lifecycleDetails?: pulumi.Input<string | undefined>;
    /**
     * Locks associated with this resource.
     */
    locks?: pulumi.Input<pulumi.Input<inputs.MediaServices.MediaWorkflowJobLock>[] | undefined>;
    /**
     * Configurations to be applied to this run of the workflow.
     */
    mediaWorkflowConfigurationIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * OCID of the MediaWorkflow that should be run.
     */
    mediaWorkflowId?: pulumi.Input<string | undefined>;
    /**
     * Name of the system MediaWorkflow that should be run.
     */
    mediaWorkflowName?: pulumi.Input<string | undefined>;
    /**
     * A list of JobOutput for the workflowJob.
     */
    outputs?: pulumi.Input<pulumi.Input<inputs.MediaServices.MediaWorkflowJobOutput>[] | undefined>;
    /**
     * Parameters that override parameters specified in MediaWorkflowTaskDeclarations, the MediaWorkflow, the MediaWorkflow's MediaWorkflowConfigurations and the MediaWorkflowConfigurations of this MediaWorkflowJob. The parameters are given as JSON. The top level and 2nd level elements must be JSON objects (vs arrays, scalars, etc). The top level keys refer to a task's key and the 2nd level keys refer to a parameter's name.
     */
    parameters?: pulumi.Input<string | undefined>;
    /**
     * A JSON representation of the job as it will be run by the system. All the task declarations, configurations and parameters are merged. Parameter values are all fully resolved.
     */
    runnable?: pulumi.Input<string | undefined>;
    /**
     * The current state of the MediaWorkflowJob task.
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud.free-tier-retained": "true"}`
     */
    systemTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * Status of each task.
     */
    taskLifecycleStates?: pulumi.Input<pulumi.Input<inputs.MediaServices.MediaWorkflowJobTaskLifecycleState>[] | undefined>;
    /**
     * Creation time of the job. An RFC3339 formatted datetime string.
     */
    timeCreated?: pulumi.Input<string | undefined>;
    /**
     * Time when the job finished. An RFC3339 formatted datetime string.
     */
    timeEnded?: pulumi.Input<string | undefined>;
    /**
     * Time when the job started to execute. An RFC3339 formatted datetime string.
     */
    timeStarted?: pulumi.Input<string | undefined>;
    /**
     * Updated time of the job. An RFC3339 formatted datetime string.
     */
    timeUpdated?: pulumi.Input<string | undefined>;
    /**
     * Discriminate identification of a workflow by name versus a workflow by ID.
     *
     *
     * ** IMPORTANT **
     * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
     */
    workflowIdentifierType?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a MediaWorkflowJob resource.
 */
export interface MediaWorkflowJobArgs {
    /**
     * (Updatable) ID of the compartment in which the job should be created.
     */
    compartmentId: pulumi.Input<string>;
    /**
     * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`
     */
    definedTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * (Updatable) Name of the Media Workflow Job. Does not have to be unique. Avoid entering confidential information.
     */
    displayName?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
     */
    freeformTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    isLockOverride?: pulumi.Input<boolean | undefined>;
    /**
     * Locks associated with this resource.
     */
    locks?: pulumi.Input<pulumi.Input<inputs.MediaServices.MediaWorkflowJobLock>[] | undefined>;
    /**
     * Configurations to be applied to this run of the workflow.
     */
    mediaWorkflowConfigurationIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * OCID of the MediaWorkflow that should be run.
     */
    mediaWorkflowId?: pulumi.Input<string | undefined>;
    /**
     * Name of the system MediaWorkflow that should be run.
     */
    mediaWorkflowName?: pulumi.Input<string | undefined>;
    /**
     * Parameters that override parameters specified in MediaWorkflowTaskDeclarations, the MediaWorkflow, the MediaWorkflow's MediaWorkflowConfigurations and the MediaWorkflowConfigurations of this MediaWorkflowJob. The parameters are given as JSON. The top level and 2nd level elements must be JSON objects (vs arrays, scalars, etc). The top level keys refer to a task's key and the 2nd level keys refer to a parameter's name.
     */
    parameters?: pulumi.Input<string | undefined>;
    /**
     * Discriminate identification of a workflow by name versus a workflow by ID.
     *
     *
     * ** IMPORTANT **
     * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
     */
    workflowIdentifierType: pulumi.Input<string>;
}
//# sourceMappingURL=mediaWorkflowJob.d.ts.map