Skip to content

Commit fb4238d

Browse files
author
awstools
committed
feat(client-gamelift): Amazon GameLift releases a new game session shutdown feature. Use the Amazon GameLift console or AWS CLI to terminate an in-progress game session that's entered a bad state or is no longer needed.
1 parent 599a60f commit fb4238d

31 files changed

+771
-279
lines changed

clients/client-gamelift/README.md

+8
Original file line numberDiff line numberDiff line change
@@ -1067,6 +1067,14 @@ TagResource
10671067

10681068
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/gamelift/command/TagResourceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-gamelift/Interface/TagResourceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-gamelift/Interface/TagResourceCommandOutput/)
10691069

1070+
</details>
1071+
<details>
1072+
<summary>
1073+
TerminateGameSession
1074+
</summary>
1075+
1076+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/gamelift/command/TerminateGameSessionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-gamelift/Interface/TerminateGameSessionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-gamelift/Interface/TerminateGameSessionCommandOutput/)
1077+
10701078
</details>
10711079
<details>
10721080
<summary>

clients/client-gamelift/src/GameLift.ts

+23
Original file line numberDiff line numberDiff line change
@@ -455,6 +455,11 @@ import {
455455
SuspendGameServerGroupCommandOutput,
456456
} from "./commands/SuspendGameServerGroupCommand";
457457
import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
458+
import {
459+
TerminateGameSessionCommand,
460+
TerminateGameSessionCommandInput,
461+
TerminateGameSessionCommandOutput,
462+
} from "./commands/TerminateGameSessionCommand";
458463
import {
459464
UntagResourceCommand,
460465
UntagResourceCommandInput,
@@ -631,6 +636,7 @@ const commands = {
631636
StopMatchmakingCommand,
632637
SuspendGameServerGroupCommand,
633638
TagResourceCommand,
639+
TerminateGameSessionCommand,
634640
UntagResourceCommand,
635641
UpdateAliasCommand,
636642
UpdateBuildCommand,
@@ -2253,6 +2259,23 @@ export interface GameLift {
22532259
cb: (err: any, data?: TagResourceCommandOutput) => void
22542260
): void;
22552261

2262+
/**
2263+
* @see {@link TerminateGameSessionCommand}
2264+
*/
2265+
terminateGameSession(
2266+
args: TerminateGameSessionCommandInput,
2267+
options?: __HttpHandlerOptions
2268+
): Promise<TerminateGameSessionCommandOutput>;
2269+
terminateGameSession(
2270+
args: TerminateGameSessionCommandInput,
2271+
cb: (err: any, data?: TerminateGameSessionCommandOutput) => void
2272+
): void;
2273+
terminateGameSession(
2274+
args: TerminateGameSessionCommandInput,
2275+
options: __HttpHandlerOptions,
2276+
cb: (err: any, data?: TerminateGameSessionCommandOutput) => void
2277+
): void;
2278+
22562279
/**
22572280
* @see {@link UntagResourceCommand}
22582281
*/

clients/client-gamelift/src/GameLiftClient.ts

+6
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,10 @@ import {
337337
SuspendGameServerGroupCommandOutput,
338338
} from "./commands/SuspendGameServerGroupCommand";
339339
import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
340+
import {
341+
TerminateGameSessionCommandInput,
342+
TerminateGameSessionCommandOutput,
343+
} from "./commands/TerminateGameSessionCommand";
340344
import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
341345
import { UpdateAliasCommandInput, UpdateAliasCommandOutput } from "./commands/UpdateAliasCommand";
342346
import { UpdateBuildCommandInput, UpdateBuildCommandOutput } from "./commands/UpdateBuildCommand";
@@ -499,6 +503,7 @@ export type ServiceInputTypes =
499503
| StopMatchmakingCommandInput
500504
| SuspendGameServerGroupCommandInput
501505
| TagResourceCommandInput
506+
| TerminateGameSessionCommandInput
502507
| UntagResourceCommandInput
503508
| UpdateAliasCommandInput
504509
| UpdateBuildCommandInput
@@ -621,6 +626,7 @@ export type ServiceOutputTypes =
621626
| StopMatchmakingCommandOutput
622627
| SuspendGameServerGroupCommandOutput
623628
| TagResourceCommandOutput
629+
| TerminateGameSessionCommandOutput
624630
| UntagResourceCommandOutput
625631
| UpdateAliasCommandOutput
626632
| UpdateBuildCommandOutput

clients/client-gamelift/src/commands/CreateBuildCommand.ts

+21-27
Original file line numberDiff line numberDiff line change
@@ -28,42 +28,36 @@ export interface CreateBuildCommandInput extends CreateBuildInput {}
2828
export interface CreateBuildCommandOutput extends CreateBuildOutput, __MetadataBearer {}
2929

3030
/**
31-
* <p>Creates an Amazon GameLift build resource for your game server software and stores the software
32-
* for deployment to hosting resources. Combine game server binaries and dependencies into
33-
* a single .zip file </p>
31+
* <p>Creates a new Amazon GameLift build resource for your game server binary files. Combine game
32+
* server binaries into a zip file for use with Amazon GameLift. </p>
3433
* <important>
35-
* <p>Use the CLI command <b>
34+
* <p>When setting up a new game build for Amazon GameLift, we recommend using the CLI command <b>
3635
* <a href="https://docs.aws.amazon.com/cli/latest/reference/gamelift/upload-build.html">upload-build</a>
37-
* </b> to quickly and simply create a new build
38-
* and upload your game build .zip file to Amazon GameLift Amazon S3. This helper command eliminates
39-
* the need to explicitly manage access permissions.</p>
36+
* </b>. This helper command combines two tasks: (1) it
37+
* uploads your build files from a file directory to an Amazon GameLift Amazon S3 location, and (2)
38+
* it creates a new build resource.</p>
4039
* </important>
41-
* <p>Alternatively, use the <code>CreateBuild</code> action for the following
42-
* scenarios:</p>
40+
* <p>You can use the <code>CreateBuild</code> operation in the following scenarios:</p>
4341
* <ul>
4442
* <li>
45-
* <p>You want to create a build and upload a game build zip file from in an Amazon S3
46-
* location that you control. In this scenario, you need to give Amazon GameLift permission
47-
* to access to the Amazon S3 bucket. With permission in place, call
48-
* <code>CreateBuild</code> and specify a build name, the build's runtime
49-
* operating system, and the Amazon S3 storage location where the build file is
50-
* stored.</p>
43+
* <p>Create a new game build with build files that are in an Amazon S3 location under an
44+
* Amazon Web Services account that you control. To use this option, you give Amazon GameLift access to
45+
* the Amazon S3 bucket. With permissions in place, specify a build name, operating
46+
* system, and the Amazon S3 storage location of your game build.</p>
5147
* </li>
5248
* <li>
53-
* <p>You want to create a build and upload a local game build zip file to an Amazon S3
54-
* location that's controlled by Amazon GameLift. (See the <code>upload-build</code> CLI
55-
* command for this scenario.) In this scenario, you need to request temporary
56-
* access credentials to the Amazon GameLift Amazon S3 location. Specify a build name and the
57-
* build's runtime operating system. The response provides an Amazon S3 location and a
58-
* set of temporary access credentials. Use the credentials to upload your build
59-
* files to the specified Amazon S3 location (see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html">Uploading Objects</a> in
60-
* the <i>Amazon S3 Developer Guide</i>). You can't update build files
61-
* after uploading them to Amazon GameLift Amazon S3.</p>
49+
* <p>Upload your build files to a Amazon GameLift Amazon S3 location. To use this option,
50+
* specify a build name and operating system. This operation creates a new build
51+
* resource and also returns an Amazon S3 location with temporary access credentials.
52+
* Use the credentials to manually upload your build files to the specified Amazon S3
53+
* location. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html">Uploading Objects</a> in
54+
* the <i>Amazon S3 Developer Guide</i>. After you upload build files to
55+
* the Amazon GameLift Amazon S3 location, you can't update them. </p>
6256
* </li>
6357
* </ul>
64-
* <p>If successful, this action creates a new build resource with a unique build ID and
65-
* places it in <code>INITIALIZED</code> status. When the build reaches <code>READY</code>
66-
* status, you can create fleets with it.</p>
58+
* <p>If successful, this operation creates a new build resource with a unique build ID and
59+
* places it in <code>INITIALIZED</code> status. A build must be in <code>READY</code>
60+
* status before you can create fleets with it.</p>
6761
* <p>
6862
* <b>Learn more</b>
6963
* </p>

clients/client-gamelift/src/commands/CreateContainerGroupDefinitionCommand.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ export interface CreateContainerGroupDefinitionCommandOutput
4141
* <p>Creates a <code>ContainerGroupDefinition</code> that describes a set of containers for
4242
* hosting your game server with Amazon GameLift managed containers hosting. An Amazon GameLift container group
4343
* is similar to a container task or pod. Use container group definitions when you create a
44-
* container fleet with <a>CreateContainerFleet</a>. </p>
44+
* container fleet with <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateContainerFleet.html">CreateContainerFleet</a>. </p>
4545
* <p>A container group definition determines how Amazon GameLift deploys your containers to each
4646
* instance in a container fleet. You can maintain multiple versions of a container group
4747
* definition.</p>
@@ -188,7 +188,7 @@ export interface CreateContainerGroupDefinitionCommandOutput
188188
* </p>
189189
* <p>If successful, this request creates a <code>ContainerGroupDefinition</code> resource and
190190
* assigns a unique ARN value. You can update most properties of a container group definition by
191-
* calling <a>UpdateContainerGroupDefinition</a>, and optionally save the update as a new version.</p>
191+
* calling <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateContainerGroupDefinition.html">UpdateContainerGroupDefinition</a>, and optionally save the update as a new version.</p>
192192
* @example
193193
* Use a bare-bones client and the command you need to make an API call.
194194
* ```javascript

clients/client-gamelift/src/commands/CreateFleetLocationsCommand.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ export interface CreateFleetLocationsCommandInput extends CreateFleetLocationsIn
2828
export interface CreateFleetLocationsCommandOutput extends CreateFleetLocationsOutput, __MetadataBearer {}
2929

3030
/**
31-
* <p>Adds remote locations to a managed EC2 fleet or managed container fleet and begins populating the new
32-
* locations with instances. The new instances conform to the fleet's instance type,
33-
* auto-scaling, and other configuration settings.</p>
31+
* <p>Adds remote locations to an EC2 and begins populating the new locations with
32+
* instances. The new instances conform to the fleet's instance type, auto-scaling, and
33+
* other configuration settings.</p>
3434
* <note>
3535
* <p>You can't add remote locations to a fleet that resides in an Amazon Web Services Region that
3636
* doesn't support multiple locations. Fleets created prior to March 2021 can't support

clients/client-gamelift/src/commands/CreateGameSessionCommand.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ export interface CreateGameSessionCommandOutput extends CreateGameSessionOutput,
3535
* <p>Creates a multiplayer game session for players in a specific fleet location. This
3636
* operation prompts an available server process to start a game session and retrieves
3737
* connection information for the new game session. As an alternative, consider using the
38-
* Amazon GameLift game session placement feature with <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_StartGameSessionPlacement.html">StartGameSessionPlacement</a> , which uses the FleetIQ algorithm and queues to
38+
* Amazon GameLift game session placement feature with <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_StartGameSessionPlacement.html">StartGameSessionPlacement</a>, which uses the FleetIQ algorithm and queues to
3939
* optimize the placement process.</p>
4040
* <p>When creating a game session, you specify exactly where you want to place it and
4141
* provide a set of game session configuration settings. The target fleet must be in
@@ -112,7 +112,7 @@ export interface CreateGameSessionCommandOutput extends CreateGameSessionOutput,
112112
* // CurrentPlayerSessionCount: Number("int"),
113113
* // MaximumPlayerSessionCount: Number("int"),
114114
* // Status: "ACTIVE" || "ACTIVATING" || "TERMINATED" || "TERMINATING" || "ERROR",
115-
* // StatusReason: "INTERRUPTED",
115+
* // StatusReason: "INTERRUPTED" || "TRIGGERED_ON_PROCESS_TERMINATE" || "FORCE_TERMINATED",
116116
* // GameProperties: [ // GamePropertyList
117117
* // { // GameProperty
118118
* // Key: "STRING_VALUE", // required

clients/client-gamelift/src/commands/CreateScriptCommand.ts

+12-9
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@ export interface CreateScriptCommandInput extends CreateScriptInput {}
2828
export interface CreateScriptCommandOutput extends CreateScriptOutput, __MetadataBearer {}
2929

3030
/**
31-
* <p>Creates a script resource for your Realtime Servers script. Realtime scripts are JavaScript files
32-
* that provide configuration settings and optional custom game logic for your game. Script
33-
* logic is executed during an active game session. To deploy Realtime Servers for hosting, create an
34-
* Amazon GameLift managed fleet with the script.</p>
35-
* <p>To create a script resource, specify a script name and provide the script file(s). The
36-
* script files and all dependencies must be combined into a single .zip file. You can
37-
* upload the .zip file from either of these locations: </p>
31+
* <p>Creates a new script record for your Realtime Servers script. Realtime scripts are JavaScript that
32+
* provide configuration settings and optional custom game logic for your game. The script
33+
* is deployed when you create a Realtime Servers fleet to host your game sessions. Script logic is
34+
* executed during an active game session. </p>
35+
* <p>To create a new script record, specify a script name and provide the script file(s).
36+
* The script files and all dependencies must be zipped into a single file. You can pull
37+
* the zip file from either of these locations: </p>
3838
* <ul>
3939
* <li>
4040
* <p>A locally available directory. Use the <i>ZipFile</i> parameter
@@ -47,8 +47,11 @@ export interface CreateScriptCommandOutput extends CreateScriptOutput, __Metadat
4747
* to access your S3 bucket. </p>
4848
* </li>
4949
* </ul>
50-
* <p>If the call is successful, Amazon GameLift creates a new script resource with a unique script
51-
* ID. The script is uploaded to an Amazon S3 bucket that is owned by Amazon GameLift.</p>
50+
* <p>If the call is successful, a new script record is created with a unique script ID. If
51+
* the script file is provided as a local file, the file is uploaded to an Amazon GameLift-owned S3
52+
* bucket and the script record's storage location reflects this location. If the script
53+
* file is provided as an S3 bucket, Amazon GameLift accesses the file at this storage location as
54+
* needed for deployment.</p>
5255
* <p>
5356
* <b>Learn more</b>
5457
* </p>

clients/client-gamelift/src/commands/DeleteContainerGroupDefinitionCommand.ts

+17-2
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@ export interface DeleteContainerGroupDefinitionCommandOutput
3333
__MetadataBearer {}
3434

3535
/**
36-
* <p>Deletes a container group definition. You can delete a container group definition if there
37-
* are no fleets using the definition. </p>
36+
* <p>Deletes a container group definition. </p>
3837
* <p>
3938
* <b>Request options:</b>
4039
* </p>
@@ -55,6 +54,22 @@ export interface DeleteContainerGroupDefinitionCommandOutput
5554
* </li>
5655
* </ul>
5756
* <p>
57+
* <b>Result</b>
58+
* </p>
59+
* <p>If successful, Amazon GameLift removes the container group definition versions that you request deletion for.
60+
* This request will fail for any requested versions if the following is true: </p>
61+
* <ul>
62+
* <li>
63+
* <p>If the version is being used in an active fleet</p>
64+
* </li>
65+
* <li>
66+
* <p>If the version is being deployed to a fleet in a deployment that's currently in progress.</p>
67+
* </li>
68+
* <li>
69+
* <p>If the version is designated as a rollback definition in a fleet deployment that's currently in progress.</p>
70+
* </li>
71+
* </ul>
72+
* <p>
5873
* <b>Learn more</b>
5974
* </p>
6075
* <ul>

clients/client-gamelift/src/commands/DescribeComputeCommand.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export interface DescribeComputeCommandOutput extends DescribeComputeOutput, __M
3333

3434
/**
3535
* <p>Retrieves properties for a compute resource in an Amazon GameLift fleet. To get a list of all
36-
* computes in a fleet, call <a>ListCompute</a>. </p>
36+
* computes in a fleet, call <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_ListCompute.html">https://docs.aws.amazon.com/gamelift/latest/apireference/API_ListCompute.html</a>. </p>
3737
* <p>To request information on a specific compute, provide the fleet ID and compute
3838
* name.</p>
3939
* <p>If successful, this operation returns details for the requested compute resource.

clients/client-gamelift/src/commands/DescribeFleetCapacityCommand.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export interface DescribeFleetCapacityCommandOutput extends DescribeFleetCapacit
3232
* fleet, this operation also returns counts for game server container groups.</p>
3333
* <p>With multi-location fleets, this operation retrieves data for the fleet's home Region
3434
* only. To retrieve capacity for remote locations, see
35-
* <a>DescribeFleetLocationCapacity</a>.</p>
35+
* <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html">https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html</a>.</p>
3636
* <p>This operation can be used in the following ways: </p>
3737
* <ul>
3838
* <li>

clients/client-gamelift/src/commands/DescribeFleetPortSettingsCommand.ts

+2-3
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,10 @@ export interface DescribeFleetPortSettingsCommandInput extends DescribeFleetPort
3232
export interface DescribeFleetPortSettingsCommandOutput extends DescribeFleetPortSettingsOutput, __MetadataBearer {}
3333

3434
/**
35-
* <p>Retrieves a fleet's inbound connection permissions. Inbound permissions specify IP
35+
* <p>Retrieves a fleet's inbound connection permissions. Connection permissions specify IP
3636
* addresses and port settings that incoming traffic can use to access server processes in
3737
* the fleet. Game server processes that are running in the fleet must use a port that
38-
* falls within this range. To connect to game server processes on a managed container fleet, the
39-
* port settings should include one or more of the container fleet's connection ports. </p>
38+
* falls within this range. </p>
4039
* <p>Use this operation in the following ways: </p>
4140
* <ul>
4241
* <li>

clients/client-gamelift/src/commands/DescribeGameSessionDetailsCommand.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ export interface DescribeGameSessionDetailsCommandOutput extends DescribeGameSes
9797
* // CurrentPlayerSessionCount: Number("int"),
9898
* // MaximumPlayerSessionCount: Number("int"),
9999
* // Status: "ACTIVE" || "ACTIVATING" || "TERMINATED" || "TERMINATING" || "ERROR",
100-
* // StatusReason: "INTERRUPTED",
100+
* // StatusReason: "INTERRUPTED" || "TRIGGERED_ON_PROCESS_TERMINATE" || "FORCE_TERMINATED",
101101
* // GameProperties: [ // GamePropertyList
102102
* // { // GameProperty
103103
* // Key: "STRING_VALUE", // required

0 commit comments

Comments
 (0)