GameLiftStreams / Client / create_application

create_application#

GameLiftStreams.Client.create_application(**kwargs)#

Creates an application resource in Amazon GameLift Streams, which specifies the application content you want to stream, such as a game build or other software, and configures the settings to run it.

Before you create an application, upload your application content files to an Amazon Simple Storage Service (Amazon S3) bucket. For more information, see Getting Started in the Amazon GameLift Streams Developer Guide.

Warning

Make sure that your files in the Amazon S3 bucket are the correct version you want to use. As soon as you create a Amazon GameLift Streams application, you cannot change the files at a later time.

If the request is successful, Amazon GameLift Streams begins to create an application and sets the status to INITIALIZED. When an application reaches READY status, you can use the application to set up stream groups and start streams. To track application status, call GetApplication.

See also: AWS API Documentation

Request Syntax

response = client.create_application(
    ApplicationLogOutputUri='string',
    ApplicationLogPaths=[
        'string',
    ],
    ApplicationSourceUri='string',
    ClientToken='string',
    Description='string',
    ExecutablePath='string',
    RuntimeEnvironment={
        'Type': 'PROTON'|'WINDOWS'|'UBUNTU',
        'Version': 'string'
    },
    Tags={
        'string': 'string'
    }
)
Parameters:
  • ApplicationLogOutputUri (string) –

    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.

    Note

    The log bucket must have permissions that give Amazon GameLift Streams access to write the log files. For more information, see Getting Started in the Amazon GameLift Streams Developer Guide.

  • ApplicationLogPaths (list) –

    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 and get the LogFileLocationUri.

    • (string) –

  • ApplicationSourceUri (string) –

    [REQUIRED]

    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.

    Note

    The Amazon S3 bucket and the Amazon GameLift Streams application must be in the same Amazon Web Services Region.

  • ClientToken (string) –

    A unique identifier that represents a client request. The request is idempotent, which ensures that an API request completes only once. When users send a request, Amazon GameLift Streams automatically populates this field.

    This field is autopopulated if not provided.

  • Description (string) –

    [REQUIRED]

    A human-readable label for the application. You can update this value later.

  • ExecutablePath (string) –

    [REQUIRED]

    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.

  • RuntimeEnvironment (dict) –

    [REQUIRED]

    Configuration settings that identify the operating system for an application resource. This can also include a compatibility layer and other drivers.

    A runtime environment can be one of the following:

    • For Linux applications

      • Ubuntu 22.04 LTS ( Type=UBUNTU, Version=22_04_LTS)

    • For Windows applications

      • Microsoft Windows Server 2022 Base ( Type=WINDOWS, Version=2022)

      • Proton 8.0-5 ( Type=PROTON, Version=20241007)

      • Proton 8.0-2c ( Type=PROTON, Version=20230704)

    • Type (string) – [REQUIRED]

      The operating system and other drivers. For Proton, this also includes the Proton compatibility layer.

    • Version (string) – [REQUIRED]

      Versioned container environment for the application operating system.

  • Tags (dict) –

    A list of labels to assign to the new application resource. Tags are developer-defined key-value pairs. Tagging Amazon Web Services resources is useful for resource management, access management and cost allocation. See Tagging Amazon Web Services Resources in the Amazon Web Services General Reference. You can use TagResource to add tags, UntagResource to remove tags, and ListTagsForResource to view tags on existing resources.

    • (string) –

      • (string) –

Return type:

dict

Returns:

Response Syntax

{
    'ApplicationLogOutputUri': 'string',
    'ApplicationLogPaths': [
        'string',
    ],
    'ApplicationSourceUri': 'string',
    'Arn': 'string',
    'AssociatedStreamGroups': [
        'string',
    ],
    'CreatedAt': datetime(2015, 1, 1),
    'Description': 'string',
    'ExecutablePath': 'string',
    'Id': 'string',
    'LastUpdatedAt': datetime(2015, 1, 1),
    'ReplicationStatuses': [
        {
            'Location': 'string',
            'Status': 'REPLICATING'|'COMPLETED'
        },
    ],
    'RuntimeEnvironment': {
        'Type': 'PROTON'|'WINDOWS'|'UBUNTU',
        'Version': 'string'
    },
    'Status': 'INITIALIZED'|'PROCESSING'|'READY'|'DELETING'|'ERROR',
    'StatusReason': 'internalError'|'accessDenied'
}

Response Structure

  • (dict) –

    • ApplicationLogOutputUri (string) –

      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.

    • ApplicationLogPaths (list) –

      Locations of log files that your content generates during a stream session. Amazon GameLift Streams uploads 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 and get the LogFileLocationUri.

      • (string) –

    • ApplicationSourceUri (string) –

      The original Amazon S3 location of uploaded stream content for the application.

    • Arn (string) –

      An Amazon Resource Name (ARN) that’s assigned to an application resource and uniquely identifies it across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:application/[resource ID].

    • AssociatedStreamGroups (list) –

      A newly created application is not associated to any stream groups. This value is empty.

      • (string) –

    • CreatedAt (datetime) –

      A timestamp that indicates when this resource was created. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

    • Description (string) –

      A human-readable label for the application. You can edit this value.

    • ExecutablePath (string) –

      The path and file name of the executable file that launches the content for streaming.

    • Id (string) –

      An Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Format example: ARN- arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID- a-9ZY8X7Wv6.

    • LastUpdatedAt (datetime) –

      A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

    • ReplicationStatuses (list) –

      A set of replication statuses for each location.

      • (dict) –

        Represents the status of the replication of an application to a location. An application cannot be streamed from a location until it has finished replicating there.

        • Location (string) –

          A location’s name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions and quotas in the Amazon GameLift Streams Developer Guide.

        • Status (string) –

          The current status of the replication process.

    • RuntimeEnvironment (dict) –

      Configuration settings that identify the operating system for an application resource. This can also include a compatibility layer and other drivers.

      A runtime environment can be one of the following:

      • For Linux applications

        • Ubuntu 22.04 LTS ( Type=UBUNTU, Version=22_04_LTS)

      • For Windows applications

        • Microsoft Windows Server 2022 Base ( Type=WINDOWS, Version=2022)

        • Proton 8.0-5 ( Type=PROTON, Version=20241007)

        • Proton 8.0-2c ( Type=PROTON, Version=20230704)

      • Type (string) –

        The operating system and other drivers. For Proton, this also includes the Proton compatibility layer.

      • Version (string) –

        Versioned container environment for the application operating system.

    • Status (string) –

      The current status of the application resource. Possible statuses include the following:

      • INITIALIZED: Amazon GameLift Streams has received the request and is initiating the work flow to create an application.

      • PROCESSING: The create application work flow is in process. Amazon GameLift Streams is copying the content and caching for future deployment in a stream group.

      • READY: The application is ready to deploy in a stream group.

      • ERROR: An error occurred when setting up the application. See StatusReason for more information.

      • DELETING: Amazon GameLift Streams is in the process of deleting the application.

    • StatusReason (string) –

      A short description of the status reason when the application is in ERROR status.

Exceptions

  • GameLiftStreams.Client.exceptions.AccessDeniedException

  • GameLiftStreams.Client.exceptions.ThrottlingException

  • GameLiftStreams.Client.exceptions.InternalServerException

  • GameLiftStreams.Client.exceptions.ConflictException

  • GameLiftStreams.Client.exceptions.ValidationException

  • GameLiftStreams.Client.exceptions.ServiceQuotaExceededException