addStreamGroupLocations method

Future<AddStreamGroupLocationsOutput> addStreamGroupLocations({
  1. required String identifier,
  2. required List<LocationConfiguration> locationConfigurations,
})

Add locations that can host stream sessions. To add a location, the stream group must be in ACTIVE status. You configure locations and their corresponding capacity for each stream group. Creating a stream group in a location that's nearest to your end users can help minimize latency and improve quality.

This operation provisions stream capacity at the specified locations. By default, all locations have 1 or 2 capacity, depending on the stream class option: 2 for 'High' and 1 for 'Ultra' and 'Win2022'. This operation also copies the content files of all associated applications to an internal S3 bucket at each location. This allows Amazon GameLift Streams to host performant stream sessions.

May throw AccessDeniedException. May throw InternalServerException. May throw ResourceNotFoundException. May throw ServiceQuotaExceededException. May throw ThrottlingException. May throw ValidationException.

Parameter identifier : A stream group to add the specified locations to.

This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

Parameter locationConfigurations : A set of one or more locations and the streaming capacity for each location.

Implementation

Future<AddStreamGroupLocationsOutput> addStreamGroupLocations({
  required String identifier,
  required List<LocationConfiguration> locationConfigurations,
}) async {
  final $payload = <String, dynamic>{
    'LocationConfigurations': locationConfigurations,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/streamgroups/${Uri.encodeComponent(identifier)}/locations',
    exceptionFnMap: _exceptionFns,
  );
  return AddStreamGroupLocationsOutput.fromJson(response);
}