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

******************
get_compute_access
******************



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

  

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

   

  Requests authorization to remotely connect to a hosting resource in a Amazon GameLift Servers managed fleet. This operation is not used with Amazon GameLift Servers Anywhere fleets.

   

  **Request options**

   

  Provide the fleet ID and compute name. The compute name varies depending on the type of fleet.

   

  
  * For a compute in a managed EC2 fleet, provide an instance ID. Each instance in the fleet is a compute.
   
  * For a compute in a managed container fleet, provide a compute name. In a container fleet, each game server container group on a fleet instance is assigned a compute name.
  

   

  **Results**

   

  If successful, this operation returns a set of temporary Amazon Web Services credentials, including a two-part access key and a session token.

   

  
  * With a managed EC2 fleet (where compute type is ``EC2``), use these credentials with Amazon EC2 Systems Manager (SSM) to start a session with the compute. For more details, see `Starting a session (CLI) <https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-sessions-start.html#sessions-start-cli>`__ in the *Amazon EC2 Systems Manager User Guide*.
  

  

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


  **Request Syntax**
  ::

    response = client.get_compute_access(
        FleetId='string',
        ComputeName='string'
    )
    
  :type FleetId: string
  :param FleetId: **[REQUIRED]** 

    A unique identifier for the fleet that holds the compute resource that you want to connect to. You can use either the fleet ID or ARN value.

    

  
  :type ComputeName: string
  :param ComputeName: **[REQUIRED]** 

    A unique identifier for the compute resource that you want to connect to. For an EC2 fleet, use an instance ID. For a managed container fleet, use a compute name. You can retrieve a fleet's compute names by calling `ListCompute <https://docs.aws.amazon.com/gamelift/latest/apireference/API_ListCompute.html>`__.

    

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

    
    ::

      {
          'FleetId': 'string',
          'FleetArn': 'string',
          'ComputeName': 'string',
          'ComputeArn': 'string',
          'Credentials': {
              'AccessKeyId': 'string',
              'SecretAccessKey': 'string',
              'SessionToken': 'string'
          },
          'Target': 'string',
          'ContainerIdentifiers': [
              {
                  'ContainerName': 'string',
                  'ContainerRuntimeId': 'string'
              },
          ]
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

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

        The ID of the fleet that holds the compute resource to be accessed.

        
      

      - **FleetArn** *(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 fleet resource and uniquely identifies it. ARNs are unique across all Regions. Format is ``arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912``.

        
      

      - **ComputeName** *(string) --* 

        The identifier of the compute resource to be accessed. This value might be either a compute name or an instance ID.

        
      

      - **ComputeArn** *(string) --* 

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

        
      

      - **Credentials** *(dict) --* 

        A set of temporary Amazon Web Services credentials for use when connecting to the compute resource with Amazon EC2 Systems Manager (SSM).

        
        

        - **AccessKeyId** *(string) --* 

          The access key ID that identifies the temporary security credentials.

          
        

        - **SecretAccessKey** *(string) --* 

          The secret access key that can be used to sign requests.

          
        

        - **SessionToken** *(string) --* 

          The token that users must pass to the service API to use the temporary credentials.

          
    
      

      - **Target** *(string) --* 

        The instance ID where the compute resource is running.

        
      

      - **ContainerIdentifiers** *(list) --* 

        For a managed container fleet, a list of containers on the compute. Use the container runtime ID with Docker commands to connect to a specific container.

        
        

        - *(dict) --* 

          A unique identifier for a container in a compute on a managed container fleet instance. This information makes it possible to remotely connect to a specific container on a fleet instance.

           

          **Related to:** `ContainerAttribute <https://docs.aws.amazon.com/gamelift/latest/apireference/API_ContainerAttribute.html>`__

           

          **Use with:** `GetComputeAccess <https://docs.aws.amazon.com/gamelift/latest/apireference/API_GetComputeAccess.html>`__

          
          

          - **ContainerName** *(string) --* 

            The identifier for a container that's running in a compute.

            
          

          - **ContainerRuntimeId** *(string) --* 

            The runtime ID for the container that's running in a compute. This value is unique within the compute. It is returned as a ``ContainerAttribute`` value in a ``Compute`` object.

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

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

  