aws.gamelift.GameServerGroup
Explore with Pulumi AI
Provides an GameLift Game Server Group resource.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.gamelift.GameServerGroup("example", {
gameServerGroupName: "example",
instanceDefinitions: [
{
instanceType: "c5.large",
},
{
instanceType: "c5a.large",
},
],
launchTemplate: {
id: exampleAwsLaunchTemplate.id,
},
maxSize: 1,
minSize: 1,
roleArn: exampleAwsIamRole.arn,
}, {
dependsOn: [exampleAwsIamRolePolicyAttachment],
});
import pulumi
import pulumi_aws as aws
example = aws.gamelift.GameServerGroup("example",
game_server_group_name="example",
instance_definitions=[
{
"instance_type": "c5.large",
},
{
"instance_type": "c5a.large",
},
],
launch_template={
"id": example_aws_launch_template["id"],
},
max_size=1,
min_size=1,
role_arn=example_aws_iam_role["arn"],
opts = pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy_attachment]))
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/gamelift"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := gamelift.NewGameServerGroup(ctx, "example", &gamelift.GameServerGroupArgs{
GameServerGroupName: pulumi.String("example"),
InstanceDefinitions: gamelift.GameServerGroupInstanceDefinitionArray{
&gamelift.GameServerGroupInstanceDefinitionArgs{
InstanceType: pulumi.String("c5.large"),
},
&gamelift.GameServerGroupInstanceDefinitionArgs{
InstanceType: pulumi.String("c5a.large"),
},
},
LaunchTemplate: &gamelift.GameServerGroupLaunchTemplateArgs{
Id: pulumi.Any(exampleAwsLaunchTemplate.Id),
},
MaxSize: pulumi.Int(1),
MinSize: pulumi.Int(1),
RoleArn: pulumi.Any(exampleAwsIamRole.Arn),
}, pulumi.DependsOn([]pulumi.Resource{
exampleAwsIamRolePolicyAttachment,
}))
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.GameLift.GameServerGroup("example", new()
{
GameServerGroupName = "example",
InstanceDefinitions = new[]
{
new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs
{
InstanceType = "c5.large",
},
new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs
{
InstanceType = "c5a.large",
},
},
LaunchTemplate = new Aws.GameLift.Inputs.GameServerGroupLaunchTemplateArgs
{
Id = exampleAwsLaunchTemplate.Id,
},
MaxSize = 1,
MinSize = 1,
RoleArn = exampleAwsIamRole.Arn,
}, new CustomResourceOptions
{
DependsOn =
{
exampleAwsIamRolePolicyAttachment,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.gamelift.GameServerGroup;
import com.pulumi.aws.gamelift.GameServerGroupArgs;
import com.pulumi.aws.gamelift.inputs.GameServerGroupInstanceDefinitionArgs;
import com.pulumi.aws.gamelift.inputs.GameServerGroupLaunchTemplateArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new GameServerGroup("example", GameServerGroupArgs.builder()
.gameServerGroupName("example")
.instanceDefinitions(
GameServerGroupInstanceDefinitionArgs.builder()
.instanceType("c5.large")
.build(),
GameServerGroupInstanceDefinitionArgs.builder()
.instanceType("c5a.large")
.build())
.launchTemplate(GameServerGroupLaunchTemplateArgs.builder()
.id(exampleAwsLaunchTemplate.id())
.build())
.maxSize(1)
.minSize(1)
.roleArn(exampleAwsIamRole.arn())
.build(), CustomResourceOptions.builder()
.dependsOn(exampleAwsIamRolePolicyAttachment)
.build());
}
}
resources:
example:
type: aws:gamelift:GameServerGroup
properties:
gameServerGroupName: example
instanceDefinitions:
- instanceType: c5.large
- instanceType: c5a.large
launchTemplate:
id: ${exampleAwsLaunchTemplate.id}
maxSize: 1
minSize: 1
roleArn: ${exampleAwsIamRole.arn}
options:
dependson:
- ${exampleAwsIamRolePolicyAttachment}
Full usage:
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.gamelift.GameServerGroup("example", {
autoScalingPolicy: {
estimatedInstanceWarmup: 60,
targetTrackingConfiguration: {
targetValue: 75,
},
},
balancingStrategy: "SPOT_ONLY",
gameServerGroupName: "example",
gameServerProtectionPolicy: "FULL_PROTECTION",
instanceDefinitions: [
{
instanceType: "c5.large",
weightedCapacity: "1",
},
{
instanceType: "c5.2xlarge",
weightedCapacity: "2",
},
],
launchTemplate: {
id: exampleAwsLaunchTemplate.id,
version: "1",
},
maxSize: 1,
minSize: 1,
roleArn: exampleAwsIamRole.arn,
tags: {
Name: "example",
},
vpcSubnets: [
"subnet-12345678",
"subnet-23456789",
],
}, {
dependsOn: [exampleAwsIamRolePolicyAttachment],
});
import pulumi
import pulumi_aws as aws
example = aws.gamelift.GameServerGroup("example",
auto_scaling_policy={
"estimated_instance_warmup": 60,
"target_tracking_configuration": {
"target_value": 75,
},
},
balancing_strategy="SPOT_ONLY",
game_server_group_name="example",
game_server_protection_policy="FULL_PROTECTION",
instance_definitions=[
{
"instance_type": "c5.large",
"weighted_capacity": "1",
},
{
"instance_type": "c5.2xlarge",
"weighted_capacity": "2",
},
],
launch_template={
"id": example_aws_launch_template["id"],
"version": "1",
},
max_size=1,
min_size=1,
role_arn=example_aws_iam_role["arn"],
tags={
"Name": "example",
},
vpc_subnets=[
"subnet-12345678",
"subnet-23456789",
],
opts = pulumi.ResourceOptions(depends_on=[example_aws_iam_role_policy_attachment]))
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/gamelift"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := gamelift.NewGameServerGroup(ctx, "example", &gamelift.GameServerGroupArgs{
AutoScalingPolicy: &gamelift.GameServerGroupAutoScalingPolicyArgs{
EstimatedInstanceWarmup: pulumi.Int(60),
TargetTrackingConfiguration: &gamelift.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs{
TargetValue: pulumi.Float64(75),
},
},
BalancingStrategy: pulumi.String("SPOT_ONLY"),
GameServerGroupName: pulumi.String("example"),
GameServerProtectionPolicy: pulumi.String("FULL_PROTECTION"),
InstanceDefinitions: gamelift.GameServerGroupInstanceDefinitionArray{
&gamelift.GameServerGroupInstanceDefinitionArgs{
InstanceType: pulumi.String("c5.large"),
WeightedCapacity: pulumi.String("1"),
},
&gamelift.GameServerGroupInstanceDefinitionArgs{
InstanceType: pulumi.String("c5.2xlarge"),
WeightedCapacity: pulumi.String("2"),
},
},
LaunchTemplate: &gamelift.GameServerGroupLaunchTemplateArgs{
Id: pulumi.Any(exampleAwsLaunchTemplate.Id),
Version: pulumi.String("1"),
},
MaxSize: pulumi.Int(1),
MinSize: pulumi.Int(1),
RoleArn: pulumi.Any(exampleAwsIamRole.Arn),
Tags: pulumi.StringMap{
"Name": pulumi.String("example"),
},
VpcSubnets: pulumi.StringArray{
pulumi.String("subnet-12345678"),
pulumi.String("subnet-23456789"),
},
}, pulumi.DependsOn([]pulumi.Resource{
exampleAwsIamRolePolicyAttachment,
}))
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.GameLift.GameServerGroup("example", new()
{
AutoScalingPolicy = new Aws.GameLift.Inputs.GameServerGroupAutoScalingPolicyArgs
{
EstimatedInstanceWarmup = 60,
TargetTrackingConfiguration = new Aws.GameLift.Inputs.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs
{
TargetValue = 75,
},
},
BalancingStrategy = "SPOT_ONLY",
GameServerGroupName = "example",
GameServerProtectionPolicy = "FULL_PROTECTION",
InstanceDefinitions = new[]
{
new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs
{
InstanceType = "c5.large",
WeightedCapacity = "1",
},
new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs
{
InstanceType = "c5.2xlarge",
WeightedCapacity = "2",
},
},
LaunchTemplate = new Aws.GameLift.Inputs.GameServerGroupLaunchTemplateArgs
{
Id = exampleAwsLaunchTemplate.Id,
Version = "1",
},
MaxSize = 1,
MinSize = 1,
RoleArn = exampleAwsIamRole.Arn,
Tags =
{
{ "Name", "example" },
},
VpcSubnets = new[]
{
"subnet-12345678",
"subnet-23456789",
},
}, new CustomResourceOptions
{
DependsOn =
{
exampleAwsIamRolePolicyAttachment,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.gamelift.GameServerGroup;
import com.pulumi.aws.gamelift.GameServerGroupArgs;
import com.pulumi.aws.gamelift.inputs.GameServerGroupAutoScalingPolicyArgs;
import com.pulumi.aws.gamelift.inputs.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs;
import com.pulumi.aws.gamelift.inputs.GameServerGroupInstanceDefinitionArgs;
import com.pulumi.aws.gamelift.inputs.GameServerGroupLaunchTemplateArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new GameServerGroup("example", GameServerGroupArgs.builder()
.autoScalingPolicy(GameServerGroupAutoScalingPolicyArgs.builder()
.estimatedInstanceWarmup(60)
.targetTrackingConfiguration(GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs.builder()
.targetValue(75)
.build())
.build())
.balancingStrategy("SPOT_ONLY")
.gameServerGroupName("example")
.gameServerProtectionPolicy("FULL_PROTECTION")
.instanceDefinitions(
GameServerGroupInstanceDefinitionArgs.builder()
.instanceType("c5.large")
.weightedCapacity("1")
.build(),
GameServerGroupInstanceDefinitionArgs.builder()
.instanceType("c5.2xlarge")
.weightedCapacity("2")
.build())
.launchTemplate(GameServerGroupLaunchTemplateArgs.builder()
.id(exampleAwsLaunchTemplate.id())
.version("1")
.build())
.maxSize(1)
.minSize(1)
.roleArn(exampleAwsIamRole.arn())
.tags(Map.of("Name", "example"))
.vpcSubnets(
"subnet-12345678",
"subnet-23456789")
.build(), CustomResourceOptions.builder()
.dependsOn(exampleAwsIamRolePolicyAttachment)
.build());
}
}
resources:
example:
type: aws:gamelift:GameServerGroup
properties:
autoScalingPolicy:
estimatedInstanceWarmup: 60
targetTrackingConfiguration:
targetValue: 75
balancingStrategy: SPOT_ONLY
gameServerGroupName: example
gameServerProtectionPolicy: FULL_PROTECTION
instanceDefinitions:
- instanceType: c5.large
weightedCapacity: '1'
- instanceType: c5.2xlarge
weightedCapacity: '2'
launchTemplate:
id: ${exampleAwsLaunchTemplate.id}
version: '1'
maxSize: 1
minSize: 1
roleArn: ${exampleAwsIamRole.arn}
tags:
Name: example
vpcSubnets:
- subnet-12345678
- subnet-23456789
options:
dependson:
- ${exampleAwsIamRolePolicyAttachment}
Example IAM Role for GameLift Game Server Group
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const current = aws.getPartition({});
const assumeRole = aws.iam.getPolicyDocument({
statements: [{
effect: "Allow",
principals: [{
type: "Service",
identifiers: [
"autoscaling.amazonaws.com",
"gamelift.amazonaws.com",
],
}],
actions: ["sts:AssumeRole"],
}],
});
const example = new aws.iam.Role("example", {
assumeRolePolicy: assumeRole.then(assumeRole => assumeRole.json),
name: "gamelift-game-server-group-example",
});
const exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment("example", {
policyArn: current.then(current => `arn:${current.partition}:iam::aws:policy/GameLiftGameServerGroupPolicy`),
role: example.name,
});
import pulumi
import pulumi_aws as aws
current = aws.get_partition()
assume_role = aws.iam.get_policy_document(statements=[{
"effect": "Allow",
"principals": [{
"type": "Service",
"identifiers": [
"autoscaling.amazonaws.com",
"gamelift.amazonaws.com",
],
}],
"actions": ["sts:AssumeRole"],
}])
example = aws.iam.Role("example",
assume_role_policy=assume_role.json,
name="gamelift-game-server-group-example")
example_role_policy_attachment = aws.iam.RolePolicyAttachment("example",
policy_arn=f"arn:{current.partition}:iam::aws:policy/GameLiftGameServerGroupPolicy",
role=example.name)
package main
import (
"fmt"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
current, err := aws.GetPartition(ctx, nil, nil)
if err != nil {
return err
}
assumeRole, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
Statements: []iam.GetPolicyDocumentStatement{
{
Effect: pulumi.StringRef("Allow"),
Principals: []iam.GetPolicyDocumentStatementPrincipal{
{
Type: "Service",
Identifiers: []string{
"autoscaling.amazonaws.com",
"gamelift.amazonaws.com",
},
},
},
Actions: []string{
"sts:AssumeRole",
},
},
},
}, nil)
if err != nil {
return err
}
example, err := iam.NewRole(ctx, "example", &iam.RoleArgs{
AssumeRolePolicy: pulumi.String(assumeRole.Json),
Name: pulumi.String("gamelift-game-server-group-example"),
})
if err != nil {
return err
}
_, err = iam.NewRolePolicyAttachment(ctx, "example", &iam.RolePolicyAttachmentArgs{
PolicyArn: pulumi.Sprintf("arn:%v:iam::aws:policy/GameLiftGameServerGroupPolicy", current.Partition),
Role: example.Name,
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var current = Aws.GetPartition.Invoke();
var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()
{
Statements = new[]
{
new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs
{
Effect = "Allow",
Principals = new[]
{
new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs
{
Type = "Service",
Identifiers = new[]
{
"autoscaling.amazonaws.com",
"gamelift.amazonaws.com",
},
},
},
Actions = new[]
{
"sts:AssumeRole",
},
},
},
});
var example = new Aws.Iam.Role("example", new()
{
AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json),
Name = "gamelift-game-server-group-example",
});
var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment("example", new()
{
PolicyArn = $"arn:{current.Apply(getPartitionResult => getPartitionResult.Partition)}:iam::aws:policy/GameLiftGameServerGroupPolicy",
Role = example.Name,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.AwsFunctions;
import com.pulumi.aws.inputs.GetPartitionArgs;
import com.pulumi.aws.iam.IamFunctions;
import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
import com.pulumi.aws.iam.Role;
import com.pulumi.aws.iam.RoleArgs;
import com.pulumi.aws.iam.RolePolicyAttachment;
import com.pulumi.aws.iam.RolePolicyAttachmentArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var current = AwsFunctions.getPartition();
final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
.statements(GetPolicyDocumentStatementArgs.builder()
.effect("Allow")
.principals(GetPolicyDocumentStatementPrincipalArgs.builder()
.type("Service")
.identifiers(
"autoscaling.amazonaws.com",
"gamelift.amazonaws.com")
.build())
.actions("sts:AssumeRole")
.build())
.build());
var example = new Role("example", RoleArgs.builder()
.assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
.name("gamelift-game-server-group-example")
.build());
var exampleRolePolicyAttachment = new RolePolicyAttachment("exampleRolePolicyAttachment", RolePolicyAttachmentArgs.builder()
.policyArn(String.format("arn:%s:iam::aws:policy/GameLiftGameServerGroupPolicy", current.applyValue(getPartitionResult -> getPartitionResult.partition())))
.role(example.name())
.build());
}
}
resources:
example:
type: aws:iam:Role
properties:
assumeRolePolicy: ${assumeRole.json}
name: gamelift-game-server-group-example
exampleRolePolicyAttachment:
type: aws:iam:RolePolicyAttachment
name: example
properties:
policyArn: arn:${current.partition}:iam::aws:policy/GameLiftGameServerGroupPolicy
role: ${example.name}
variables:
current:
fn::invoke:
Function: aws:getPartition
Arguments: {}
assumeRole:
fn::invoke:
Function: aws:iam:getPolicyDocument
Arguments:
statements:
- effect: Allow
principals:
- type: Service
identifiers:
- autoscaling.amazonaws.com
- gamelift.amazonaws.com
actions:
- sts:AssumeRole
Create GameServerGroup Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new GameServerGroup(name: string, args: GameServerGroupArgs, opts?: CustomResourceOptions);
@overload
def GameServerGroup(resource_name: str,
args: GameServerGroupArgs,
opts: Optional[ResourceOptions] = None)
@overload
def GameServerGroup(resource_name: str,
opts: Optional[ResourceOptions] = None,
game_server_group_name: Optional[str] = None,
instance_definitions: Optional[Sequence[GameServerGroupInstanceDefinitionArgs]] = None,
launch_template: Optional[GameServerGroupLaunchTemplateArgs] = None,
max_size: Optional[int] = None,
min_size: Optional[int] = None,
role_arn: Optional[str] = None,
auto_scaling_policy: Optional[GameServerGroupAutoScalingPolicyArgs] = None,
balancing_strategy: Optional[str] = None,
game_server_protection_policy: Optional[str] = None,
tags: Optional[Mapping[str, str]] = None,
vpc_subnets: Optional[Sequence[str]] = None)
func NewGameServerGroup(ctx *Context, name string, args GameServerGroupArgs, opts ...ResourceOption) (*GameServerGroup, error)
public GameServerGroup(string name, GameServerGroupArgs args, CustomResourceOptions? opts = null)
public GameServerGroup(String name, GameServerGroupArgs args)
public GameServerGroup(String name, GameServerGroupArgs args, CustomResourceOptions options)
type: aws:gamelift:GameServerGroup
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args GameServerGroupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args GameServerGroupArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args GameServerGroupArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args GameServerGroupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args GameServerGroupArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var gameServerGroupResource = new Aws.GameLift.GameServerGroup("gameServerGroupResource", new()
{
GameServerGroupName = "string",
InstanceDefinitions = new[]
{
new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs
{
InstanceType = "string",
WeightedCapacity = "string",
},
},
LaunchTemplate = new Aws.GameLift.Inputs.GameServerGroupLaunchTemplateArgs
{
Id = "string",
Name = "string",
Version = "string",
},
MaxSize = 0,
MinSize = 0,
RoleArn = "string",
AutoScalingPolicy = new Aws.GameLift.Inputs.GameServerGroupAutoScalingPolicyArgs
{
TargetTrackingConfiguration = new Aws.GameLift.Inputs.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs
{
TargetValue = 0,
},
EstimatedInstanceWarmup = 0,
},
BalancingStrategy = "string",
GameServerProtectionPolicy = "string",
Tags =
{
{ "string", "string" },
},
VpcSubnets = new[]
{
"string",
},
});
example, err := gamelift.NewGameServerGroup(ctx, "gameServerGroupResource", &gamelift.GameServerGroupArgs{
GameServerGroupName: pulumi.String("string"),
InstanceDefinitions: gamelift.GameServerGroupInstanceDefinitionArray{
&gamelift.GameServerGroupInstanceDefinitionArgs{
InstanceType: pulumi.String("string"),
WeightedCapacity: pulumi.String("string"),
},
},
LaunchTemplate: &gamelift.GameServerGroupLaunchTemplateArgs{
Id: pulumi.String("string"),
Name: pulumi.String("string"),
Version: pulumi.String("string"),
},
MaxSize: pulumi.Int(0),
MinSize: pulumi.Int(0),
RoleArn: pulumi.String("string"),
AutoScalingPolicy: &gamelift.GameServerGroupAutoScalingPolicyArgs{
TargetTrackingConfiguration: &gamelift.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs{
TargetValue: pulumi.Float64(0),
},
EstimatedInstanceWarmup: pulumi.Int(0),
},
BalancingStrategy: pulumi.String("string"),
GameServerProtectionPolicy: pulumi.String("string"),
Tags: pulumi.StringMap{
"string": pulumi.String("string"),
},
VpcSubnets: pulumi.StringArray{
pulumi.String("string"),
},
})
var gameServerGroupResource = new GameServerGroup("gameServerGroupResource", GameServerGroupArgs.builder()
.gameServerGroupName("string")
.instanceDefinitions(GameServerGroupInstanceDefinitionArgs.builder()
.instanceType("string")
.weightedCapacity("string")
.build())
.launchTemplate(GameServerGroupLaunchTemplateArgs.builder()
.id("string")
.name("string")
.version("string")
.build())
.maxSize(0)
.minSize(0)
.roleArn("string")
.autoScalingPolicy(GameServerGroupAutoScalingPolicyArgs.builder()
.targetTrackingConfiguration(GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs.builder()
.targetValue(0)
.build())
.estimatedInstanceWarmup(0)
.build())
.balancingStrategy("string")
.gameServerProtectionPolicy("string")
.tags(Map.of("string", "string"))
.vpcSubnets("string")
.build());
game_server_group_resource = aws.gamelift.GameServerGroup("gameServerGroupResource",
game_server_group_name="string",
instance_definitions=[{
"instanceType": "string",
"weightedCapacity": "string",
}],
launch_template={
"id": "string",
"name": "string",
"version": "string",
},
max_size=0,
min_size=0,
role_arn="string",
auto_scaling_policy={
"targetTrackingConfiguration": {
"targetValue": 0,
},
"estimatedInstanceWarmup": 0,
},
balancing_strategy="string",
game_server_protection_policy="string",
tags={
"string": "string",
},
vpc_subnets=["string"])
const gameServerGroupResource = new aws.gamelift.GameServerGroup("gameServerGroupResource", {
gameServerGroupName: "string",
instanceDefinitions: [{
instanceType: "string",
weightedCapacity: "string",
}],
launchTemplate: {
id: "string",
name: "string",
version: "string",
},
maxSize: 0,
minSize: 0,
roleArn: "string",
autoScalingPolicy: {
targetTrackingConfiguration: {
targetValue: 0,
},
estimatedInstanceWarmup: 0,
},
balancingStrategy: "string",
gameServerProtectionPolicy: "string",
tags: {
string: "string",
},
vpcSubnets: ["string"],
});
type: aws:gamelift:GameServerGroup
properties:
autoScalingPolicy:
estimatedInstanceWarmup: 0
targetTrackingConfiguration:
targetValue: 0
balancingStrategy: string
gameServerGroupName: string
gameServerProtectionPolicy: string
instanceDefinitions:
- instanceType: string
weightedCapacity: string
launchTemplate:
id: string
name: string
version: string
maxSize: 0
minSize: 0
roleArn: string
tags:
string: string
vpcSubnets:
- string
GameServerGroup Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The GameServerGroup resource accepts the following input properties:
- Game
Server stringGroup Name - Name of the game server group. This value is used to generate unique ARN identifiers for the EC2 Auto Scaling group and the GameLift FleetIQ game server group.
- Instance
Definitions List<GameServer Group Instance Definition> - Launch
Template GameServer Group Launch Template - Max
Size int - The maximum number of instances allowed in the EC2 Auto Scaling group. During automatic scaling events, GameLift FleetIQ and EC2 do not scale up the group above this maximum.
- Min
Size int - The minimum number of instances allowed in the EC2 Auto Scaling group. During automatic scaling events, GameLift FleetIQ and EC2 do not scale down the group below this minimum.
- Role
Arn string - ARN for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups.
- Auto
Scaling GamePolicy Server Group Auto Scaling Policy - Balancing
Strategy string - Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances.
Valid values:
SPOT_ONLY
,SPOT_PREFERRED
,ON_DEMAND_ONLY
. Defaults toSPOT_PREFERRED
. - Game
Server stringProtection Policy - Indicates whether instances in the game server group are protected from early termination.
Unprotected instances that have active game servers running might be terminated during a scale-down event,
causing players to be dropped from the game.
Protected instances cannot be terminated while there are active game servers running except in the event
of a forced game server group deletion.
Valid values:
NO_PROTECTION
,FULL_PROTECTION
. Defaults toNO_PROTECTION
. - Dictionary<string, string>
- Key-value map of resource tags
- Vpc
Subnets List<string> - A list of VPC subnets to use with instances in the game server group. By default, all GameLift FleetIQ-supported Availability Zones are used.
- Game
Server stringGroup Name - Name of the game server group. This value is used to generate unique ARN identifiers for the EC2 Auto Scaling group and the GameLift FleetIQ game server group.
- Instance
Definitions []GameServer Group Instance Definition Args - Launch
Template GameServer Group Launch Template Args - Max
Size int - The maximum number of instances allowed in the EC2 Auto Scaling group. During automatic scaling events, GameLift FleetIQ and EC2 do not scale up the group above this maximum.
- Min
Size int - The minimum number of instances allowed in the EC2 Auto Scaling group. During automatic scaling events, GameLift FleetIQ and EC2 do not scale down the group below this minimum.
- Role
Arn string - ARN for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups.
- Auto
Scaling GamePolicy Server Group Auto Scaling Policy Args - Balancing
Strategy string - Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances.
Valid values:
SPOT_ONLY
,SPOT_PREFERRED
,ON_DEMAND_ONLY
. Defaults toSPOT_PREFERRED
. - Game
Server stringProtection Policy - Indicates whether instances in the game server group are protected from early termination.
Unprotected instances that have active game servers running might be terminated during a scale-down event,
causing players to be dropped from the game.
Protected instances cannot be terminated while there are active game servers running except in the event
of a forced game server group deletion.
Valid values:
NO_PROTECTION
,FULL_PROTECTION
. Defaults toNO_PROTECTION
. - map[string]string
- Key-value map of resource tags
- Vpc
Subnets []string - A list of VPC subnets to use with instances in the game server group. By default, all GameLift FleetIQ-supported Availability Zones are used.
- game
Server StringGroup Name - Name of the game server group. This value is used to generate unique ARN identifiers for the EC2 Auto Scaling group and the GameLift FleetIQ game server group.
- instance
Definitions List<GameServer Group Instance Definition> - launch
Template GameServer Group Launch Template - max
Size Integer - The maximum number of instances allowed in the EC2 Auto Scaling group. During automatic scaling events, GameLift FleetIQ and EC2 do not scale up the group above this maximum.
- min
Size Integer - The minimum number of instances allowed in the EC2 Auto Scaling group. During automatic scaling events, GameLift FleetIQ and EC2 do not scale down the group below this minimum.
- role
Arn String - ARN for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups.
- auto
Scaling GamePolicy Server Group Auto Scaling Policy - balancing
Strategy String - Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances.
Valid values:
SPOT_ONLY
,SPOT_PREFERRED
,ON_DEMAND_ONLY
. Defaults toSPOT_PREFERRED
. - game
Server StringProtection Policy - Indicates whether instances in the game server group are protected from early termination.
Unprotected instances that have active game servers running might be terminated during a scale-down event,
causing players to be dropped from the game.
Protected instances cannot be terminated while there are active game servers running except in the event
of a forced game server group deletion.
Valid values:
NO_PROTECTION
,FULL_PROTECTION
. Defaults toNO_PROTECTION
. - Map<String,String>
- Key-value map of resource tags
- vpc
Subnets List<String> - A list of VPC subnets to use with instances in the game server group. By default, all GameLift FleetIQ-supported Availability Zones are used.
- game
Server stringGroup Name - Name of the game server group. This value is used to generate unique ARN identifiers for the EC2 Auto Scaling group and the GameLift FleetIQ game server group.
- instance
Definitions GameServer Group Instance Definition[] - launch
Template GameServer Group Launch Template - max
Size number - The maximum number of instances allowed in the EC2 Auto Scaling group. During automatic scaling events, GameLift FleetIQ and EC2 do not scale up the group above this maximum.
- min
Size number - The minimum number of instances allowed in the EC2 Auto Scaling group. During automatic scaling events, GameLift FleetIQ and EC2 do not scale down the group below this minimum.
- role
Arn string - ARN for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups.
- auto
Scaling GamePolicy Server Group Auto Scaling Policy - balancing
Strategy string - Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances.
Valid values:
SPOT_ONLY
,SPOT_PREFERRED
,ON_DEMAND_ONLY
. Defaults toSPOT_PREFERRED
. - game
Server stringProtection Policy - Indicates whether instances in the game server group are protected from early termination.
Unprotected instances that have active game servers running might be terminated during a scale-down event,
causing players to be dropped from the game.
Protected instances cannot be terminated while there are active game servers running except in the event
of a forced game server group deletion.
Valid values:
NO_PROTECTION
,FULL_PROTECTION
. Defaults toNO_PROTECTION
. - {[key: string]: string}
- Key-value map of resource tags
- vpc
Subnets string[] - A list of VPC subnets to use with instances in the game server group. By default, all GameLift FleetIQ-supported Availability Zones are used.
- game_
server_ strgroup_ name - Name of the game server group. This value is used to generate unique ARN identifiers for the EC2 Auto Scaling group and the GameLift FleetIQ game server group.
- instance_
definitions Sequence[GameServer Group Instance Definition Args] - launch_
template GameServer Group Launch Template Args - max_
size int - The maximum number of instances allowed in the EC2 Auto Scaling group. During automatic scaling events, GameLift FleetIQ and EC2 do not scale up the group above this maximum.
- min_
size int - The minimum number of instances allowed in the EC2 Auto Scaling group. During automatic scaling events, GameLift FleetIQ and EC2 do not scale down the group below this minimum.
- role_
arn str - ARN for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups.
- auto_
scaling_ Gamepolicy Server Group Auto Scaling Policy Args - balancing_
strategy str - Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances.
Valid values:
SPOT_ONLY
,SPOT_PREFERRED
,ON_DEMAND_ONLY
. Defaults toSPOT_PREFERRED
. - game_
server_ strprotection_ policy - Indicates whether instances in the game server group are protected from early termination.
Unprotected instances that have active game servers running might be terminated during a scale-down event,
causing players to be dropped from the game.
Protected instances cannot be terminated while there are active game servers running except in the event
of a forced game server group deletion.
Valid values:
NO_PROTECTION
,FULL_PROTECTION
. Defaults toNO_PROTECTION
. - Mapping[str, str]
- Key-value map of resource tags
- vpc_
subnets Sequence[str] - A list of VPC subnets to use with instances in the game server group. By default, all GameLift FleetIQ-supported Availability Zones are used.
- game
Server StringGroup Name - Name of the game server group. This value is used to generate unique ARN identifiers for the EC2 Auto Scaling group and the GameLift FleetIQ game server group.
- instance
Definitions List<Property Map> - launch
Template Property Map - max
Size Number - The maximum number of instances allowed in the EC2 Auto Scaling group. During automatic scaling events, GameLift FleetIQ and EC2 do not scale up the group above this maximum.
- min
Size Number - The minimum number of instances allowed in the EC2 Auto Scaling group. During automatic scaling events, GameLift FleetIQ and EC2 do not scale down the group below this minimum.
- role
Arn String - ARN for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups.
- auto
Scaling Property MapPolicy - balancing
Strategy String - Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances.
Valid values:
SPOT_ONLY
,SPOT_PREFERRED
,ON_DEMAND_ONLY
. Defaults toSPOT_PREFERRED
. - game
Server StringProtection Policy - Indicates whether instances in the game server group are protected from early termination.
Unprotected instances that have active game servers running might be terminated during a scale-down event,
causing players to be dropped from the game.
Protected instances cannot be terminated while there are active game servers running except in the event
of a forced game server group deletion.
Valid values:
NO_PROTECTION
,FULL_PROTECTION
. Defaults toNO_PROTECTION
. - Map<String>
- Key-value map of resource tags
- vpc
Subnets List<String> - A list of VPC subnets to use with instances in the game server group. By default, all GameLift FleetIQ-supported Availability Zones are used.
Outputs
All input properties are implicitly available as output properties. Additionally, the GameServerGroup resource produces the following output properties:
- Arn string
- The ARN of the GameLift Game Server Group.
- Auto
Scaling stringGroup Arn - The ARN of the created EC2 Auto Scaling group.
- Id string
- The provider-assigned unique ID for this managed resource.
- Dictionary<string, string>
- Arn string
- The ARN of the GameLift Game Server Group.
- Auto
Scaling stringGroup Arn - The ARN of the created EC2 Auto Scaling group.
- Id string
- The provider-assigned unique ID for this managed resource.
- map[string]string
- arn String
- The ARN of the GameLift Game Server Group.
- auto
Scaling StringGroup Arn - The ARN of the created EC2 Auto Scaling group.
- id String
- The provider-assigned unique ID for this managed resource.
- Map<String,String>
- arn string
- The ARN of the GameLift Game Server Group.
- auto
Scaling stringGroup Arn - The ARN of the created EC2 Auto Scaling group.
- id string
- The provider-assigned unique ID for this managed resource.
- {[key: string]: string}
- arn str
- The ARN of the GameLift Game Server Group.
- auto_
scaling_ strgroup_ arn - The ARN of the created EC2 Auto Scaling group.
- id str
- The provider-assigned unique ID for this managed resource.
- Mapping[str, str]
- arn String
- The ARN of the GameLift Game Server Group.
- auto
Scaling StringGroup Arn - The ARN of the created EC2 Auto Scaling group.
- id String
- The provider-assigned unique ID for this managed resource.
- Map<String>
Look up Existing GameServerGroup Resource
Get an existing GameServerGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: GameServerGroupState, opts?: CustomResourceOptions): GameServerGroup
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
arn: Optional[str] = None,
auto_scaling_group_arn: Optional[str] = None,
auto_scaling_policy: Optional[GameServerGroupAutoScalingPolicyArgs] = None,
balancing_strategy: Optional[str] = None,
game_server_group_name: Optional[str] = None,
game_server_protection_policy: Optional[str] = None,
instance_definitions: Optional[Sequence[GameServerGroupInstanceDefinitionArgs]] = None,
launch_template: Optional[GameServerGroupLaunchTemplateArgs] = None,
max_size: Optional[int] = None,
min_size: Optional[int] = None,
role_arn: Optional[str] = None,
tags: Optional[Mapping[str, str]] = None,
tags_all: Optional[Mapping[str, str]] = None,
vpc_subnets: Optional[Sequence[str]] = None) -> GameServerGroup
func GetGameServerGroup(ctx *Context, name string, id IDInput, state *GameServerGroupState, opts ...ResourceOption) (*GameServerGroup, error)
public static GameServerGroup Get(string name, Input<string> id, GameServerGroupState? state, CustomResourceOptions? opts = null)
public static GameServerGroup get(String name, Output<String> id, GameServerGroupState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Arn string
- The ARN of the GameLift Game Server Group.
- Auto
Scaling stringGroup Arn - The ARN of the created EC2 Auto Scaling group.
- Auto
Scaling GamePolicy Server Group Auto Scaling Policy - Balancing
Strategy string - Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances.
Valid values:
SPOT_ONLY
,SPOT_PREFERRED
,ON_DEMAND_ONLY
. Defaults toSPOT_PREFERRED
. - Game
Server stringGroup Name - Name of the game server group. This value is used to generate unique ARN identifiers for the EC2 Auto Scaling group and the GameLift FleetIQ game server group.
- Game
Server stringProtection Policy - Indicates whether instances in the game server group are protected from early termination.
Unprotected instances that have active game servers running might be terminated during a scale-down event,
causing players to be dropped from the game.
Protected instances cannot be terminated while there are active game servers running except in the event
of a forced game server group deletion.
Valid values:
NO_PROTECTION
,FULL_PROTECTION
. Defaults toNO_PROTECTION
. - Instance
Definitions List<GameServer Group Instance Definition> - Launch
Template GameServer Group Launch Template - Max
Size int - The maximum number of instances allowed in the EC2 Auto Scaling group. During automatic scaling events, GameLift FleetIQ and EC2 do not scale up the group above this maximum.
- Min
Size int - The minimum number of instances allowed in the EC2 Auto Scaling group. During automatic scaling events, GameLift FleetIQ and EC2 do not scale down the group below this minimum.
- Role
Arn string - ARN for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups.
- Dictionary<string, string>
- Key-value map of resource tags
- Dictionary<string, string>
- Vpc
Subnets List<string> - A list of VPC subnets to use with instances in the game server group. By default, all GameLift FleetIQ-supported Availability Zones are used.
- Arn string
- The ARN of the GameLift Game Server Group.
- Auto
Scaling stringGroup Arn - The ARN of the created EC2 Auto Scaling group.
- Auto
Scaling GamePolicy Server Group Auto Scaling Policy Args - Balancing
Strategy string - Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances.
Valid values:
SPOT_ONLY
,SPOT_PREFERRED
,ON_DEMAND_ONLY
. Defaults toSPOT_PREFERRED
. - Game
Server stringGroup Name - Name of the game server group. This value is used to generate unique ARN identifiers for the EC2 Auto Scaling group and the GameLift FleetIQ game server group.
- Game
Server stringProtection Policy - Indicates whether instances in the game server group are protected from early termination.
Unprotected instances that have active game servers running might be terminated during a scale-down event,
causing players to be dropped from the game.
Protected instances cannot be terminated while there are active game servers running except in the event
of a forced game server group deletion.
Valid values:
NO_PROTECTION
,FULL_PROTECTION
. Defaults toNO_PROTECTION
. - Instance
Definitions []GameServer Group Instance Definition Args - Launch
Template GameServer Group Launch Template Args - Max
Size int - The maximum number of instances allowed in the EC2 Auto Scaling group. During automatic scaling events, GameLift FleetIQ and EC2 do not scale up the group above this maximum.
- Min
Size int - The minimum number of instances allowed in the EC2 Auto Scaling group. During automatic scaling events, GameLift FleetIQ and EC2 do not scale down the group below this minimum.
- Role
Arn string - ARN for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups.
- map[string]string
- Key-value map of resource tags
- map[string]string
- Vpc
Subnets []string - A list of VPC subnets to use with instances in the game server group. By default, all GameLift FleetIQ-supported Availability Zones are used.
- arn String
- The ARN of the GameLift Game Server Group.
- auto
Scaling StringGroup Arn - The ARN of the created EC2 Auto Scaling group.
- auto
Scaling GamePolicy Server Group Auto Scaling Policy - balancing
Strategy String - Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances.
Valid values:
SPOT_ONLY
,SPOT_PREFERRED
,ON_DEMAND_ONLY
. Defaults toSPOT_PREFERRED
. - game
Server StringGroup Name - Name of the game server group. This value is used to generate unique ARN identifiers for the EC2 Auto Scaling group and the GameLift FleetIQ game server group.
- game
Server StringProtection Policy - Indicates whether instances in the game server group are protected from early termination.
Unprotected instances that have active game servers running might be terminated during a scale-down event,
causing players to be dropped from the game.
Protected instances cannot be terminated while there are active game servers running except in the event
of a forced game server group deletion.
Valid values:
NO_PROTECTION
,FULL_PROTECTION
. Defaults toNO_PROTECTION
. - instance
Definitions List<GameServer Group Instance Definition> - launch
Template GameServer Group Launch Template - max
Size Integer - The maximum number of instances allowed in the EC2 Auto Scaling group. During automatic scaling events, GameLift FleetIQ and EC2 do not scale up the group above this maximum.
- min
Size Integer - The minimum number of instances allowed in the EC2 Auto Scaling group. During automatic scaling events, GameLift FleetIQ and EC2 do not scale down the group below this minimum.
- role
Arn String - ARN for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups.
- Map<String,String>
- Key-value map of resource tags
- Map<String,String>
- vpc
Subnets List<String> - A list of VPC subnets to use with instances in the game server group. By default, all GameLift FleetIQ-supported Availability Zones are used.
- arn string
- The ARN of the GameLift Game Server Group.
- auto
Scaling stringGroup Arn - The ARN of the created EC2 Auto Scaling group.
- auto
Scaling GamePolicy Server Group Auto Scaling Policy - balancing
Strategy string - Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances.
Valid values:
SPOT_ONLY
,SPOT_PREFERRED
,ON_DEMAND_ONLY
. Defaults toSPOT_PREFERRED
. - game
Server stringGroup Name - Name of the game server group. This value is used to generate unique ARN identifiers for the EC2 Auto Scaling group and the GameLift FleetIQ game server group.
- game
Server stringProtection Policy - Indicates whether instances in the game server group are protected from early termination.
Unprotected instances that have active game servers running might be terminated during a scale-down event,
causing players to be dropped from the game.
Protected instances cannot be terminated while there are active game servers running except in the event
of a forced game server group deletion.
Valid values:
NO_PROTECTION
,FULL_PROTECTION
. Defaults toNO_PROTECTION
. - instance
Definitions GameServer Group Instance Definition[] - launch
Template GameServer Group Launch Template - max
Size number - The maximum number of instances allowed in the EC2 Auto Scaling group. During automatic scaling events, GameLift FleetIQ and EC2 do not scale up the group above this maximum.
- min
Size number - The minimum number of instances allowed in the EC2 Auto Scaling group. During automatic scaling events, GameLift FleetIQ and EC2 do not scale down the group below this minimum.
- role
Arn string - ARN for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups.
- {[key: string]: string}
- Key-value map of resource tags
- {[key: string]: string}
- vpc
Subnets string[] - A list of VPC subnets to use with instances in the game server group. By default, all GameLift FleetIQ-supported Availability Zones are used.
- arn str
- The ARN of the GameLift Game Server Group.
- auto_
scaling_ strgroup_ arn - The ARN of the created EC2 Auto Scaling group.
- auto_
scaling_ Gamepolicy Server Group Auto Scaling Policy Args - balancing_
strategy str - Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances.
Valid values:
SPOT_ONLY
,SPOT_PREFERRED
,ON_DEMAND_ONLY
. Defaults toSPOT_PREFERRED
. - game_
server_ strgroup_ name - Name of the game server group. This value is used to generate unique ARN identifiers for the EC2 Auto Scaling group and the GameLift FleetIQ game server group.
- game_
server_ strprotection_ policy - Indicates whether instances in the game server group are protected from early termination.
Unprotected instances that have active game servers running might be terminated during a scale-down event,
causing players to be dropped from the game.
Protected instances cannot be terminated while there are active game servers running except in the event
of a forced game server group deletion.
Valid values:
NO_PROTECTION
,FULL_PROTECTION
. Defaults toNO_PROTECTION
. - instance_
definitions Sequence[GameServer Group Instance Definition Args] - launch_
template GameServer Group Launch Template Args - max_
size int - The maximum number of instances allowed in the EC2 Auto Scaling group. During automatic scaling events, GameLift FleetIQ and EC2 do not scale up the group above this maximum.
- min_
size int - The minimum number of instances allowed in the EC2 Auto Scaling group. During automatic scaling events, GameLift FleetIQ and EC2 do not scale down the group below this minimum.
- role_
arn str - ARN for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups.
- Mapping[str, str]
- Key-value map of resource tags
- Mapping[str, str]
- vpc_
subnets Sequence[str] - A list of VPC subnets to use with instances in the game server group. By default, all GameLift FleetIQ-supported Availability Zones are used.
- arn String
- The ARN of the GameLift Game Server Group.
- auto
Scaling StringGroup Arn - The ARN of the created EC2 Auto Scaling group.
- auto
Scaling Property MapPolicy - balancing
Strategy String - Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances.
Valid values:
SPOT_ONLY
,SPOT_PREFERRED
,ON_DEMAND_ONLY
. Defaults toSPOT_PREFERRED
. - game
Server StringGroup Name - Name of the game server group. This value is used to generate unique ARN identifiers for the EC2 Auto Scaling group and the GameLift FleetIQ game server group.
- game
Server StringProtection Policy - Indicates whether instances in the game server group are protected from early termination.
Unprotected instances that have active game servers running might be terminated during a scale-down event,
causing players to be dropped from the game.
Protected instances cannot be terminated while there are active game servers running except in the event
of a forced game server group deletion.
Valid values:
NO_PROTECTION
,FULL_PROTECTION
. Defaults toNO_PROTECTION
. - instance
Definitions List<Property Map> - launch
Template Property Map - max
Size Number - The maximum number of instances allowed in the EC2 Auto Scaling group. During automatic scaling events, GameLift FleetIQ and EC2 do not scale up the group above this maximum.
- min
Size Number - The minimum number of instances allowed in the EC2 Auto Scaling group. During automatic scaling events, GameLift FleetIQ and EC2 do not scale down the group below this minimum.
- role
Arn String - ARN for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups.
- Map<String>
- Key-value map of resource tags
- Map<String>
- vpc
Subnets List<String> - A list of VPC subnets to use with instances in the game server group. By default, all GameLift FleetIQ-supported Availability Zones are used.
Supporting Types
GameServerGroupAutoScalingPolicy, GameServerGroupAutoScalingPolicyArgs
- Target
Tracking GameConfiguration Server Group Auto Scaling Policy Target Tracking Configuration - Estimated
Instance intWarmup - Length of time, in seconds, it takes for a new instance to start
new game server processes and register with GameLift FleetIQ.
Specifying a warm-up time can be useful, particularly with game servers that take a long time to start up,
because it avoids prematurely starting new instances. Defaults to
60
.
- Target
Tracking GameConfiguration Server Group Auto Scaling Policy Target Tracking Configuration - Estimated
Instance intWarmup - Length of time, in seconds, it takes for a new instance to start
new game server processes and register with GameLift FleetIQ.
Specifying a warm-up time can be useful, particularly with game servers that take a long time to start up,
because it avoids prematurely starting new instances. Defaults to
60
.
- target
Tracking GameConfiguration Server Group Auto Scaling Policy Target Tracking Configuration - estimated
Instance IntegerWarmup - Length of time, in seconds, it takes for a new instance to start
new game server processes and register with GameLift FleetIQ.
Specifying a warm-up time can be useful, particularly with game servers that take a long time to start up,
because it avoids prematurely starting new instances. Defaults to
60
.
- target
Tracking GameConfiguration Server Group Auto Scaling Policy Target Tracking Configuration - estimated
Instance numberWarmup - Length of time, in seconds, it takes for a new instance to start
new game server processes and register with GameLift FleetIQ.
Specifying a warm-up time can be useful, particularly with game servers that take a long time to start up,
because it avoids prematurely starting new instances. Defaults to
60
.
- target_
tracking_ Gameconfiguration Server Group Auto Scaling Policy Target Tracking Configuration - estimated_
instance_ intwarmup - Length of time, in seconds, it takes for a new instance to start
new game server processes and register with GameLift FleetIQ.
Specifying a warm-up time can be useful, particularly with game servers that take a long time to start up,
because it avoids prematurely starting new instances. Defaults to
60
.
- target
Tracking Property MapConfiguration - estimated
Instance NumberWarmup - Length of time, in seconds, it takes for a new instance to start
new game server processes and register with GameLift FleetIQ.
Specifying a warm-up time can be useful, particularly with game servers that take a long time to start up,
because it avoids prematurely starting new instances. Defaults to
60
.
GameServerGroupAutoScalingPolicyTargetTrackingConfiguration, GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs
- Target
Value double - Desired value to use with a game server group target-based scaling policy.
- Target
Value float64 - Desired value to use with a game server group target-based scaling policy.
- target
Value Double - Desired value to use with a game server group target-based scaling policy.
- target
Value number - Desired value to use with a game server group target-based scaling policy.
- target_
value float - Desired value to use with a game server group target-based scaling policy.
- target
Value Number - Desired value to use with a game server group target-based scaling policy.
GameServerGroupInstanceDefinition, GameServerGroupInstanceDefinitionArgs
- Instance
Type string - An EC2 instance type.
- Weighted
Capacity string - Instance weighting that indicates how much this instance type contributes to the total capacity of a game server group. Instance weights are used by GameLift FleetIQ to calculate the instance type's cost per unit hour and better identify the most cost-effective options.
- Instance
Type string - An EC2 instance type.
- Weighted
Capacity string - Instance weighting that indicates how much this instance type contributes to the total capacity of a game server group. Instance weights are used by GameLift FleetIQ to calculate the instance type's cost per unit hour and better identify the most cost-effective options.
- instance
Type String - An EC2 instance type.
- weighted
Capacity String - Instance weighting that indicates how much this instance type contributes to the total capacity of a game server group. Instance weights are used by GameLift FleetIQ to calculate the instance type's cost per unit hour and better identify the most cost-effective options.
- instance
Type string - An EC2 instance type.
- weighted
Capacity string - Instance weighting that indicates how much this instance type contributes to the total capacity of a game server group. Instance weights are used by GameLift FleetIQ to calculate the instance type's cost per unit hour and better identify the most cost-effective options.
- instance_
type str - An EC2 instance type.
- weighted_
capacity str - Instance weighting that indicates how much this instance type contributes to the total capacity of a game server group. Instance weights are used by GameLift FleetIQ to calculate the instance type's cost per unit hour and better identify the most cost-effective options.
- instance
Type String - An EC2 instance type.
- weighted
Capacity String - Instance weighting that indicates how much this instance type contributes to the total capacity of a game server group. Instance weights are used by GameLift FleetIQ to calculate the instance type's cost per unit hour and better identify the most cost-effective options.
GameServerGroupLaunchTemplate, GameServerGroupLaunchTemplateArgs
Import
Using pulumi import
, import GameLift Game Server Group using the name
. For example:
$ pulumi import aws:gamelift/gameServerGroup:GameServerGroup example example
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- AWS Classic pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
aws
Terraform Provider.