

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS::GameLift::ContainerFleet
<a name="aws-resource-gamelift-containerfleet"></a>

Describes an Amazon GameLift Servers managed container fleet. 

## Syntax
<a name="aws-resource-gamelift-containerfleet-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-gamelift-containerfleet-syntax.json"></a>

```
{
  "Type" : "AWS::GameLift::ContainerFleet",
  "Properties" : {
      "[BillingType](#cfn-gamelift-containerfleet-billingtype)" : String,
      "[DeploymentConfiguration](#cfn-gamelift-containerfleet-deploymentconfiguration)" : DeploymentConfiguration,
      "[Description](#cfn-gamelift-containerfleet-description)" : String,
      "[FleetRoleArn](#cfn-gamelift-containerfleet-fleetrolearn)" : String,
      "[GameServerContainerGroupDefinitionName](#cfn-gamelift-containerfleet-gameservercontainergroupdefinitionname)" : String,
      "[GameServerContainerGroupsPerInstance](#cfn-gamelift-containerfleet-gameservercontainergroupsperinstance)" : Integer,
      "[GameSessionCreationLimitPolicy](#cfn-gamelift-containerfleet-gamesessioncreationlimitpolicy)" : GameSessionCreationLimitPolicy,
      "[InstanceConnectionPortRange](#cfn-gamelift-containerfleet-instanceconnectionportrange)" : ConnectionPortRange,
      "[InstanceInboundPermissions](#cfn-gamelift-containerfleet-instanceinboundpermissions)" : [ IpPermission, ... ],
      "[InstanceType](#cfn-gamelift-containerfleet-instancetype)" : String,
      "[Locations](#cfn-gamelift-containerfleet-locations)" : [ LocationConfiguration, ... ],
      "[LogConfiguration](#cfn-gamelift-containerfleet-logconfiguration)" : LogConfiguration,
      "[MetricGroups](#cfn-gamelift-containerfleet-metricgroups)" : [ String, ... ],
      "[NewGameSessionProtectionPolicy](#cfn-gamelift-containerfleet-newgamesessionprotectionpolicy)" : String,
      "[PerInstanceContainerGroupDefinitionName](#cfn-gamelift-containerfleet-perinstancecontainergroupdefinitionname)" : String,
      "[PlayerGatewayMode](#cfn-gamelift-containerfleet-playergatewaymode)" : String,
      "[ScalingPolicies](#cfn-gamelift-containerfleet-scalingpolicies)" : [ ScalingPolicy, ... ],
      "[Tags](#cfn-gamelift-containerfleet-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-gamelift-containerfleet-syntax.yaml"></a>

```
Type: AWS::GameLift::ContainerFleet
Properties:
  [BillingType](#cfn-gamelift-containerfleet-billingtype): String
  [DeploymentConfiguration](#cfn-gamelift-containerfleet-deploymentconfiguration): 
    DeploymentConfiguration
  [Description](#cfn-gamelift-containerfleet-description): String
  [FleetRoleArn](#cfn-gamelift-containerfleet-fleetrolearn): String
  [GameServerContainerGroupDefinitionName](#cfn-gamelift-containerfleet-gameservercontainergroupdefinitionname): String
  [GameServerContainerGroupsPerInstance](#cfn-gamelift-containerfleet-gameservercontainergroupsperinstance): Integer
  [GameSessionCreationLimitPolicy](#cfn-gamelift-containerfleet-gamesessioncreationlimitpolicy): 
    GameSessionCreationLimitPolicy
  [InstanceConnectionPortRange](#cfn-gamelift-containerfleet-instanceconnectionportrange): 
    ConnectionPortRange
  [InstanceInboundPermissions](#cfn-gamelift-containerfleet-instanceinboundpermissions): 
    - IpPermission
  [InstanceType](#cfn-gamelift-containerfleet-instancetype): String
  [Locations](#cfn-gamelift-containerfleet-locations): 
    - LocationConfiguration
  [LogConfiguration](#cfn-gamelift-containerfleet-logconfiguration): 
    LogConfiguration
  [MetricGroups](#cfn-gamelift-containerfleet-metricgroups): 
    - String
  [NewGameSessionProtectionPolicy](#cfn-gamelift-containerfleet-newgamesessionprotectionpolicy): String
  [PerInstanceContainerGroupDefinitionName](#cfn-gamelift-containerfleet-perinstancecontainergroupdefinitionname): String
  [PlayerGatewayMode](#cfn-gamelift-containerfleet-playergatewaymode): String
  [ScalingPolicies](#cfn-gamelift-containerfleet-scalingpolicies): 
    - ScalingPolicy
  [Tags](#cfn-gamelift-containerfleet-tags): 
    - Tag
```

## Properties
<a name="aws-resource-gamelift-containerfleet-properties"></a>

`BillingType`  <a name="cfn-gamelift-containerfleet-billingtype"></a>
Indicates whether the fleet uses On-Demand or Spot instances for this fleet. Learn more about when to use [ On-Demand versus Spot Instances](https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html#gamelift-ec2-instances-spot). You can't update this fleet property.  
By default, this property is set to `ON_DEMAND`.  
*Required*: No  
*Type*: String  
*Allowed values*: `ON_DEMAND | SPOT`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DeploymentConfiguration`  <a name="cfn-gamelift-containerfleet-deploymentconfiguration"></a>
Set of rules for processing a deployment for a container fleet update.  
*Required*: No  
*Type*: [DeploymentConfiguration](aws-properties-gamelift-containerfleet-deploymentconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Description`  <a name="cfn-gamelift-containerfleet-description"></a>
A meaningful description of the container fleet.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FleetRoleArn`  <a name="cfn-gamelift-containerfleet-fleetrolearn"></a>
The unique identifier for an AWS Identity and Access Management (IAM) role with permissions to run your containers on resources that are managed by Amazon GameLift Servers. See [Set up an IAM service role](https://docs.aws.amazon.com/gamelift/latest/developerguide/setting-up-role.html). This fleet property can't be changed.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:aws(-.*)?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`GameServerContainerGroupDefinitionName`  <a name="cfn-gamelift-containerfleet-gameservercontainergroupdefinitionname"></a>
The name of the fleet's game server container group definition, which describes how to deploy containers with your game server build and support software onto each fleet instance.   
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9\-]+$|^arn:.*:containergroupdefinition\/[a-zA-Z0-9\-]+(:[0-9]+)?$`  
*Minimum*: `1`  
*Maximum*: `512`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`GameServerContainerGroupsPerInstance`  <a name="cfn-gamelift-containerfleet-gameservercontainergroupsperinstance"></a>
The number of times to replicate the game server container group on each fleet instance.   
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `5000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`GameSessionCreationLimitPolicy`  <a name="cfn-gamelift-containerfleet-gamesessioncreationlimitpolicy"></a>
A policy that limits the number of game sessions that each individual player can create on instances in this fleet. The limit applies for a specified span of time.  
*Required*: No  
*Type*: [GameSessionCreationLimitPolicy](aws-properties-gamelift-containerfleet-gamesessioncreationlimitpolicy.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InstanceConnectionPortRange`  <a name="cfn-gamelift-containerfleet-instanceconnectionportrange"></a>
The set of port numbers to open on each instance in a container fleet. Connection ports are used by inbound traffic to connect with processes that are running in containers on the fleet.  
*Required*: No  
*Type*: [ConnectionPortRange](aws-properties-gamelift-containerfleet-connectionportrange.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InstanceInboundPermissions`  <a name="cfn-gamelift-containerfleet-instanceinboundpermissions"></a>
The IP address ranges and port settings that allow inbound traffic to access game server processes and other processes on this fleet.   
*Required*: No  
*Type*: Array of [IpPermission](aws-properties-gamelift-containerfleet-ippermission.md)  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InstanceType`  <a name="cfn-gamelift-containerfleet-instancetype"></a>
The Amazon EC2 instance type to use for all instances in the fleet. Instance type determines the computing resources and processing power that's available to host your game servers. This includes including CPU, memory, storage, and networking capacity. You can't update this fleet property.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Locations`  <a name="cfn-gamelift-containerfleet-locations"></a>
A set of locations to deploy container fleet instances to. You can add any AWS Region or Local Zone that's supported by Amazon GameLift Servers. Provide a list of one or more AWS Region codes, such as `us-west-2`, or Local Zone names. Also include the fleet's home Region, which is the AWS Region where the fleet is created. For a list of supported Regions and Local Zones, see [ Amazon GameLift Servers service locations](https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-regions.html) for managed hosting.  
*Required*: No  
*Type*: Array of [LocationConfiguration](aws-properties-gamelift-containerfleet-locationconfiguration.md)  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LogConfiguration`  <a name="cfn-gamelift-containerfleet-logconfiguration"></a>
The method that is used to collect container logs for the fleet. Amazon GameLift Servers saves all standard output for each container in logs, including game session logs.   
+ `CLOUDWATCH` -- Send logs to an Amazon CloudWatch log group that you define. Each container emits a log stream, which is organized in the log group. 
+ `S3` -- Store logs in an Amazon S3 bucket that you define.
+ `NONE` -- Don't collect container logs.
*Required*: No  
*Type*: [LogConfiguration](aws-properties-gamelift-containerfleet-logconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MetricGroups`  <a name="cfn-gamelift-containerfleet-metricgroups"></a>
The name of an AWS CloudWatch metric group to add this fleet to. Metric groups aggregate metrics for multiple fleets.   
*Required*: No  
*Type*: Array of String  
*Maximum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NewGameSessionProtectionPolicy`  <a name="cfn-gamelift-containerfleet-newgamesessionprotectionpolicy"></a>
Determines whether Amazon GameLift Servers can shut down game sessions on the fleet that are actively running and hosting players. Amazon GameLift Servers might prompt an instance shutdown when scaling down fleet capacity or when retiring unhealthy instances. You can also set game session protection for individual game sessions using [UpdateGameSession](gamelift/latest/apireference/API_UpdateGameSession.html).  
+ **NoProtection** -- Game sessions can be shut down during active gameplay. 
+ **FullProtection** -- Game sessions in `ACTIVE` status can't be shut down.
*Required*: No  
*Type*: String  
*Allowed values*: `FullProtection | NoProtection`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PerInstanceContainerGroupDefinitionName`  <a name="cfn-gamelift-containerfleet-perinstancecontainergroupdefinitionname"></a>
The name of the fleet's per-instance container group definition.   
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9\-]+$|^arn:.*:containergroupdefinition\/[a-zA-Z0-9\-]+(:[0-9]+)?$`  
*Minimum*: `1`  
*Maximum*: `512`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PlayerGatewayMode`  <a name="cfn-gamelift-containerfleet-playergatewaymode"></a>
Configures player gateway for your fleet. Player gateway provides benefits such as DDoS protection by rate limiting and validating traﬃc before it reaches game servers, hiding game server IP addresses from players, and providing updated endpoints when relay endpoints become unhealthy.  
**How it works:** When enabled, game clients connect to relay endpoints instead of to your game servers. Player gateway validates player gateway tokens and routes traffic to the appropriate game server. Your game backend calls [GetPlayerConnectionDetails](https://docs.aws.amazon.com/gamelift/latest/apireference/API_GetPlayerConnectionDetails.html) to retrieve relay endpoints and player gateway tokens for your game clients. To learn more about this topic, see [DDoS protection with Amazon GameLift Servers player gateway](https://docs.aws.amazon.com/gameliftservers/latest/developerguide/ddos-protection-intro.html).  
Possible values include:  
+ `DISABLED` (default) -- Game clients connect to the game server endpoint. Use this when you do not intend to integrate your game with player gateway.
+ `ENABLED` -- Player gateway is available in fleet locations where it is supported. Your game backend can call [GetPlayerConnectionDetails](https://docs.aws.amazon.com/gamelift/latest/apireference/API_GetPlayerConnectionDetails.html) to obtain a player gateway token and endpoints for game clients.
+ `REQUIRED` -- Player gateway is available in fleet locations where it is supported, and the fleet can only use locations that support this feature. Attempting to add a remote location to your fleet which does not support player gateway will result in an `InvalidRequestException`.
*Required*: No  
*Type*: String  
*Allowed values*: `DISABLED | ENABLED | REQUIRED`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ScalingPolicies`  <a name="cfn-gamelift-containerfleet-scalingpolicies"></a>
Rule that controls how a fleet is scaled. Scaling policies are uniquely identified by the combination of name and fleet ID.  
*Required*: No  
*Type*: Array of [ScalingPolicy](aws-properties-gamelift-containerfleet-scalingpolicy.md)  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-gamelift-containerfleet-tags"></a>
A list of labels to assign to the new fleet resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management and cost allocation. For more information, see [ Tagging AWS Resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the *AWS General Reference*.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-gamelift-containerfleet-tag.md)  
*Maximum*: `200`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-gamelift-containerfleet-return-values"></a>

### Ref
<a name="aws-resource-gamelift-containerfleet-return-values-ref"></a>

### Fn::GetAtt
<a name="aws-resource-gamelift-containerfleet-return-values-fn--getatt"></a>

#### 
<a name="aws-resource-gamelift-containerfleet-return-values-fn--getatt-fn--getatt"></a>

`CreationTime`  <a name="CreationTime-fn::getatt"></a>
A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example `"1469498468.057"`).

`FleetArn`  <a name="FleetArn-fn::getatt"></a>
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`. In a GameLift fleet ARN, the resource ID matches the `FleetId` value.

`FleetId`  <a name="FleetId-fn::getatt"></a>
A unique identifier for the container fleet to retrieve. 

`GameServerContainerGroupDefinitionArn`  <a name="GameServerContainerGroupDefinitionArn-fn::getatt"></a>
The Amazon Resource Name ([ARN](https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) that is assigned to the fleet's game server container group. The ARN value also identifies the specific container group definition version in use.

`MaximumGameServerContainerGroupsPerInstance`  <a name="MaximumGameServerContainerGroupsPerInstance-fn::getatt"></a>
The calculated maximum number of game server container group that can be deployed on each fleet instance. The calculation depends on the resource needs of the container group and the CPU and memory resources of the fleet's instance type.

`PerInstanceContainerGroupDefinitionArn`  <a name="PerInstanceContainerGroupDefinitionArn-fn::getatt"></a>
The Amazon Resource Name ([ARN](https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) that is assigned to the fleet's per-instance container group. The ARN value also identifies the specific container group definition version in use.

`Status`  <a name="Status-fn::getatt"></a>
The current status of the container fleet.  
+ `PENDING` -- A new container fleet has been requested.
+ `CREATING` -- A new container fleet resource is being created. 
+ `CREATED` -- A new container fleet resource has been created. No fleet instances have been deployed.
+ `ACTIVATING` -- New container fleet instances are being deployed.
+ `ACTIVE` -- The container fleet has been deployed and is ready to host game sessions.
+ `UPDATING` -- Updates to the container fleet is being updated. A deployment is in progress.

# AWS::GameLift::ContainerFleet ConnectionPortRange
<a name="aws-properties-gamelift-containerfleet-connectionportrange"></a>

The set of port numbers to open on each instance in a container fleet. Connection ports are used by inbound traffic to connect with processes that are running in containers on the fleet.

## Syntax
<a name="aws-properties-gamelift-containerfleet-connectionportrange-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-gamelift-containerfleet-connectionportrange-syntax.json"></a>

```
{
  "[FromPort](#cfn-gamelift-containerfleet-connectionportrange-fromport)" : Integer,
  "[ToPort](#cfn-gamelift-containerfleet-connectionportrange-toport)" : Integer
}
```

### YAML
<a name="aws-properties-gamelift-containerfleet-connectionportrange-syntax.yaml"></a>

```
  [FromPort](#cfn-gamelift-containerfleet-connectionportrange-fromport): Integer
  [ToPort](#cfn-gamelift-containerfleet-connectionportrange-toport): Integer
```

## Properties
<a name="aws-properties-gamelift-containerfleet-connectionportrange-properties"></a>

`FromPort`  <a name="cfn-gamelift-containerfleet-connectionportrange-fromport"></a>
Starting value for the port range.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `60000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ToPort`  <a name="cfn-gamelift-containerfleet-connectionportrange-toport"></a>
Ending value for the port. Port numbers are end-inclusive. This value must be equal to or greater than `FromPort`.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `60000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::GameLift::ContainerFleet DeploymentConfiguration
<a name="aws-properties-gamelift-containerfleet-deploymentconfiguration"></a>

Set of rules for processing a deployment for a container fleet update.

## Syntax
<a name="aws-properties-gamelift-containerfleet-deploymentconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-gamelift-containerfleet-deploymentconfiguration-syntax.json"></a>

```
{
  "[ImpairmentStrategy](#cfn-gamelift-containerfleet-deploymentconfiguration-impairmentstrategy)" : String,
  "[MinimumHealthyPercentage](#cfn-gamelift-containerfleet-deploymentconfiguration-minimumhealthypercentage)" : Integer,
  "[ProtectionStrategy](#cfn-gamelift-containerfleet-deploymentconfiguration-protectionstrategy)" : String
}
```

### YAML
<a name="aws-properties-gamelift-containerfleet-deploymentconfiguration-syntax.yaml"></a>

```
  [ImpairmentStrategy](#cfn-gamelift-containerfleet-deploymentconfiguration-impairmentstrategy): String
  [MinimumHealthyPercentage](#cfn-gamelift-containerfleet-deploymentconfiguration-minimumhealthypercentage): Integer
  [ProtectionStrategy](#cfn-gamelift-containerfleet-deploymentconfiguration-protectionstrategy): String
```

## Properties
<a name="aws-properties-gamelift-containerfleet-deploymentconfiguration-properties"></a>

`ImpairmentStrategy`  <a name="cfn-gamelift-containerfleet-deploymentconfiguration-impairmentstrategy"></a>
Determines what actions to take if a deployment fails. If the fleet is multi-location, this strategy applies across all fleet locations. With a rollback strategy, updated fleet instances are rolled back to the last successful deployment. Alternatively, you can maintain a few impaired containers for the purpose of debugging, while all other tasks return to the last successful deployment.  
*Required*: No  
*Type*: String  
*Allowed values*: `MAINTAIN | ROLLBACK`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MinimumHealthyPercentage`  <a name="cfn-gamelift-containerfleet-deploymentconfiguration-minimumhealthypercentage"></a>
Sets a minimum level of healthy tasks to maintain during deployment activity.   
*Required*: No  
*Type*: Integer  
*Minimum*: `30`  
*Maximum*: `75`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ProtectionStrategy`  <a name="cfn-gamelift-containerfleet-deploymentconfiguration-protectionstrategy"></a>
Determines how fleet deployment activity affects active game sessions on the fleet. With protection, a deployment honors game session protection, and delays actions that would interrupt a protected active game session until the game session ends. Without protection, deployment activity can shut down all running tasks, including active game sessions, regardless of game session protection.   
*Required*: No  
*Type*: String  
*Allowed values*: `WITH_PROTECTION | IGNORE_PROTECTION`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::GameLift::ContainerFleet DeploymentDetails
<a name="aws-properties-gamelift-containerfleet-deploymentdetails"></a>

Information about the most recent deployment for the container fleet.

## Syntax
<a name="aws-properties-gamelift-containerfleet-deploymentdetails-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-gamelift-containerfleet-deploymentdetails-syntax.json"></a>

```
{
  "[LatestDeploymentId](#cfn-gamelift-containerfleet-deploymentdetails-latestdeploymentid)" : String
}
```

### YAML
<a name="aws-properties-gamelift-containerfleet-deploymentdetails-syntax.yaml"></a>

```
  [LatestDeploymentId](#cfn-gamelift-containerfleet-deploymentdetails-latestdeploymentid): String
```

## Properties
<a name="aws-properties-gamelift-containerfleet-deploymentdetails-properties"></a>

`LatestDeploymentId`  <a name="cfn-gamelift-containerfleet-deploymentdetails-latestdeploymentid"></a>
A unique identifier for a fleet deployment.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9\-]+$|^$`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::GameLift::ContainerFleet GameSessionCreationLimitPolicy
<a name="aws-properties-gamelift-containerfleet-gamesessioncreationlimitpolicy"></a>

A policy that puts limits on the number of game sessions that a player can create within a specified span of time. With this policy, you can control players' ability to consume available resources.

The policy is evaluated when a player tries to create a new game session. On receiving a `CreateGameSession` request, Amazon GameLift Servers checks that the player (identified by `CreatorId`) has created fewer than game session limit in the specified time period.

## Syntax
<a name="aws-properties-gamelift-containerfleet-gamesessioncreationlimitpolicy-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-gamelift-containerfleet-gamesessioncreationlimitpolicy-syntax.json"></a>

```
{
  "[NewGameSessionsPerCreator](#cfn-gamelift-containerfleet-gamesessioncreationlimitpolicy-newgamesessionspercreator)" : Integer,
  "[PolicyPeriodInMinutes](#cfn-gamelift-containerfleet-gamesessioncreationlimitpolicy-policyperiodinminutes)" : Integer
}
```

### YAML
<a name="aws-properties-gamelift-containerfleet-gamesessioncreationlimitpolicy-syntax.yaml"></a>

```
  [NewGameSessionsPerCreator](#cfn-gamelift-containerfleet-gamesessioncreationlimitpolicy-newgamesessionspercreator): Integer
  [PolicyPeriodInMinutes](#cfn-gamelift-containerfleet-gamesessioncreationlimitpolicy-policyperiodinminutes): Integer
```

## Properties
<a name="aws-properties-gamelift-containerfleet-gamesessioncreationlimitpolicy-properties"></a>

`NewGameSessionsPerCreator`  <a name="cfn-gamelift-containerfleet-gamesessioncreationlimitpolicy-newgamesessionspercreator"></a>
A policy that puts limits on the number of game sessions that a player can create within a specified span of time. With this policy, you can control players' ability to consume available resources.  
The policy evaluates when a player tries to create a new game session. On receiving a `CreateGameSession` request, Amazon GameLift Servers checks that the player (identified by `CreatorId`) has created fewer than game session limit in the specified time period.  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PolicyPeriodInMinutes`  <a name="cfn-gamelift-containerfleet-gamesessioncreationlimitpolicy-policyperiodinminutes"></a>
The time span used in evaluating the resource creation limit policy.   
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::GameLift::ContainerFleet IpPermission
<a name="aws-properties-gamelift-containerfleet-ippermission"></a>

A range of IP addresses and port settings that allow inbound traffic to connect to processes on an instance in a fleet. Processes are assigned an IP address/port number combination, which must fall into the fleet's allowed ranges. 

For Amazon GameLift Servers Realtime fleets, Amazon GameLift Servers automatically opens two port ranges, one for TCP messaging and one for UDP.

## Syntax
<a name="aws-properties-gamelift-containerfleet-ippermission-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-gamelift-containerfleet-ippermission-syntax.json"></a>

```
{
  "[FromPort](#cfn-gamelift-containerfleet-ippermission-fromport)" : Integer,
  "[IpRange](#cfn-gamelift-containerfleet-ippermission-iprange)" : String,
  "[Protocol](#cfn-gamelift-containerfleet-ippermission-protocol)" : String,
  "[ToPort](#cfn-gamelift-containerfleet-ippermission-toport)" : Integer
}
```

### YAML
<a name="aws-properties-gamelift-containerfleet-ippermission-syntax.yaml"></a>

```
  [FromPort](#cfn-gamelift-containerfleet-ippermission-fromport): Integer
  [IpRange](#cfn-gamelift-containerfleet-ippermission-iprange): String
  [Protocol](#cfn-gamelift-containerfleet-ippermission-protocol): String
  [ToPort](#cfn-gamelift-containerfleet-ippermission-toport): Integer
```

## Properties
<a name="aws-properties-gamelift-containerfleet-ippermission-properties"></a>

`FromPort`  <a name="cfn-gamelift-containerfleet-ippermission-fromport"></a>
A starting value for a range of allowed port numbers.  
For fleets using Linux builds, only ports `22` and `1026-60000` are valid.  
For fleets using Windows builds, only ports `1026-60000` are valid.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `60000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IpRange`  <a name="cfn-gamelift-containerfleet-ippermission-iprange"></a>
A range of allowed IP addresses. This value must be expressed in CIDR notation. Example: "`000.000.000.000/[subnet mask]`" or optionally the shortened version "`0.0.0.0/[subnet mask]`".  
*Required*: Yes  
*Type*: String  
*Pattern*: `(^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(/([0-9]|[1-2][0-9]|3[0-2]))$)`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Protocol`  <a name="cfn-gamelift-containerfleet-ippermission-protocol"></a>
The network communication protocol used by the fleet.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `TCP | UDP`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ToPort`  <a name="cfn-gamelift-containerfleet-ippermission-toport"></a>
An ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be equal to or greater than `FromPort`.  
For fleets using Linux builds, only ports `22` and `1026-60000` are valid.  
For fleets using Windows builds, only ports `1026-60000` are valid.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `60000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::GameLift::ContainerFleet LocationCapacity
<a name="aws-properties-gamelift-containerfleet-locationcapacity"></a>

Current resource capacity settings for managed EC2 fleets and managed container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. 

**Returned by:**[DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html), [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html), [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html)

## Syntax
<a name="aws-properties-gamelift-containerfleet-locationcapacity-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-gamelift-containerfleet-locationcapacity-syntax.json"></a>

```
{
  "[DesiredEC2Instances](#cfn-gamelift-containerfleet-locationcapacity-desiredec2instances)" : Integer,
  "[ManagedCapacityConfiguration](#cfn-gamelift-containerfleet-locationcapacity-managedcapacityconfiguration)" : ManagedCapacityConfiguration,
  "[MaxSize](#cfn-gamelift-containerfleet-locationcapacity-maxsize)" : Integer,
  "[MinSize](#cfn-gamelift-containerfleet-locationcapacity-minsize)" : Integer
}
```

### YAML
<a name="aws-properties-gamelift-containerfleet-locationcapacity-syntax.yaml"></a>

```
  [DesiredEC2Instances](#cfn-gamelift-containerfleet-locationcapacity-desiredec2instances): Integer
  [ManagedCapacityConfiguration](#cfn-gamelift-containerfleet-locationcapacity-managedcapacityconfiguration): 
    ManagedCapacityConfiguration
  [MaxSize](#cfn-gamelift-containerfleet-locationcapacity-maxsize): Integer
  [MinSize](#cfn-gamelift-containerfleet-locationcapacity-minsize): Integer
```

## Properties
<a name="aws-properties-gamelift-containerfleet-locationcapacity-properties"></a>

`DesiredEC2Instances`  <a name="cfn-gamelift-containerfleet-locationcapacity-desiredec2instances"></a>
The number of Amazon EC2 instances you want to maintain in the specified fleet location. This value must fall between the minimum and maximum size limits. Changes in desired instance value can take up to 1 minute to be reflected when viewing the fleet's capacity settings.  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ManagedCapacityConfiguration`  <a name="cfn-gamelift-containerfleet-locationcapacity-managedcapacityconfiguration"></a>
Use ManagedCapacityConfiguration with the "SCALE\$1TO\$1AND\$1FROM\$1ZERO" ZeroCapacityStrategy to enable Amazon GameLift Servers to fully manage the MinSize value, switching between 0 and 1 based on game session activity. This is ideal for eliminating compute costs during periods of no game activity. It is particularly beneficial during development when you're away from your desk, iterating on builds for extended periods, in production environments serving low-traffic locations, or for games with long, predictable downtime windows. By automatically managing capacity between 0 and 1 instances, you avoid paying for idle instances while maintaining the ability to serve game sessions when demand arrives. Note that while scale-out is triggered immediately upon receiving a game session request, actual game session availability depends on your server process startup time, so this approach works best with multi-location Fleets where cold-start latency is tolerable. With a "MANUAL" ZeroCapacityStrategy Amazon GameLift Servers will not modify Fleet MinSize values automatically and will not scale out from zero instances in response to game sessions.   
*Required*: No  
*Type*: [ManagedCapacityConfiguration](aws-properties-gamelift-containerfleet-managedcapacityconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MaxSize`  <a name="cfn-gamelift-containerfleet-locationcapacity-maxsize"></a>
The maximum number of instances that are allowed in the specified fleet location. If this parameter is not set, the default is 1.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MinSize`  <a name="cfn-gamelift-containerfleet-locationcapacity-minsize"></a>
The minimum number of instances that are allowed in the specified fleet location. If this parameter is not set, the default is 0. This parameter's value will be ignored when using a ManagedCapacityConfiguration where ZeroCapacityStrategy has a value of SCALE\$1TO\$1AND\$1FROM\$1ZERO.  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::GameLift::ContainerFleet LocationConfiguration
<a name="aws-properties-gamelift-containerfleet-locationconfiguration"></a>

A remote location where a multi-location fleet can deploy game servers for game hosting. 

## Syntax
<a name="aws-properties-gamelift-containerfleet-locationconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-gamelift-containerfleet-locationconfiguration-syntax.json"></a>

```
{
  "[Location](#cfn-gamelift-containerfleet-locationconfiguration-location)" : String,
  "[LocationCapacity](#cfn-gamelift-containerfleet-locationconfiguration-locationcapacity)" : LocationCapacity,
  "[PlayerGatewayStatus](#cfn-gamelift-containerfleet-locationconfiguration-playergatewaystatus)" : String,
  "[StoppedActions](#cfn-gamelift-containerfleet-locationconfiguration-stoppedactions)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-gamelift-containerfleet-locationconfiguration-syntax.yaml"></a>

```
  [Location](#cfn-gamelift-containerfleet-locationconfiguration-location): String
  [LocationCapacity](#cfn-gamelift-containerfleet-locationconfiguration-locationcapacity): 
    LocationCapacity
  [PlayerGatewayStatus](#cfn-gamelift-containerfleet-locationconfiguration-playergatewaystatus): String
  [StoppedActions](#cfn-gamelift-containerfleet-locationconfiguration-stoppedactions): 
    - String
```

## Properties
<a name="aws-properties-gamelift-containerfleet-locationconfiguration-properties"></a>

`Location`  <a name="cfn-gamelift-containerfleet-locationconfiguration-location"></a>
An AWS Region code, such as `us-west-2`. For a list of supported Regions and Local Zones, see [ Amazon GameLift Servers service locations](https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-regions.html) for managed hosting.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[A-Za-z0-9\-]+`  
*Minimum*: `1`  
*Maximum*: `64`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LocationCapacity`  <a name="cfn-gamelift-containerfleet-locationconfiguration-locationcapacity"></a>
Current resource capacity settings for managed EC2 fleets and managed container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region.   
**Returned by:**[DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html), [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html), [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html)  
*Required*: No  
*Type*: [LocationCapacity](aws-properties-gamelift-containerfleet-locationcapacity.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PlayerGatewayStatus`  <a name="cfn-gamelift-containerfleet-locationconfiguration-playergatewaystatus"></a>
The current status of player gateway in this location for this container fleet. Note, even if a container fleet has PlayerGatewayMode configured as `ENABLED`, player gateway might not be available in a specific location. For more information about locations where player gateway is supported, see [Amazon GameLift Servers service locations](https://docs.aws.amazon.com/gameliftservers/latest/developerguide/gamelift-regions.html).  
Possible values include:  
+ `ENABLED` -- Player gateway is available for this container fleet location.
+ `DISABLED` -- Player gateway is not available for this container fleet location.
*Required*: No  
*Type*: String  
*Allowed values*: `DISABLED | ENABLED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StoppedActions`  <a name="cfn-gamelift-containerfleet-locationconfiguration-stoppedactions"></a>
A list of fleet actions that have been suspended in the fleet location.  
*Required*: No  
*Type*: Array of String  
*Allowed values*: `AUTO_SCALING`  
*Maximum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::GameLift::ContainerFleet LogConfiguration
<a name="aws-properties-gamelift-containerfleet-logconfiguration"></a>

A method for collecting container logs for the fleet. Amazon GameLift Servers saves all standard output for each container in logs, including game session logs. You can select from the following methods: 

## Syntax
<a name="aws-properties-gamelift-containerfleet-logconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-gamelift-containerfleet-logconfiguration-syntax.json"></a>

```
{
  "[LogDestination](#cfn-gamelift-containerfleet-logconfiguration-logdestination)" : String,
  "[LogGroupArn](#cfn-gamelift-containerfleet-logconfiguration-loggrouparn)" : String,
  "[S3BucketName](#cfn-gamelift-containerfleet-logconfiguration-s3bucketname)" : String
}
```

### YAML
<a name="aws-properties-gamelift-containerfleet-logconfiguration-syntax.yaml"></a>

```
  [LogDestination](#cfn-gamelift-containerfleet-logconfiguration-logdestination): String
  [LogGroupArn](#cfn-gamelift-containerfleet-logconfiguration-loggrouparn): String
  [S3BucketName](#cfn-gamelift-containerfleet-logconfiguration-s3bucketname): String
```

## Properties
<a name="aws-properties-gamelift-containerfleet-logconfiguration-properties"></a>

`LogDestination`  <a name="cfn-gamelift-containerfleet-logconfiguration-logdestination"></a>
The type of log collection to use for a fleet.  
+ `CLOUDWATCH` -- (default value) Send logs to an Amazon CloudWatch log group that you define. Each container emits a log stream, which is organized in the log group. 
+ `S3` -- Store logs in an Amazon S3 bucket that you define. This bucket must reside in the fleet's home AWS Region.
+ `NONE` -- Don't collect container logs.
*Required*: No  
*Type*: String  
*Allowed values*: `NONE | CLOUDWATCH | S3`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LogGroupArn`  <a name="cfn-gamelift-containerfleet-logconfiguration-loggrouparn"></a>
If log destination is `CLOUDWATCH`, logs are sent to the specified log group in Amazon CloudWatch.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9:/\-\*]+`  
*Minimum*: `1`  
*Maximum*: `512`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3BucketName`  <a name="cfn-gamelift-containerfleet-logconfiguration-s3bucketname"></a>
If log destination is `S3`, logs are sent to the specified Amazon S3 bucket name.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::GameLift::ContainerFleet ManagedCapacityConfiguration
<a name="aws-properties-gamelift-containerfleet-managedcapacityconfiguration"></a>

Use ManagedCapacityConfiguration with the "SCALE\$1TO\$1AND\$1FROM\$1ZERO" ZeroCapacityStrategy to enable Amazon GameLift Servers to fully manage the MinSize value, switching between 0 and 1 based on game session activity. This is ideal for eliminating compute costs during periods of no game activity. It is particularly beneficial during development when you're away from your desk, iterating on builds for extended periods, in production environments serving low-traffic locations, or for games with long, predictable downtime windows. By automatically managing capacity between 0 and 1 instances, you avoid paying for idle instances while maintaining the ability to serve game sessions when demand arrives. Note that while scale-out is triggered immediately upon receiving a game session request, actual game session availability depends on your server process startup time, so this approach works best with multi-location Fleets where cold-start latency is tolerable. With a "MANUAL" ZeroCapacityStrategy Amazon GameLift Servers will not modify Fleet MinSize values automatically and will not scale out from zero instances in response to game sessions. 

## Syntax
<a name="aws-properties-gamelift-containerfleet-managedcapacityconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-gamelift-containerfleet-managedcapacityconfiguration-syntax.json"></a>

```
{
  "[ScaleInAfterInactivityMinutes](#cfn-gamelift-containerfleet-managedcapacityconfiguration-scaleinafterinactivityminutes)" : Integer,
  "[ZeroCapacityStrategy](#cfn-gamelift-containerfleet-managedcapacityconfiguration-zerocapacitystrategy)" : String
}
```

### YAML
<a name="aws-properties-gamelift-containerfleet-managedcapacityconfiguration-syntax.yaml"></a>

```
  [ScaleInAfterInactivityMinutes](#cfn-gamelift-containerfleet-managedcapacityconfiguration-scaleinafterinactivityminutes): Integer
  [ZeroCapacityStrategy](#cfn-gamelift-containerfleet-managedcapacityconfiguration-zerocapacitystrategy): String
```

## Properties
<a name="aws-properties-gamelift-containerfleet-managedcapacityconfiguration-properties"></a>

`ScaleInAfterInactivityMinutes`  <a name="cfn-gamelift-containerfleet-managedcapacityconfiguration-scaleinafterinactivityminutes"></a>
Length of time, in minutes, that Amazon GameLift Servers will wait before scaling in your MinSize and DesiredInstances to 0 after a period with no game session activity. Default: 30 minutes.  
*Required*: No  
*Type*: Integer  
*Minimum*: `5`  
*Maximum*: `1440`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ZeroCapacityStrategy`  <a name="cfn-gamelift-containerfleet-managedcapacityconfiguration-zerocapacitystrategy"></a>
The strategy Amazon GameLift Servers will use to automatically scale your capacity to and from zero instances in response to game session activity. Game session activity refers to any active running sessions or game session requests.  
Possible ZeroCapacityStrategy types include:  
+ **MANUAL** -- (default value) Amazon GameLift Servers will not update capacity to and from zero on your behalf.
+ **SCALE\$1TO\$1AND\$1FROM\$1ZERO** -- Amazon GameLift Servers will automatically scale out MinSize and DesiredInstances from 0 to 1 in response to a game session request, and will scale in MinSize and DesiredInstances to 0 after a period with no game session activity. The duration of this scale in period can be configured using ScaleInAfterInactivityMinutes. 
*Required*: Yes  
*Type*: String  
*Allowed values*: `SCALE_TO_AND_FROM_ZERO | MANUAL`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::GameLift::ContainerFleet ScalingPolicy
<a name="aws-properties-gamelift-containerfleet-scalingpolicy"></a>

Rule that controls how a fleet is scaled. Scaling policies are uniquely identified by the combination of name and fleet ID.

## Syntax
<a name="aws-properties-gamelift-containerfleet-scalingpolicy-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-gamelift-containerfleet-scalingpolicy-syntax.json"></a>

```
{
  "[ComparisonOperator](#cfn-gamelift-containerfleet-scalingpolicy-comparisonoperator)" : String,
  "[EvaluationPeriods](#cfn-gamelift-containerfleet-scalingpolicy-evaluationperiods)" : Integer,
  "[MetricName](#cfn-gamelift-containerfleet-scalingpolicy-metricname)" : String,
  "[Name](#cfn-gamelift-containerfleet-scalingpolicy-name)" : String,
  "[PolicyType](#cfn-gamelift-containerfleet-scalingpolicy-policytype)" : String,
  "[ScalingAdjustment](#cfn-gamelift-containerfleet-scalingpolicy-scalingadjustment)" : Integer,
  "[ScalingAdjustmentType](#cfn-gamelift-containerfleet-scalingpolicy-scalingadjustmenttype)" : String,
  "[TargetConfiguration](#cfn-gamelift-containerfleet-scalingpolicy-targetconfiguration)" : TargetConfiguration,
  "[Threshold](#cfn-gamelift-containerfleet-scalingpolicy-threshold)" : Number
}
```

### YAML
<a name="aws-properties-gamelift-containerfleet-scalingpolicy-syntax.yaml"></a>

```
  [ComparisonOperator](#cfn-gamelift-containerfleet-scalingpolicy-comparisonoperator): String
  [EvaluationPeriods](#cfn-gamelift-containerfleet-scalingpolicy-evaluationperiods): Integer
  [MetricName](#cfn-gamelift-containerfleet-scalingpolicy-metricname): String
  [Name](#cfn-gamelift-containerfleet-scalingpolicy-name): String
  [PolicyType](#cfn-gamelift-containerfleet-scalingpolicy-policytype): String
  [ScalingAdjustment](#cfn-gamelift-containerfleet-scalingpolicy-scalingadjustment): Integer
  [ScalingAdjustmentType](#cfn-gamelift-containerfleet-scalingpolicy-scalingadjustmenttype): String
  [TargetConfiguration](#cfn-gamelift-containerfleet-scalingpolicy-targetconfiguration): 
    TargetConfiguration
  [Threshold](#cfn-gamelift-containerfleet-scalingpolicy-threshold): Number
```

## Properties
<a name="aws-properties-gamelift-containerfleet-scalingpolicy-properties"></a>

`ComparisonOperator`  <a name="cfn-gamelift-containerfleet-scalingpolicy-comparisonoperator"></a>
Comparison operator to use when measuring a metric against the threshold value.  
*Required*: No  
*Type*: String  
*Allowed values*: `GreaterThanOrEqualToThreshold | GreaterThanThreshold | LessThanThreshold | LessThanOrEqualToThreshold`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EvaluationPeriods`  <a name="cfn-gamelift-containerfleet-scalingpolicy-evaluationperiods"></a>
Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MetricName`  <a name="cfn-gamelift-containerfleet-scalingpolicy-metricname"></a>
Name of the Amazon GameLift Servers-defined metric that is used to trigger a scaling adjustment. For detailed descriptions of fleet metrics, see [Monitor Amazon GameLift Servers with Amazon CloudWatch](https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html).   
+ **ActivatingGameSessions** -- Game sessions in the process of being created.
+ **ActiveGameSessions** -- Game sessions that are currently running.
+ **ActiveInstances** -- Fleet instances that are currently running at least one game session.
+ **AvailableGameSessions** -- Additional game sessions that fleet could host simultaneously, given current capacity.
+ **AvailablePlayerSessions** -- Empty player slots in currently active game sessions. This includes game sessions that are not currently accepting players. Reserved player slots are not included.
+ **CurrentPlayerSessions** -- Player slots in active game sessions that are being used by a player or are reserved for a player. 
+ **IdleInstances** -- Active instances that are currently hosting zero game sessions. 
+ **PercentAvailableGameSessions** -- Unused percentage of the total number of game sessions that a fleet could host simultaneously, given current capacity. Use this metric for a target-based scaling policy.
+ **PercentIdleInstances** -- Percentage of the total number of active instances that are hosting zero game sessions.
+ **QueueDepth** -- Pending game session placement requests, in any queue, where the current fleet is the top-priority destination.
+ **WaitTime** -- Current wait time for pending game session placement requests, in any queue, where the current fleet is the top-priority destination. 
*Required*: Yes  
*Type*: String  
*Allowed values*: `ActivatingGameSessions | ActiveGameSessions | ActiveInstances | AvailableGameSessions | AvailablePlayerSessions | CurrentPlayerSessions | IdleInstances | PercentAvailableGameSessions | PercentIdleInstances | QueueDepth | WaitTime | ConcurrentActivatableGameSessions`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-gamelift-containerfleet-scalingpolicy-name"></a>
A descriptive label that is associated with a fleet's scaling policy. Policy names do not need to be unique.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PolicyType`  <a name="cfn-gamelift-containerfleet-scalingpolicy-policytype"></a>
The type of scaling policy to create. For a target-based policy, set the parameter *MetricName* to 'PercentAvailableGameSessions' and specify a *TargetConfiguration*. For a rule-based policy set the following parameters: *MetricName*, *ComparisonOperator*, *Threshold*, *EvaluationPeriods*, *ScalingAdjustmentType*, and *ScalingAdjustment*.  
*Required*: No  
*Type*: String  
*Allowed values*: `RuleBased | TargetBased`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ScalingAdjustment`  <a name="cfn-gamelift-containerfleet-scalingpolicy-scalingadjustment"></a>
Amount of adjustment to make, based on the scaling adjustment type.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ScalingAdjustmentType`  <a name="cfn-gamelift-containerfleet-scalingpolicy-scalingadjustmenttype"></a>
The type of adjustment to make to a fleet's instance count.  
+ **ChangeInCapacity** -- add (or subtract) the scaling adjustment value from the current instance count. Positive values scale up while negative values scale down.
+ **ExactCapacity** -- set the instance count to the scaling adjustment value.
+ **PercentChangeInCapacity** -- increase or reduce the current instance count by the scaling adjustment, read as a percentage. Positive values scale up while negative values scale down.
*Required*: No  
*Type*: String  
*Allowed values*: `ChangeInCapacity | ExactCapacity | PercentChangeInCapacity`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TargetConfiguration`  <a name="cfn-gamelift-containerfleet-scalingpolicy-targetconfiguration"></a>
An object that contains settings for a target-based scaling policy.  
*Required*: No  
*Type*: [TargetConfiguration](aws-properties-gamelift-containerfleet-targetconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Threshold`  <a name="cfn-gamelift-containerfleet-scalingpolicy-threshold"></a>
Metric value used to trigger a scaling event.  
*Required*: No  
*Type*: Number  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::GameLift::ContainerFleet Tag
<a name="aws-properties-gamelift-containerfleet-tag"></a>

A label that you can assign to a Amazon GameLift Servers resource. 

 **Learn more** 

[Tagging AWS Resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the *AWS General Reference*

 [AWS Tagging Strategies](https://aws.amazon.com/answers/account-management/aws-tagging-strategies/) 

 **Related actions** 

 [All APIs by task](https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets) 

## Syntax
<a name="aws-properties-gamelift-containerfleet-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-gamelift-containerfleet-tag-syntax.json"></a>

```
{
  "[Key](#cfn-gamelift-containerfleet-tag-key)" : String,
  "[Value](#cfn-gamelift-containerfleet-tag-value)" : String
}
```

### YAML
<a name="aws-properties-gamelift-containerfleet-tag-syntax.yaml"></a>

```
  [Key](#cfn-gamelift-containerfleet-tag-key): String
  [Value](#cfn-gamelift-containerfleet-tag-value): String
```

## Properties
<a name="aws-properties-gamelift-containerfleet-tag-properties"></a>

`Key`  <a name="cfn-gamelift-containerfleet-tag-key"></a>
The key for a developer-defined key value pair for tagging an AWS resource.   
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-gamelift-containerfleet-tag-value"></a>
The value for a developer-defined key value pair for tagging an AWS resource.   
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::GameLift::ContainerFleet TargetConfiguration
<a name="aws-properties-gamelift-containerfleet-targetconfiguration"></a>

Settings for a target-based scaling policy. A target-based policy tracks a particular fleet metric specifies a target value for the metric. As player usage changes, the policy triggers Amazon GameLift Servers to adjust capacity so that the metric returns to the target value. The target configuration specifies settings as needed for the target based policy, including the target value. 

## Syntax
<a name="aws-properties-gamelift-containerfleet-targetconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-gamelift-containerfleet-targetconfiguration-syntax.json"></a>

```
{
  "[TargetValue](#cfn-gamelift-containerfleet-targetconfiguration-targetvalue)" : Number
}
```

### YAML
<a name="aws-properties-gamelift-containerfleet-targetconfiguration-syntax.yaml"></a>

```
  [TargetValue](#cfn-gamelift-containerfleet-targetconfiguration-targetvalue): Number
```

## Properties
<a name="aws-properties-gamelift-containerfleet-targetconfiguration-properties"></a>

`TargetValue`  <a name="cfn-gamelift-containerfleet-targetconfiguration-targetvalue"></a>
Desired value to use with a target-based scaling policy. The value must be relevant for whatever metric the scaling policy is using. For example, in a policy using the metric PercentAvailableGameSessions, the target value should be the preferred size of the fleet's buffer (the percent of capacity that should be idle and ready for new game sessions).  
*Required*: Yes  
*Type*: Number  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)