import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Definition of AWS::GameLiftStreams::Application Resource Type
 */
export declare class Application extends pulumi.CustomResource {
    /**
     * Get an existing Application 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): Application;
    /**
     * Returns true if the given object is an instance of Application.  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 Application;
    /**
     * An Amazon S3 URI to a bucket where you would like Amazon GameLift Streams to save application logs. Required if you specify one or more `ApplicationLogPaths` .
     */
    readonly applicationLogOutputUri: pulumi.Output<string | undefined>;
    /**
     * Locations of log files that your content generates during a stream session. Enter path values that are relative to the `ApplicationSourceUri` location. You can specify up to 10 log paths. Amazon GameLift Streams uploads designated log files to the Amazon S3 bucket that you specify in `ApplicationLogOutputUri` at the end of a stream session. To retrieve stored log files, call [GetStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamSession.html) and get the `LogFileLocationUri` .
     */
    readonly applicationLogPaths: pulumi.Output<string[] | undefined>;
    /**
     * The location of the content that you want to stream. Enter an Amazon S3 URI to a bucket that contains your game or other application. The location can have a multi-level prefix structure, but it must include all the files needed to run the content. Amazon GameLift Streams copies everything under the specified location.
     *
     * This value is immutable. To designate a different content location, create a new application.
     *
     * > The Amazon S3 bucket and the Amazon GameLift Streams application must be in the same AWS Region.
     */
    readonly applicationSourceUri: pulumi.Output<string>;
    /**
     * An [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) that uniquely identifies the application resource across all AWS Regions. For example:
     *
     * `arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6` .
     */
    readonly arn: pulumi.Output<string>;
    /**
     * An ID that uniquely identifies the application resource. For example: `a-9ZY8X7Wv6` .
     */
    readonly awsId: pulumi.Output<string>;
    /**
     * A human-readable label for the application. You can update this value later.
     */
    readonly description: pulumi.Output<string>;
    /**
     * The path and file name of the executable file that launches the content for streaming. Enter a path value that is relative to the location set in `ApplicationSourceUri` .
     */
    readonly executablePath: pulumi.Output<string>;
    /**
     * A set of configuration settings to run the application on a stream group. This configures the operating system, and can include compatibility layers and other drivers.
     */
    readonly runtimeEnvironment: pulumi.Output<outputs.gameliftstreams.ApplicationRuntimeEnvironment>;
    /**
     * A list of labels to assign to the new application resource. Tags are developer-defined key-value pairs. Tagging AWS resources is useful for resource management, access management and cost allocation. See [Tagging AWS Resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the *AWS General Reference* .
     */
    readonly tags: pulumi.Output<{
        [key: string]: string;
    } | undefined>;
    /**
     * Create a Application 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: ApplicationArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a Application resource.
 */
export interface ApplicationArgs {
    /**
     * An Amazon S3 URI to a bucket where you would like Amazon GameLift Streams to save application logs. Required if you specify one or more `ApplicationLogPaths` .
     */
    applicationLogOutputUri?: pulumi.Input<string>;
    /**
     * Locations of log files that your content generates during a stream session. Enter path values that are relative to the `ApplicationSourceUri` location. You can specify up to 10 log paths. Amazon GameLift Streams uploads designated log files to the Amazon S3 bucket that you specify in `ApplicationLogOutputUri` at the end of a stream session. To retrieve stored log files, call [GetStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamSession.html) and get the `LogFileLocationUri` .
     */
    applicationLogPaths?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The location of the content that you want to stream. Enter an Amazon S3 URI to a bucket that contains your game or other application. The location can have a multi-level prefix structure, but it must include all the files needed to run the content. Amazon GameLift Streams copies everything under the specified location.
     *
     * This value is immutable. To designate a different content location, create a new application.
     *
     * > The Amazon S3 bucket and the Amazon GameLift Streams application must be in the same AWS Region.
     */
    applicationSourceUri: pulumi.Input<string>;
    /**
     * A human-readable label for the application. You can update this value later.
     */
    description: pulumi.Input<string>;
    /**
     * The path and file name of the executable file that launches the content for streaming. Enter a path value that is relative to the location set in `ApplicationSourceUri` .
     */
    executablePath: pulumi.Input<string>;
    /**
     * A set of configuration settings to run the application on a stream group. This configures the operating system, and can include compatibility layers and other drivers.
     */
    runtimeEnvironment: pulumi.Input<inputs.gameliftstreams.ApplicationRuntimeEnvironmentArgs>;
    /**
     * A list of labels to assign to the new application resource. Tags are developer-defined key-value pairs. Tagging AWS resources is useful for resource management, access management and cost allocation. See [Tagging AWS Resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the *AWS General Reference* .
     */
    tags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
}
