container_fleets
Creates, updates, deletes or gets a container_fleet
resource or lists container_fleets
in a region
Overview
Name | container_fleets |
Type | Resource |
Description | The AWS::GameLift::ContainerFleet resource creates an Amazon GameLift (GameLift) container fleet to host game servers. |
Id | aws.gamelift.container_fleets |
Fields
Name | Datatype | Description |
---|---|---|
fleet_id | string | Unique fleet ID |
fleet_role_arn | string | A unique identifier for an AWS IAM role that manages access to your AWS services. Create a role or look up a role's ARN from the IAM dashboard in the AWS Management Console. |
description | string | A human-readable description of a fleet. |
game_server_container_group_definition_name | string | The name of the container group definition that will be created per game server. You must specify GAME_SERVER container group. You have the option to also specify one PER_INSTANCE container group. |
game_server_container_group_definition_arn | string | The Amazon Resource Name (ARN) of the game server container group definition. This field will be empty if GameServerContainerGroupDefinitionName is not specified. |
per_instance_container_group_definition_name | string | The name of the container group definition that will be created per instance. This field is optional if you specify GameServerContainerGroupDefinitionName. |
per_instance_container_group_definition_arn | string | The Amazon Resource Name (ARN) of the per instance container group definition. This field will be empty if PerInstanceContainerGroupDefinitionName is not specified. |
instance_connection_port_range | object | Defines the range of ports on the instance that allow inbound traffic to connect with containers in a fleet. |
instance_inbound_permissions | array | A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift server. |
game_server_container_groups_per_instance | integer | The number of desired game server container groups per instance, a number between 1-5000. |
maximum_game_server_container_groups_per_instance | integer | The maximum number of game server container groups per instance, a number between 1-5000. |
creation_time | string | A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057"). |
status | string | The current status of the container fleet. |
deployment_details | object | Provides information about the last deployment ID and its status. |
deployment_configuration | object | Provides details about how to drain old tasks and replace them with new updated tasks. |
instance_type | string | The name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions. |
billing_type | string | Indicates whether to use On-Demand instances or Spot instances for this fleet. If empty, the default is ON_DEMAND. Both categories of instances use identical hardware and configurations based on the instance type selected for this fleet. |
locations | array | |
scaling_policies | array | A list of rules that control how a fleet is scaled. |
metric_groups | array | The name of an Amazon CloudWatch metric group. A metric group aggregates the metrics for all fleets in the group. Specify a string containing the metric group name. You can use an existing name or use a new name to create a new metric group. Currently, this parameter can have only one string. |
new_game_session_protection_policy | string | A game session protection policy to apply to all game sessions hosted on instances in this fleet. When protected, active game sessions cannot be terminated during a scale-down event. If this parameter is not set, instances in this fleet default to no protection. You can change a fleet's protection policy to affect future game sessions on the fleet. You can also set protection for individual game sessions. |
game_session_creation_limit_policy | object | A policy that limits the number of game sessions an individual player can create over a span of time for this fleet. |
log_configuration | object | A policy the location and provider of logs from the fleet. |
tags | array | An array of key-value pairs to apply to this resource. |
fleet_arn | string | The Amazon Resource Name (ARN) that is assigned to a Amazon GameLift container fleet resource and uniquely identifies it across all AWS Regions. |
region | string | AWS region. |
For more information, see AWS::GameLift::ContainerFleet
.
Methods
Name | Accessible by | Required Params |
---|---|---|
create_resource | INSERT | FleetRoleArn, region |
delete_resource | DELETE | data__Identifier, region |
update_resource | UPDATE | data__Identifier, data__PatchDocument, region |
list_resources | SELECT | region |
get_resource | SELECT | data__Identifier, region |
SELECT
examples
Gets all container_fleets
in a region.
SELECT
region,
fleet_id,
fleet_role_arn,
description,
game_server_container_group_definition_name,
game_server_container_group_definition_arn,
per_instance_container_group_definition_name,
per_instance_container_group_definition_arn,
instance_connection_port_range,
instance_inbound_permissions,
game_server_container_groups_per_instance,
maximum_game_server_container_groups_per_instance,
creation_time,
status,
deployment_details,
deployment_configuration,
instance_type,
billing_type,
locations,
scaling_policies,
metric_groups,
new_game_session_protection_policy,
game_session_creation_limit_policy,
log_configuration,
tags,
fleet_arn
FROM aws.gamelift.container_fleets
WHERE region = 'us-east-1';
Gets all properties from an individual container_fleet
.
SELECT
region,
fleet_id,
fleet_role_arn,
description,
game_server_container_group_definition_name,
game_server_container_group_definition_arn,
per_instance_container_group_definition_name,
per_instance_container_group_definition_arn,
instance_connection_port_range,
instance_inbound_permissions,
game_server_container_groups_per_instance,
maximum_game_server_container_groups_per_instance,
creation_time,
status,
deployment_details,
deployment_configuration,
instance_type,
billing_type,
locations,
scaling_policies,
metric_groups,
new_game_session_protection_policy,
game_session_creation_limit_policy,
log_configuration,
tags,
fleet_arn
FROM aws.gamelift.container_fleets
WHERE region = 'us-east-1' AND data__Identifier = '<FleetId>';
INSERT
example
Use the following StackQL query and manifest file to create a new container_fleet
resource, using stack-deploy
.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO aws.gamelift.container_fleets (
FleetRoleArn,
region
)
SELECT
'{{ FleetRoleArn }}',
'{{ region }}';
/*+ create */
INSERT INTO aws.gamelift.container_fleets (
FleetRoleArn,
Description,
GameServerContainerGroupDefinitionName,
PerInstanceContainerGroupDefinitionName,
InstanceConnectionPortRange,
InstanceInboundPermissions,
GameServerContainerGroupsPerInstance,
DeploymentConfiguration,
InstanceType,
BillingType,
Locations,
ScalingPolicies,
MetricGroups,
NewGameSessionProtectionPolicy,
GameSessionCreationLimitPolicy,
LogConfiguration,
Tags,
region
)
SELECT
'{{ FleetRoleArn }}',
'{{ Description }}',
'{{ GameServerContainerGroupDefinitionName }}',
'{{ PerInstanceContainerGroupDefinitionName }}',
'{{ InstanceConnectionPortRange }}',
'{{ InstanceInboundPermissions }}',
'{{ GameServerContainerGroupsPerInstance }}',
'{{ DeploymentConfiguration }}',
'{{ InstanceType }}',
'{{ BillingType }}',
'{{ Locations }}',
'{{ ScalingPolicies }}',
'{{ MetricGroups }}',
'{{ NewGameSessionProtectionPolicy }}',
'{{ GameSessionCreationLimitPolicy }}',
'{{ LogConfiguration }}',
'{{ Tags }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: container_fleet
props:
- name: FleetRoleArn
value: '{{ FleetRoleArn }}'
- name: Description
value: '{{ Description }}'
- name: GameServerContainerGroupDefinitionName
value: '{{ GameServerContainerGroupDefinitionName }}'
- name: PerInstanceContainerGroupDefinitionName
value: '{{ PerInstanceContainerGroupDefinitionName }}'
- name: InstanceConnectionPortRange
value:
FromPort: '{{ FromPort }}'
ToPort: '{{ ToPort }}'
- name: InstanceInboundPermissions
value:
- FromPort: '{{ FromPort }}'
IpRange: '{{ IpRange }}'
Protocol: '{{ Protocol }}'
ToPort: '{{ ToPort }}'
- name: GameServerContainerGroupsPerInstance
value: '{{ GameServerContainerGroupsPerInstance }}'
- name: DeploymentConfiguration
value:
ProtectionStrategy: '{{ ProtectionStrategy }}'
MinimumHealthyPercentage: '{{ MinimumHealthyPercentage }}'
ImpairmentStrategy: '{{ ImpairmentStrategy }}'
- name: InstanceType
value: '{{ InstanceType }}'
- name: BillingType
value: '{{ BillingType }}'
- name: Locations
value:
- Location:
LocationName: '{{ LocationName }}'
Tags:
- Key: '{{ Key }}'
Value: '{{ Value }}'
LocationCapacity:
DesiredEC2Instances: '{{ DesiredEC2Instances }}'
MinSize: '{{ MinSize }}'
MaxSize: '{{ MaxSize }}'
- name: ScalingPolicies
value:
- ComparisonOperator: '{{ ComparisonOperator }}'
EvaluationPeriods: '{{ EvaluationPeriods }}'
Location: null
MetricName: '{{ MetricName }}'
Name: '{{ Name }}'
PolicyType: '{{ PolicyType }}'
ScalingAdjustment: '{{ ScalingAdjustment }}'
ScalingAdjustmentType: '{{ ScalingAdjustmentType }}'
Status: '{{ Status }}'
TargetConfiguration:
TargetValue: null
Threshold: null
UpdateStatus: '{{ UpdateStatus }}'
- name: MetricGroups
value:
- '{{ MetricGroups[0] }}'
- name: NewGameSessionProtectionPolicy
value: '{{ NewGameSessionProtectionPolicy }}'
- name: GameSessionCreationLimitPolicy
value:
NewGameSessionsPerCreator: '{{ NewGameSessionsPerCreator }}'
PolicyPeriodInMinutes: '{{ PolicyPeriodInMinutes }}'
- name: LogConfiguration
value:
LogDestination: '{{ LogDestination }}'
S3BucketName: '{{ S3BucketName }}'
- name: Tags
value:
- null
DELETE
example
/*+ delete */
DELETE FROM aws.gamelift.container_fleets
WHERE data__Identifier = '<FleetId>'
AND region = 'us-east-1';
Permissions
To operate on the container_fleets
resource, the following permissions are required:
Create
gamelift:CreateContainerFleet,
gamelift:DescribeContainerFleet,
gamelift:DescribeFleetDeployment,
gamelift:DescribeFleetLocationAttributes,
gamelift:DescribeFleetLocationCapacity,
gamelift:DescribeScalingPolicies,
gamelift:ListTagsForResource,
gamelift:PutScalingPolicy,
gamelift:StopFleetActions,
gamelift:TagResource,
gamelift:UpdateFleetCapacity,
iam:PassRole
Read
gamelift:DescribeContainerFleet,
gamelift:DescribeFleetLocationAttributes,
gamelift:DescribeFleetLocationCapacity,
gamelift:DescribeScalingPolicies,
gamelift:ListTagsForResource
Delete
gamelift:DeleteContainerFleet,
gamelift:DescribeContainerFleet
List
gamelift:ListContainerFleets
Update
gamelift:CreateFleetLocations,
gamelift:DeleteFleetLocations,
gamelift:DeleteScalingPolicy,
gamelift:DescribeContainerFleet,
gamelift:DescribeFleetDeployment,
gamelift:DescribeFleetLocationAttributes,
gamelift:DescribeFleetLocationCapacity,
gamelift:DescribeScalingPolicies,
gamelift:ListTagsForResource,
gamelift:PutScalingPolicy,
gamelift:StartFleetActions,
gamelift:StopFleetActions,
gamelift:TagResource,
gamelift:UntagResource,
gamelift:UpdateContainerFleet,
gamelift:UpdateFleetCapacity,
iam:PassRole