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