:doc:`GameLiftStreams <../../gameliftstreams>` / Client / update_application

******************
update_application
******************



.. py:method:: GameLiftStreams.Client.update_application(**kwargs)

  

  Updates the mutable configuration settings for a Amazon GameLift Streams application resource. You can change the ``Description``, ``ApplicationLogOutputUri``, and ``ApplicationLogPaths``.

   

  To update application settings, specify the application ID and provide the new values. If the operation is successful, it returns the complete updated set of settings for the application.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/gameliftstreams-2018-05-10/UpdateApplication>`_  


  **Request Syntax**
  ::

    response = client.update_application(
        Identifier='string',
        Description='string',
        ApplicationLogPaths=[
            'string',
        ],
        ApplicationLogOutputUri='string'
    )
    
  :type Identifier: string
  :param Identifier: **[REQUIRED]** 

    An `Amazon Resource Name (ARN) <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html>`__ or ID that uniquely identifies the application resource. Example ARN: ``arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6``. Example ID: ``a-9ZY8X7Wv6``.

    

  
  :type Description: string
  :param Description: 

    A human-readable label for the application.

    

  
  :type ApplicationLogPaths: list
  :param ApplicationLogPaths: 

    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``.

    

  
    - *(string) --* 

    

  :type ApplicationLogOutputUri: string
  :param ApplicationLogOutputUri: 

    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 `Application log bucket permission policy <https://docs.aws.amazon.com/gameliftstreams/latest/developerguide/applications.html#application-bucket-permission-template>`__ in the *Amazon GameLift Streams Developer Guide*.

      

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

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

    

    - *(dict) --* 
      

      - **Arn** *(string) --* 

        The `Amazon Resource Name (ARN) <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html>`__ 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]``.

        
      

      - **Description** *(string) --* 

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

        
      

      - **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 9.0-2 ( ``Type=PROTON, Version=20250516``)
           
          * 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.

          
    
      

      - **ExecutablePath** *(string) --* 

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

        
      

      - **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 <https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamSession.html>`__ and get the ``LogFileLocationUri``.

        
        

        - *(string) --* 
    
      

      - **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``.

        
      

      - **ApplicationSourceUri** *(string) --* 

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

        
      

      - **Id** *(string) --* 

        A unique ID value that is assigned to the resource when it's created. Format example: ``a-9ZY8X7Wv6``.

        
      

      - **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.

        
      

      - **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, quotas, and limitations <https://docs.aws.amazon.com/gameliftstreams/latest/developerguide/regions-quotas.html>`__ in the *Amazon GameLift Streams Developer Guide*.

            
          

          - **Status** *(string) --* 

            The current status of the replication process.

            
      
    
      

      - **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).

        
      

      - **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).

        
      

      - **AssociatedStreamGroups** *(list) --* 

        A set of stream groups that this application is associated with. You can use any of these stream groups to stream your application.

         

        This value is a set of `Amazon Resource Names (ARNs) <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html>`__ that uniquely identify stream group resources. Example ARN: ``arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4``.

        
        

        - *(string) --* 
    
  
  **Exceptions**
  
  *   :py:class:`GameLiftStreams.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`GameLiftStreams.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`GameLiftStreams.Client.exceptions.ThrottlingException`

  
  *   :py:class:`GameLiftStreams.Client.exceptions.InternalServerException`

  
  *   :py:class:`GameLiftStreams.Client.exceptions.ValidationException`

  