1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5import (
6	"time"
7)
8
9// Properties that describe an alias resource. Related actions CreateAlias |
10// ListAliases | DescribeAlias | UpdateAlias | DeleteAlias | ResolveAlias | All
11// APIs by task
12// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
13type Alias struct {
14
15	// The Amazon Resource Name (ARN
16	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) that is
17	// assigned to a GameLift alias resource and uniquely identifies it. ARNs are
18	// unique across all Regions. Format is
19	// arn:aws:gamelift:::alias/alias-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. In a
20	// GameLift alias ARN, the resource ID matches the alias ID value.
21	AliasArn *string
22
23	// A unique identifier for the alias. Alias IDs are unique within a Region.
24	AliasId *string
25
26	// A time stamp indicating when this data object was created. Format is a number
27	// expressed in Unix time as milliseconds (for example "1469498468.057").
28	CreationTime *time.Time
29
30	// A human-readable description of an alias.
31	Description *string
32
33	// The time that this data object was last modified. Format is a number expressed
34	// in Unix time as milliseconds (for example "1469498468.057").
35	LastUpdatedTime *time.Time
36
37	// A descriptive label that is associated with an alias. Alias names do not need to
38	// be unique.
39	Name *string
40
41	// The routing configuration, including routing type and fleet target, for the
42	// alias.
43	RoutingStrategy *RoutingStrategy
44}
45
46// Values for use in Player attribute key-value pairs. This object lets you specify
47// an attribute value using any of the valid data types: string, number, string
48// array, or data map. Each AttributeValue object can use only one of the available
49// properties.
50type AttributeValue struct {
51
52	// For number values, expressed as double.
53	N *float64
54
55	// For single string values. Maximum string length is 100 characters.
56	S *string
57
58	// For a map of up to 10 data type:value pairs. Maximum length for each string
59	// value is 100 characters.
60	SDM map[string]float64
61
62	// For a list of up to 10 strings. Maximum length for each string is 100
63	// characters. Duplicate values are not recognized; all occurrences of the repeated
64	// value after the first of a repeated value are ignored.
65	SL []string
66}
67
68// Temporary access credentials used for uploading game build files to Amazon
69// GameLift. They are valid for a limited time. If they expire before you upload
70// your game build, get a new set by calling RequestUploadCredentials.
71type AwsCredentials struct {
72
73	// Temporary key allowing access to the Amazon GameLift S3 account.
74	AccessKeyId *string
75
76	// Temporary secret key allowing access to the Amazon GameLift S3 account.
77	SecretAccessKey *string
78
79	// Token used to associate a specific build ID with the files uploaded using these
80	// credentials.
81	SessionToken *string
82}
83
84// Properties describing a custom game build. Related actions CreateBuild |
85// ListBuilds | DescribeBuild | UpdateBuild | DeleteBuild | All APIs by task
86// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
87type Build struct {
88
89	// The Amazon Resource Name (ARN
90	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) that is
91	// assigned to a GameLift build resource and uniquely identifies it. ARNs are
92	// unique across all Regions. Format is
93	// arn:aws:gamelift:::build/build-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. In a
94	// GameLift build ARN, the resource ID matches the BuildId value.
95	BuildArn *string
96
97	// A unique identifier for the build.
98	BuildId *string
99
100	// A time stamp indicating when this data object was created. Format is a number
101	// expressed in Unix time as milliseconds (for example "1469498468.057").
102	CreationTime *time.Time
103
104	// A descriptive label that is associated with a build. Build names do not need to
105	// be unique. It can be set using CreateBuild or UpdateBuild.
106	Name *string
107
108	// Operating system that the game server binaries are built to run on. This value
109	// determines the type of fleet resources that you can use for this build.
110	OperatingSystem OperatingSystem
111
112	// File size of the uploaded game build, expressed in bytes. When the build status
113	// is INITIALIZED, this value is 0.
114	SizeOnDisk *int64
115
116	// Current status of the build. Possible build statuses include the following:
117	//
118	// *
119	// INITIALIZED -- A new build has been defined, but no files have been uploaded.
120	// You cannot create fleets for builds that are in this status. When a build is
121	// successfully created, the build status is set to this value.
122	//
123	// * READY -- The
124	// game build has been successfully uploaded. You can now create new fleets for
125	// this build.
126	//
127	// * FAILED -- The game build upload failed. You cannot create new
128	// fleets for this build.
129	Status BuildStatus
130
131	// Version information that is associated with a build or script. Version strings
132	// do not need to be unique. This value can be set using CreateBuild or
133	// UpdateBuild.
134	Version *string
135}
136
137// Determines whether a TLS/SSL certificate is generated for a fleet. This feature
138// must be enabled when creating the fleet. All instances in a fleet share the same
139// certificate. The certificate can be retrieved by calling the GameLift Server SDK
140// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-serversdk.html)
141// operation GetInstanceCertificate. A fleet's certificate configuration is part of
142// FleetAttributes.
143type CertificateConfiguration struct {
144
145	// Indicates whether a TLS/SSL certificate is generated for a fleet. Valid values
146	// include:
147	//
148	// * GENERATED - Generate a TLS/SSL certificate for this fleet.
149	//
150	// *
151	// DISABLED - (default) Do not generate a TLS/SSL certificate for this fleet.
152	//
153	// This member is required.
154	CertificateType CertificateType
155}
156
157// Player information for use when creating player sessions using a game session
158// placement request with StartGameSessionPlacement.
159type DesiredPlayerSession struct {
160
161	// Developer-defined information related to a player. GameLift does not use this
162	// data, so it can be formatted as needed for use in the game.
163	PlayerData *string
164
165	// A unique identifier for a player to associate with the player session.
166	PlayerId *string
167}
168
169// Resource capacity settings. Fleet capacity is measured in EC2 instances. Pending
170// and terminating counts are non-zero when the fleet capacity is adjusting to a
171// scaling event or if access to resources is temporarily affected. EC2 instance
172// counts are part of FleetCapacity.
173type EC2InstanceCounts struct {
174
175	// Actual number of instances that are ready to host game sessions.
176	ACTIVE *int32
177
178	// Ideal number of active instances. GameLift will always try to maintain the
179	// desired number of instances. Capacity is scaled up or down by changing the
180	// desired instances.
181	DESIRED *int32
182
183	// Number of active instances that are not currently hosting a game session.
184	IDLE *int32
185
186	// The maximum instance count value allowed.
187	MAXIMUM *int32
188
189	// The minimum instance count value allowed.
190	MINIMUM *int32
191
192	// Number of instances that are starting but not yet active.
193	PENDING *int32
194
195	// Number of instances that are no longer active but haven't yet been terminated.
196	TERMINATING *int32
197}
198
199// The GameLift service limits for an EC2 instance type and current utilization.
200// GameLift allows AWS accounts a maximum number of instances, per instance type,
201// per AWS Region or location, for use with GameLift. You can request an limit
202// increase for your account by using the Service limits page in the GameLift
203// console. Related actions DescribeEC2InstanceLimits
204type EC2InstanceLimit struct {
205
206	// The number of instances for the specified type and location that are currently
207	// being used by the AWS account.
208	CurrentInstances *int32
209
210	// The name of an EC2 instance type. See Amazon EC2 Instance Types
211	// (http://aws.amazon.com/ec2/instance-types/) for detailed descriptions.
212	EC2InstanceType EC2InstanceType
213
214	// The number of instances that is allowed for the specified instance type and
215	// location.
216	InstanceLimit *int32
217
218	// An AWS Region code, such as us-west-2.
219	Location *string
220}
221
222// Log entry describing an event that involves GameLift resources (such as a
223// fleet). In addition to tracking activity, event codes and messages can provide
224// additional information for troubleshooting and debugging problems. Related
225// actions DescribeFleetEvents
226type Event struct {
227
228	// The type of event being logged. Fleet creation events (ordered by fleet creation
229	// activity):
230	//
231	// * FLEET_CREATED -- A fleet resource was successfully created with a
232	// status of NEW. Event messaging includes the fleet ID.
233	//
234	// * FLEET_STATE_DOWNLOADING
235	// -- Fleet status changed from NEW to DOWNLOADING. The compressed build has
236	// started downloading to a fleet instance for installation.
237	//
238	// *
239	// FLEET_BINARY_DOWNLOAD_FAILED -- The build failed to download to the fleet
240	// instance.
241	//
242	// * FLEET_CREATION_EXTRACTING_BUILD – The game server build was
243	// successfully downloaded to an instance, and the build files are now being
244	// extracted from the uploaded build and saved to an instance. Failure at this
245	// stage prevents a fleet from moving to ACTIVE status. Logs for this stage display
246	// a list of the files that are extracted and saved on the instance. Access the
247	// logs by using the URL in PreSignedLogUrl.
248	//
249	// * FLEET_CREATION_RUNNING_INSTALLER –
250	// The game server build files were successfully extracted, and the GameLift is now
251	// running the build's install script (if one is included). Failure in this stage
252	// prevents a fleet from moving to ACTIVE status. Logs for this stage list the
253	// installation steps and whether or not the install completed successfully. Access
254	// the logs by using the URL in PreSignedLogUrl.
255	//
256	// *
257	// FLEET_CREATION_VALIDATING_RUNTIME_CONFIG -- The build process was successful,
258	// and the GameLift is now verifying that the game server launch paths, which are
259	// specified in the fleet's runtime configuration, exist. If any listed launch path
260	// exists, GameLift tries to launch a game server process and waits for the process
261	// to report ready. Failures in this stage prevent a fleet from moving to ACTIVE
262	// status. Logs for this stage list the launch paths in the runtime configuration
263	// and indicate whether each is found. Access the logs by using the URL in
264	// PreSignedLogUrl.
265	//
266	// * FLEET_STATE_VALIDATING -- Fleet status changed from
267	// DOWNLOADING to VALIDATING.
268	//
269	// * FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND --
270	// Validation of the runtime configuration failed because the executable specified
271	// in a launch path does not exist on the instance.
272	//
273	// * FLEET_STATE_BUILDING --
274	// Fleet status changed from VALIDATING to BUILDING.
275	//
276	// *
277	// FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE -- Validation of the runtime
278	// configuration failed because the executable specified in a launch path failed to
279	// run on the fleet instance.
280	//
281	// * FLEET_STATE_ACTIVATING -- Fleet status changed
282	// from BUILDING to ACTIVATING.
283	//
284	// * FLEET_ACTIVATION_FAILED - The fleet failed to
285	// successfully complete one of the steps in the fleet activation process. This
286	// event code indicates that the game build was successfully downloaded to a fleet
287	// instance, built, and validated, but was not able to start a server process.
288	// Learn more at  Debug Fleet Creation Issues
289	// (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html#fleets-creating-debug-creation)
290	//
291	// *
292	// FLEET_STATE_ACTIVE -- The fleet's status changed from ACTIVATING to ACTIVE. The
293	// fleet is now ready to host game sessions.
294	//
295	// VPC peering events:
296	//
297	// *
298	// FLEET_VPC_PEERING_SUCCEEDED -- A VPC peering connection has been established
299	// between the VPC for an GameLift fleet and a VPC in your AWS account.
300	//
301	// *
302	// FLEET_VPC_PEERING_FAILED -- A requested VPC peering connection has failed. Event
303	// details and status information (see DescribeVpcPeeringConnections) provide
304	// additional detail. A common reason for peering failure is that the two VPCs have
305	// overlapping CIDR blocks of IPv4 addresses. To resolve this, change the CIDR
306	// block for the VPC in your AWS account. For more information on VPC peering
307	// failures, see
308	// https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html
309	// (https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html)
310	//
311	// *
312	// FLEET_VPC_PEERING_DELETED -- A VPC peering connection has been successfully
313	// deleted.
314	//
315	// Spot instance events:
316	//
317	// * INSTANCE_INTERRUPTED -- A spot instance was
318	// interrupted by EC2 with a two-minute notification.
319	//
320	// Other fleet events:
321	//
322	// *
323	// FLEET_SCALING_EVENT -- A change was made to the fleet's capacity settings
324	// (desired instances, minimum/maximum scaling limits). Event messaging includes
325	// the new capacity settings.
326	//
327	// * FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED
328	// -- A change was made to the fleet's game session protection policy setting.
329	// Event messaging includes both the old and new policy setting.
330	//
331	// * FLEET_DELETED
332	// -- A request to delete a fleet was initiated.
333	//
334	// * GENERIC_EVENT -- An unspecified
335	// event has occurred.
336	EventCode EventCode
337
338	// A unique identifier for a fleet event.
339	EventId *string
340
341	// Time stamp indicating when this event occurred. Format is a number expressed in
342	// Unix time as milliseconds (for example "1469498468.057").
343	EventTime *time.Time
344
345	// Additional information related to the event.
346	Message *string
347
348	// Location of stored logs with additional detail that is related to the event.
349	// This is useful for debugging issues. The URL is valid for 15 minutes. You can
350	// also access fleet creation logs through the GameLift console.
351	PreSignedLogUrl *string
352
353	// A unique identifier for an event resource, such as a fleet ID.
354	ResourceId *string
355}
356
357// A list of fleet locations where a game session queue can place new game
358// sessions. You can use a filter to temporarily turn off placements for specific
359// locations. For queues that have multi-location fleets, you can use a filter
360// configuration allow placement with some, but not all of these locations. Filter
361// configurations are part of a GameSessionQueue.
362type FilterConfiguration struct {
363
364	// A list of locations to allow game session placement in, in the form of AWS
365	// Region codes such as us-west-2.
366	AllowedLocations []string
367}
368
369// Describes a GameLift fleet of game hosting resources. Related actions
370// CreateFleet | DescribeFleetAttributes
371type FleetAttributes struct {
372
373	// The Amazon Resource Name (ARN
374	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) associated
375	// with the GameLift build resource that is deployed on instances in this fleet. In
376	// a GameLift build ARN, the resource ID matches the BuildId value.
377	BuildArn *string
378
379	// A unique identifier for the build resource that is deployed on instances in this
380	// fleet.
381	BuildId *string
382
383	// Indicates whether a TLS/SSL certificate was generated for the fleet.
384	CertificateConfiguration *CertificateConfiguration
385
386	// A time stamp indicating when this data object was created. Format is a number
387	// expressed in Unix time as milliseconds (for example "1469498468.057").
388	CreationTime *time.Time
389
390	// A human-readable description of the fleet.
391	Description *string
392
393	// The Amazon Resource Name (ARN
394	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) that is
395	// assigned to a GameLift fleet resource and uniquely identifies it. ARNs are
396	// unique across all Regions. Format is
397	// arn:aws:gamelift:::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. In a
398	// GameLift fleet ARN, the resource ID matches the FleetId value.
399	FleetArn *string
400
401	// A unique identifier for the fleet.
402	FleetId *string
403
404	// The kind of instances, On-Demand or Spot, that this fleet uses.
405	FleetType FleetType
406
407	// A unique identifier for an AWS IAM role that manages access to your AWS
408	// services. With an instance role ARN set, any application that runs on an
409	// instance in this fleet can assume the role, including install scripts, server
410	// processes, and daemons (background processes). Create a role or look up a role's
411	// ARN by using the IAM dashboard (https://console.aws.amazon.com/iam/) in the AWS
412	// Management Console. Learn more about using on-box credentials for your game
413	// servers at  Access external resources from a game server
414	// (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html).
415	InstanceRoleArn *string
416
417	// The EC2 instance type that determines the computing resources of each instance
418	// in the fleet. Instance type defines the CPU, memory, storage, and networking
419	// capacity. See Amazon EC2 Instance Types
420	// (http://aws.amazon.com/ec2/instance-types/) for detailed descriptions.
421	InstanceType EC2InstanceType
422
423	// This parameter is no longer used. Game session log paths are now defined using
424	// the GameLift server API ProcessReady()logParameters. See more information in the
425	// Server API Reference
426	// (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api-ref.html#gamelift-sdk-server-api-ref-dataypes-process).
427	LogPaths []string
428
429	// Name of a metric group that metrics for this fleet are added to. In Amazon
430	// CloudWatch, you can view aggregated metrics for fleets that are in a metric
431	// group. A fleet can be included in only one metric group at a time.
432	MetricGroups []string
433
434	// A descriptive label that is associated with a fleet. Fleet names do not need to
435	// be unique.
436	Name *string
437
438	// The type of game session protection to set on all new instances that are started
439	// in the fleet.
440	//
441	// * NoProtection -- The game session can be terminated during a
442	// scale-down event.
443	//
444	// * FullProtection -- If the game session is in an ACTIVE
445	// status, it cannot be terminated during a scale-down event.
446	NewGameSessionProtectionPolicy ProtectionPolicy
447
448	// The operating system of the fleet's computing resources. A fleet's operating
449	// system is determined by the OS of the build or script that is deployed on this
450	// fleet.
451	OperatingSystem OperatingSystem
452
453	// The fleet policy that limits the number of game sessions an individual player
454	// can create over a span of time.
455	ResourceCreationLimitPolicy *ResourceCreationLimitPolicy
456
457	// The Amazon Resource Name (ARN
458	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) associated
459	// with the GameLift script resource that is deployed on instances in this fleet.
460	// In a GameLift script ARN, the resource ID matches the ScriptId value.
461	ScriptArn *string
462
463	// A unique identifier for the Realtime script resource that is deployed on
464	// instances in this fleet.
465	ScriptId *string
466
467	// This parameter is no longer used. Server launch parameters are now defined using
468	// the fleet's RuntimeConfiguration parameter. Requests that use this parameter
469	// instead continue to be valid.
470	ServerLaunchParameters *string
471
472	// This parameter is no longer used. Server launch paths are now defined using the
473	// fleet's RuntimeConfiguration parameter. Requests that use this parameter instead
474	// continue to be valid.
475	ServerLaunchPath *string
476
477	// Current status of the fleet. Possible fleet statuses include the following:
478	//
479	// *
480	// NEW -- A new fleet has been defined and desired instances is set to 1.
481	//
482	// *
483	// DOWNLOADING/VALIDATING/BUILDING/ACTIVATING -- GameLift is setting up the new
484	// fleet, creating new instances with the game build or Realtime script and
485	// starting server processes.
486	//
487	// * ACTIVE -- Hosts can now accept game sessions.
488	//
489	// *
490	// ERROR -- An error occurred when downloading, validating, building, or activating
491	// the fleet.
492	//
493	// * DELETING -- Hosts are responding to a delete fleet request.
494	//
495	// *
496	// TERMINATED -- The fleet no longer exists.
497	Status FleetStatus
498
499	// A list of fleet activity that has been suspended using StopFleetActions. This
500	// includes fleet auto-scaling.
501	StoppedActions []FleetAction
502
503	// A time stamp indicating when this data object was terminated. Format is a number
504	// expressed in Unix time as milliseconds (for example "1469498468.057").
505	TerminationTime *time.Time
506}
507
508// Current resource capacity settings in a specified fleet or location. The
509// location value might refer to a fleet's remote location or its home Region.
510// Related actions DescribeFleetCapacity | DescribeFleetLocationCapacity |
511// UpdateFleetCapacity
512type FleetCapacity struct {
513
514	// The Amazon Resource Name (ARN
515	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) that is
516	// assigned to a GameLift fleet resource and uniquely identifies it. ARNs are
517	// unique across all Regions. Format is
518	// arn:aws:gamelift:::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
519	FleetArn *string
520
521	// A unique identifier for the fleet associated with the location.
522	FleetId *string
523
524	// The current instance count and capacity settings for the fleet location.
525	InstanceCounts *EC2InstanceCounts
526
527	// The EC2 instance type that is used for all instances in a fleet. The instance
528	// type determines the computing resources in use, including CPU, memory, storage,
529	// and networking capacity. See Amazon EC2 Instance Types
530	// (http://aws.amazon.com/ec2/instance-types/) for detailed descriptions.
531	InstanceType EC2InstanceType
532
533	// The fleet location for the instance count information, expressed as an AWS
534	// Region code, such as us-west-2.
535	Location *string
536}
537
538// Current resource utilization statistics in a specified fleet or location. The
539// location value might refer to a fleet's remote location or its home Region.
540// Related actions DescribeFleetUtilization | DescribeFleetLocationUtilization
541type FleetUtilization struct {
542
543	// The number of active game sessions that are currently being hosted across all
544	// instances in the fleet location.
545	ActiveGameSessionCount *int32
546
547	// The number of server processes in ACTIVE status that are currently running
548	// across all instances in the fleet location.
549	ActiveServerProcessCount *int32
550
551	// The number of active player sessions that are currently being hosted across all
552	// instances in the fleet location.
553	CurrentPlayerSessionCount *int32
554
555	// The Amazon Resource Name (ARN
556	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) that is
557	// assigned to a GameLift fleet resource and uniquely identifies it. ARNs are
558	// unique across all Regions. Format is
559	// arn:aws:gamelift:::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
560	FleetArn *string
561
562	// A unique identifier for the fleet associated with the location.
563	FleetId *string
564
565	// The fleet location for the fleet utilization information, expressed as an AWS
566	// Region code, such as us-west-2.
567	Location *string
568
569	// The maximum number of players allowed across all game sessions that are
570	// currently being hosted across all instances in the fleet location.
571	MaximumPlayerSessionCount *int32
572}
573
574// Set of key-value pairs that contain information about a game session. When
575// included in a game session request, these properties communicate details to be
576// used when setting up the new game session. For example, a game property might
577// specify a game mode, level, or map. Game properties are passed to the game
578// server process when initiating a new game session. For more information, see the
579// GameLift Developer Guide
580// (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#gamelift-sdk-client-api-create).
581type GameProperty struct {
582
583	// The game property identifier.
584	//
585	// This member is required.
586	Key *string
587
588	// The game property value.
589	//
590	// This member is required.
591	Value *string
592}
593
594// This data type is used with the GameLift FleetIQ and game server groups.
595// Properties describing a game server that is running on an instance in a
596// GameServerGroup. A game server is created by a successful call to
597// RegisterGameServer and deleted by calling DeregisterGameServer. A game server is
598// claimed to host a game session by calling ClaimGameServer. Related actions
599// RegisterGameServer | ListGameServers | ClaimGameServer | DescribeGameServer |
600// UpdateGameServer | DeregisterGameServer | All APIs by task
601// (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
602type GameServer struct {
603
604	// Indicates when an available game server has been reserved for gameplay but has
605	// not yet started hosting a game. Once it is claimed, the game server remains in
606	// CLAIMED status for a maximum of one minute. During this time, game clients
607	// connect to the game server to start the game and trigger the game server to
608	// update its utilization status. After one minute, the game server claim status
609	// reverts to null.
610	ClaimStatus GameServerClaimStatus
611
612	// The port and IP address that must be used to establish a client connection to
613	// the game server.
614	ConnectionInfo *string
615
616	// A set of custom game server properties, formatted as a single string value. This
617	// data is passed to a game client or service when it requests information on game
618	// servers using ListGameServers or ClaimGameServer.
619	GameServerData *string
620
621	// The ARN identifier for the game server group where the game server is located.
622	GameServerGroupArn *string
623
624	// A unique identifier for the game server group where the game server is running.
625	// Use either the GameServerGroup name or ARN value.
626	GameServerGroupName *string
627
628	// A custom string that uniquely identifies the game server. Game server IDs are
629	// developer-defined and are unique across all game server groups in an AWS
630	// account.
631	GameServerId *string
632
633	// The unique identifier for the instance where the game server is running. This ID
634	// is available in the instance metadata. EC2 instance IDs use a 17-character
635	// format, for example: i-1234567890abcdef0.
636	InstanceId *string
637
638	// Timestamp that indicates the last time the game server was claimed with a
639	// ClaimGameServer request. The format is a number expressed in Unix time as
640	// milliseconds (for example "1469498468.057"). This value is used to calculate
641	// when a claimed game server's status should revert to null.
642	LastClaimTime *time.Time
643
644	// Timestamp that indicates the last time the game server was updated with health
645	// status using an UpdateGameServer request. The format is a number expressed in
646	// Unix time as milliseconds (for example "1469498468.057"). After game server
647	// registration, this property is only changed when a game server update specifies
648	// a health check value.
649	LastHealthCheckTime *time.Time
650
651	// Timestamp that indicates when the game server was created with a
652	// RegisterGameServer request. The format is a number expressed in Unix time as
653	// milliseconds (for example "1469498468.057").
654	RegistrationTime *time.Time
655
656	// Indicates whether the game server is currently available for new games or is
657	// busy. Possible statuses include:
658	//
659	// * AVAILABLE - The game server is available to
660	// be claimed. A game server that has been claimed remains in this status until it
661	// reports game hosting activity.
662	//
663	// * UTILIZED - The game server is currently
664	// hosting a game session with players.
665	UtilizationStatus GameServerUtilizationStatus
666}
667
668// This data type is used with the GameLift FleetIQ and game server groups.
669// Properties that describe a game server group resource. A game server group
670// manages certain properties related to a corresponding EC2 Auto Scaling group. A
671// game server group is created by a successful call to CreateGameServerGroup and
672// deleted by calling DeleteGameServerGroup. Game server group activity can be
673// temporarily suspended and resumed by calling SuspendGameServerGroup and
674// ResumeGameServerGroup, respectively. Related actions CreateGameServerGroup |
675// ListGameServerGroups | DescribeGameServerGroup | UpdateGameServerGroup |
676// DeleteGameServerGroup | ResumeGameServerGroup | SuspendGameServerGroup |
677// DescribeGameServerInstances | All APIs by task
678// (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
679type GameServerGroup struct {
680
681	// A generated unique ID for the EC2 Auto Scaling group that is associated with
682	// this game server group.
683	AutoScalingGroupArn *string
684
685	// Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand
686	// Instances in the game server group. Method options include the following:
687	//
688	// *
689	// SPOT_ONLY - Only Spot Instances are used in the game server group. If Spot
690	// Instances are unavailable or not viable for game hosting, the game server group
691	// provides no hosting capacity until Spot Instances can again be used. Until then,
692	// no new instances are started, and the existing nonviable Spot Instances are
693	// terminated (after current gameplay ends) and are not replaced.
694	//
695	// * SPOT_PREFERRED
696	// - (default value) Spot Instances are used whenever available in the game server
697	// group. If Spot Instances are unavailable, the game server group continues to
698	// provide hosting capacity by falling back to On-Demand Instances. Existing
699	// nonviable Spot Instances are terminated (after current gameplay ends) and are
700	// replaced with new On-Demand Instances.
701	//
702	// * ON_DEMAND_ONLY - Only On-Demand
703	// Instances are used in the game server group. No Spot Instances are used, even
704	// when available, while this balancing strategy is in force.
705	BalancingStrategy BalancingStrategy
706
707	// A time stamp indicating when this data object was created. Format is a number
708	// expressed in Unix time as milliseconds (for example "1469498468.057").
709	CreationTime *time.Time
710
711	// A generated unique ID for the game server group.
712	GameServerGroupArn *string
713
714	// A developer-defined identifier for the game server group. The name is unique for
715	// each Region in each AWS account.
716	GameServerGroupName *string
717
718	// A flag that indicates whether instances in the game server group are protected
719	// from early termination. Unprotected instances that have active game servers
720	// running might be terminated during a scale-down event, causing players to be
721	// dropped from the game. Protected instances cannot be terminated while there are
722	// active game servers running except in the event of a forced game server group
723	// deletion (see ). An exception to this is with Spot Instances, which can be
724	// terminated by AWS regardless of protection status.
725	GameServerProtectionPolicy GameServerProtectionPolicy
726
727	// The set of EC2 instance types that GameLift FleetIQ can use when balancing and
728	// automatically scaling instances in the corresponding Auto Scaling group.
729	InstanceDefinitions []InstanceDefinition
730
731	// A timestamp that indicates when this game server group was last updated.
732	LastUpdatedTime *time.Time
733
734	// The Amazon Resource Name (ARN
735	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) for an IAM
736	// role that allows Amazon GameLift to access your EC2 Auto Scaling groups.
737	RoleArn *string
738
739	// The current status of the game server group. Possible statuses include:
740	//
741	// * NEW -
742	// GameLift FleetIQ has validated the CreateGameServerGroup() request.
743	//
744	// *
745	// ACTIVATING - GameLift FleetIQ is setting up a game server group, which includes
746	// creating an Auto Scaling group in your AWS account.
747	//
748	// * ACTIVE - The game server
749	// group has been successfully created.
750	//
751	// * DELETE_SCHEDULED - A request to delete
752	// the game server group has been received.
753	//
754	// * DELETING - GameLift FleetIQ has
755	// received a valid DeleteGameServerGroup() request and is processing it. GameLift
756	// FleetIQ must first complete and release hosts before it deletes the Auto Scaling
757	// group and the game server group.
758	//
759	// * DELETED - The game server group has been
760	// successfully deleted.
761	//
762	// * ERROR - The asynchronous processes of activating or
763	// deleting a game server group has failed, resulting in an error state.
764	Status GameServerGroupStatus
765
766	// Additional information about the current game server group status. This
767	// information might provide additional insight on groups that are in ERROR status.
768	StatusReason *string
769
770	// A list of activities that are currently suspended for this game server group. If
771	// this property is empty, all activities are occurring.
772	SuspendedActions []GameServerGroupAction
773}
774
775// This data type is used with the GameLift FleetIQ and game server groups.
776// Configuration settings for intelligent automatic scaling that uses target
777// tracking. These settings are used to add an Auto Scaling policy when creating
778// the corresponding Auto Scaling group with CreateGameServerGroup. After the Auto
779// Scaling group is created, all updates to Auto Scaling policies, including
780// changing this policy and adding or removing other policies, is done directly on
781// the Auto Scaling group.
782type GameServerGroupAutoScalingPolicy struct {
783
784	// Settings for a target-based scaling policy applied to Auto Scaling group. These
785	// settings are used to create a target-based policy that tracks the GameLift
786	// FleetIQ metric "PercentUtilizedGameServers" and specifies a target value for the
787	// metric. As player usage changes, the policy triggers to adjust the game server
788	// group capacity so that the metric returns to the target value.
789	//
790	// This member is required.
791	TargetTrackingConfiguration *TargetTrackingConfiguration
792
793	// Length of time, in seconds, it takes for a new instance to start new game server
794	// processes and register with GameLift FleetIQ. Specifying a warm-up time can be
795	// useful, particularly with game servers that take a long time to start up,
796	// because it avoids prematurely starting new instances.
797	EstimatedInstanceWarmup *int32
798}
799
800// This data type is used with the GameLift FleetIQ and game server groups.
801// Additional properties, including status, that describe an EC2 instance in a game
802// server group. Instance configurations are set with game server group properties
803// (see DescribeGameServerGroup and with the EC2 launch template that was used when
804// creating the game server group. Retrieve game server instances for a game server
805// group by calling DescribeGameServerInstances. Related actions
806// CreateGameServerGroup | ListGameServerGroups | DescribeGameServerGroup |
807// UpdateGameServerGroup | DeleteGameServerGroup | ResumeGameServerGroup |
808// SuspendGameServerGroup | DescribeGameServerInstances | All APIs by task
809// (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
810type GameServerInstance struct {
811
812	// A generated unique identifier for the game server group that includes the game
813	// server instance.
814	GameServerGroupArn *string
815
816	// A developer-defined identifier for the game server group that includes the game
817	// server instance. The name is unique for each Region in each AWS account.
818	GameServerGroupName *string
819
820	// The unique identifier for the instance where the game server is running. This ID
821	// is available in the instance metadata. EC2 instance IDs use a 17-character
822	// format, for example: i-1234567890abcdef0.
823	InstanceId *string
824
825	// Current status of the game server instance.
826	//
827	// * ACTIVE -- The instance is viable
828	// for hosting game servers.
829	//
830	// * DRAINING -- The instance is not viable for hosting
831	// game servers. Existing game servers are in the process of ending, and new game
832	// servers are not started on this instance unless no other resources are
833	// available. When the instance is put in DRAINING, a new instance is started up to
834	// replace it. Once the instance has no UTILIZED game servers, it will be
835	// terminated in favor of the new instance.
836	//
837	// * SPOT_TERMINATING -- The instance is
838	// in the process of shutting down due to a Spot instance interruption. No new game
839	// servers are started on this instance.
840	InstanceStatus GameServerInstanceStatus
841}
842
843// Properties describing a game session. A game session in ACTIVE status can host
844// players. When a game session ends, its status is set to TERMINATED. Once the
845// session ends, the game session object is retained for 30 days. This means you
846// can reuse idempotency token values after this time. Game session logs are
847// retained for 14 days. Related actions CreateGameSession | DescribeGameSessions |
848// DescribeGameSessionDetails | SearchGameSessions | UpdateGameSession |
849// GetGameSessionLogUrl | StartGameSessionPlacement | DescribeGameSessionPlacement
850// | StopGameSessionPlacement | All APIs by task
851// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
852type GameSession struct {
853
854	// A time stamp indicating when this data object was created. Format is a number
855	// expressed in Unix time as milliseconds (for example "1469498468.057").
856	CreationTime *time.Time
857
858	// A unique identifier for a player. This ID is used to enforce a resource
859	// protection policy (if one exists), that limits the number of game sessions a
860	// player can create.
861	CreatorId *string
862
863	// Number of players currently in the game session.
864	CurrentPlayerSessionCount *int32
865
866	// The DNS identifier assigned to the instance that is running the game session.
867	// Values have the following format:
868	//
869	// * TLS-enabled fleets:
870	// ..amazongamelift.com.
871	//
872	// * Non-TLS-enabled fleets: ec2-.compute.amazonaws.com.
873	// (See Amazon EC2 Instance IP Addressing
874	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses).)
875	//
876	// When
877	// connecting to a game session that is running on a TLS-enabled fleet, you must
878	// use the DNS name, not the IP address.
879	DnsName *string
880
881	// The Amazon Resource Name (ARN
882	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) associated
883	// with the GameLift fleet that this game session is running on.
884	FleetArn *string
885
886	// A unique identifier for the fleet that the game session is running on.
887	FleetId *string
888
889	// A set of custom properties for a game session, formatted as key:value pairs.
890	// These properties are passed to a game server process in the GameSession object
891	// with a request to start a new game session. You can search for active game
892	// sessions based on this custom data with SearchGameSessions.
893	GameProperties []GameProperty
894
895	// A set of custom game session properties, formatted as a single string value.
896	// This data is passed to a game server process in the GameSession object with a
897	// request to start a new game session.
898	GameSessionData *string
899
900	// A unique identifier for the game session. A game session ARN has the following
901	// format: arn:aws:gamelift:::gamesession//.
902	GameSessionId *string
903
904	// The IP address of the game session. To connect to a GameLift game server, an app
905	// needs both the IP address and port number.
906	IpAddress *string
907
908	// The fleet location where the game session is running. This value might specify
909	// the fleet's home Region or a remote location. Location is expressed as an AWS
910	// Region code such as us-west-2.
911	Location *string
912
913	// Information about the matchmaking process that was used to create the game
914	// session. It is in JSON syntax, formatted as a string. In addition the
915	// matchmaking configuration used, it contains data on all players assigned to the
916	// match, including player attributes and team assignments. For more details on
917	// matchmaker data, see Match Data
918	// (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-server.html#match-server-data).
919	// Matchmaker data is useful when requesting match backfills, and is updated
920	// whenever new players are added during a successful backfill (see
921	// StartMatchBackfill).
922	MatchmakerData *string
923
924	// The maximum number of players that can be connected simultaneously to the game
925	// session.
926	MaximumPlayerSessionCount *int32
927
928	// A descriptive label that is associated with a game session. Session names do not
929	// need to be unique.
930	Name *string
931
932	// Indicates whether or not the game session is accepting new players.
933	PlayerSessionCreationPolicy PlayerSessionCreationPolicy
934
935	// The port number for the game session. To connect to a GameLift game server, an
936	// app needs both the IP address and port number.
937	Port *int32
938
939	// Current status of the game session. A game session must have an ACTIVE status to
940	// have player sessions.
941	Status GameSessionStatus
942
943	// Provides additional information about game session status. INTERRUPTED indicates
944	// that the game session was hosted on a spot instance that was reclaimed, causing
945	// the active game session to be terminated.
946	StatusReason GameSessionStatusReason
947
948	// A time stamp indicating when this data object was terminated. Format is a number
949	// expressed in Unix time as milliseconds (for example "1469498468.057").
950	TerminationTime *time.Time
951}
952
953// Connection information for a new game session that is created in response to a
954// StartMatchmaking request. Once a match is made, the FlexMatch engine creates a
955// new game session for it. This information, including the game session endpoint
956// and player sessions for each player in the original matchmaking request, is
957// added to the MatchmakingTicket, which can be retrieved by calling
958// DescribeMatchmaking.
959type GameSessionConnectionInfo struct {
960
961	// The DNS identifier assigned to the instance that is running the game session.
962	// Values have the following format:
963	//
964	// * TLS-enabled fleets:
965	// ..amazongamelift.com.
966	//
967	// * Non-TLS-enabled fleets: ec2-.compute.amazonaws.com.
968	// (See Amazon EC2 Instance IP Addressing
969	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses).)
970	//
971	// When
972	// connecting to a game session that is running on a TLS-enabled fleet, you must
973	// use the DNS name, not the IP address.
974	DnsName *string
975
976	// A unique identifier for the game session. Use the game session ID.
977	GameSessionArn *string
978
979	// The IP address of the game session. To connect to a GameLift game server, an app
980	// needs both the IP address and port number.
981	IpAddress *string
982
983	// A collection of player session IDs, one for each player ID that was included in
984	// the original matchmaking request.
985	MatchedPlayerSessions []MatchedPlayerSession
986
987	// The port number for the game session. To connect to a GameLift game server, an
988	// app needs both the IP address and port number.
989	Port *int32
990}
991
992// A game session's properties plus the protection policy currently in force.
993type GameSessionDetail struct {
994
995	// Object that describes a game session.
996	GameSession *GameSession
997
998	// Current status of protection for the game session.
999	//
1000	// * NoProtection -- The game
1001	// session can be terminated during a scale-down event.
1002	//
1003	// * FullProtection -- If the
1004	// game session is in an ACTIVE status, it cannot be terminated during a scale-down
1005	// event.
1006	ProtectionPolicy ProtectionPolicy
1007}
1008
1009// Object that describes a StartGameSessionPlacement request. This object includes
1010// the full details of the original request plus the current status and start/end
1011// time stamps. Game session placement-related operations include:
1012//
1013// *
1014// StartGameSessionPlacement
1015//
1016// * DescribeGameSessionPlacement
1017//
1018// *
1019// StopGameSessionPlacement
1020type GameSessionPlacement struct {
1021
1022	// The DNS identifier assigned to the instance that is running the game session.
1023	// Values have the following format:
1024	//
1025	// * TLS-enabled fleets:
1026	// ..amazongamelift.com.
1027	//
1028	// * Non-TLS-enabled fleets: ec2-.compute.amazonaws.com.
1029	// (See Amazon EC2 Instance IP Addressing
1030	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses).)
1031	//
1032	// When
1033	// connecting to a game session that is running on a TLS-enabled fleet, you must
1034	// use the DNS name, not the IP address.
1035	DnsName *string
1036
1037	// Time stamp indicating when this request was completed, canceled, or timed out.
1038	EndTime *time.Time
1039
1040	// A set of custom properties for a game session, formatted as key:value pairs.
1041	// These properties are passed to a game server process in the GameSession object
1042	// with a request to start a new game session (see Start a Game Session
1043	// (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
1044	GameProperties []GameProperty
1045
1046	// Identifier for the game session created by this placement request. This value is
1047	// set once the new game session is placed (placement status is FULFILLED). This
1048	// identifier is unique across all Regions. You can use this value as a
1049	// GameSessionId value as needed.
1050	GameSessionArn *string
1051
1052	// A set of custom game session properties, formatted as a single string value.
1053	// This data is passed to a game server process in the GameSession object with a
1054	// request to start a new game session (see Start a Game Session
1055	// (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
1056	GameSessionData *string
1057
1058	// A unique identifier for the game session. This value is set once the new game
1059	// session is placed (placement status is FULFILLED).
1060	GameSessionId *string
1061
1062	// A descriptive label that is associated with a game session. Session names do not
1063	// need to be unique.
1064	GameSessionName *string
1065
1066	// A descriptive label that is associated with game session queue. Queue names must
1067	// be unique within each Region.
1068	GameSessionQueueName *string
1069
1070	// Name of the Region where the game session created by this placement request is
1071	// running. This value is set once the new game session is placed (placement status
1072	// is FULFILLED).
1073	GameSessionRegion *string
1074
1075	// The IP address of the game session. To connect to a GameLift game server, an app
1076	// needs both the IP address and port number. This value is set once the new game
1077	// session is placed (placement status is FULFILLED).
1078	IpAddress *string
1079
1080	// Information on the matchmaking process for this game. Data is in JSON syntax,
1081	// formatted as a string. It identifies the matchmaking configuration used to
1082	// create the match, and contains data on all players assigned to the match,
1083	// including player attributes and team assignments. For more details on matchmaker
1084	// data, see Match Data
1085	// (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-server.html#match-server-data).
1086	MatchmakerData *string
1087
1088	// The maximum number of players that can be connected simultaneously to the game
1089	// session.
1090	MaximumPlayerSessionCount *int32
1091
1092	// A collection of information on player sessions created in response to the game
1093	// session placement request. These player sessions are created only once a new
1094	// game session is successfully placed (placement status is FULFILLED). This
1095	// information includes the player ID (as provided in the placement request) and
1096	// the corresponding player session ID. Retrieve full player sessions by calling
1097	// DescribePlayerSessions with the player session ID.
1098	PlacedPlayerSessions []PlacedPlayerSession
1099
1100	// A unique identifier for a game session placement.
1101	PlacementId *string
1102
1103	// A set of values, expressed in milliseconds, that indicates the amount of latency
1104	// that a player experiences when connected to AWS Regions.
1105	PlayerLatencies []PlayerLatency
1106
1107	// The port number for the game session. To connect to a GameLift game server, an
1108	// app needs both the IP address and port number. This value is set once the new
1109	// game session is placed (placement status is FULFILLED).
1110	Port *int32
1111
1112	// Time stamp indicating when this request was placed in the queue. Format is a
1113	// number expressed in Unix time as milliseconds (for example "1469498468.057").
1114	StartTime *time.Time
1115
1116	// Current status of the game session placement request.
1117	//
1118	// * PENDING -- The
1119	// placement request is currently in the queue waiting to be processed.
1120	//
1121	// *
1122	// FULFILLED -- A new game session and player sessions (if requested) have been
1123	// successfully created. Values for GameSessionArn and GameSessionRegion are
1124	// available.
1125	//
1126	// * CANCELLED -- The placement request was canceled with a call to
1127	// StopGameSessionPlacement.
1128	//
1129	// * TIMED_OUT -- A new game session was not
1130	// successfully created before the time limit expired. You can resubmit the
1131	// placement request as needed.
1132	//
1133	// * FAILED -- GameLift is not able to complete the
1134	// process of placing the game session. Common reasons are the game session
1135	// terminated before the placement process was completed, or an unexpected internal
1136	// error.
1137	Status GameSessionPlacementState
1138}
1139
1140// Configuration for a game session placement mechanism that processes requests for
1141// new game sessions. A queue can be used on its own or as part of a matchmaking
1142// solution. Related actions CreateGameSessionQueue | DescribeGameSessionQueues |
1143// UpdateGameSessionQueue
1144type GameSessionQueue struct {
1145
1146	// Information that is added to all events that are related to this game session
1147	// queue.
1148	CustomEventData *string
1149
1150	// A list of fleets and/or fleet aliases that can be used to fulfill game session
1151	// placement requests in the queue. Destinations are identified by either a fleet
1152	// ARN or a fleet alias ARN, and are listed in order of placement preference.
1153	Destinations []GameSessionQueueDestination
1154
1155	// A list of locations where a queue is allowed to place new game sessions.
1156	// Locations are specified in the form of AWS Region codes, such as us-west-2. If
1157	// this parameter is not set, game sessions can be placed in any queue location.
1158	FilterConfiguration *FilterConfiguration
1159
1160	// The Amazon Resource Name (ARN
1161	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) that is
1162	// assigned to a GameLift game session queue resource and uniquely identifies it.
1163	// ARNs are unique across all Regions. Format is
1164	// arn:aws:gamelift:::gamesessionqueue/. In a GameLift game session queue ARN, the
1165	// resource ID matches the Name value.
1166	GameSessionQueueArn *string
1167
1168	// A descriptive label that is associated with game session queue. Queue names must
1169	// be unique within each Region.
1170	Name *string
1171
1172	// An SNS topic ARN that is set up to receive game session placement notifications.
1173	// See  Setting up notifications for game session placement
1174	// (https://docs.aws.amazon.com/gamelift/latest/developerguide/queue-notification.html).
1175	NotificationTarget *string
1176
1177	// A set of policies that act as a sliding cap on player latency. FleetIQ works to
1178	// deliver low latency for most players in a game session. These policies ensure
1179	// that no individual player can be placed into a game with unreasonably high
1180	// latency. Use multiple policies to gradually relax latency requirements a step at
1181	// a time. Multiple policies are applied based on their maximum allowed latency,
1182	// starting with the lowest value.
1183	PlayerLatencyPolicies []PlayerLatencyPolicy
1184
1185	// Custom settings to use when prioritizing destinations and locations for game
1186	// session placements. This configuration replaces the FleetIQ default
1187	// prioritization process. Priority types that are not explicitly named will be
1188	// automatically applied at the end of the prioritization process.
1189	PriorityConfiguration *PriorityConfiguration
1190
1191	// The maximum time, in seconds, that a new game session placement request remains
1192	// in the queue. When a request exceeds this time, the game session placement
1193	// changes to a TIMED_OUT status.
1194	TimeoutInSeconds *int32
1195}
1196
1197// A fleet or alias designated in a game session queue. Queues fulfill requests for
1198// new game sessions by placing a new game session on any of the queue's
1199// destinations. Destinations are part of a GameSessionQueue.
1200type GameSessionQueueDestination struct {
1201
1202	// The Amazon Resource Name (ARN) that is assigned to fleet or fleet alias. ARNs,
1203	// which include a fleet ID or alias ID and a Region name, provide a unique
1204	// identifier across all Regions.
1205	DestinationArn *string
1206}
1207
1208// Represents an EC2 instance of virtual computing resources that hosts one or more
1209// game servers. In GameLift, a fleet can contain zero or more instances. Related
1210// actions DescribeInstances
1211type Instance struct {
1212
1213	// A time stamp indicating when this data object was created. Format is a number
1214	// expressed in Unix time as milliseconds (for example "1469498468.057").
1215	CreationTime *time.Time
1216
1217	// The DNS identifier assigned to the instance that is running the game session.
1218	// Values have the following format:
1219	//
1220	// * TLS-enabled fleets:
1221	// ..amazongamelift.com.
1222	//
1223	// * Non-TLS-enabled fleets: ec2-.compute.amazonaws.com.
1224	// (See Amazon EC2 Instance IP Addressing
1225	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses).)
1226	//
1227	// When
1228	// connecting to a game session that is running on a TLS-enabled fleet, you must
1229	// use the DNS name, not the IP address.
1230	DnsName *string
1231
1232	// The Amazon Resource Name (ARN
1233	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) that is
1234	// assigned to a GameLift fleet resource and uniquely identifies it. ARNs are
1235	// unique across all Regions. Format is
1236	// arn:aws:gamelift:::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
1237	FleetArn *string
1238
1239	// A unique identifier for the fleet that the instance is in.
1240	FleetId *string
1241
1242	// A unique identifier for the instance.
1243	InstanceId *string
1244
1245	// IP address that is assigned to the instance.
1246	IpAddress *string
1247
1248	// The fleet location of the instance, expressed as an AWS Region code, such as
1249	// us-west-2.
1250	Location *string
1251
1252	// Operating system that is running on this instance.
1253	OperatingSystem OperatingSystem
1254
1255	// Current status of the instance. Possible statuses include the following:
1256	//
1257	// *
1258	// PENDING -- The instance is in the process of being created and launching server
1259	// processes as defined in the fleet's run-time configuration.
1260	//
1261	// * ACTIVE -- The
1262	// instance has been successfully created and at least one server process has
1263	// successfully launched and reported back to GameLift that it is ready to host a
1264	// game session. The instance is now considered ready to host game sessions.
1265	//
1266	// *
1267	// TERMINATING -- The instance is in the process of shutting down. This may happen
1268	// to reduce capacity during a scaling down event or to recycle resources in the
1269	// event of a problem.
1270	Status InstanceStatus
1271
1272	// EC2 instance type that defines the computing resources of this instance.
1273	Type EC2InstanceType
1274}
1275
1276// Information required to remotely connect to a fleet instance. Access is
1277// requested by calling GetInstanceAccess.
1278type InstanceAccess struct {
1279
1280	// Credentials required to access the instance.
1281	Credentials *InstanceCredentials
1282
1283	// A unique identifier for the fleet containing the instance being accessed.
1284	FleetId *string
1285
1286	// A unique identifier for the instance being accessed.
1287	InstanceId *string
1288
1289	// IP address that is assigned to the instance.
1290	IpAddress *string
1291
1292	// Operating system that is running on the instance.
1293	OperatingSystem OperatingSystem
1294}
1295
1296// Set of credentials required to remotely access a fleet instance. Access
1297// credentials are requested by calling GetInstanceAccess and returned in an
1298// InstanceAccess object.
1299type InstanceCredentials struct {
1300
1301	// Secret string. For Windows instances, the secret is a password for use with
1302	// Windows Remote Desktop. For Linux instances, it is a private key (which must be
1303	// saved as a .pem file) for use with SSH.
1304	Secret *string
1305
1306	// User login string.
1307	UserName *string
1308}
1309
1310// This data type is used with the GameLift FleetIQ and game server groups. An
1311// allowed instance type for a GameServerGroup. All game server groups must have at
1312// least two instance types defined for it. GameLift FleetIQ periodically evaluates
1313// each defined instance type for viability. It then updates the Auto Scaling group
1314// with the list of viable instance types.
1315type InstanceDefinition struct {
1316
1317	// An EC2 instance type designation.
1318	//
1319	// This member is required.
1320	InstanceType GameServerGroupInstanceType
1321
1322	// Instance weighting that indicates how much this instance type contributes to the
1323	// total capacity of a game server group. Instance weights are used by GameLift
1324	// FleetIQ to calculate the instance type's cost per unit hour and better identify
1325	// the most cost-effective options. For detailed information on weighting instance
1326	// capacity, see Instance Weighting
1327	// (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-weighting.html)
1328	// in the Amazon EC2 Auto Scaling User Guide. Default value is "1".
1329	WeightedCapacity *string
1330}
1331
1332// A range of IP addresses and port settings that allow inbound traffic to connect
1333// to server processes on an instance in a fleet. New game sessions are assigned an
1334// IP address/port number combination, which must fall into the fleet's allowed
1335// ranges. Fleets with custom game builds must have permissions explicitly set. For
1336// Realtime Servers fleets, GameLift automatically opens two port ranges, one for
1337// TCP messaging and one for UDP. Related actions DescribeFleetPortSettings
1338type IpPermission struct {
1339
1340	// A starting value for a range of allowed port numbers.
1341	//
1342	// This member is required.
1343	FromPort *int32
1344
1345	// A range of allowed IP addresses. This value must be expressed in CIDR notation.
1346	// Example: "000.000.000.000/[subnet mask]" or optionally the shortened version
1347	// "0.0.0.0/[subnet mask]".
1348	//
1349	// This member is required.
1350	IpRange *string
1351
1352	// The network communication protocol used by the fleet.
1353	//
1354	// This member is required.
1355	Protocol IpProtocol
1356
1357	// An ending value for a range of allowed port numbers. Port numbers are
1358	// end-inclusive. This value must be higher than FromPort.
1359	//
1360	// This member is required.
1361	ToPort *int32
1362}
1363
1364// This data type is used with the GameLift FleetIQ and game server groups. An EC2
1365// launch template that contains configuration settings and game server code to be
1366// deployed to all instances in a game server group. The launch template is
1367// specified when creating a new game server group with CreateGameServerGroup.
1368type LaunchTemplateSpecification struct {
1369
1370	// A unique identifier for an existing EC2 launch template.
1371	LaunchTemplateId *string
1372
1373	// A readable identifier for an existing EC2 launch template.
1374	LaunchTemplateName *string
1375
1376	// The version of the EC2 launch template to use. If no version is specified, the
1377	// default version will be used. With Amazon EC2, you can specify a default version
1378	// for a launch template. If none is set, the default is the first version created.
1379	Version *string
1380}
1381
1382// Represents a location in a multi-location fleet. Related actions
1383// DescribeFleetLocationAttributes
1384type LocationAttributes struct {
1385
1386	// A fleet location and its current life-cycle state.
1387	LocationState *LocationState
1388
1389	// A list of fleet actions that have been suspended in the fleet location.
1390	StoppedActions []FleetAction
1391
1392	// The status of fleet activity updates to the location. The status PENDING_UPDATE
1393	// indicates that StopFleetActions or StartFleetActions has been requested but the
1394	// update has not yet been completed for the location.
1395	UpdateStatus LocationUpdateStatus
1396}
1397
1398// A remote location where a multi-location fleet can deploy EC2 instances for game
1399// hosting. Related actions CreateFleet
1400type LocationConfiguration struct {
1401
1402	// An AWS Region code, such as us-west-2.
1403	Location *string
1404}
1405
1406// A fleet location and its life-cycle state. A location state object might be used
1407// to describe a fleet's remote location or home Region. Life-cycle state tracks
1408// the progress of launching the first instance in a new location and preparing it
1409// for game hosting, and then removing all instances and deleting the location from
1410// the fleet. Related actions CreateFleet | CreateFleetLocations |
1411// DeleteFleetLocations
1412type LocationState struct {
1413
1414	// The fleet location, expressed as an AWS Region code such as us-west-2.
1415	Location *string
1416
1417	// The life-cycle status of a fleet location.
1418	Status FleetStatus
1419}
1420
1421// Represents a new player session that is created as a result of a successful
1422// FlexMatch match. A successful match automatically creates new player sessions
1423// for every player ID in the original matchmaking request. When players connect to
1424// the match's game session, they must include both player ID and player session ID
1425// in order to claim their assigned player slot.
1426type MatchedPlayerSession struct {
1427
1428	// A unique identifier for a player
1429	PlayerId *string
1430
1431	// A unique identifier for a player session
1432	PlayerSessionId *string
1433}
1434
1435// Guidelines for use with FlexMatch to match players into games. All matchmaking
1436// requests must specify a matchmaking configuration.
1437type MatchmakingConfiguration struct {
1438
1439	// A flag that indicates whether a match that was created with this configuration
1440	// must be accepted by the matched players. To require acceptance, set to TRUE.
1441	// When this option is enabled, matchmaking tickets use the status
1442	// REQUIRES_ACCEPTANCE to indicate when a completed potential match is waiting for
1443	// player acceptance.
1444	AcceptanceRequired *bool
1445
1446	// The length of time (in seconds) to wait for players to accept a proposed match,
1447	// if acceptance is required. If any player rejects the match or fails to accept
1448	// before the timeout, the ticket continues to look for an acceptable match.
1449	AcceptanceTimeoutSeconds *int32
1450
1451	// The number of player slots in a match to keep open for future players. For
1452	// example, if the configuration's rule set specifies a match for a single
1453	// 12-person team, and the additional player count is set to 2, only 10 players are
1454	// selected for the match. This parameter is not used when FlexMatchMode is set to
1455	// STANDALONE.
1456	AdditionalPlayerCount *int32
1457
1458	// The method used to backfill game sessions created with this matchmaking
1459	// configuration. MANUAL indicates that the game makes backfill requests or does
1460	// not use the match backfill feature. AUTOMATIC indicates that GameLift creates
1461	// StartMatchBackfill requests whenever a game session has one or more open slots.
1462	// Learn more about manual and automatic backfill in Backfill existing games with
1463	// FlexMatch
1464	// (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html).
1465	// Automatic backfill is not available when FlexMatchMode is set to STANDALONE.
1466	BackfillMode BackfillMode
1467
1468	// The Amazon Resource Name (ARN
1469	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) that is
1470	// assigned to a GameLift matchmaking configuration resource and uniquely
1471	// identifies it. ARNs are unique across all Regions. Format is
1472	// arn:aws:gamelift:::matchmakingconfiguration/. In a GameLift configuration ARN,
1473	// the resource ID matches the Name value.
1474	ConfigurationArn *string
1475
1476	// A time stamp indicating when this data object was created. Format is a number
1477	// expressed in Unix time as milliseconds (for example "1469498468.057").
1478	CreationTime *time.Time
1479
1480	// Information to attach to all events related to the matchmaking configuration.
1481	CustomEventData *string
1482
1483	// A descriptive label that is associated with matchmaking configuration.
1484	Description *string
1485
1486	// Indicates whether this matchmaking configuration is being used with GameLift
1487	// hosting or as a standalone matchmaking solution.
1488	//
1489	// * STANDALONE - FlexMatch forms
1490	// matches and returns match information, including players and team assignments,
1491	// in a  MatchmakingSucceeded
1492	// (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-events.html#match-events-matchmakingsucceeded)
1493	// event.
1494	//
1495	// * WITH_QUEUE - FlexMatch forms matches and uses the specified GameLift
1496	// queue to start a game session for the match.
1497	FlexMatchMode FlexMatchMode
1498
1499	// A set of custom properties for a game session, formatted as key:value pairs.
1500	// These properties are passed to a game server process in the GameSession object
1501	// with a request to start a new game session (see Start a Game Session
1502	// (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
1503	// This information is added to the new GameSession object that is created for a
1504	// successful match. This parameter is not used when FlexMatchMode is set to
1505	// STANDALONE.
1506	GameProperties []GameProperty
1507
1508	// A set of custom game session properties, formatted as a single string value.
1509	// This data is passed to a game server process in the GameSession object with a
1510	// request to start a new game session (see Start a Game Session
1511	// (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
1512	// This information is added to the new GameSession object that is created for a
1513	// successful match. This parameter is not used when FlexMatchMode is set to
1514	// STANDALONE.
1515	GameSessionData *string
1516
1517	// The Amazon Resource Name (ARN
1518	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) that is
1519	// assigned to a GameLift game session queue resource and uniquely identifies it.
1520	// ARNs are unique across all Regions. Format is
1521	// arn:aws:gamelift:::gamesessionqueue/. Queues can be located in any Region.
1522	// Queues are used to start new GameLift-hosted game sessions for matches that are
1523	// created with this matchmaking configuration. This property is not set when
1524	// FlexMatchMode is set to STANDALONE.
1525	GameSessionQueueArns []string
1526
1527	// A unique identifier for the matchmaking configuration. This name is used to
1528	// identify the configuration associated with a matchmaking request or ticket.
1529	Name *string
1530
1531	// An SNS topic ARN that is set up to receive matchmaking notifications.
1532	NotificationTarget *string
1533
1534	// The maximum duration, in seconds, that a matchmaking ticket can remain in
1535	// process before timing out. Requests that fail due to timing out can be
1536	// resubmitted as needed.
1537	RequestTimeoutSeconds *int32
1538
1539	// The Amazon Resource Name (ARN
1540	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) associated
1541	// with the GameLift matchmaking rule set resource that this configuration uses.
1542	RuleSetArn *string
1543
1544	// A unique identifier for the matchmaking rule set to use with this configuration.
1545	// A matchmaking configuration can only use rule sets that are defined in the same
1546	// Region.
1547	RuleSetName *string
1548}
1549
1550// Set of rule statements, used with FlexMatch, that determine how to build your
1551// player matches. Each rule set describes a type of group to be created and
1552// defines the parameters for acceptable player matches. Rule sets are used in
1553// MatchmakingConfiguration objects. A rule set may define the following elements
1554// for a match. For detailed information and examples showing how to construct a
1555// rule set, see Build a FlexMatch rule set
1556// (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-rulesets.html).
1557//
1558// *
1559// Teams -- Required. A rule set must define one or multiple teams for the match
1560// and set minimum and maximum team sizes. For example, a rule set might describe a
1561// 4x4 match that requires all eight slots to be filled.
1562//
1563// * Player attributes --
1564// Optional. These attributes specify a set of player characteristics to evaluate
1565// when looking for a match. Matchmaking requests that use a rule set with player
1566// attributes must provide the corresponding attribute values. For example, an
1567// attribute might specify a player's skill or level.
1568//
1569// * Rules -- Optional. Rules
1570// define how to evaluate potential players for a match based on player attributes.
1571// A rule might specify minimum requirements for individual players, teams, or
1572// entire matches. For example, a rule might require each player to meet a certain
1573// skill level, each team to have at least one player in a certain role, or the
1574// match to have a minimum average skill level. or may describe an entire
1575// group--such as all teams must be evenly matched or have at least one player in a
1576// certain role.
1577//
1578// * Expansions -- Optional. Expansions allow you to relax the rules
1579// after a period of time when no acceptable matches are found. This feature lets
1580// you balance getting players into games in a reasonable amount of time instead of
1581// making them wait indefinitely for the best possible match. For example, you
1582// might use an expansion to increase the maximum skill variance between players
1583// after 30 seconds.
1584type MatchmakingRuleSet struct {
1585
1586	// A collection of matchmaking rules, formatted as a JSON string. Comments are not
1587	// allowed in JSON, but most elements support a description field.
1588	//
1589	// This member is required.
1590	RuleSetBody *string
1591
1592	// A time stamp indicating when this data object was created. Format is a number
1593	// expressed in Unix time as milliseconds (for example "1469498468.057").
1594	CreationTime *time.Time
1595
1596	// The Amazon Resource Name (ARN
1597	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) that is
1598	// assigned to a GameLift matchmaking rule set resource and uniquely identifies it.
1599	// ARNs are unique across all Regions. Format is
1600	// arn:aws:gamelift:::matchmakingruleset/. In a GameLift rule set ARN, the resource
1601	// ID matches the RuleSetName value.
1602	RuleSetArn *string
1603
1604	// A unique identifier for the matchmaking rule set
1605	RuleSetName *string
1606}
1607
1608// Ticket generated to track the progress of a matchmaking request. Each ticket is
1609// uniquely identified by a ticket ID, supplied by the requester, when creating a
1610// matchmaking request with StartMatchmaking. Tickets can be retrieved by calling
1611// DescribeMatchmaking with the ticket ID.
1612type MatchmakingTicket struct {
1613
1614	// The Amazon Resource Name (ARN
1615	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) associated
1616	// with the GameLift matchmaking configuration resource that is used with this
1617	// ticket.
1618	ConfigurationArn *string
1619
1620	// Name of the MatchmakingConfiguration that is used with this ticket. Matchmaking
1621	// configurations determine how players are grouped into a match and how a new game
1622	// session is created for the match.
1623	ConfigurationName *string
1624
1625	// Time stamp indicating when this matchmaking request stopped being processed due
1626	// to success, failure, or cancellation. Format is a number expressed in Unix time
1627	// as milliseconds (for example "1469498468.057").
1628	EndTime *time.Time
1629
1630	// Average amount of time (in seconds) that players are currently waiting for a
1631	// match. If there is not enough recent data, this property may be empty.
1632	EstimatedWaitTime *int32
1633
1634	// Identifier and connection information of the game session created for the match.
1635	// This information is added to the ticket only after the matchmaking request has
1636	// been successfully completed. This parameter is not set when FlexMatch is being
1637	// used without GameLift hosting.
1638	GameSessionConnectionInfo *GameSessionConnectionInfo
1639
1640	// A set of Player objects, each representing a player to find matches for. Players
1641	// are identified by a unique player ID and may include latency data for use during
1642	// matchmaking. If the ticket is in status COMPLETED, the Player objects include
1643	// the team the players were assigned to in the resulting match.
1644	Players []Player
1645
1646	// Time stamp indicating when this matchmaking request was received. Format is a
1647	// number expressed in Unix time as milliseconds (for example "1469498468.057").
1648	StartTime *time.Time
1649
1650	// Current status of the matchmaking request.
1651	//
1652	// * QUEUED -- The matchmaking request
1653	// has been received and is currently waiting to be processed.
1654	//
1655	// * SEARCHING -- The
1656	// matchmaking request is currently being processed.
1657	//
1658	// * REQUIRES_ACCEPTANCE -- A
1659	// match has been proposed and the players must accept the match (see AcceptMatch).
1660	// This status is used only with requests that use a matchmaking configuration with
1661	// a player acceptance requirement.
1662	//
1663	// * PLACING -- The FlexMatch engine has matched
1664	// players and is in the process of placing a new game session for the match.
1665	//
1666	// *
1667	// COMPLETED -- Players have been matched and a game session is ready to host the
1668	// players. A ticket in this state contains the necessary connection information
1669	// for players.
1670	//
1671	// * FAILED -- The matchmaking request was not completed.
1672	//
1673	// *
1674	// CANCELLED -- The matchmaking request was canceled. This may be the result of a
1675	// call to StopMatchmaking or a proposed match that one or more players failed to
1676	// accept.
1677	//
1678	// * TIMED_OUT -- The matchmaking request was not successful within the
1679	// duration specified in the matchmaking configuration.
1680	//
1681	// Matchmaking requests that
1682	// fail to successfully complete (statuses FAILED, CANCELLED, TIMED_OUT) can be
1683	// resubmitted as new requests with new ticket IDs.
1684	Status MatchmakingConfigurationStatus
1685
1686	// Additional information about the current status.
1687	StatusMessage *string
1688
1689	// Code to explain the current status. For example, a status reason may indicate
1690	// when a ticket has returned to SEARCHING status after a proposed match fails to
1691	// receive player acceptances.
1692	StatusReason *string
1693
1694	// A unique identifier for a matchmaking ticket.
1695	TicketId *string
1696}
1697
1698// Information about a player session that was created as part of a
1699// StartGameSessionPlacement request. This object contains only the player ID and
1700// player session ID. To retrieve full details on a player session, call
1701// DescribePlayerSessions with the player session ID. Related actions
1702// CreatePlayerSession | CreatePlayerSessions | DescribePlayerSessions |
1703// StartGameSessionPlacement | DescribeGameSessionPlacement |
1704// StopGameSessionPlacement | All APIs by task
1705// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
1706type PlacedPlayerSession struct {
1707
1708	// A unique identifier for a player that is associated with this player session.
1709	PlayerId *string
1710
1711	// A unique identifier for a player session.
1712	PlayerSessionId *string
1713}
1714
1715// Represents a player in matchmaking. When starting a matchmaking request, a
1716// player has a player ID, attributes, and may have latency data. Team information
1717// is added after a match has been successfully completed.
1718type Player struct {
1719
1720	// A set of values, expressed in milliseconds, that indicates the amount of latency
1721	// that a player experiences when connected to AWS Regions. If this property is
1722	// present, FlexMatch considers placing the match only in Regions for which latency
1723	// is reported. If a matchmaker has a rule that evaluates player latency, players
1724	// must report latency in order to be matched. If no latency is reported in this
1725	// scenario, FlexMatch assumes that no Regions are available to the player and the
1726	// ticket is not matchable.
1727	LatencyInMs map[string]int32
1728
1729	// A collection of key:value pairs containing player information for use in
1730	// matchmaking. Player attribute keys must match the playerAttributes used in a
1731	// matchmaking rule set. Example: "PlayerAttributes": {"skill": {"N": "23"},
1732	// "gameMode": {"S": "deathmatch"}}.
1733	PlayerAttributes map[string]AttributeValue
1734
1735	// A unique identifier for a player
1736	PlayerId *string
1737
1738	// Name of the team that the player is assigned to in a match. Team names are
1739	// defined in a matchmaking rule set.
1740	Team *string
1741}
1742
1743// Regional latency information for a player, used when requesting a new game
1744// session with StartGameSessionPlacement. This value indicates the amount of time
1745// lag that exists when the player is connected to a fleet in the specified Region.
1746// The relative difference between a player's latency values for multiple Regions
1747// are used to determine which fleets are best suited to place a new game session
1748// for the player.
1749type PlayerLatency struct {
1750
1751	// Amount of time that represents the time lag experienced by the player when
1752	// connected to the specified Region.
1753	LatencyInMilliseconds float32
1754
1755	// A unique identifier for a player associated with the latency data.
1756	PlayerId *string
1757
1758	// Name of the Region that is associated with the latency value.
1759	RegionIdentifier *string
1760}
1761
1762// Sets a latency cap for individual players when placing a game session. With a
1763// latency policy in force, a game session cannot be placed in a fleet location
1764// where a player reports latency higher than the cap. Latency policies are used
1765// only with placement request that provide player latency information. Player
1766// latency policies can be stacked to gradually relax latency requirements over
1767// time. Latency policies are part of a GameSessionQueue.
1768type PlayerLatencyPolicy struct {
1769
1770	// The maximum latency value that is allowed for any player, in milliseconds. All
1771	// policies must have a value set for this property.
1772	MaximumIndividualPlayerLatencyMilliseconds *int32
1773
1774	// The length of time, in seconds, that the policy is enforced while placing a new
1775	// game session. A null value for this property means that the policy is enforced
1776	// until the queue times out.
1777	PolicyDurationSeconds *int32
1778}
1779
1780// Represents a player session. Player sessions are created either for a specific
1781// game session, or as part of a game session placement or matchmaking request. A
1782// player session can represents a reserved player slot in a game session (when
1783// status is RESERVED) or actual player activity in a game session (when status is
1784// ACTIVE). A player session object, including player data, is automatically passed
1785// to a game session when the player connects to the game session and is validated.
1786// After the game session ends, player sessions information is retained for 30 days
1787// and then removed. Related actions CreatePlayerSession | CreatePlayerSessions |
1788// DescribePlayerSessions | StartGameSessionPlacement |
1789// DescribeGameSessionPlacement | All APIs by task
1790// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
1791type PlayerSession struct {
1792
1793	// A time stamp indicating when this data object was created. Format is a number
1794	// expressed in Unix time as milliseconds (for example "1469498468.057").
1795	CreationTime *time.Time
1796
1797	// The DNS identifier assigned to the instance that is running the game session.
1798	// Values have the following format:
1799	//
1800	// * TLS-enabled fleets:
1801	// ..amazongamelift.com.
1802	//
1803	// * Non-TLS-enabled fleets: ec2-.compute.amazonaws.com.
1804	// (See Amazon EC2 Instance IP Addressing
1805	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses).)
1806	//
1807	// When
1808	// connecting to a game session that is running on a TLS-enabled fleet, you must
1809	// use the DNS name, not the IP address.
1810	DnsName *string
1811
1812	// The Amazon Resource Name (ARN
1813	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) associated
1814	// with the GameLift fleet that the player's game session is running on.
1815	FleetArn *string
1816
1817	// A unique identifier for the fleet that the player's game session is running on.
1818	FleetId *string
1819
1820	// A unique identifier for the game session that the player session is connected
1821	// to.
1822	GameSessionId *string
1823
1824	// The IP address of the game session. To connect to a GameLift game server, an app
1825	// needs both the IP address and port number.
1826	IpAddress *string
1827
1828	// Developer-defined information related to a player. GameLift does not use this
1829	// data, so it can be formatted as needed for use in the game.
1830	PlayerData *string
1831
1832	// A unique identifier for a player that is associated with this player session.
1833	PlayerId *string
1834
1835	// A unique identifier for a player session.
1836	PlayerSessionId *string
1837
1838	// Port number for the game session. To connect to a Amazon GameLift server
1839	// process, an app needs both the IP address and port number.
1840	Port *int32
1841
1842	// Current status of the player session. Possible player session statuses include
1843	// the following:
1844	//
1845	// * RESERVED -- The player session request has been received, but
1846	// the player has not yet connected to the server process and/or been validated.
1847	//
1848	// *
1849	// ACTIVE -- The player has been validated by the server process and is currently
1850	// connected.
1851	//
1852	// * COMPLETED -- The player connection has been dropped.
1853	//
1854	// * TIMEDOUT
1855	// -- A player session request was received, but the player did not connect and/or
1856	// was not validated within the timeout limit (60 seconds).
1857	Status PlayerSessionStatus
1858
1859	// A time stamp indicating when this data object was terminated. Format is a number
1860	// expressed in Unix time as milliseconds (for example "1469498468.057").
1861	TerminationTime *time.Time
1862}
1863
1864// Custom prioritization settings for use by a game session queue when placing new
1865// game sessions with available game servers. When defined, this configuration
1866// replaces the default FleetIQ prioritization process, which is as follows:
1867//
1868// * If
1869// player latency data is included in a game session request, destinations and
1870// locations are prioritized first based on lowest average latency (1), then on
1871// lowest hosting cost (2), then on destination list order (3), and finally on
1872// location (alphabetical) (4). This approach ensures that the queue's top priority
1873// is to place game sessions where average player latency is lowest, and--if
1874// latency is the same--where the hosting cost is less, etc.
1875//
1876// * If player latency
1877// data is not included, destinations and locations are prioritized first on
1878// destination list order (1), and then on location (alphabetical) (2). This
1879// approach ensures that the queue's top priority is to place game sessions on the
1880// first destination fleet listed. If that fleet has multiple locations, the game
1881// session is placed on the first location (when listed alphabetically).
1882//
1883// Changing
1884// the priority order will affect how game sessions are placed. Priority
1885// configurations are part of a GameSessionQueue.
1886type PriorityConfiguration struct {
1887
1888	// The prioritization order to use for fleet locations, when the PriorityOrder
1889	// property includes LOCATION. Locations are identified by AWS Region codes such as
1890	// us-west-2. Each location can only be listed once.
1891	LocationOrder []string
1892
1893	// The recommended sequence to use when prioritizing where to place new game
1894	// sessions. Each type can only be listed once.
1895	//
1896	// * LATENCY -- FleetIQ prioritizes
1897	// locations where the average player latency (provided in each game session
1898	// request) is lowest.
1899	//
1900	// * COST -- FleetIQ prioritizes destinations with the lowest
1901	// current hosting costs. Cost is evaluated based on the location, instance type,
1902	// and fleet type (Spot or On-Demand) for each destination in the queue.
1903	//
1904	// *
1905	// DESTINATION -- FleetIQ prioritizes based on the order that destinations are
1906	// listed in the queue configuration.
1907	//
1908	// * LOCATION -- FleetIQ prioritizes based on
1909	// the provided order of locations, as defined in LocationOrder.
1910	PriorityOrder []PriorityType
1911}
1912
1913// A policy that puts limits on the number of game sessions that a player can
1914// create within a specified span of time. With this policy, you can control
1915// players' ability to consume available resources. The policy is evaluated when a
1916// player tries to create a new game session. On receiving a CreateGameSession
1917// request, GameLift checks that the player (identified by CreatorId) has created
1918// fewer than game session limit in the specified time period. The resource
1919// creation limit policy is included in FleetAttributes.
1920type ResourceCreationLimitPolicy struct {
1921
1922	// The maximum number of game sessions that an individual can create during the
1923	// policy period.
1924	NewGameSessionsPerCreator *int32
1925
1926	// The time span used in evaluating the resource creation limit policy.
1927	PolicyPeriodInMinutes *int32
1928}
1929
1930// The routing configuration for a fleet alias. Related actions CreateAlias |
1931// ListAliases | DescribeAlias | UpdateAlias | DeleteAlias | ResolveAlias | All
1932// APIs by task
1933// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
1934type RoutingStrategy struct {
1935
1936	// A unique identifier for the fleet that the alias points to. This value is the
1937	// fleet ID, not the fleet ARN.
1938	FleetId *string
1939
1940	// The message text to be used with a terminal routing strategy.
1941	Message *string
1942
1943	// The type of routing strategy for the alias. Possible routing types include the
1944	// following:
1945	//
1946	// * SIMPLE - The alias resolves to one specific fleet. Use this type
1947	// when routing to active fleets.
1948	//
1949	// * TERMINAL - The alias does not resolve to a
1950	// fleet but instead can be used to display a message to the user. A terminal alias
1951	// throws a TerminalRoutingStrategyException with the RoutingStrategy message
1952	// embedded.
1953	Type RoutingStrategyType
1954}
1955
1956// A collection of server process configurations that describe the set of processes
1957// to run on each instance in a fleet. Server processes run either an executable in
1958// a custom game build or a Realtime Servers script. GameLift launches the
1959// configured processes, manages their life cycle, and replaces them as needed.
1960// Each instance checks regularly for an updated runtime configuration. A GameLift
1961// instance is limited to 50 processes running concurrently. To calculate the total
1962// number of processes in a runtime configuration, add the values of the
1963// ConcurrentExecutions parameter for each ServerProcess. Learn more about  Running
1964// Multiple Processes on a Fleet
1965// (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-multiprocess.html).
1966// Related actions DescribeRuntimeConfiguration | UpdateRuntimeConfiguration
1967type RuntimeConfiguration struct {
1968
1969	// The maximum amount of time (in seconds) allowed to launch a new game session and
1970	// have it report ready to host players. During this time, the game session is in
1971	// status ACTIVATING. If the game session does not become active before the
1972	// timeout, it is ended and the game session status is changed to TERMINATED.
1973	GameSessionActivationTimeoutSeconds *int32
1974
1975	// The number of game sessions in status ACTIVATING to allow on an instance. This
1976	// setting limits the instance resources that can be used for new game activations
1977	// at any one time.
1978	MaxConcurrentGameSessionActivations *int32
1979
1980	// A collection of server process configurations that identify what server
1981	// processes to run on each instance in a fleet.
1982	ServerProcesses []ServerProcess
1983}
1984
1985// The location in Amazon S3 where build or script files are stored for access by
1986// Amazon GameLift. This location is specified in CreateBuild, CreateScript, and
1987// UpdateScript requests.
1988type S3Location struct {
1989
1990	// An Amazon S3 bucket identifier. This is the name of the S3 bucket. GameLift
1991	// currently does not support uploading from Amazon S3 buckets with names that
1992	// contain a dot (.).
1993	Bucket *string
1994
1995	// The name of the zip file that contains the build files or script files.
1996	Key *string
1997
1998	// The version of the file, if object versioning is turned on for the bucket.
1999	// Amazon GameLift uses this information when retrieving files from an S3 bucket
2000	// that you own. Use this parameter to specify a specific version of the file. If
2001	// not set, the latest version of the file is retrieved.
2002	ObjectVersion *string
2003
2004	// The Amazon Resource Name (ARN
2005	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) for an IAM
2006	// role that allows Amazon GameLift to access the S3 bucket.
2007	RoleArn *string
2008}
2009
2010// Rule that controls how a fleet is scaled. Scaling policies are uniquely
2011// identified by the combination of name and fleet ID. Related actions
2012// DescribeFleetCapacity | UpdateFleetCapacity | DescribeEC2InstanceLimits |
2013// PutScalingPolicy | DescribeScalingPolicies | DeleteScalingPolicy |
2014// StopFleetActions | StartFleetActions | All APIs by task
2015// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
2016type ScalingPolicy struct {
2017
2018	// Comparison operator to use when measuring a metric against the threshold value.
2019	ComparisonOperator ComparisonOperatorType
2020
2021	// Length of time (in minutes) the metric must be at or beyond the threshold before
2022	// a scaling event is triggered.
2023	EvaluationPeriods *int32
2024
2025	// The Amazon Resource Name (ARN
2026	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) that is
2027	// assigned to a GameLift fleet resource and uniquely identifies it. ARNs are
2028	// unique across all Regions. Format is
2029	// arn:aws:gamelift:::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
2030	FleetArn *string
2031
2032	// A unique identifier for the fleet that is associated with this scaling policy.
2033	FleetId *string
2034
2035	//
2036	Location *string
2037
2038	// Name of the Amazon GameLift-defined metric that is used to trigger a scaling
2039	// adjustment. For detailed descriptions of fleet metrics, see Monitor Amazon
2040	// GameLift with Amazon CloudWatch
2041	// (https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html).
2042	//
2043	// *
2044	// ActivatingGameSessions -- Game sessions in the process of being created.
2045	//
2046	// *
2047	// ActiveGameSessions -- Game sessions that are currently running.
2048	//
2049	// *
2050	// ActiveInstances -- Fleet instances that are currently running at least one game
2051	// session.
2052	//
2053	// * AvailableGameSessions -- Additional game sessions that fleet could
2054	// host simultaneously, given current capacity.
2055	//
2056	// * AvailablePlayerSessions -- Empty
2057	// player slots in currently active game sessions. This includes game sessions that
2058	// are not currently accepting players. Reserved player slots are not included.
2059	//
2060	// *
2061	// CurrentPlayerSessions -- Player slots in active game sessions that are being
2062	// used by a player or are reserved for a player.
2063	//
2064	// * IdleInstances -- Active
2065	// instances that are currently hosting zero game sessions.
2066	//
2067	// *
2068	// PercentAvailableGameSessions -- Unused percentage of the total number of game
2069	// sessions that a fleet could host simultaneously, given current capacity. Use
2070	// this metric for a target-based scaling policy.
2071	//
2072	// * PercentIdleInstances --
2073	// Percentage of the total number of active instances that are hosting zero game
2074	// sessions.
2075	//
2076	// * QueueDepth -- Pending game session placement requests, in any
2077	// queue, where the current fleet is the top-priority destination.
2078	//
2079	// * WaitTime --
2080	// Current wait time for pending game session placement requests, in any queue,
2081	// where the current fleet is the top-priority destination.
2082	MetricName MetricName
2083
2084	// A descriptive label that is associated with a fleet's scaling policy. Policy
2085	// names do not need to be unique.
2086	Name *string
2087
2088	// The type of scaling policy to create. For a target-based policy, set the
2089	// parameter MetricName to 'PercentAvailableGameSessions' and specify a
2090	// TargetConfiguration. For a rule-based policy set the following parameters:
2091	// MetricName, ComparisonOperator, Threshold, EvaluationPeriods,
2092	// ScalingAdjustmentType, and ScalingAdjustment.
2093	PolicyType PolicyType
2094
2095	// Amount of adjustment to make, based on the scaling adjustment type.
2096	ScalingAdjustment int32
2097
2098	// The type of adjustment to make to a fleet's instance count (see
2099	// FleetCapacity):
2100	//
2101	// * ChangeInCapacity -- add (or subtract) the scaling adjustment
2102	// value from the current instance count. Positive values scale up while negative
2103	// values scale down.
2104	//
2105	// * ExactCapacity -- set the instance count to the scaling
2106	// adjustment value.
2107	//
2108	// * PercentChangeInCapacity -- increase or reduce the current
2109	// instance count by the scaling adjustment, read as a percentage. Positive values
2110	// scale up while negative values scale down.
2111	ScalingAdjustmentType ScalingAdjustmentType
2112
2113	// Current status of the scaling policy. The scaling policy can be in force only
2114	// when in an ACTIVE status. Scaling policies can be suspended for individual
2115	// fleets (see StopFleetActions; if suspended for a fleet, the policy status does
2116	// not change. View a fleet's stopped actions by calling DescribeFleetCapacity.
2117	//
2118	// *
2119	// ACTIVE -- The scaling policy can be used for auto-scaling a fleet.
2120	//
2121	// *
2122	// UPDATE_REQUESTED -- A request to update the scaling policy has been received.
2123	//
2124	// *
2125	// UPDATING -- A change is being made to the scaling policy.
2126	//
2127	// * DELETE_REQUESTED --
2128	// A request to delete the scaling policy has been received.
2129	//
2130	// * DELETING -- The
2131	// scaling policy is being deleted.
2132	//
2133	// * DELETED -- The scaling policy has been
2134	// deleted.
2135	//
2136	// * ERROR -- An error occurred in creating the policy. It should be
2137	// removed and recreated.
2138	Status ScalingStatusType
2139
2140	// An object that contains settings for a target-based scaling policy.
2141	TargetConfiguration *TargetConfiguration
2142
2143	// Metric value used to trigger a scaling event.
2144	Threshold float64
2145
2146	// The current status of the fleet's scaling policies in a requested fleet
2147	// location. The status PENDING_UPDATE indicates that an update was requested for
2148	// the fleet but has not yet been completed for the location.
2149	UpdateStatus LocationUpdateStatus
2150}
2151
2152// Properties describing a Realtime script. Related actions CreateScript |
2153// ListScripts | DescribeScript | UpdateScript | DeleteScript | All APIs by task
2154// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
2155type Script struct {
2156
2157	// A time stamp indicating when this data object was created. Format is a number
2158	// expressed in Unix time as milliseconds (for example "1469498468.057").
2159	CreationTime *time.Time
2160
2161	// A descriptive label that is associated with a script. Script names do not need
2162	// to be unique.
2163	Name *string
2164
2165	// The Amazon Resource Name (ARN
2166	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) that is
2167	// assigned to a GameLift script resource and uniquely identifies it. ARNs are
2168	// unique across all Regions. In a GameLift script ARN, the resource ID matches the
2169	// ScriptId value.
2170	ScriptArn *string
2171
2172	// A unique identifier for the Realtime script
2173	ScriptId *string
2174
2175	// The file size of the uploaded Realtime script, expressed in bytes. When files
2176	// are uploaded from an S3 location, this value remains at "0".
2177	SizeOnDisk *int64
2178
2179	// The location in Amazon S3 where build or script files are stored for access by
2180	// Amazon GameLift. This location is specified in CreateBuild, CreateScript, and
2181	// UpdateScript requests.
2182	StorageLocation *S3Location
2183
2184	// Version information that is associated with a build or script. Version strings
2185	// do not need to be unique.
2186	Version *string
2187}
2188
2189// A set of instructions for launching server processes on each instance in a
2190// fleet. Server processes run either an executable in a custom game build or a
2191// Realtime Servers script. Server process configurations are part of a fleet's
2192// RuntimeConfiguration.
2193type ServerProcess struct {
2194
2195	// The number of server processes using this configuration that run concurrently on
2196	// each instance.
2197	//
2198	// This member is required.
2199	ConcurrentExecutions *int32
2200
2201	// The location of a game build executable or the Realtime script file that
2202	// contains the Init() function. Game builds and Realtime scripts are installed on
2203	// instances at the root:
2204	//
2205	// * Windows (custom game builds only): C:\game. Example:
2206	// "C:\game\MyGame\server.exe"
2207	//
2208	// * Linux: /local/game. Examples:
2209	// "/local/game/MyGame/server.exe" or "/local/game/MyRealtimeScript.js"
2210	//
2211	// This member is required.
2212	LaunchPath *string
2213
2214	// An optional list of parameters to pass to the server executable or Realtime
2215	// script on launch.
2216	Parameters *string
2217}
2218
2219// A label that can be assigned to a GameLift resource. Learn more Tagging AWS
2220// Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in
2221// the AWS General Reference  AWS Tagging Strategies
2222// (http://aws.amazon.com/answers/account-management/aws-tagging-strategies/)
2223// Related actions TagResource | UntagResource | ListTagsForResource | All APIs by
2224// task
2225// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
2226type Tag struct {
2227
2228	// The key for a developer-defined key:value pair for tagging an AWS resource.
2229	//
2230	// This member is required.
2231	Key *string
2232
2233	// The value for a developer-defined key:value pair for tagging an AWS resource.
2234	//
2235	// This member is required.
2236	Value *string
2237}
2238
2239// Settings for a target-based scaling policy (see ScalingPolicy. A target-based
2240// policy tracks a particular fleet metric specifies a target value for the metric.
2241// As player usage changes, the policy triggers Amazon GameLift to adjust capacity
2242// so that the metric returns to the target value. The target configuration
2243// specifies settings as needed for the target based policy, including the target
2244// value. Related actions DescribeFleetCapacity | UpdateFleetCapacity |
2245// DescribeEC2InstanceLimits | PutScalingPolicy | DescribeScalingPolicies |
2246// DeleteScalingPolicy | StopFleetActions | StartFleetActions | All APIs by task
2247// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
2248type TargetConfiguration struct {
2249
2250	// Desired value to use with a target-based scaling policy. The value must be
2251	// relevant for whatever metric the scaling policy is using. For example, in a
2252	// policy using the metric PercentAvailableGameSessions, the target value should be
2253	// the preferred size of the fleet's buffer (the percent of capacity that should be
2254	// idle and ready for new game sessions).
2255	//
2256	// This member is required.
2257	TargetValue float64
2258}
2259
2260// This data type is used with the GameLift FleetIQ and game server groups.
2261// Settings for a target-based scaling policy as part of a
2262// GameServerGroupAutoScalingPolicy. These settings are used to create a
2263// target-based policy that tracks the GameLift FleetIQ metric
2264// "PercentUtilizedGameServers" and specifies a target value for the metric. As
2265// player usage changes, the policy triggers to adjust the game server group
2266// capacity so that the metric returns to the target value.
2267type TargetTrackingConfiguration struct {
2268
2269	// Desired value to use with a game server group target-based scaling policy.
2270	//
2271	// This member is required.
2272	TargetValue *float64
2273}
2274
2275// Represents an authorization for a VPC peering connection between the VPC for an
2276// Amazon GameLift fleet and another VPC on an account you have access to. This
2277// authorization must exist and be valid for the peering connection to be
2278// established. Authorizations are valid for 24 hours after they are issued.
2279// Related actions CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations
2280// | DeleteVpcPeeringAuthorization | CreateVpcPeeringConnection |
2281// DescribeVpcPeeringConnections | DeleteVpcPeeringConnection | All APIs by task
2282// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
2283type VpcPeeringAuthorization struct {
2284
2285	// Time stamp indicating when this authorization was issued. Format is a number
2286	// expressed in Unix time as milliseconds (for example "1469498468.057").
2287	CreationTime *time.Time
2288
2289	// Time stamp indicating when this authorization expires (24 hours after issuance).
2290	// Format is a number expressed in Unix time as milliseconds (for example
2291	// "1469498468.057").
2292	ExpirationTime *time.Time
2293
2294	// A unique identifier for the AWS account that you use to manage your GameLift
2295	// fleet. You can find your Account ID in the AWS Management Console under account
2296	// settings.
2297	GameLiftAwsAccountId *string
2298
2299	//
2300	PeerVpcAwsAccountId *string
2301
2302	// A unique identifier for a VPC with resources to be accessed by your GameLift
2303	// fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID,
2304	// use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the AWS
2305	// Management Console. Learn more about VPC peering in VPC Peering with GameLift
2306	// Fleets
2307	// (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html).
2308	PeerVpcId *string
2309}
2310
2311// Represents a peering connection between a VPC on one of your AWS accounts and
2312// the VPC for your Amazon GameLift fleets. This record may be for an active
2313// peering connection or a pending connection that has not yet been established.
2314// Related actions CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations
2315// | DeleteVpcPeeringAuthorization | CreateVpcPeeringConnection |
2316// DescribeVpcPeeringConnections | DeleteVpcPeeringConnection | All APIs by task
2317// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
2318type VpcPeeringConnection struct {
2319
2320	// The Amazon Resource Name (ARN
2321	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) associated
2322	// with the GameLift fleet resource for this connection.
2323	FleetArn *string
2324
2325	// A unique identifier for the fleet. This ID determines the ID of the Amazon
2326	// GameLift VPC for your fleet.
2327	FleetId *string
2328
2329	// A unique identifier for the VPC that contains the Amazon GameLift fleet for this
2330	// connection. This VPC is managed by Amazon GameLift and does not appear in your
2331	// AWS account.
2332	GameLiftVpcId *string
2333
2334	// CIDR block of IPv4 addresses assigned to the VPC peering connection for the
2335	// GameLift VPC. The peered VPC also has an IPv4 CIDR block associated with it;
2336	// these blocks cannot overlap or the peering connection cannot be created.
2337	IpV4CidrBlock *string
2338
2339	// A unique identifier for a VPC with resources to be accessed by your GameLift
2340	// fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID,
2341	// use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the AWS
2342	// Management Console. Learn more about VPC peering in VPC Peering with GameLift
2343	// Fleets
2344	// (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html).
2345	PeerVpcId *string
2346
2347	// The status information about the connection. Status indicates if a connection is
2348	// pending, successful, or failed.
2349	Status *VpcPeeringConnectionStatus
2350
2351	// A unique identifier that is automatically assigned to the connection record.
2352	// This ID is referenced in VPC peering connection events, and is used when
2353	// deleting a connection with DeleteVpcPeeringConnection.
2354	VpcPeeringConnectionId *string
2355}
2356
2357// Represents status information for a VPC peering connection. Status is associated
2358// with a VpcPeeringConnection object. Status codes and messages are provided from
2359// EC2 (see VpcPeeringConnectionStateReason
2360// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_VpcPeeringConnectionStateReason.html)).
2361// Connection status information is also communicated as a fleet Event.
2362type VpcPeeringConnectionStatus struct {
2363
2364	// Code indicating the status of a VPC peering connection.
2365	Code *string
2366
2367	// Additional messaging associated with the connection status.
2368	Message *string
2369}
2370