ContainerDefinition - Amazon GameLift

ContainerDefinition

This data type is used with the Amazon GameLift containers feature, which is currently in public preview.

Describes a container in a container fleet, the resources available to the container, and the commands that are run when the container starts. Container properties can't be updated. To change a property, create a new container group definition. See also ContainerDefinitionInput.

Part of: ContainerGroupDefinition

Returned by: DescribeContainerGroupDefinition, ListContainerGroupDefinitions

Contents

Note

In the following list, the required parameters are described first.

ContainerName

The container definition identifier. Container names are unique within a container group definition.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: ^[a-zA-Z0-9\-]+$

Required: Yes

ImageUri

The URI to the image that $short; copied and deployed to a container fleet. For a more specific identifier, see ResolvedImageDigest.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 255.

Pattern: ^[a-zA-Z0-9-_\.@\/:]+$

Required: Yes

Command

A command that's passed to the container on startup. Each argument for the command is an additional string in the array. See the ContainerDefinition::command parameter in the Amazon Elastic Container Service API reference.

Type: Array of strings

Array Members: Minimum number of 1 item. Maximum number of 20 items.

Length Constraints: Minimum length of 1. Maximum length of 255.

Required: No

Cpu

The number of CPU units that are reserved for the container. Note: 1 vCPU unit equals 1024 CPU units. If no resources are reserved, the container shares the total CPU limit for the container group.

Related data type: ContainerGroupDefinition:TotalCpuLimit

Type: Integer

Valid Range: Minimum value of 1. Maximum value of 10240.

Required: No

DependsOn

Indicates that the container relies on the status of other containers in the same container group during its startup and shutdown sequences. A container might have dependencies on multiple containers.

Type: Array of ContainerDependency objects

Array Members: Minimum number of 1 item. Maximum number of 10 items.

Required: No

EntryPoint

The entry point that's passed to the container on startup. If there are multiple arguments, each argument is an additional string in the array. See the ContainerDefinition::entryPoint parameter in the Amazon Elastic Container Service API Reference.

Type: Array of strings

Array Members: Minimum number of 1 item. Maximum number of 20 items.

Length Constraints: Minimum length of 1. Maximum length of 1024.

Required: No

Environment

A set of environment variables that's passed to the container on startup. See the ContainerDefinition::environment parameter in the Amazon Elastic Container Service API Reference.

Type: Array of ContainerEnvironment objects

Array Members: Minimum number of 1 item. Maximum number of 20 items.

Required: No

Essential

Indicates whether the container is vital to the container group. If an essential container fails, the entire container group is restarted.

Type: Boolean

Required: No

HealthCheck

A configuration for a non-terminal health check. A container, which automatically restarts if it stops functioning, also restarts if it fails this health check. If an essential container in the daemon group fails a health check, the entire container group is restarted. The essential container in the replica group doesn't use this health check mechanism, because the Amazon GameLift Agent automatically handles the task.

Type: ContainerHealthCheck object

Required: No

MemoryLimits

The amount of memory that Amazon GameLift makes available to the container. If memory limits aren't set for an individual container, the container shares the container group's total memory allocation.

Related data type: ContainerGroupDefinition:TotalMemoryLimit

Type: ContainerMemoryLimits object

Required: No

PortConfiguration

Defines the ports that are available to assign to processes in the container. For example, a game server process requires a container port to allow game clients to connect to it. Container ports aren't directly accessed by inbound traffic. Amazon GameLift maps these container ports to externally accessible connection ports, which are assigned as needed from the container fleet's ConnectionPortRange.

Type: ContainerPortConfiguration object

Required: No

ResolvedImageDigest

A unique and immutable identifier for the container image that is deployed to a container fleet. The digest is a SHA 256 hash of the container image manifest.

Type: String

Pattern: ^sha256:[a-fA-F0-9]{64}$

Required: No

WorkingDirectory

The directory in the container where commands are run. See the ContainerDefinition::workingDirectory parameter in the Amazon Elastic Container Service API Reference.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 255.

Required: No

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: