forked from aws/aws-sdk-go
-
Notifications
You must be signed in to change notification settings - Fork 0
/
doc.go
303 lines (302 loc) · 12.7 KB
/
doc.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
// Package gamelift provides the client and types for making API
// requests to Amazon GameLift.
//
// Amazon GameLift is a managed service for developers who need a scalable,
// dedicated server solution for their multiplayer games. Amazon GameLift provides
// tools for the following tasks: (1) acquire computing resources and deploy
// game servers, (2) scale game server capacity to meet player demand, (3) host
// game sessions and manage player access, and (4) track in-depth metrics on
// player usage and server performance.
//
// The Amazon GameLift service API includes two important function sets:
//
// * Manage game sessions and player access – Retrieve information on available
// game sessions; create new game sessions; send player requests to join
// a game session.
//
// * Configure and manage game server resources – Manage builds, fleets,
// queues, and aliases; set autoscaling policies; retrieve logs and metrics.
//
// This reference guide describes the low-level service API for Amazon GameLift.
// You can use the API functionality with these tools:
//
// * The Amazon Web Services software development kit (AWS SDK (http://aws.amazon.com/tools/#sdk))
// is available in multiple languages (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-supported.html#gamelift-supported-clients)
// including C++ and C#. Use the SDK to access the API programmatically from
// an application, such as a game client.
//
// * The AWS command-line interface (http://aws.amazon.com/cli/) (CLI) tool
// is primarily useful for handling administrative actions, such as setting
// up and managing Amazon GameLift settings and resources. You can use the
// AWS CLI to manage all of your AWS services.
//
// * The AWS Management Console (https://console.aws.amazon.com/gamelift/home)
// for Amazon GameLift provides a web interface to manage your Amazon GameLift
// settings and resources. The console includes a dashboard for tracking
// key resources, includings builds and fleets, and displays usage and performance
// metrics for your games as customizable graphs.
//
// * Amazon GameLift Local is a tool for testing your game's integration
// with Amazon GameLift before deploying it on the service. This tools supports
// a subset of key API actions, which can be called from either the AWS CLI
// or programmatically. See Testing an Integration (http://docs.aws.amazon.com/gamelift/latest/developerguide/integration-testing-local.html).
//
// MORE RESOURCES
//
// * Amazon GameLift Developer Guide (http://docs.aws.amazon.com/gamelift/latest/developerguide/)
// – Learn more about Amazon GameLift features and how to use them.
//
// * Lumberyard and Amazon GameLift Tutorials (https://gamedev.amazon.com/forums/tutorials)
// – Get started fast with walkthroughs and sample projects.
//
// * GameDev Blog (http://aws.amazon.com/blogs/gamedev/) – Stay up to date
// with new features and techniques.
//
// * GameDev Forums (https://gamedev.amazon.com/forums/spaces/123/gamelift-discussion.html)
// – Connect with the GameDev community.
//
// * Amazon GameLift Document History (http://docs.aws.amazon.com/gamelift/latest/developerguide/doc-history.html)
// – See changes to the Amazon GameLift service, SDKs, and documentation,
// as well as links to release notes.
//
// API SUMMARY
//
// This list offers a functional overview of the Amazon GameLift service API.
//
// Managing Games and Players
//
// These actions allow you to start new game sessions, find existing game sessions,
// track status and other game session information, and enable access for players
// to join game sessions.
//
// * Discover existing game sessions
//
// SearchGameSessions – Get all available game sessions or search for game sessions
// that match a set of criteria.
//
// * Start a new game session
//
// Game session placement – Use a queue to process requests for new game sessions
// and place them on the best available fleet. Placement requests are asynchronous;
// game sessions are started whenever acceptable resources become available.
//
//
// StartGameSessionPlacement – Request a new game session placement and add
// one or more players to it.
//
// DescribeGameSessionPlacement – Get details on a placement request, including
// status.
//
// StopGameSessionPlacement – Cancel a placement request.
//
// CreateGameSession – Request a new game session on a specific fleet. Available
// in Amazon GameLift Local.
//
// * Manage game session data
//
// DescribeGameSessions – Retrieve metadata for one or more game sessions, including
// length of time active and current player count. Available in Amazon GameLift
// Local.
//
// DescribeGameSessionDetails – Retrieve metadata and the game session protection
// setting for one or more game sessions.
//
// UpdateGameSession – Change game session settings, such as maximum player
// count and join policy.
//
// GetGameSessionLogUrl – Get the location of saved logs for a game session.
//
// * Manage player sessions
//
// CreatePlayerSession – Send a request for a player to join a game session.
// Available in Amazon GameLift Local.
//
// CreatePlayerSessions – Send a request for multiple players to join a game
// session. Available in Amazon GameLift Local.
//
// DescribePlayerSessions – Get details on player activity, including status,
// playing time, and player data. Available in Amazon GameLift Local.
//
// Setting Up and Managing Game Servers
//
// When setting up Amazon GameLift resources for your game, you first create
// a game build (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html)
// and upload it to Amazon GameLift. You can then use these actions to configure
// and manage a fleet of resources to run your game servers, scale capacity
// to meet player demand, access performance and utilization metrics, and more.
//
// * Manage game builds
//
// CreateBuild – Create a new build using files stored in an Amazon S3 bucket.
// (Update uploading permissions with RequestUploadCredentials.) To create
// a build and upload files from a local path, use the AWS CLI command upload-build.
//
// ListBuilds – Get a list of all builds uploaded to a Amazon GameLift region.
//
// DescribeBuild – Retrieve information associated with a build.
//
// UpdateBuild – Change build metadata, including build name and version.
//
// DeleteBuild – Remove a build from Amazon GameLift.
//
// * Manage fleets
//
// CreateFleet – Configure and activate a new fleet to run a build's game servers.
//
// ListFleets – Get a list of all fleet IDs in a Amazon GameLift region (all
// statuses).
//
// DeleteFleet – Terminate a fleet that is no longer running game servers or
// hosting players.
//
// View / update fleet configurations.
//
// DescribeFleetAttributes / UpdateFleetAttributes – View or change a fleet's
// metadata and settings for game session protection and resource creation
// limits.
//
// DescribeFleetPortSettings / UpdateFleetPortSettings – View or change the
// inbound permissions (IP address and port setting ranges) allowed for a
// fleet.
//
// DescribeRuntimeConfiguration / UpdateRuntimeConfiguration – View or change
// what server processes (and how many) to run on each instance in a fleet.
//
// * Control fleet capacity
//
// DescribeEC2InstanceLimits – Retrieve maximum number of instances allowed
// for the current AWS account and the current usage level.
//
// DescribeFleetCapacity / UpdateFleetCapacity – Retrieve the capacity settings
// and the current number of instances in a fleet; adjust fleet capacity
// settings to scale up or down.
//
// Autoscale – Manage autoscaling rules and apply them to a fleet.
//
// PutScalingPolicy – Create a new autoscaling policy, or update an existing
// one.
//
// DescribeScalingPolicies – Retrieve an existing autoscaling policy.
//
// DeleteScalingPolicy – Delete an autoscaling policy and stop it from affecting
// a fleet's capacity.
//
// * Access fleet activity statistics
//
// DescribeFleetUtilization – Get current data on the number of server processes,
// game sessions, and players currently active on a fleet.
//
// DescribeFleetEvents – Get a fleet's logged events for a specified time span.
//
// DescribeGameSessions – Retrieve metadata associated with one or more game
// sessions, including length of time active and current player count.
//
// * Remotely access an instance
//
// DescribeInstances – Get information on each instance in a fleet, including
// instance ID, IP address, and status.
//
// GetInstanceAccess – Request access credentials needed to remotely connect
// to a specified instance in a fleet.
//
// * Manage fleet aliases
//
// CreateAlias – Define a new alias and optionally assign it to a fleet.
//
// ListAliases – Get all fleet aliases defined in a Amazon GameLift region.
//
// DescribeAlias – Retrieve information on an existing alias.
//
// UpdateAlias – Change settings for a alias, such as redirecting it from one
// fleet to another.
//
// DeleteAlias – Remove an alias from the region.
//
// ResolveAlias – Get the fleet ID that a specified alias points to.
//
// * Manage game session queues
//
// CreateGameSessionQueue – Create a queue for processing requests for new game
// sessions.
//
// DescribeGameSessionQueues – Get data on all game session queues defined in
// a Amazon GameLift region.
//
// UpdateGameSessionQueue – Change the configuration of a game session queue.
//
// DeleteGameSessionQueue – Remove a game session queue from the region.
//
// See https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01 for more information on this service.
//
// See gamelift package documentation for more information.
// https://docs.aws.amazon.com/sdk-for-go/api/service/gamelift/
//
// Using the Client
//
// To use the client for Amazon GameLift you will first need
// to create a new instance of it.
//
// When creating a client for an AWS service you'll first need to have a Session
// already created. The Session provides configuration that can be shared
// between multiple service clients. Additional configuration can be applied to
// the Session and service's client when they are constructed. The aws package's
// Config type contains several fields such as Region for the AWS Region the
// client should make API requests too. The optional Config value can be provided
// as the variadic argument for Sessions and client creation.
//
// Once the service's client is created you can use it to make API requests the
// AWS service. These clients are safe to use concurrently.
//
// // Create a session to share configuration, and load external configuration.
// sess := session.Must(session.NewSession())
//
// // Create the service's client with the session.
// svc := gamelift.New(sess)
//
// See the SDK's documentation for more information on how to use service clients.
// https://docs.aws.amazon.com/sdk-for-go/api/
//
// See aws package's Config type for more information on configuration options.
// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config
//
// See the Amazon GameLift client GameLift for more
// information on creating the service's client.
// https://docs.aws.amazon.com/sdk-for-go/api/service/gamelift/#New
//
// Once the client is created you can make an API request to the service.
// Each API method takes a input parameter, and returns the service response
// and an error.
//
// The API method will document which error codes the service can be returned
// by the operation if the service models the API operation's errors. These
// errors will also be available as const strings prefixed with "ErrCode".
//
// result, err := svc.CreateAlias(params)
// if err != nil {
// // Cast err to awserr.Error to handle specific error codes.
// aerr, ok := err.(awserr.Error)
// if ok && aerr.Code() == <error code to check for> {
// // Specific error code handling
// }
// return err
// }
//
// fmt.Println("CreateAlias result:")
// fmt.Println(result)
//
// Using the Client with Context
//
// The service's client also provides methods to make API requests with a Context
// value. This allows you to control the timeout, and cancellation of pending
// requests. These methods also take request Option as variadic parameter to apply
// additional configuration to the API request.
//
// ctx := context.Background()
//
// result, err := svc.CreateAliasWithContext(ctx, params)
//
// See the request package documentation for more information on using Context pattern
// with the SDK.
// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/
package gamelift