import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * This data source provides details about a specific Application resource in Oracle Cloud Infrastructure Data Flow service.
 *
 * Retrieves an application using an `applicationId`.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testApplication = oci.dataflow.getApplication({
 *     applicationId: testApplicationOciDataflowApplication.id,
 * });
 * ```
 */
export declare function getApplication(args: GetApplicationArgs, opts?: pulumi.InvokeOptions): Promise<GetApplicationResult>;
/**
 * A collection of arguments for invoking getApplication.
 */
export interface GetApplicationArgs {
    /**
     * The unique ID for an application.
     */
    applicationId: string;
}
/**
 * A collection of values returned by getApplication.
 */
export interface GetApplicationResult {
    readonly applicationId: string;
    /**
     * Logging details of Application logs for Data Flow Run.
     */
    readonly applicationLogConfigs: outputs.DataFlow.GetApplicationApplicationLogConfig[];
    /**
     * A comma separated list of one or more archive files as Oracle Cloud Infrastructure URIs. For example, ``oci://path/to/a.zip,oci://path/to/b.zip``. An Oracle Cloud Infrastructure URI of an archive.zip file containing custom dependencies that may be used to support the execution of a Python, Java, or Scala application. See https://docs.cloud.oracle.com/iaas/Content/API/SDKDocs/hdfsconnector.htm#uriformat.
     */
    readonly archiveUri: string;
    /**
     * The arguments passed to the running application as command line arguments.  An argument is either a plain text or a placeholder. Placeholders are replaced using values from the parameters map.  Each placeholder specified must be represented in the parameters map else the request (POST or PUT) will fail with a HTTP 400 status code.  Placeholders are specified as `Service Api Spec`, where `name` is the name of the parameter. Example:  `[ "--input", "${input_file}", "--name", "John Doe" ]` If "inputFile" has a value of "mydata.xml", then the value above will be translated to `--input mydata.xml --name "John Doe"`
     */
    readonly arguments: string[];
    /**
     * The class for the application.
     */
    readonly className: string;
    /**
     * The OCID of a compartment.
     */
    readonly compartmentId: string;
    /**
     * The Spark configuration passed to the running process. See https://spark.apache.org/docs/latest/configuration.html#available-properties. Example: { "spark.app.name" : "My App Name", "spark.shuffle.io.maxRetries" : "4" } Note: Not all Spark properties are permitted to be set.  Attempting to set a property that is not allowed to be overwritten will cause a 400 status to be returned.
     */
    readonly configuration: {
        [key: string]: string;
    };
    /**
     * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}`
     */
    readonly definedTags: {
        [key: string]: string;
    };
    /**
     * A user-friendly description.
     */
    readonly description: string;
    /**
     * A user-friendly name. This name is not necessarily unique.
     */
    readonly displayName: string;
    /**
     * The VM shape for the driver. Sets the driver cores and memory.
     */
    readonly driverShape: string;
    /**
     * This is used to configure the shape of the driver or executor if a flexible shape is used.
     */
    readonly driverShapeConfigs: outputs.DataFlow.GetApplicationDriverShapeConfig[];
    /**
     * The input used for spark-submit command. For more details see https://spark.apache.org/docs/latest/submitting-applications.html#launching-applications-with-spark-submit. Supported options include ``--class``, ``--file``, ``--jars``, ``--conf``, ``--py-files``, and main application file with arguments. Example: ``--jars oci://path/to/a.jar,oci://path/to/b.jar --files oci://path/to/a.json,oci://path/to/b.csv --py-files oci://path/to/a.py,oci://path/to/b.py --conf spark.sql.crossJoin.enabled=true --class org.apache.spark.examples.SparkPi oci://path/to/main.jar 10`` Note: If execute is specified together with applicationId, className, configuration, fileUri, language, arguments, parameters during application create/update, or run create/submit, Data Flow service will use derived information from execute input only.
     */
    readonly execute: string;
    /**
     * The VM shape for the executors. Sets the executor cores and memory.
     */
    readonly executorShape: string;
    /**
     * This is used to configure the shape of the driver or executor if a flexible shape is used.
     */
    readonly executorShapeConfigs: outputs.DataFlow.GetApplicationExecutorShapeConfig[];
    /**
     * An Oracle Cloud Infrastructure URI of the file containing the application to execute. See https://docs.cloud.oracle.com/iaas/Content/API/SDKDocs/hdfsconnector.htm#uriformat.
     */
    readonly fileUri: string;
    /**
     * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}`
     */
    readonly freeformTags: {
        [key: string]: string;
    };
    /**
     * The application ID.
     */
    readonly id: string;
    /**
     * The timeout value in minutes used to manage Runs. A Run would be stopped after inactivity for this amount of time period. Note: This parameter is currently only applicable for Runs of type `SESSION`. Default value is 2880 minutes (2 days)
     */
    readonly idleTimeoutInMinutes: string;
    /**
     * The Spark language.
     */
    readonly language: string;
    /**
     * An Oracle Cloud Infrastructure URI of the bucket where the Spark job logs are to be uploaded. See https://docs.cloud.oracle.com/iaas/Content/API/SDKDocs/hdfsconnector.htm#uriformat.
     */
    readonly logsBucketUri: string;
    /**
     * The maximum duration in minutes for which an Application should run. Data Flow Run would be terminated once it reaches this duration from the time it transitions to `IN_PROGRESS` state.
     */
    readonly maxDurationInMinutes: string;
    /**
     * The OCID of Oracle Cloud Infrastructure Hive Metastore.
     */
    readonly metastoreId: string;
    /**
     * The number of executor VMs requested.
     */
    readonly numExecutors: number;
    /**
     * The OCID of the user who created the resource.
     */
    readonly ownerPrincipalId: string;
    /**
     * The username of the user who created the resource.  If the username of the owner does not exist, `null` will be returned and the caller should refer to the ownerPrincipalId value instead.
     */
    readonly ownerUserName: string;
    /**
     * An array of name/value pairs used to fill placeholders found in properties like `Application.arguments`.  The name must be a string of one or more word characters (a-z, A-Z, 0-9, _).  The value can be a string of 0 or more characters of any kind. Example:  [ { name: "iterations", value: "10"}, { name: "inputFile", value: "mydata.xml" }, { name: "variableX", value: "${x}"} ]
     */
    readonly parameters: outputs.DataFlow.GetApplicationParameter[];
    /**
     * The OCID of a pool. Unique Id to indentify a dataflow pool resource.
     */
    readonly poolId: string;
    /**
     * The OCID of a private endpoint.
     */
    readonly privateEndpointId: string;
    /**
     * The Spark version utilized to run the application.
     */
    readonly sparkVersion: string;
    /**
     * The current state of this application.
     */
    readonly state: string;
    /**
     * A boolean flag which indicates whether related non-terminal Run(s) for the Application should be terminated along with Application deletion or not.
     */
    readonly terminateRunsOnDeletion: boolean;
    /**
     * The date and time the resource was created, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2018-04-03T21:10:29.600Z`
     */
    readonly timeCreated: string;
    /**
     * The date and time the resource was updated, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2018-04-03T21:10:29.600Z`
     */
    readonly timeUpdated: string;
    /**
     * The Spark application processing type.
     */
    readonly type: string;
    /**
     * An Oracle Cloud Infrastructure URI of the bucket to be used as default warehouse directory for BATCH SQL runs. See https://docs.cloud.oracle.com/iaas/Content/API/SDKDocs/hdfsconnector.htm#uriformat.
     */
    readonly warehouseBucketUri: string;
}
/**
 * This data source provides details about a specific Application resource in Oracle Cloud Infrastructure Data Flow service.
 *
 * Retrieves an application using an `applicationId`.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testApplication = oci.dataflow.getApplication({
 *     applicationId: testApplicationOciDataflowApplication.id,
 * });
 * ```
 */
export declare function getApplicationOutput(args: GetApplicationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetApplicationResult>;
/**
 * A collection of arguments for invoking getApplication.
 */
export interface GetApplicationOutputArgs {
    /**
     * The unique ID for an application.
     */
    applicationId: pulumi.Input<string>;
}
//# sourceMappingURL=getApplication.d.ts.map