game_server_groups
Creates, updates, deletes or gets a game_server_group
resource or lists game_server_groups
in a region
Overview
Name | game_server_groups |
Type | Resource |
Description | The AWS::GameLift::GameServerGroup resource creates an Amazon GameLift (GameLift) GameServerGroup. |
Id | aws.gamelift.game_server_groups |
Fields
Name | Datatype | Description |
---|---|---|
auto_scaling_group_arn | string | A generated unique ID for the EC2 Auto Scaling group that is associated with this game server group. |
auto_scaling_policy | object | Configuration settings to define a scaling policy for the Auto Scaling group that is optimized for game hosting. Updating this game server group property will not take effect for the created EC2 Auto Scaling group, please update the EC2 Auto Scaling group directly after creating the resource. |
balancing_strategy | string | The fallback balancing method to use for the game server group when Spot Instances in a Region become unavailable or are not viable for game hosting. |
delete_option | string | The type of delete to perform. |
game_server_group_arn | string | A generated unique ID for the game server group. |
game_server_group_name | string | An identifier for the new game server group. |
game_server_protection_policy | string | A flag that indicates whether instances in the game server group are protected from early termination. |
instance_definitions | array | A set of EC2 instance types to use when creating instances in the group. |
launch_template | object | The EC2 launch template that contains configuration settings and game server code to be deployed to all instances in the game server group. Updating this game server group property will not take effect for the created EC2 Auto Scaling group, please update the EC2 Auto Scaling group directly after creating the resource. |
max_size | number | The maximum number of instances allowed in the EC2 Auto Scaling group. Updating this game server group property will not take effect for the created EC2 Auto Scaling group, please update the EC2 Auto Scaling group directly after creating the resource. |
min_size | number | The minimum number of instances allowed in the EC2 Auto Scaling group. Updating this game server group property will not take effect for the created EC2 Auto Scaling group, please update the EC2 Auto Scaling group directly after creating the resource. |
role_arn | string | The Amazon Resource Name (ARN) for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups. |
tags | array | A list of labels to assign to the new game server group resource. Updating game server group tags with CloudFormation will not take effect. Please update this property using AWS GameLift APIs instead. |
vpc_subnets | array | A list of virtual private cloud (VPC) subnets to use with instances in the game server group. Updating this game server group property will not take effect for the created EC2 Auto Scaling group, please update the EC2 Auto Scaling group directly after creating the resource. |
region | string | AWS region. |
Methods
Name | Accessible by | Required Params |
---|---|---|
create_resource | INSERT | GameServerGroupName, InstanceDefinitions, RoleArn, 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 game_server_groups
in a region.
SELECT
region,
auto_scaling_group_arn,
auto_scaling_policy,
balancing_strategy,
delete_option,
game_server_group_arn,
game_server_group_name,
game_server_protection_policy,
instance_definitions,
launch_template,
max_size,
min_size,
role_arn,
tags,
vpc_subnets
FROM aws.gamelift.game_server_groups
WHERE region = 'us-east-1';
Gets all properties from an individual game_server_group
.
SELECT
region,
auto_scaling_group_arn,
auto_scaling_policy,
balancing_strategy,
delete_option,
game_server_group_arn,
game_server_group_name,
game_server_protection_policy,
instance_definitions,
launch_template,
max_size,
min_size,
role_arn,
tags,
vpc_subnets
FROM aws.gamelift.game_server_groups
WHERE region = 'us-east-1' AND data__Identifier = '<GameServerGroupArn>';
INSERT
example
Use the following StackQL query and manifest file to create a new game_server_group
resource, using stack-deploy
.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO aws.gamelift.game_server_groups (
GameServerGroupName,
InstanceDefinitions,
RoleArn,
region
)
SELECT
'{{ GameServerGroupName }}',
'{{ InstanceDefinitions }}',
'{{ RoleArn }}',
'{{ region }}';
/*+ create */
INSERT INTO aws.gamelift.game_server_groups (
AutoScalingPolicy,
BalancingStrategy,
DeleteOption,
GameServerGroupName,
GameServerProtectionPolicy,
InstanceDefinitions,
LaunchTemplate,
MaxSize,
MinSize,
RoleArn,
Tags,
VpcSubnets,
region
)
SELECT
'{{ AutoScalingPolicy }}',
'{{ BalancingStrategy }}',
'{{ DeleteOption }}',
'{{ GameServerGroupName }}',
'{{ GameServerProtectionPolicy }}',
'{{ InstanceDefinitions }}',
'{{ LaunchTemplate }}',
'{{ MaxSize }}',
'{{ MinSize }}',
'{{ RoleArn }}',
'{{ Tags }}',
'{{ VpcSubnets }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: game_server_group
props:
- name: AutoScalingPolicy
value:
EstimatedInstanceWarmup: null
TargetTrackingConfiguration:
TargetValue: null
- name: BalancingStrategy
value: '{{ BalancingStrategy }}'
- name: DeleteOption
value: '{{ DeleteOption }}'
- name: GameServerGroupName
value: '{{ GameServerGroupName }}'
- name: GameServerProtectionPolicy
value: '{{ GameServerProtectionPolicy }}'
- name: InstanceDefinitions
value:
- InstanceType: '{{ InstanceType }}'
WeightedCapacity: '{{ WeightedCapacity }}'
- name: LaunchTemplate
value:
LaunchTemplateId: '{{ LaunchTemplateId }}'
LaunchTemplateName: '{{ LaunchTemplateName }}'
Version: '{{ Version }}'
- name: MaxSize
value: null
- name: MinSize
value: null
- name: RoleArn
value: '{{ RoleArn }}'
- name: Tags
value:
- Key: '{{ Key }}'
Value: '{{ Value }}'
- name: VpcSubnets
value:
- '{{ VpcSubnets[0] }}'
DELETE
example
/*+ delete */
DELETE FROM aws.gamelift.game_server_groups
WHERE data__Identifier = '<GameServerGroupArn>'
AND region = 'us-east-1';
Permissions
To operate on the game_server_groups
resource, the following permissions are required:
Create
gamelift:CreateGameServerGroup,
gamelift:TagResource,
gamelift:DescribeGameServerGroup,
iam:assumeRole,
iam:PassRole,
iam:CreateServiceLinkedRole,
ec2:DescribeAvailabilityZones,
ec2:DescribeSubnets,
ec2:RunInstances,
ec2:CreateTags,
ec2:DescribeLaunchTemplateVersions,
autoscaling:CreateAutoScalingGroup,
autoscaling:DescribeLifecycleHooks,
autoscaling:DescribeNotificationConfigurations,
autoscaling:CreateAutoScalingGroup,
autoscaling:CreateOrUpdateTags,
autoscaling:DescribeAutoScalingGroups,
autoscaling:ExitStandby,
autoscaling:PutLifecycleHook,
autoscaling:PutScalingPolicy,
autoscaling:ResumeProcesses,
autoscaling:SetInstanceProtection,
autoscaling:UpdateAutoScalingGroup,
events:PutRule,
events:PutTargets
Read
gamelift:DescribeGameServerGroup
Update
gamelift:UpdateGameServerGroup,
iam:assumeRole,
iam:PassRole,
autoscaling:DescribeAutoScalingGroups,
autoscaling:UpdateAutoScalingGroup,
autoscaling:SetInstanceProtection
Delete
gamelift:DeleteGameServerGroup,
gamelift:DescribeGameServerGroup,
iam:assumeRole,
iam:PassRole,
iam:CreateServiceLinkedRole,
ec2:DescribeAvailabilityZones,
ec2:DescribeSubnets,
ec2:DescribeLaunchTemplateVersions,
autoscaling:CreateAutoScalingGroup,
autoscaling:DescribeLifecycleHooks,
autoscaling:DescribeNotificationConfigurations,
autoscaling:DescribeAutoScalingGroups,
autoscaling:ExitStandby,
autoscaling:PutLifecycleHook,
autoscaling:PutScalingPolicy,
autoscaling:ResumeProcesses,
autoscaling:SetInstanceProtection,
autoscaling:UpdateAutoScalingGroup,
autoscaling:DeleteAutoScalingGroup,
events:PutRule,
events:PutTargets
List
gamelift:ListGameServerGroups