getInstanceAccess method

Future<GetInstanceAccessOutput> getInstanceAccess({
  1. required String fleetId,
  2. required String instanceId,
})

This API works with the following fleet types: EC2

Requests authorization to remotely connect to an instance in an Amazon GameLift Servers managed fleet. Use this operation to connect to instances with game servers that use Amazon GameLift Servers server SDK 4.x or earlier. To connect to instances with game servers that use server SDK 5.x or later, call https://docs.aws.amazon.com/gamelift/latest/apireference/API_GetComputeAccess.

To request access to an instance, specify IDs for the instance and the fleet it belongs to. You can retrieve instance IDs for a fleet by calling DescribeInstances with the fleet ID.

If successful, this operation returns an IP address and credentials. The returned credentials match the operating system of the instance, as follows:

  • For a Windows instance: returns a user name and secret (password) for use with a Windows Remote Desktop client.
  • For a Linux instance: returns a user name and secret (RSA private key) for use with an SSH client. You must save the secret to a .pem file. If you're using the CLI, see the example Get credentials for a Linux instance for tips on automatically saving the secret to a .pem file.
Learn more

Remotely connect to fleet instances

Debug fleet issues

Related actions

All APIs by task

May throw InternalServiceException. May throw InvalidRequestException. May throw NotFoundException. May throw UnauthorizedException.

Parameter fleetId : A unique identifier for the fleet that contains the instance you want to access. You can request access to instances in EC2 fleets with the following statuses: ACTIVATING, ACTIVE, or ERROR. Use either a fleet ID or an ARN value.

Parameter instanceId : A unique identifier for the instance you want to access. You can access an instance in any status.

Implementation

Future<GetInstanceAccessOutput> getInstanceAccess({
  required String fleetId,
  required String instanceId,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'GameLift.GetInstanceAccess'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'FleetId': fleetId,
      'InstanceId': instanceId,
    },
  );

  return GetInstanceAccessOutput.fromJson(jsonResponse.body);
}