:doc:`GameLift <../../gamelift>` / Client / update_alias

************
update_alias
************



.. py:method:: GameLift.Client.update_alias(**kwargs)

  

  **This API works with the following fleet types:** EC2, Anywhere, Container

   

  Updates properties for an alias. Specify the unique identifier of the alias to be updated and the new property values.

   

  When reassigning an alias to a new fleet, provide an updated routing strategy. If successful, the updated alias record is returned.

   

  **Related actions**

   

  `All APIs by task <https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets>`__

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateAlias>`_  


  **Request Syntax**
  ::

    response = client.update_alias(
        AliasId='string',
        Name='string',
        Description='string',
        RoutingStrategy={
            'Type': 'SIMPLE'|'TERMINAL',
            'FleetId': 'string',
            'Message': 'string'
        }
    )
    
  :type AliasId: string
  :param AliasId: **[REQUIRED]** 

    A unique identifier for the alias that you want to update. You can use either the alias ID or ARN value.

    

  
  :type Name: string
  :param Name: 

    A descriptive label that is associated with an alias. Alias names do not need to be unique.

    

  
  :type Description: string
  :param Description: 

    A human-readable description of the alias.

    

  
  :type RoutingStrategy: dict
  :param RoutingStrategy: 

    The routing configuration, including routing type and fleet target, for the alias.

    

  
    - **Type** *(string) --* 

      The type of routing strategy for the alias.

       

      Possible routing types include the following:

       

      
      * **SIMPLE** - The alias resolves to one specific fleet. Use this type when routing to active fleets.
       
      * **TERMINAL** - The alias does not resolve to a fleet but instead can be used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException with the message embedded.
      

      

    
    - **FleetId** *(string) --* 

      A unique identifier for the fleet that the alias points to. This value is the fleet ID, not the fleet ARN.

      

    
    - **Message** *(string) --* 

      The message text to be used with a terminal routing strategy.

      

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

    
    ::

      {
          'Alias': {
              'AliasId': 'string',
              'Name': 'string',
              'AliasArn': 'string',
              'Description': 'string',
              'RoutingStrategy': {
                  'Type': 'SIMPLE'|'TERMINAL',
                  'FleetId': 'string',
                  'Message': 'string'
              },
              'CreationTime': datetime(2015, 1, 1),
              'LastUpdatedTime': datetime(2015, 1, 1)
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **Alias** *(dict) --* 

        The updated alias resource.

        
        

        - **AliasId** *(string) --* 

          A unique identifier for the alias. Alias IDs are unique within a Region.

          
        

        - **Name** *(string) --* 

          A descriptive label that is associated with an alias. Alias names do not need to be unique.

          
        

        - **AliasArn** *(string) --* 

          The Amazon Resource Name ( `ARN <https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html>`__) that is assigned to a Amazon GameLift Servers alias resource and uniquely identifies it. ARNs are unique across all Regions. Format is ``arn:aws:gamelift:<region>::alias/alias-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912``. In a GameLift alias ARN, the resource ID matches the alias ID value.

          
        

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

          A human-readable description of an alias.

          
        

        - **RoutingStrategy** *(dict) --* 

          The routing configuration, including routing type and fleet target, for the alias.

          
          

          - **Type** *(string) --* 

            The type of routing strategy for the alias.

             

            Possible routing types include the following:

             

            
            * **SIMPLE** - The alias resolves to one specific fleet. Use this type when routing to active fleets.
             
            * **TERMINAL** - The alias does not resolve to a fleet but instead can be used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException with the message embedded.
            

            
          

          - **FleetId** *(string) --* 

            A unique identifier for the fleet that the alias points to. This value is the fleet ID, not the fleet ARN.

            
          

          - **Message** *(string) --* 

            The message text to be used with a terminal routing strategy.

            
      
        

        - **CreationTime** *(datetime) --* 

          A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example ``"1469498468.057"``).

          
        

        - **LastUpdatedTime** *(datetime) --* 

          The time that this data object was last modified. Format is a number expressed in Unix time as milliseconds (for example ``"1469498468.057"``).

          
    
  
  **Exceptions**
  
  *   :py:class:`GameLift.Client.exceptions.UnauthorizedException`

  
  *   :py:class:`GameLift.Client.exceptions.InvalidRequestException`

  
  *   :py:class:`GameLift.Client.exceptions.NotFoundException`

  
  *   :py:class:`GameLift.Client.exceptions.InternalServiceException`

  