GameServerGroup

Provides an GameLift Game Server Group resource.

Example Usage

using System.Collections.Generic;
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 = aws_launch_template.Example.Id,
        },
        MaxSize = 1,
        MinSize = 1,
        RoleArn = aws_iam_role.Example.Arn,
    }, new CustomResourceOptions
    {
        DependsOn = new[]
        {
            aws_iam_role_policy_attachment.Example,
        },
    });

});
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v5/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(aws_launch_template.Example.Id),
			},
			MaxSize: pulumi.Int(1),
			MinSize: pulumi.Int(1),
			RoleArn: pulumi.Any(aws_iam_role.Example.Arn),
		}, pulumi.DependsOn([]pulumi.Resource{
			aws_iam_role_policy_attachment.Example,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}
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(aws_launch_template.example().id())
                .build())
            .maxSize(1)
            .minSize(1)
            .roleArn(aws_iam_role.example().arn())
            .build(), CustomResourceOptions.builder()
                .dependsOn(aws_iam_role_policy_attachment.example())
                .build());

    }
}
import pulumi
import pulumi_aws as aws

example = aws.gamelift.GameServerGroup("example",
    game_server_group_name="example",
    instance_definitions=[
        aws.gamelift.GameServerGroupInstanceDefinitionArgs(
            instance_type="c5.large",
        ),
        aws.gamelift.GameServerGroupInstanceDefinitionArgs(
            instance_type="c5a.large",
        ),
    ],
    launch_template=aws.gamelift.GameServerGroupLaunchTemplateArgs(
        id=aws_launch_template["example"]["id"],
    ),
    max_size=1,
    min_size=1,
    role_arn=aws_iam_role["example"]["arn"],
    opts=pulumi.ResourceOptions(depends_on=[aws_iam_role_policy_attachment["example"]]))
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: aws_launch_template.example.id,
    },
    maxSize: 1,
    minSize: 1,
    roleArn: aws_iam_role.example.arn,
}, {
    dependsOn: [aws_iam_role_policy_attachment.example],
});
resources:
  example:
    type: aws:gamelift:GameServerGroup
    properties:
      gameServerGroupName: example
      instanceDefinitions:
        - instanceType: c5.large
        - instanceType: c5a.large
      launchTemplate:
        id: ${aws_launch_template.example.id}
      maxSize: 1
      minSize: 1
      roleArn: ${aws_iam_role.example.arn}
    options:
      dependson:
        - ${aws_iam_role_policy_attachment.example}

Full usage

using System.Collections.Generic;
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 = aws_launch_template.Example.Id,
            Version = "1",
        },
        MaxSize = 1,
        MinSize = 1,
        RoleArn = aws_iam_role.Example.Arn,
        Tags = 
        {
            { "Name", "example" },
        },
        VpcSubnets = new[]
        {
            "subnet-12345678",
            "subnet-23456789",
        },
    }, new CustomResourceOptions
    {
        DependsOn = new[]
        {
            aws_iam_role_policy_attachment.Example,
        },
    });

});
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v5/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(aws_launch_template.Example.Id),
				Version: pulumi.String("1"),
			},
			MaxSize: pulumi.Int(1),
			MinSize: pulumi.Int(1),
			RoleArn: pulumi.Any(aws_iam_role.Example.Arn),
			Tags: pulumi.StringMap{
				"Name": pulumi.String("example"),
			},
			VpcSubnets: pulumi.StringArray{
				pulumi.String("subnet-12345678"),
				pulumi.String("subnet-23456789"),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			aws_iam_role_policy_attachment.Example,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}
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(aws_launch_template.example().id())
                .version("1")
                .build())
            .maxSize(1)
            .minSize(1)
            .roleArn(aws_iam_role.example().arn())
            .tags(Map.of("Name", "example"))
            .vpcSubnets(            
                "subnet-12345678",
                "subnet-23456789")
            .build(), CustomResourceOptions.builder()
                .dependsOn(aws_iam_role_policy_attachment.example())
                .build());

    }
}
import pulumi
import pulumi_aws as aws

example = aws.gamelift.GameServerGroup("example",
    auto_scaling_policy=aws.gamelift.GameServerGroupAutoScalingPolicyArgs(
        estimated_instance_warmup=60,
        target_tracking_configuration=aws.gamelift.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs(
            target_value=75,
        ),
    ),
    balancing_strategy="SPOT_ONLY",
    game_server_group_name="example",
    game_server_protection_policy="FULL_PROTECTION",
    instance_definitions=[
        aws.gamelift.GameServerGroupInstanceDefinitionArgs(
            instance_type="c5.large",
            weighted_capacity="1",
        ),
        aws.gamelift.GameServerGroupInstanceDefinitionArgs(
            instance_type="c5.2xlarge",
            weighted_capacity="2",
        ),
    ],
    launch_template=aws.gamelift.GameServerGroupLaunchTemplateArgs(
        id=aws_launch_template["example"]["id"],
        version="1",
    ),
    max_size=1,
    min_size=1,
    role_arn=aws_iam_role["example"]["arn"],
    tags={
        "Name": "example",
    },
    vpc_subnets=[
        "subnet-12345678",
        "subnet-23456789",
    ],
    opts=pulumi.ResourceOptions(depends_on=[aws_iam_role_policy_attachment["example"]]))
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: aws_launch_template.example.id,
        version: "1",
    },
    maxSize: 1,
    minSize: 1,
    roleArn: aws_iam_role.example.arn,
    tags: {
        Name: "example",
    },
    vpcSubnets: [
        "subnet-12345678",
        "subnet-23456789",
    ],
}, {
    dependsOn: [aws_iam_role_policy_attachment.example],
});
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: ${aws_launch_template.example.id}
        version: '1'
      maxSize: 1
      minSize: 1
      roleArn: ${aws_iam_role.example.arn}
      tags:
        Name: example
      vpcSubnets:
        - subnet-12345678
        - subnet-23456789
    options:
      dependson:
        - ${aws_iam_role_policy_attachment.example}

Create GameServerGroup Resource

new GameServerGroup(name: string, args: GameServerGroupArgs, opts?: CustomResourceOptions);
@overload
def GameServerGroup(resource_name: str,
                    opts: Optional[ResourceOptions] = 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,
                    vpc_subnets: Optional[Sequence[str]] = None)
@overload
def GameServerGroup(resource_name: str,
                    args: GameServerGroupArgs,
                    opts: Optional[ResourceOptions] = 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.

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.

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:

GameServerGroupName string

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.

InstanceDefinitions List<GameServerGroupInstanceDefinitionArgs>
LaunchTemplate GameServerGroupLaunchTemplateArgs
MaxSize 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.

MinSize 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.

RoleArn string

ARN for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups.

AutoScalingPolicy GameServerGroupAutoScalingPolicyArgs
BalancingStrategy 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 to SPOT_PREFERRED.

GameServerProtectionPolicy string

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 to NO_PROTECTION.

Tags Dictionary<string, string>

Key-value map of resource tags

VpcSubnets 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.

GameServerGroupName string

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.

InstanceDefinitions []GameServerGroupInstanceDefinitionArgs
LaunchTemplate GameServerGroupLaunchTemplateArgs
MaxSize 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.

MinSize 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.

RoleArn string

ARN for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups.

AutoScalingPolicy GameServerGroupAutoScalingPolicyArgs
BalancingStrategy 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 to SPOT_PREFERRED.

GameServerProtectionPolicy string

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 to NO_PROTECTION.

Tags map[string]string

Key-value map of resource tags

VpcSubnets []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.

gameServerGroupName String

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.

instanceDefinitions List<GameServerGroupInstanceDefinitionArgs>
launchTemplate GameServerGroupLaunchTemplateArgs
maxSize 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.

minSize 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.

roleArn String

ARN for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups.

autoScalingPolicy GameServerGroupAutoScalingPolicyArgs
balancingStrategy 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 to SPOT_PREFERRED.

gameServerProtectionPolicy String

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 to NO_PROTECTION.

tags Map<String,String>

Key-value map of resource tags

vpcSubnets 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.

gameServerGroupName string

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.

instanceDefinitions GameServerGroupInstanceDefinitionArgs[]
launchTemplate GameServerGroupLaunchTemplateArgs
maxSize 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.

minSize 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.

roleArn string

ARN for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups.

autoScalingPolicy GameServerGroupAutoScalingPolicyArgs
balancingStrategy 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 to SPOT_PREFERRED.

gameServerProtectionPolicy string

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 to NO_PROTECTION.

tags {[key: string]: string}

Key-value map of resource tags

vpcSubnets 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_group_name str

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[GameServerGroupInstanceDefinitionArgs]
launch_template GameServerGroupLaunchTemplateArgs
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_policy GameServerGroupAutoScalingPolicyArgs
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 to SPOT_PREFERRED.

game_server_protection_policy str

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 to NO_PROTECTION.

tags 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.

gameServerGroupName String

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.

instanceDefinitions List<Property Map>
launchTemplate Property Map
maxSize 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.

minSize 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.

roleArn String

ARN for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups.

autoScalingPolicy Property Map
balancingStrategy 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 to SPOT_PREFERRED.

gameServerProtectionPolicy String

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 to NO_PROTECTION.

tags Map<String>

Key-value map of resource tags

vpcSubnets 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.

AutoScalingGroupArn string

The ARN of the created EC2 Auto Scaling group.

Id string

The provider-assigned unique ID for this managed resource.

TagsAll Dictionary<string, string>
Arn string

The ARN of the GameLift Game Server Group.

AutoScalingGroupArn string

The ARN of the created EC2 Auto Scaling group.

Id string

The provider-assigned unique ID for this managed resource.

TagsAll map[string]string
arn String

The ARN of the GameLift Game Server Group.

autoScalingGroupArn String

The ARN of the created EC2 Auto Scaling group.

id String

The provider-assigned unique ID for this managed resource.

tagsAll Map<String,String>
arn string

The ARN of the GameLift Game Server Group.

autoScalingGroupArn string

The ARN of the created EC2 Auto Scaling group.

id string

The provider-assigned unique ID for this managed resource.

tagsAll {[key: string]: string}
arn str

The ARN of the GameLift Game Server Group.

auto_scaling_group_arn str

The ARN of the created EC2 Auto Scaling group.

id str

The provider-assigned unique ID for this managed resource.

tags_all Mapping[str, str]
arn String

The ARN of the GameLift Game Server Group.

autoScalingGroupArn String

The ARN of the created EC2 Auto Scaling group.

id String

The provider-assigned unique ID for this managed resource.

tagsAll 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.
The following state arguments are supported:
Arn string

The ARN of the GameLift Game Server Group.

AutoScalingGroupArn string

The ARN of the created EC2 Auto Scaling group.

AutoScalingPolicy GameServerGroupAutoScalingPolicyArgs
BalancingStrategy 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 to SPOT_PREFERRED.

GameServerGroupName string

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.

GameServerProtectionPolicy string

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 to NO_PROTECTION.

InstanceDefinitions List<GameServerGroupInstanceDefinitionArgs>
LaunchTemplate GameServerGroupLaunchTemplateArgs
MaxSize 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.

MinSize 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.

RoleArn string

ARN for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups.

Tags Dictionary<string, string>

Key-value map of resource tags

TagsAll Dictionary<string, string>
VpcSubnets 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.

AutoScalingGroupArn string

The ARN of the created EC2 Auto Scaling group.

AutoScalingPolicy GameServerGroupAutoScalingPolicyArgs
BalancingStrategy 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 to SPOT_PREFERRED.

GameServerGroupName string

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.

GameServerProtectionPolicy string

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 to NO_PROTECTION.

InstanceDefinitions []GameServerGroupInstanceDefinitionArgs
LaunchTemplate GameServerGroupLaunchTemplateArgs
MaxSize 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.

MinSize 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.

RoleArn string

ARN for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups.

Tags map[string]string

Key-value map of resource tags

TagsAll map[string]string
VpcSubnets []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.

autoScalingGroupArn String

The ARN of the created EC2 Auto Scaling group.

autoScalingPolicy GameServerGroupAutoScalingPolicyArgs
balancingStrategy 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 to SPOT_PREFERRED.

gameServerGroupName String

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.

gameServerProtectionPolicy String

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 to NO_PROTECTION.

instanceDefinitions List<GameServerGroupInstanceDefinitionArgs>
launchTemplate GameServerGroupLaunchTemplateArgs
maxSize 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.

minSize 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.

roleArn String

ARN for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups.

tags Map<String,String>

Key-value map of resource tags

tagsAll Map<String,String>
vpcSubnets 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.

autoScalingGroupArn string

The ARN of the created EC2 Auto Scaling group.

autoScalingPolicy GameServerGroupAutoScalingPolicyArgs
balancingStrategy 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 to SPOT_PREFERRED.

gameServerGroupName string

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.

gameServerProtectionPolicy string

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 to NO_PROTECTION.

instanceDefinitions GameServerGroupInstanceDefinitionArgs[]
launchTemplate GameServerGroupLaunchTemplateArgs
maxSize 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.

minSize 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.

roleArn string

ARN for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups.

tags {[key: string]: string}

Key-value map of resource tags

tagsAll {[key: string]: string}
vpcSubnets 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_group_arn str

The ARN of the created EC2 Auto Scaling group.

auto_scaling_policy GameServerGroupAutoScalingPolicyArgs
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 to SPOT_PREFERRED.

game_server_group_name str

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_protection_policy str

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 to NO_PROTECTION.

instance_definitions Sequence[GameServerGroupInstanceDefinitionArgs]
launch_template GameServerGroupLaunchTemplateArgs
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.

tags Mapping[str, str]

Key-value map of resource tags

tags_all 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.

autoScalingGroupArn String

The ARN of the created EC2 Auto Scaling group.

autoScalingPolicy Property Map
balancingStrategy 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 to SPOT_PREFERRED.

gameServerGroupName String

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.

gameServerProtectionPolicy String

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 to NO_PROTECTION.

instanceDefinitions List<Property Map>
launchTemplate Property Map
maxSize 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.

minSize 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.

roleArn String

ARN for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups.

tags Map<String>

Key-value map of resource tags

tagsAll Map<String>
vpcSubnets 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

TargetTrackingConfiguration GameServerGroupAutoScalingPolicyTargetTrackingConfiguration
EstimatedInstanceWarmup int

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.

TargetTrackingConfiguration GameServerGroupAutoScalingPolicyTargetTrackingConfiguration
EstimatedInstanceWarmup int

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.

targetTrackingConfiguration GameServerGroupAutoScalingPolicyTargetTrackingConfiguration
estimatedInstanceWarmup Integer

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.

targetTrackingConfiguration GameServerGroupAutoScalingPolicyTargetTrackingConfiguration
estimatedInstanceWarmup number

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_configuration GameServerGroupAutoScalingPolicyTargetTrackingConfiguration
estimated_instance_warmup int

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.

targetTrackingConfiguration Property Map
estimatedInstanceWarmup Number

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

TargetValue double

Desired value to use with a game server group target-based scaling policy.

TargetValue float64

Desired value to use with a game server group target-based scaling policy.

targetValue Double

Desired value to use with a game server group target-based scaling policy.

targetValue 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.

targetValue Number

Desired value to use with a game server group target-based scaling policy.

GameServerGroupInstanceDefinition

InstanceType string

An EC2 instance type.

WeightedCapacity 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.

InstanceType string

An EC2 instance type.

WeightedCapacity 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.

instanceType String

An EC2 instance type.

weightedCapacity 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.

instanceType string

An EC2 instance type.

weightedCapacity 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.

instanceType String

An EC2 instance type.

weightedCapacity 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

Id string

A unique identifier for an existing EC2 launch template.

Name string

A readable identifier for an existing EC2 launch template.

Version string

The version of the EC2 launch template to use. If none is set, the default is the first version created.

Id string

A unique identifier for an existing EC2 launch template.

Name string

A readable identifier for an existing EC2 launch template.

Version string

The version of the EC2 launch template to use. If none is set, the default is the first version created.

id String

A unique identifier for an existing EC2 launch template.

name String

A readable identifier for an existing EC2 launch template.

version String

The version of the EC2 launch template to use. If none is set, the default is the first version created.

id string

A unique identifier for an existing EC2 launch template.

name string

A readable identifier for an existing EC2 launch template.

version string

The version of the EC2 launch template to use. If none is set, the default is the first version created.

id str

A unique identifier for an existing EC2 launch template.

name str

A readable identifier for an existing EC2 launch template.

version str

The version of the EC2 launch template to use. If none is set, the default is the first version created.

id String

A unique identifier for an existing EC2 launch template.

name String

A readable identifier for an existing EC2 launch template.

version String

The version of the EC2 launch template to use. If none is set, the default is the first version created.

Import

GameLift Game Server Group can be imported using the name, e.g.

 $ pulumi import aws:gamelift/gameServerGroup:GameServerGroup example example

Package Details

Repository
https://github.com/pulumi/pulumi-aws
License
Apache-2.0
Notes

This Pulumi package is based on the aws Terraform Provider.