describeContainerGroupPortMappings method
This API works with the following fleet types: Container
Retrieves the port mappings for a container group running on a container fleet. Port mappings show how container ports are mapped to connection ports on the fleet instance. Use this operation to find the connection port for a specific container on a fleet instance.
Request options
-
Get port mappings for a game server container group. Provide the fleet ID,
set
ContainerGroupTypetoGAME_SERVER, and specify theComputeNamefor the game server container group. -
Get port mappings for a per-instance container group. Provide the fleet
ID, set
ContainerGroupTypetoPER_INSTANCE, and specify theInstanceIdfor the instance. -
Optionally filter results to a single container by providing a
ContainerName.
This operation returns the fleet ID, location, container group definition
ARN, container group type, compute name (for game server container
groups), instance ID, and a list of ContainerGroupPortMapping
objects. Each object contains the container name, runtime ID, and a list
of port mappings that show how container ports map to connection ports on
the instance.
Learn more
Create a container group definition
May throw InternalServiceException.
May throw InvalidRequestException.
May throw LimitExceededException.
May throw NotFoundException.
May throw UnauthorizedException.
May throw UnsupportedRegionException.
Parameter containerGroupType :
The type of container group to retrieve port mappings for.
-
GAME_SERVER-- Get port mappings for a game server container group. -
PER_INSTANCE-- Get port mappings for a per-instance container group.
Parameter fleetId :
A unique identifier for the container fleet. You can use either the fleet
ID or ARN value.
Parameter computeName :
A unique identifier for the compute resource for which to retrieve port
mappings. For a container fleet, a compute represents a game server
container group running on a fleet instance. You can use either the
compute name or ARN value.
When ContainerGroupType is GAME_SERVER, this
parameter is required.
When ContainerGroupType is PER_INSTANCE, do not
provide this parameter. If you provide a compute name with
PER_INSTANCE, the request fails with an
InvalidRequestException.
Parameter containerName :
A container name to filter the results. When provided, the operation
returns port mappings for the specified container only. If no container
with the specified name exists in the container group, the request fails
with a NotFoundException.
If not provided, the operation returns port mappings for all containers in the container group.
Parameter instanceId :
A unique identifier for the fleet instance to retrieve port mappings for.
When ContainerGroupType is PER_INSTANCE, this
parameter is required.
When ContainerGroupType is GAME_SERVER, this
parameter is optional. If you provide an instance ID, it must match the
instance that's running the specified compute. If the instance ID doesn't
match, the request fails with an InvalidRequestException.
Implementation
Future<DescribeContainerGroupPortMappingsOutput>
describeContainerGroupPortMappings({
required ContainerGroupType containerGroupType,
required String fleetId,
String? computeName,
String? containerName,
String? instanceId,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'GameLift.DescribeContainerGroupPortMappings'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'ContainerGroupType': containerGroupType.value,
'FleetId': fleetId,
if (computeName != null) 'ComputeName': computeName,
if (containerName != null) 'ContainerName': containerName,
if (instanceId != null) 'InstanceId': instanceId,
},
);
return DescribeContainerGroupPortMappingsOutput.fromJson(jsonResponse.body);
}