aws-sdk-gamelift 1.94.0 → 1.96.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -217,9 +217,9 @@ module Aws::GameLift
217
217
  # @return [String]
218
218
  #
219
219
  # @!attribute [rw] build_arn
220
- # The Amazon Resource Name ([ARN][1]) assigned to a Amazon GameLift
221
- # build resource and uniquely identifies it. ARNs are unique across
222
- # all Regions. Format is
220
+ # The Amazon Resource Name ([ARN][1]) that is assigned to a Amazon
221
+ # GameLift build resource and uniquely identifies it. ARNs are unique
222
+ # across all Regions. Format is
223
223
  # `arn:aws:gamelift:<region>::build/build-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912`.
224
224
  # In a GameLift build ARN, the resource ID matches the *BuildId*
225
225
  # value.
@@ -230,8 +230,8 @@ module Aws::GameLift
230
230
  # @return [String]
231
231
  #
232
232
  # @!attribute [rw] name
233
- # A descriptive label associated with a build. Build names don't need
234
- # to be unique. It can be set using [CreateBuild][1] or
233
+ # A descriptive label that is associated with a build. Build names do
234
+ # not need to be unique. It can be set using [CreateBuild][1] or
235
235
  # [UpdateBuild][2].
236
236
  #
237
237
  #
@@ -241,8 +241,8 @@ module Aws::GameLift
241
241
  # @return [String]
242
242
  #
243
243
  # @!attribute [rw] version
244
- # Version information associated with a build or script. Version
245
- # strings don't need to be unique.
244
+ # Version information that is associated with a build or script.
245
+ # Version strings do not need to be unique.
246
246
  # @return [String]
247
247
  #
248
248
  # @!attribute [rw] status
@@ -315,9 +315,6 @@ module Aws::GameLift
315
315
  include Aws::Structure
316
316
  end
317
317
 
318
- # **This data type has been expanded to use with the Amazon GameLift
319
- # containers feature, which is currently in public preview.**
320
- #
321
318
  # Determines whether a TLS/SSL certificate is generated for a fleet.
322
319
  # This feature must be enabled when creating the fleet. All instances in
323
320
  # a fleet share the same certificate. The certificate can be retrieved
@@ -333,10 +330,10 @@ module Aws::GameLift
333
330
  #
334
331
  # Valid values include:
335
332
  #
336
- # * **GENERATED** - Generate a TLS/SSL certificate for this fleet.
333
+ # * **GENERATED** -- Generate a TLS/SSL certificate for this fleet.
337
334
  #
338
- # * **DISABLED** - (default) Do not generate a TLS/SSL certificate for
339
- # this fleet.
335
+ # * **DISABLED** -- (default) Do not generate a TLS/SSL certificate
336
+ # for this fleet.
340
337
  # @return [String]
341
338
  #
342
339
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CertificateConfiguration AWS API Documentation
@@ -412,21 +409,15 @@ module Aws::GameLift
412
409
  include Aws::Structure
413
410
  end
414
411
 
415
- # **This data type has been expanded to use with the Amazon GameLift
416
- # containers feature, which is currently in public preview.**
417
- #
418
412
  # An Amazon GameLift compute resource for hosting your game servers.
419
413
  # Computes in an Amazon GameLift fleet differs depending on the fleet's
420
414
  # compute type property as follows:
421
415
  #
422
- # * For `EC2` fleets, a compute is an EC2 instance.
416
+ # * For managed EC2 fleets, a compute is an EC2 instance.
423
417
  #
424
- # * For `ANYWHERE` fleets, a compute is a computing resource that you
418
+ # * For Anywhere fleets, a compute is a computing resource that you
425
419
  # provide and is registered to the fleet.
426
420
  #
427
- # * For `CONTAINER` fleets, a compute is a container that's registered
428
- # to the fleet.
429
- #
430
421
  # @!attribute [rw] fleet_id
431
422
  # A unique identifier for the fleet that the compute belongs to.
432
423
  # @return [String]
@@ -509,13 +500,16 @@ module Aws::GameLift
509
500
  # @return [String]
510
501
  #
511
502
  # @!attribute [rw] instance_id
512
- # The `InstanceID` of the `Instance` hosting the compute for Container
513
- # and Managed EC2 fleets.
503
+ # The `InstanceID` of the EC2 instance that is hosting the compute.
514
504
  # @return [String]
515
505
  #
516
506
  # @!attribute [rw] container_attributes
517
- # Some attributes of a container.
518
- # @return [Types::ContainerAttributes]
507
+ # A set of attributes for each container in the compute.
508
+ # @return [Array<Types::ContainerAttribute>]
509
+ #
510
+ # @!attribute [rw] game_server_container_group_definition_arn
511
+ # The game server container group definition for the compute.
512
+ # @return [String]
519
513
  #
520
514
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/Compute AWS API Documentation
521
515
  #
@@ -534,7 +528,8 @@ module Aws::GameLift
534
528
  :game_lift_service_sdk_endpoint,
535
529
  :game_lift_agent_endpoint,
536
530
  :instance_id,
537
- :container_attributes)
531
+ :container_attributes,
532
+ :game_server_container_group_definition_arn)
538
533
  SENSITIVE = [:ip_address]
539
534
  include Aws::Structure
540
535
  end
@@ -554,15 +549,10 @@ module Aws::GameLift
554
549
  include Aws::Structure
555
550
  end
556
551
 
557
- # **This operation has been expanded to use with the Amazon GameLift
558
- # containers feature, which is currently in public preview.**
559
- #
560
552
  # The set of port numbers to open on each instance in a container fleet.
561
553
  # Connection ports are used by inbound traffic to connect with processes
562
554
  # that are running in containers on the fleet.
563
555
  #
564
- # **Part of:** ContainerGroupsConfiguration, ContainerGroupsAttributes
565
- #
566
556
  # @!attribute [rw] from_port
567
557
  # Starting value for the port range.
568
558
  # @return [Integer]
@@ -581,458 +571,360 @@ module Aws::GameLift
581
571
  include Aws::Structure
582
572
  end
583
573
 
584
- # **This data type is used with the Amazon GameLift containers feature,
585
- # which is currently in public preview.**
574
+ # A unique identifier for a container in a container fleet compute.
586
575
  #
587
- # Describes attributes of containers that are deployed to a fleet with
588
- # compute type `CONTAINER`.
576
+ # **Returned by:** DescribeCompute
589
577
  #
590
- # @!attribute [rw] container_port_mappings
591
- # Describes how container ports map to connection ports on the fleet
592
- # instance. Incoming traffic connects to a game via a connection port.
593
- # A `ContainerPortMapping` directs the traffic from a connection port
594
- # to a port on the container that hosts the game session.
595
- # @return [Array<Types::ContainerPortMapping>]
578
+ # @!attribute [rw] container_name
579
+ # The identifier for a container that's running in a compute.
580
+ # @return [String]
596
581
  #
597
- # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerAttributes AWS API Documentation
582
+ # @!attribute [rw] container_runtime_id
583
+ # The runtime ID for the container that's running in a compute. This
584
+ # value is unique within the compute.
585
+ # @return [String]
598
586
  #
599
- class ContainerAttributes < Struct.new(
600
- :container_port_mappings)
587
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerAttribute AWS API Documentation
588
+ #
589
+ class ContainerAttribute < Struct.new(
590
+ :container_name,
591
+ :container_runtime_id)
601
592
  SENSITIVE = []
602
593
  include Aws::Structure
603
594
  end
604
595
 
605
- # **This data type is used with the Amazon GameLift containers feature,
606
- # which is currently in public preview.**
596
+ # A container's dependency on another container in the same container
597
+ # group. The dependency impacts how the dependent container is able to
598
+ # start or shut down based the status of the other container.
607
599
  #
608
- # Describes a container in a container fleet, the resources available to
609
- # the container, and the commands that are run when the container
610
- # starts. Container properties can't be updated. To change a property,
611
- # create a new container group definition. See also
612
- # ContainerDefinitionInput.
600
+ # For example, *ContainerA* is configured with the following dependency:
601
+ # a `START` dependency on *ContainerB*. This means that *ContainerA*
602
+ # can't start until *ContainerB* has started. It also means that
603
+ # *ContainerA* must shut down before *ContainerB*.
613
604
  #
614
- # **Part of:** ContainerGroupDefinition
615
- #
616
- # **Returned by:** DescribeContainerGroupDefinition,
617
- # ListContainerGroupDefinitions
605
+ # eiifcbfhgrdurhnucnufkgbnbnnerrvbtjvljdetkehc**Part of:**
606
+ # GameServerContainerDefinition, GameServerContainerDefinitionInput,
607
+ # SupportContainerDefinition, SupportContainerDefinitionInput
618
608
  #
619
609
  # @!attribute [rw] container_name
620
- # The container definition identifier. Container names are unique
621
- # within a container group definition.
622
- # @return [String]
623
- #
624
- # @!attribute [rw] image_uri
625
- # The URI to the image that $short; copied and deployed to a container
626
- # fleet. For a more specific identifier, see `ResolvedImageDigest`.
627
- # @return [String]
628
- #
629
- # @!attribute [rw] resolved_image_digest
630
- # A unique and immutable identifier for the container image that is
631
- # deployed to a container fleet. The digest is a SHA 256 hash of the
632
- # container image manifest.
610
+ # A descriptive label for the container definition that this container
611
+ # depends on.
633
612
  # @return [String]
634
613
  #
635
- # @!attribute [rw] memory_limits
636
- # The amount of memory that Amazon GameLift makes available to the
637
- # container. If memory limits aren't set for an individual container,
638
- # the container shares the container group's total memory allocation.
639
- #
640
- # <b>Related data type: </b> ContainerGroupDefinition$TotalMemoryLimit
641
- # @return [Types::ContainerMemoryLimits]
642
- #
643
- # @!attribute [rw] port_configuration
644
- # Defines the ports that are available to assign to processes in the
645
- # container. For example, a game server process requires a container
646
- # port to allow game clients to connect to it. Container ports aren't
647
- # directly accessed by inbound traffic. Amazon GameLift maps these
648
- # container ports to externally accessible connection ports, which are
649
- # assigned as needed from the container fleet's
650
- # `ConnectionPortRange`.
651
- # @return [Types::ContainerPortConfiguration]
652
- #
653
- # @!attribute [rw] cpu
654
- # The number of CPU units that are reserved for the container. Note: 1
655
- # vCPU unit equals 1024 CPU units. If no resources are reserved, the
656
- # container shares the total CPU limit for the container group.
657
- #
658
- # <b>Related data type: </b> ContainerGroupDefinition$TotalCpuLimit
659
- # @return [Integer]
660
- #
661
- # @!attribute [rw] health_check
662
- # A configuration for a non-terminal health check. A container, which
663
- # automatically restarts if it stops functioning, also restarts if it
664
- # fails this health check. If an essential container in the daemon
665
- # group fails a health check, the entire container group is restarted.
666
- # The essential container in the replica group doesn't use this
667
- # health check mechanism, because the Amazon GameLift Agent
668
- # automatically handles the task.
669
- # @return [Types::ContainerHealthCheck]
670
- #
671
- # @!attribute [rw] command
672
- # A command that's passed to the container on startup. Each argument
673
- # for the command is an additional string in the array. See the
674
- # [ContainerDefinition::command][1] parameter in the *Amazon Elastic
675
- # Container Service API reference.*
676
- #
677
- #
678
- #
679
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-command
680
- # @return [Array<String>]
681
- #
682
- # @!attribute [rw] essential
683
- # Indicates whether the container is vital to the container group. If
684
- # an essential container fails, the entire container group is
685
- # restarted.
686
- # @return [Boolean]
687
- #
688
- # @!attribute [rw] entry_point
689
- # The entry point that's passed to the container on startup. If there
690
- # are multiple arguments, each argument is an additional string in the
691
- # array. See the [ContainerDefinition::entryPoint][1] parameter in the
692
- # *Amazon Elastic Container Service API Reference*.
693
- #
694
- #
695
- #
696
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-entryPoint
697
- # @return [Array<String>]
614
+ # @!attribute [rw] condition
615
+ # The condition that the dependency container must reach before the
616
+ # dependent container can start. Valid conditions include:
698
617
  #
699
- # @!attribute [rw] working_directory
700
- # The directory in the container where commands are run. See the
701
- # [ContainerDefinition::workingDirectory][1] parameter in the *Amazon
702
- # Elastic Container Service API Reference*.
618
+ # * START - The dependency container must have started.
703
619
  #
620
+ # * COMPLETE - The dependency container has run to completion (exits).
621
+ # Use this condition with nonessential containers, such as those
622
+ # that run a script and then exit. The dependency container can't
623
+ # be an essential container.
704
624
  #
625
+ # * SUCCESS - The dependency container has run to completion and
626
+ # exited with a zero status. The dependency container can't be an
627
+ # essential container.
705
628
  #
706
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-workingDirectory
629
+ # * HEALTHY - The dependency container has passed its Docker health
630
+ # check. Use this condition with dependency containers that have
631
+ # health checks configured. This condition is confirmed at container
632
+ # group startup only.
707
633
  # @return [String]
708
634
  #
709
- # @!attribute [rw] environment
710
- # A set of environment variables that's passed to the container on
711
- # startup. See the [ContainerDefinition::environment][1] parameter in
712
- # the *Amazon Elastic Container Service API Reference*.
635
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerDependency AWS API Documentation
713
636
  #
637
+ class ContainerDependency < Struct.new(
638
+ :container_name,
639
+ :condition)
640
+ SENSITIVE = []
641
+ include Aws::Structure
642
+ end
643
+
644
+ # An environment variable to set inside a container, in the form of a
645
+ # key-value pair.
714
646
  #
647
+ # **Part of:** GameServerContainerDefinition,
648
+ # GameServerContainerDefinitionInput, SupportContainerDefinition,
649
+ # SupportContainerDefinitionInput
715
650
  #
716
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-environment
717
- # @return [Array<Types::ContainerEnvironment>]
651
+ # @!attribute [rw] name
652
+ # The environment variable name.
653
+ # @return [String]
718
654
  #
719
- # @!attribute [rw] depends_on
720
- # Indicates that the container relies on the status of other
721
- # containers in the same container group during its startup and
722
- # shutdown sequences. A container might have dependencies on multiple
723
- # containers.
724
- # @return [Array<Types::ContainerDependency>]
655
+ # @!attribute [rw] value
656
+ # The environment variable value.
657
+ # @return [String]
725
658
  #
726
- # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerDefinition AWS API Documentation
659
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerEnvironment AWS API Documentation
727
660
  #
728
- class ContainerDefinition < Struct.new(
729
- :container_name,
730
- :image_uri,
731
- :resolved_image_digest,
732
- :memory_limits,
733
- :port_configuration,
734
- :cpu,
735
- :health_check,
736
- :command,
737
- :essential,
738
- :entry_point,
739
- :working_directory,
740
- :environment,
741
- :depends_on)
661
+ class ContainerEnvironment < Struct.new(
662
+ :name,
663
+ :value)
742
664
  SENSITIVE = []
743
665
  include Aws::Structure
744
666
  end
745
667
 
746
- # **This data type is used with the Amazon GameLift containers feature,
747
- # which is currently in public preview.**
668
+ # Describes an Amazon GameLift managed container fleet.
748
669
  #
749
- # Describes a container's configuration, resources, and start
750
- # instructions. Use this data type to create a container group
751
- # definition. For the properties of a container that's been deployed to
752
- # a fleet, see ContainerDefinition. You can't change these properties
753
- # after you've created the container group definition. If you need a
754
- # container group with different properties, then you must create a new
755
- # one.
670
+ # @!attribute [rw] fleet_id
671
+ # A unique identifier for the container fleet to retrieve.
672
+ # @return [String]
756
673
  #
757
- # <b>Used with: </b> CreateContainerGroupDefinition
674
+ # @!attribute [rw] fleet_arn
675
+ # The Amazon Resource Name ([ARN][1]) that is assigned to a Amazon
676
+ # GameLift fleet resource and uniquely identifies it. ARNs are unique
677
+ # across all Regions. Format is
678
+ # `arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912`.
679
+ # In a GameLift fleet ARN, the resource ID matches the `FleetId`
680
+ # value.
758
681
  #
759
- # @!attribute [rw] container_name
760
- # A string that uniquely identifies the container definition within a
761
- # container group.
762
- # @return [String]
763
682
  #
764
- # @!attribute [rw] image_uri
765
- # The location of a container image that $short; will copy and deploy
766
- # to a container fleet. Images in Amazon Elastic Container Registry
767
- # private repositories are supported. The repository must be in the
768
- # same Amazon Web Services account and Amazon Web Services Region
769
- # where you're creating the container group definition. For limits on
770
- # image size, see [Amazon GameLift endpoints and quotas][1]. You can
771
- # use any of the following image URI formats:
772
683
  #
773
- # * Image ID only: `[AWS account].dkr.ecr.[AWS
774
- # region].amazonaws.com/[repository ID]`
684
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html
685
+ # @return [String]
775
686
  #
776
- # * Image ID and digest: `[AWS account].dkr.ecr.[AWS
777
- # region].amazonaws.com/[repository ID]@[digest]`
687
+ # @!attribute [rw] fleet_role_arn
688
+ # The unique identifier for an Identity and Access Management (IAM)
689
+ # role with permissions to run your containers on resources that are
690
+ # managed by Amazon GameLift. See [Set up an IAM service role][1].
691
+ # This fleet property can't be changed.
778
692
  #
779
- # * Image ID and tag: `[AWS account].dkr.ecr.[AWS
780
- # region].amazonaws.com/[repository ID]:[tag]`
781
693
  #
782
694
  #
695
+ # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/setting-up-role.html
696
+ # @return [String]
783
697
  #
784
- # [1]: https://docs.aws.amazon.com/general/latest/gr/gamelift.html
698
+ # @!attribute [rw] game_server_container_group_definition_name
699
+ # The name of the fleet's game server container group definition,
700
+ # which describes how to deploy containers with your game server build
701
+ # and support software onto each fleet instance.
785
702
  # @return [String]
786
703
  #
787
- # @!attribute [rw] memory_limits
788
- # The amount of memory to make available to the container. If you
789
- # don't specify memory limits for this container, then it shares the
790
- # container group's total memory allocation.
704
+ # @!attribute [rw] game_server_container_group_definition_arn
705
+ # The Amazon Resource Name ([ARN][1]) that is assigned to the fleet's
706
+ # game server container group. The ARN value also identifies the
707
+ # specific container group definition version in use.
791
708
  #
792
- # <b>Related data type: </b> ContainerGroupDefinition$TotalMemoryLimit
793
- # @return [Types::ContainerMemoryLimits]
794
709
  #
795
- # @!attribute [rw] port_configuration
796
- # A set of ports that Amazon GameLift can assign to processes in the
797
- # container. All processes that accept inbound traffic connections,
798
- # including game server processes, must be assigned a port from this
799
- # set. The set of ports must be large enough to assign one to each
800
- # process in the container that needs one. If the container includes
801
- # your game server, include enough ports to assign one port to each
802
- # concurrent server process (as defined in a container fleet's
803
- # RuntimeConfiguration). For more details, see [Networking for
804
- # container fleets][1].
805
710
  #
806
- # Container ports aren't directly accessed by inbound traffic. Amazon
807
- # GameLift maps these container ports to externally accessible
808
- # connection ports, which are assigned as needed from the container
809
- # fleet's `ConnectionPortRange`.
711
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html
712
+ # @return [String]
810
713
  #
714
+ # @!attribute [rw] per_instance_container_group_definition_name
715
+ # The name of the fleet's per-instance container group definition.
716
+ # @return [String]
811
717
  #
718
+ # @!attribute [rw] per_instance_container_group_definition_arn
719
+ # The Amazon Resource Name ([ARN][1]) that is assigned to the fleet's
720
+ # per-instance container group. The ARN value also identifies the
721
+ # specific container group definition version in use.
812
722
  #
813
- # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-network
814
- # @return [Types::ContainerPortConfiguration]
815
723
  #
816
- # @!attribute [rw] cpu
817
- # The number of CPU units to reserve for this container. The container
818
- # can use more resources when needed, if available. Note: 1 vCPU unit
819
- # equals 1024 CPU units. If you don't reserve CPU units for this
820
- # container, then it shares the total CPU limit for the container
821
- # group. This property is similar to the Amazon ECS container
822
- # definition parameter [environment][1] (*Amazon Elastic Container
823
- # Service Developer Guide).*
824
724
  #
825
- # <b>Related data type: </b> ContainerGroupDefinition$TotalCpuLimit
725
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html
726
+ # @return [String]
826
727
  #
728
+ # @!attribute [rw] instance_connection_port_range
729
+ # The set of port numbers to open on each instance in a container
730
+ # fleet. Connection ports are used by inbound traffic to connect with
731
+ # processes that are running in containers on the fleet.
732
+ # @return [Types::ConnectionPortRange]
827
733
  #
734
+ # @!attribute [rw] instance_inbound_permissions
735
+ # The IP address ranges and port settings that allow inbound traffic
736
+ # to access game server processes and other processes on this fleet.
737
+ # @return [Array<Types::IpPermission>]
828
738
  #
829
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#container_definition_environment
739
+ # @!attribute [rw] game_server_container_groups_per_instance
740
+ # The number of times to replicate the game server container group on
741
+ # each fleet instance.
830
742
  # @return [Integer]
831
743
  #
832
- # @!attribute [rw] health_check
833
- # Configuration for a non-terminal health check. A container
834
- # automatically restarts if it stops functioning. This parameter lets
835
- # you define additional reasons to consider a container unhealthy and
836
- # restart it. You can set a health check for any container except for
837
- # the essential container in the replica container group. If an
838
- # essential container in the daemon group fails a health check, the
839
- # entire container group is restarted.
840
- # @return [Types::ContainerHealthCheck]
744
+ # @!attribute [rw] maximum_game_server_container_groups_per_instance
745
+ # The calculated maximum number of game server container group that
746
+ # can be deployed on each fleet instance. The calculation depends on
747
+ # the resource needs of the container group and the CPU and memory
748
+ # resources of the fleet's instance type.
749
+ # @return [Integer]
841
750
  #
842
- # @!attribute [rw] command
843
- # A command to pass to the container on startup. Add multiple
844
- # arguments as additional strings in the array. See the
845
- # [ContainerDefinition command][1] parameter in the *Amazon Elastic
846
- # Container Service API reference.*
751
+ # @!attribute [rw] instance_type
752
+ # The Amazon EC2 instance type to use for all instances in the fleet.
753
+ # Instance type determines the computing resources and processing
754
+ # power that's available to host your game servers. This includes
755
+ # including CPU, memory, storage, and networking capacity. You can't
756
+ # update this fleet property.
757
+ # @return [String]
847
758
  #
759
+ # @!attribute [rw] billing_type
760
+ # Indicates whether the fleet uses On-Demand or Spot instances for
761
+ # this fleet. Learn more about when to use [ On-Demand versus Spot
762
+ # Instances][1]. You can't update this fleet property.
848
763
  #
764
+ # By default, this property is set to `ON_DEMAND`.
849
765
  #
850
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-command
851
- # @return [Array<String>]
852
766
  #
853
- # @!attribute [rw] essential
854
- # Specifies whether the container is vital for the container group to
855
- # function properly. If an essential container fails, it causes the
856
- # entire container group to restart. Each container group must have an
857
- # essential container.
858
767
  #
859
- # **Replica container groups** - A replica group must have exactly one
860
- # essential container. Use the following to configure an essential
861
- # replica container:
768
+ # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html#gamelift-ec2-instances-spot
769
+ # @return [String]
770
+ #
771
+ # @!attribute [rw] description
772
+ # A meaningful description of the container fleet.
773
+ # @return [String]
774
+ #
775
+ # @!attribute [rw] creation_time
776
+ # A time stamp indicating when this data object was created. Format is
777
+ # a number expressed in Unix time as milliseconds (for example
778
+ # `"1469498468.057"`).
779
+ # @return [Time]
862
780
  #
863
- # * Choose a container is running your game server and the Amazon
864
- # GameLift Agent.
781
+ # @!attribute [rw] metric_groups
782
+ # The name of an Amazon Web Services CloudWatch metric group to add
783
+ # this fleet to. Metric groups aggregate metrics for multiple fleets.
784
+ # @return [Array<String>]
865
785
  #
866
- # * Include a port configuration. This container runs your game server
867
- # processes, and each process requires a container port to allow
868
- # access to game clients.
786
+ # @!attribute [rw] new_game_session_protection_policy
787
+ # Determines whether Amazon GameLift can shut down game sessions on
788
+ # the fleet that are actively running and hosting players. Amazon
789
+ # GameLift might prompt an instance shutdown when scaling down fleet
790
+ # capacity or when retiring unhealthy instances. You can also set game
791
+ # session protection for individual game sessions using
792
+ # [UpdateGameSession](gamelift/latest/apireference/API_UpdateGameSession.html).
869
793
  #
870
- # * Don't configure a health check. The Agent handles this task for
871
- # the essential replica container.
794
+ # * **NoProtection** -- Game sessions can be shut down during active
795
+ # gameplay.
872
796
  #
873
- # **Daemon container groups** - A daemon group must have at least one
874
- # essential container.
875
- # @return [Boolean]
797
+ # * **FullProtection** -- Game sessions in `ACTIVE` status can't be
798
+ # shut down.
799
+ # @return [String]
876
800
  #
877
- # @!attribute [rw] entry_point
878
- # An entry point to pass to the container on startup. Add multiple
879
- # arguments as additional strings in the array. See the
880
- # [ContainerDefinition::entryPoint][1] parameter in the *Amazon
881
- # Elastic Container Service API Reference*.
801
+ # @!attribute [rw] game_session_creation_limit_policy
802
+ # A policy that limits the number of game sessions that each
803
+ # individual player can create on instances in this fleet. The limit
804
+ # applies for a specified span of time.
805
+ # @return [Types::GameSessionCreationLimitPolicy]
882
806
  #
807
+ # @!attribute [rw] status
808
+ # The current status of the container fleet.
883
809
  #
810
+ # * `PENDING` -- A new container fleet has been requested.
884
811
  #
885
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-entryPoint
886
- # @return [Array<String>]
812
+ # * `CREATING` -- A new container fleet resource is being created.
887
813
  #
888
- # @!attribute [rw] working_directory
889
- # The directory in the container where commands are run. See the
890
- # [ContainerDefinition::workingDirectory parameter][1] in the *Amazon
891
- # Elastic Container Service API Reference*.
814
+ # * `CREATED` -- A new container fleet resource has been created. No
815
+ # fleet instances have been deployed.
892
816
  #
817
+ # * `ACTIVATING` -- New container fleet instances are being deployed.
893
818
  #
819
+ # * `ACTIVE` -- The container fleet has been deployed and is ready to
820
+ # host game sessions.
894
821
  #
895
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-workingDirectory
822
+ # * `UPDATING` -- Updates to the container fleet is being updated. A
823
+ # deployment is in progress.
896
824
  # @return [String]
897
825
  #
898
- # @!attribute [rw] environment
899
- # A set of environment variables to pass to the container on startup.
900
- # See the [ContainerDefinition::environment][1] parameter in the
901
- # *Amazon Elastic Container Service API Reference*.
826
+ # @!attribute [rw] deployment_details
827
+ # Information about the most recent deployment for the container
828
+ # fleet.
829
+ # @return [Types::DeploymentDetails]
902
830
  #
831
+ # @!attribute [rw] log_configuration
832
+ # The method that is used to collect container logs for the fleet.
833
+ # Amazon GameLift saves all standard output for each container in
834
+ # logs, including game session logs.
903
835
  #
836
+ # * `CLOUDWATCH` -- Send logs to an Amazon CloudWatch log group that
837
+ # you define. Each container emits a log stream, which is organized
838
+ # in the log group.
904
839
  #
905
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-environment
906
- # @return [Array<Types::ContainerEnvironment>]
840
+ # * `S3` -- Store logs in an Amazon S3 bucket that you define.
907
841
  #
908
- # @!attribute [rw] depends_on
909
- # Sets up dependencies between this container and the status of other
910
- # containers in the same container group. A container can have
911
- # dependencies on multiple different containers.
842
+ # * `NONE` -- Don't collect container logs.
843
+ # @return [Types::LogConfiguration]
912
844
  #
913
- # You can use dependencies to establish a startup/shutdown sequence
914
- # across the container group. A container startup dependency is
915
- # reversed on shutdown.
916
- #
917
- # For example, you might specify that SideCarContainerB has a `START`
918
- # dependency on SideCarContainerA. This dependency means that
919
- # SideCarContainerB can't start until after SideCarContainerA has
920
- # started. This dependency is reversed on shutdown, which means that
921
- # SideCarContainerB must shut down before SideCarContainerA can shut
922
- # down.
923
- # @return [Array<Types::ContainerDependency>]
845
+ # @!attribute [rw] location_attributes
846
+ # Information about the container fleet's remote locations where
847
+ # fleet instances are deployed.
848
+ # @return [Array<Types::ContainerFleetLocationAttributes>]
924
849
  #
925
- # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerDefinitionInput AWS API Documentation
850
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerFleet AWS API Documentation
926
851
  #
927
- class ContainerDefinitionInput < Struct.new(
928
- :container_name,
929
- :image_uri,
930
- :memory_limits,
931
- :port_configuration,
932
- :cpu,
933
- :health_check,
934
- :command,
935
- :essential,
936
- :entry_point,
937
- :working_directory,
938
- :environment,
939
- :depends_on)
852
+ class ContainerFleet < Struct.new(
853
+ :fleet_id,
854
+ :fleet_arn,
855
+ :fleet_role_arn,
856
+ :game_server_container_group_definition_name,
857
+ :game_server_container_group_definition_arn,
858
+ :per_instance_container_group_definition_name,
859
+ :per_instance_container_group_definition_arn,
860
+ :instance_connection_port_range,
861
+ :instance_inbound_permissions,
862
+ :game_server_container_groups_per_instance,
863
+ :maximum_game_server_container_groups_per_instance,
864
+ :instance_type,
865
+ :billing_type,
866
+ :description,
867
+ :creation_time,
868
+ :metric_groups,
869
+ :new_game_session_protection_policy,
870
+ :game_session_creation_limit_policy,
871
+ :status,
872
+ :deployment_details,
873
+ :log_configuration,
874
+ :location_attributes)
940
875
  SENSITIVE = []
941
876
  include Aws::Structure
942
877
  end
943
878
 
944
- # **This data type is used with the Amazon GameLift containers feature,
945
- # which is currently in public preview.**
946
- #
947
- # A container's dependency on another container in the same container
948
- # group. The dependency impacts how the dependent container is able to
949
- # start or shut down based the status of the other container.
950
- #
951
- # For example, ContainerA is configured with the following dependency: a
952
- # `START` dependency on ContainerB. This means that ContainerA can't
953
- # start until ContainerB has started. It also means that ContainerA must
954
- # shut down before ContainerB.
879
+ # Details about a location in a multi-location container fleet.
955
880
  #
956
- # **Part of:** ContainerDefinition
957
- #
958
- # @!attribute [rw] container_name
959
- # A descriptive label for the container definition that this container
960
- # depends on.
881
+ # @!attribute [rw] location
882
+ # A location identifier.
961
883
  # @return [String]
962
884
  #
963
- # @!attribute [rw] condition
964
- # The condition that the dependency container must reach before the
965
- # dependent container can start. Valid conditions include:
885
+ # @!attribute [rw] status
886
+ # The status of fleet activity in the location.
966
887
  #
967
- # * START - The dependency container must have started.
888
+ # * `PENDING` -- A new container fleet has been requested.
968
889
  #
969
- # * COMPLETE - The dependency container has run to completion (exits).
970
- # Use this condition with nonessential containers, such as those
971
- # that run a script and then exit. The dependency container can't
972
- # be an essential container.
890
+ # * `CREATING` -- A new container fleet resource is being created.
973
891
  #
974
- # * SUCCESS - The dependency container has run to completion and
975
- # exited with a zero status. The dependency container can't be an
976
- # essential container.
892
+ # * `CREATED` -- A new container fleet resource has been created. No
893
+ # fleet instances have been deployed.
977
894
  #
978
- # * HEALTHY - The dependency container has passed its Docker health
979
- # check. Use this condition with dependency containers that have
980
- # health checks configured. This condition is confirmed at container
981
- # group startup only.
982
- # @return [String]
895
+ # * `ACTIVATING` -- New container fleet instances are being deployed.
983
896
  #
984
- # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerDependency AWS API Documentation
897
+ # * `ACTIVE` -- The container fleet has been deployed and is ready to
898
+ # host game sessions.
985
899
  #
986
- class ContainerDependency < Struct.new(
987
- :container_name,
988
- :condition)
989
- SENSITIVE = []
990
- include Aws::Structure
991
- end
992
-
993
- # **This data type is used with the Amazon GameLift containers feature,
994
- # which is currently in public preview.**
995
- #
996
- # An environment variable to set inside a container, in the form of a
997
- # key-value pair.
998
- #
999
- # <b>Related data type: </b> ContainerDefinition$Environment
1000
- #
1001
- # @!attribute [rw] name
1002
- # The environment variable name.
1003
- # @return [String]
1004
- #
1005
- # @!attribute [rw] value
1006
- # The environment variable value.
900
+ # * `UPDATING` -- Updates to the container fleet is being updated. A
901
+ # deployment is in progress.
1007
902
  # @return [String]
1008
903
  #
1009
- # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerEnvironment AWS API Documentation
904
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerFleetLocationAttributes AWS API Documentation
1010
905
  #
1011
- class ContainerEnvironment < Struct.new(
1012
- :name,
1013
- :value)
906
+ class ContainerFleetLocationAttributes < Struct.new(
907
+ :location,
908
+ :status)
1014
909
  SENSITIVE = []
1015
910
  include Aws::Structure
1016
911
  end
1017
912
 
1018
- # **This data type is used with the Amazon GameLift containers feature,
1019
- # which is currently in public preview.**
1020
- #
1021
- # The properties that describe a container group resource. Container
1022
- # group definition properties can't be updated. To change a property,
1023
- # create a new container group definition.
913
+ # The properties that describe a container group resource. You can
914
+ # update all properties of a container group definition properties.
915
+ # Updates to a container group definition are saved as new versions.
1024
916
  #
1025
917
  # **Used with:** CreateContainerGroupDefinition
1026
918
  #
1027
919
  # **Returned by:** DescribeContainerGroupDefinition,
1028
- # ListContainerGroupDefinitions
920
+ # ListContainerGroupDefinitions, UpdateContainerGroupDefinition
1029
921
  #
1030
922
  # @!attribute [rw] container_group_definition_arn
1031
923
  # The Amazon Resource Name ([ARN][1]) that is assigned to an Amazon
1032
924
  # GameLift `ContainerGroupDefinition` resource. It uniquely identifies
1033
925
  # the resource across all Amazon Web Services Regions. Format is
1034
- # `arn:aws:gamelift:<region>::containergroupdefinition/[container
1035
- # group definition name]`.
926
+ # `arn:aws:gamelift:[region]::containergroupdefinition/[container
927
+ # group definition name]:[version]`.
1036
928
  #
1037
929
  #
1038
930
  #
@@ -1046,12 +938,12 @@ module Aws::GameLift
1046
938
  # @return [Time]
1047
939
  #
1048
940
  # @!attribute [rw] operating_system
1049
- # The platform required for all containers in the container group
1050
- # definition.
941
+ # The platform that all containers in the container group definition
942
+ # run on.
1051
943
  #
1052
944
  # <note markdown="1"> Amazon Linux 2 (AL2) will reach end of support on 6/30/2025. See
1053
945
  # more details in the [Amazon Linux 2 FAQs][1]. For game servers that
1054
- # are hosted on AL2 and use Amazon GameLift server SDK 4.x., first
946
+ # are hosted on AL2 and use Amazon GameLift server SDK 4.x, first
1055
947
  # update the game server build to server SDK 5.x, and then deploy to
1056
948
  # AL2023 instances. See [ Migrate to Amazon GameLift server SDK
1057
949
  # version 5.][2]
@@ -1069,59 +961,55 @@ module Aws::GameLift
1069
961
  # name value is unique in an Amazon Web Services Region.
1070
962
  # @return [String]
1071
963
  #
1072
- # @!attribute [rw] scheduling_strategy
1073
- # The method for deploying the container group across fleet instances.
1074
- # A replica container group might have multiple copies on each fleet
1075
- # instance. A daemon container group maintains only one copy per fleet
1076
- # instance.
964
+ # @!attribute [rw] container_group_type
965
+ # The type of container group. Container group type determines how
966
+ # Amazon GameLift deploys the container group on each fleet instance.
1077
967
  # @return [String]
1078
968
  #
1079
- # @!attribute [rw] total_memory_limit
969
+ # @!attribute [rw] total_memory_limit_mebibytes
1080
970
  # The amount of memory (in MiB) on a fleet instance to allocate for
1081
971
  # the container group. All containers in the group share these
1082
972
  # resources.
1083
973
  #
1084
- # You can set additional limits for each ContainerDefinition in the
1085
- # group. If individual containers have limits, this value must meet
1086
- # the following requirements:
1087
- #
1088
- # * Equal to or greater than the sum of all container-specific soft
1089
- # memory limits in the group.
1090
- #
1091
- # * Equal to or greater than any container-specific hard limits in the
1092
- # group.
1093
- #
1094
- # For more details on memory allocation, see the [Container fleet
1095
- # design guide][1].
1096
- #
1097
- #
1098
- #
1099
- # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-design-fleet
974
+ # You can set a limit for each container definition in the group. If
975
+ # individual containers have limits, this total value must be greater
976
+ # than any individual container's memory limit.
1100
977
  # @return [Integer]
1101
978
  #
1102
- # @!attribute [rw] total_cpu_limit
1103
- # The amount of CPU units on a fleet instance to allocate for the
1104
- # container group. All containers in the group share these resources.
1105
- # This property is an integer value in CPU units (1 vCPU is equal to
1106
- # 1024 CPU units).
1107
- #
1108
- # You can set additional limits for each ContainerDefinition in the
1109
- # group. If individual containers have limits, this value must be
1110
- # equal to or greater than the sum of all container-specific CPU
1111
- # limits in the group.
1112
- #
1113
- # For more details on memory allocation, see the [Container fleet
1114
- # design guide][1].
1115
- #
979
+ # @!attribute [rw] total_vcpu_limit
980
+ # The amount of vCPU units on a fleet instance to allocate for the
981
+ # container group (1 vCPU is equal to 1024 CPU units). All containers
982
+ # in the group share these resources. You can set a limit for each
983
+ # container definition in the group. If individual containers have
984
+ # limits, this total value must be equal to or greater than the sum of
985
+ # the limits for each container in the group.
986
+ # @return [Float]
1116
987
  #
988
+ # @!attribute [rw] game_server_container_definition
989
+ # The definition for the game server container in this group. This
990
+ # property is used only when the container group type is
991
+ # `GAME_SERVER`. This container definition specifies a container image
992
+ # with the game server build.
993
+ # @return [Types::GameServerContainerDefinition]
994
+ #
995
+ # @!attribute [rw] support_container_definitions
996
+ # The set of definitions for support containers in this group. A
997
+ # container group definition might have zero support container
998
+ # definitions. Support container can be used in any type of container
999
+ # group.
1000
+ # @return [Array<Types::SupportContainerDefinition>]
1117
1001
  #
1118
- # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-design-fleet
1002
+ # @!attribute [rw] version_number
1003
+ # Indicates the version of a particular container group definition.
1004
+ # This number is incremented automatically when you update a container
1005
+ # group definition. You can view, update, or delete individual
1006
+ # versions or the entire container group definition.
1119
1007
  # @return [Integer]
1120
1008
  #
1121
- # @!attribute [rw] container_definitions
1122
- # The set of container definitions that are included in the container
1123
- # group.
1124
- # @return [Array<Types::ContainerDefinition>]
1009
+ # @!attribute [rw] version_description
1010
+ # An optional description that was provided for a container group
1011
+ # definition update. Each version can have a unique description.
1012
+ # @return [String]
1125
1013
  #
1126
1014
  # @!attribute [rw] status
1127
1015
  # Current status of the container group definition resource. Values
@@ -1179,203 +1067,38 @@ module Aws::GameLift
1179
1067
  :creation_time,
1180
1068
  :operating_system,
1181
1069
  :name,
1182
- :scheduling_strategy,
1183
- :total_memory_limit,
1184
- :total_cpu_limit,
1185
- :container_definitions,
1070
+ :container_group_type,
1071
+ :total_memory_limit_mebibytes,
1072
+ :total_vcpu_limit,
1073
+ :game_server_container_definition,
1074
+ :support_container_definitions,
1075
+ :version_number,
1076
+ :version_description,
1186
1077
  :status,
1187
1078
  :status_reason)
1188
1079
  SENSITIVE = []
1189
1080
  include Aws::Structure
1190
1081
  end
1191
1082
 
1192
- # **This data type is used with the Amazon GameLift containers feature,
1193
- # which is currently in public preview.**
1194
- #
1195
- # The properties of a container group that is deployed to a container
1196
- # fleet.
1197
- #
1198
- # **Part of:** ContainerGroupsAttributes
1199
- #
1200
- # **Returned by:** DescribeFleetAttributes
1201
- #
1202
- # @!attribute [rw] scheduling_strategy
1203
- # The method for scheduling and maintaining copies of the container
1204
- # group across a container fleet.
1205
- # @return [String]
1206
- #
1207
- # @!attribute [rw] container_group_definition_name
1208
- # The unique identifier for the container group definition.
1209
- # @return [String]
1210
- #
1211
- # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerGroupDefinitionProperty AWS API Documentation
1212
- #
1213
- class ContainerGroupDefinitionProperty < Struct.new(
1214
- :scheduling_strategy,
1215
- :container_group_definition_name)
1216
- SENSITIVE = []
1217
- include Aws::Structure
1218
- end
1219
-
1220
- # **This data type is used with the Amazon GameLift containers feature,
1221
- # which is currently in public preview.**
1222
- #
1223
- # The properties of container groups that are running on a container
1224
- # fleet. Container group properties for a fleet can't be changed.
1225
- #
1226
- # **Returned by:** DescribeFleetAttributes, CreateFleet
1227
- #
1228
- # @!attribute [rw] container_group_definition_properties
1229
- # A collection of properties that describe each container group in the
1230
- # fleet. A container fleet is deployed with one or more
1231
- # ContainerGroupDefinition resources, which is where these properties
1232
- # are set.
1233
- # @return [Array<Types::ContainerGroupDefinitionProperty>]
1234
- #
1235
- # @!attribute [rw] connection_port_range
1236
- # A set of ports that allow inbound traffic to connect to processes
1237
- # running in the fleet's container groups. Amazon GameLift maps each
1238
- # connection port to a container port, which is assigned to a specific
1239
- # container process. A fleet's connection port range can't be
1240
- # changed, but you can control access to connection ports by updating
1241
- # a fleet's `EC2InboundPermissions` with UpdateFleetPortSettings.
1242
- # @return [Types::ConnectionPortRange]
1243
- #
1244
- # @!attribute [rw] container_groups_per_instance
1245
- # Details about the number of replica container groups that Amazon
1246
- # GameLift deploys to each instance in the container fleet.
1247
- # @return [Types::ContainerGroupsPerInstance]
1248
- #
1249
- # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerGroupsAttributes AWS API Documentation
1250
- #
1251
- class ContainerGroupsAttributes < Struct.new(
1252
- :container_group_definition_properties,
1253
- :connection_port_range,
1254
- :container_groups_per_instance)
1255
- SENSITIVE = []
1256
- include Aws::Structure
1257
- end
1258
-
1259
- # **This data type is used with the Amazon GameLift containers feature,
1260
- # which is currently in public preview.**
1261
- #
1262
- # Configuration details for a set of container groups, for use when
1263
- # creating a fleet with compute type `CONTAINER`.
1264
- #
1265
- # **Used with:** CreateFleet
1266
- #
1267
- # @!attribute [rw] container_group_definition_names
1268
- # The list of container group definition names to deploy to a new
1269
- # container fleet.
1270
- # @return [Array<String>]
1271
- #
1272
- # @!attribute [rw] connection_port_range
1273
- # A set of ports to allow inbound traffic, including game clients, to
1274
- # connect to processes running in the container fleet.
1275
- #
1276
- # Connection ports are dynamically mapped to container ports, which
1277
- # are assigned to individual processes running in a container. The
1278
- # connection port range must have enough ports to map to all container
1279
- # ports across a fleet instance. To calculate the minimum connection
1280
- # ports needed, use the following formula:
1281
- #
1282
- # *\[Total number of container ports as defined for containers in the
1283
- # replica container group\] * \[Desired or calculated number of
1284
- # replica container groups per instance\] + \[Total number of
1285
- # container ports as defined for containers in the daemon container
1286
- # group\]*
1287
- #
1288
- # As a best practice, double the minimum number of connection ports.
1289
- #
1290
- # <note markdown="1"> Use the fleet's `EC2InboundPermissions` property to control
1291
- # external access to connection ports. Set this property to the
1292
- # connection port numbers that you want to open access to. See
1293
- # IpPermission for more details.
1294
- #
1295
- # </note>
1296
- # @return [Types::ConnectionPortRange]
1297
- #
1298
- # @!attribute [rw] desired_replica_container_groups_per_instance
1299
- # The number of times to replicate the replica container group on each
1300
- # instance in a container fleet. By default, Amazon GameLift
1301
- # calculates the maximum number of replica container groups that can
1302
- # fit on a fleet instance (based on CPU and memory resources). Leave
1303
- # this parameter empty if you want to use the maximum number, or
1304
- # specify a desired number to override the maximum. The desired number
1305
- # is used if it's less than the maximum number.
1306
- # @return [Integer]
1307
- #
1308
- # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerGroupsConfiguration AWS API Documentation
1309
- #
1310
- class ContainerGroupsConfiguration < Struct.new(
1311
- :container_group_definition_names,
1312
- :connection_port_range,
1313
- :desired_replica_container_groups_per_instance)
1314
- SENSITIVE = []
1315
- include Aws::Structure
1316
- end
1317
-
1318
- # **This data type is used with the Amazon GameLift containers feature,
1319
- # which is currently in public preview.**
1320
- #
1321
- # Determines how many replica container groups that Amazon GameLift
1322
- # deploys to each instance in a container fleet.
1323
- #
1324
- # Amazon GameLift calculates the maximum possible replica groups per
1325
- # instance based on the instance 's CPU and memory resources. When
1326
- # deploying a fleet, Amazon GameLift places replica container groups on
1327
- # each fleet instance based on the following:
1328
- #
1329
- # * If no desired value is set, Amazon GameLift places the calculated
1330
- # maximum.
1331
- #
1332
- # * If a desired number is set to a value higher than the calculated
1333
- # maximum, fleet creation fails..
1334
- #
1335
- # * If a desired number is set to a value lower than the calculated
1336
- # maximum, Amazon GameLift places the desired number.
1337
- #
1338
- # **Part of:** ContainerGroupsConfiguration, ContainerGroupsAttributes
1339
- #
1340
- # **Returned by:** DescribeFleetAttributes, CreateFleet
1341
- #
1342
- # @!attribute [rw] desired_replica_container_groups_per_instance
1343
- # The desired number of replica container groups to place on each
1344
- # fleet instance.
1345
- # @return [Integer]
1346
- #
1347
- # @!attribute [rw] max_replica_container_groups_per_instance
1348
- # The maximum possible number of replica container groups that each
1349
- # fleet instance can have.
1350
- # @return [Integer]
1351
- #
1352
- # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerGroupsPerInstance AWS API Documentation
1353
- #
1354
- class ContainerGroupsPerInstance < Struct.new(
1355
- :desired_replica_container_groups_per_instance,
1356
- :max_replica_container_groups_per_instance)
1357
- SENSITIVE = []
1358
- include Aws::Structure
1359
- end
1360
-
1361
- # Instructions on when and how to check the health of a container in a
1362
- # container fleet. When health check properties are set in a container
1363
- # definition, they override any Docker health checks in the container
1364
- # image. For more information on container health checks, see
1365
- # [HealthCheck command][1] in the *Amazon Elastic Container Service
1366
- # API*.
1083
+ # Instructions on when and how to check the health of a support
1084
+ # container in a container fleet. These properties override any Docker
1085
+ # health checks that are set in the container image. For more
1086
+ # information on container health checks, see [HealthCheck command][1]
1087
+ # in the *Amazon Elastic Container Service API*. Game server containers
1088
+ # don't have a health check parameter; Amazon GameLift automatically
1089
+ # handles health checks for these containers.
1367
1090
  #
1368
- # The following example instructions tell the container to wait 100
1369
- # seconds after launch before counting failed health checks, then
1370
- # initiate the health check command every 60 seconds. After issuing the
1371
- # health check command, wait 10 seconds for it to succeed. If it fails,
1372
- # retry the command 3 times before considering the container to be
1373
- # unhealthy.
1091
+ # The following example instructs the container to initiate a health
1092
+ # check command every 60 seconds and wait 10 seconds for it to succeed.
1093
+ # If it fails, retry the command 3 times before flagging the container
1094
+ # as unhealthy. It also tells the container to wait 100 seconds after
1095
+ # launch before counting failed health checks.
1374
1096
  #
1375
1097
  # `{"Command": [ "CMD-SHELL", "ps cax | grep "processmanager" || exit 1"
1376
- # ], "Interval": 300, "Timeout": 30, "Retries": 5, "StartPeriod": 100 }`
1098
+ # ], "Interval": 60, "Timeout": 10, "Retries": 3, "StartPeriod": 100 }`
1377
1099
  #
1378
- # **Part of:** ContainerDefinition$HealthCheck
1100
+ # **Part of:** SupportContainerDefinition,
1101
+ # SupportContainerDefinitionInput
1379
1102
  #
1380
1103
  #
1381
1104
  #
@@ -1390,15 +1113,10 @@ module Aws::GameLift
1390
1113
  # The time period (in seconds) between each health check.
1391
1114
  # @return [Integer]
1392
1115
  #
1393
- # @!attribute [rw] timeout
1394
- # The time period (in seconds) to wait for a health check to succeed
1395
- # before a failed health check is counted.
1396
- # @return [Integer]
1397
- #
1398
1116
  # @!attribute [rw] retries
1399
- # The number of times to retry a failed health check before the
1400
- # container is considered unhealthy. The first run of the command does
1401
- # not count as a retry.
1117
+ # The number of times to retry a failed health check before flagging
1118
+ # the container unhealthy. The first run of the command does not count
1119
+ # as a retry.
1402
1120
  # @return [Integer]
1403
1121
  #
1404
1122
  # @!attribute [rw] start_period
@@ -1407,65 +1125,92 @@ module Aws::GameLift
1407
1125
  # number of retries.
1408
1126
  # @return [Integer]
1409
1127
  #
1128
+ # @!attribute [rw] timeout
1129
+ # The time period (in seconds) to wait for a health check to succeed
1130
+ # before counting a failed health check.
1131
+ # @return [Integer]
1132
+ #
1410
1133
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerHealthCheck AWS API Documentation
1411
1134
  #
1412
1135
  class ContainerHealthCheck < Struct.new(
1413
1136
  :command,
1414
1137
  :interval,
1415
- :timeout,
1416
1138
  :retries,
1417
- :start_period)
1139
+ :start_period,
1140
+ :timeout)
1418
1141
  SENSITIVE = []
1419
1142
  include Aws::Structure
1420
1143
  end
1421
1144
 
1422
- # Specifies how much memory is available to a container. You can't
1423
- # change this value after you create this object.
1145
+ # A unique identifier for a container in a compute on a managed
1146
+ # container fleet instance. This information makes it possible to
1147
+ # remotely connect to a specific container on a fleet instance.
1148
+ #
1149
+ # **Related to:** ContainerAttribute
1424
1150
  #
1425
- # <b>Part of: </b> ContainerDefinition$MemoryLimits
1151
+ # <b>Use with: </b> GetComputeAccess
1426
1152
  #
1427
- # @!attribute [rw] soft_limit
1428
- # The amount of memory that is reserved for a container. When the
1429
- # container group's shared memory is under contention, the system
1430
- # attempts to maintain the container memory usage at this soft limit.
1431
- # However, the container can use more memory when needed, if
1432
- # available. This property is similar to the Amazon ECS container
1433
- # definition parameter [memoryreservation][1] (*Amazon Elastic
1434
- # Container Service Developer Guide*).
1153
+ # @!attribute [rw] container_name
1154
+ # The identifier for a container that's running in a compute.
1155
+ # @return [String]
1435
1156
  #
1157
+ # @!attribute [rw] container_runtime_id
1158
+ # The runtime ID for the container that's running in a compute. This
1159
+ # value is unique within the compute. It is returned as a
1160
+ # `ContainerAttribute` value in a `Compute` object.
1161
+ # @return [String]
1436
1162
  #
1163
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerIdentifier AWS API Documentation
1437
1164
  #
1438
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#ContainerDefinition-memoryReservation
1439
- # @return [Integer]
1165
+ class ContainerIdentifier < Struct.new(
1166
+ :container_name,
1167
+ :container_runtime_id)
1168
+ SENSITIVE = []
1169
+ include Aws::Structure
1170
+ end
1171
+
1172
+ # A mount point that binds a container to a file or directory on the
1173
+ # host system.
1440
1174
  #
1441
- # @!attribute [rw] hard_limit
1442
- # The maximum amount of memory that the container can use. If a
1443
- # container attempts to exceed this limit, the container is stopped.
1444
- # This property is similar to the Amazon ECS container definition
1445
- # parameter [memory][1] in the *Amazon Elastic Container Service
1446
- # Developer Guide.*
1175
+ # **Part of:** GameServerContainerDefinition,
1176
+ # GameServerContainerDefinitionInput, SupportContainerDefinition,
1177
+ # SupportContainerDefinitionInput
1447
1178
  #
1179
+ # @!attribute [rw] instance_path
1180
+ # The path to the source file or directory.
1181
+ # @return [String]
1448
1182
  #
1183
+ # @!attribute [rw] container_path
1184
+ # The mount path on the container. If this property isn't set, the
1185
+ # instance path is used.
1186
+ # @return [String]
1449
1187
  #
1450
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#container_definition_memory
1451
- # @return [Integer]
1188
+ # @!attribute [rw] access_level
1189
+ # The type of access for the container.
1190
+ # @return [String]
1452
1191
  #
1453
- # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerMemoryLimits AWS API Documentation
1192
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerMountPoint AWS API Documentation
1454
1193
  #
1455
- class ContainerMemoryLimits < Struct.new(
1456
- :soft_limit,
1457
- :hard_limit)
1194
+ class ContainerMountPoint < Struct.new(
1195
+ :instance_path,
1196
+ :container_path,
1197
+ :access_level)
1458
1198
  SENSITIVE = []
1459
1199
  include Aws::Structure
1460
1200
  end
1461
1201
 
1462
- # Defines ranges of ports that server processes can connect to.
1202
+ # A set of port ranges that can be opened on the container. A process
1203
+ # that's running in the container can bind to a port number, making it
1204
+ # accessible to inbound traffic. Container ports map to a container
1205
+ # fleet's connection ports.
1463
1206
  #
1464
- # **Part of:** ContainerDefinition$PortConfiguration
1207
+ # **Part of:** GameServerContainerDefinition,
1208
+ # GameServerContainerDefinitionInput, SupportContainerDefinition,
1209
+ # SupportContainerDefinitionInput
1465
1210
  #
1466
1211
  # @!attribute [rw] container_port_ranges
1467
- # Specifies one or more ranges of ports on a container. These ranges
1468
- # must not overlap.
1212
+ # A set of one or more container port number ranges. The ranges can't
1213
+ # overlap.
1469
1214
  # @return [Array<Types::ContainerPortRange>]
1470
1215
  #
1471
1216
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerPortConfiguration AWS API Documentation
@@ -1476,45 +1221,6 @@ module Aws::GameLift
1476
1221
  include Aws::Structure
1477
1222
  end
1478
1223
 
1479
- # **This data type is used with the Amazon GameLift containers feature,
1480
- # which is currently in public preview.**
1481
- #
1482
- # Defines how an internal-facing container port is mapped to an
1483
- # external-facing connection port on a fleet instance of compute type
1484
- # `CONTAINER`. Incoming traffic, such as a game client, uses a
1485
- # connection port to connect to a process in the container fleet. Amazon
1486
- # GameLift directs the inbound traffic to the container port that is
1487
- # assigned to the process, such as a game session, running on a
1488
- # container.
1489
- #
1490
- # **Part of:** ContainerAttributes
1491
- #
1492
- # @!attribute [rw] container_port
1493
- # The port opened on the container.
1494
- # @return [Integer]
1495
- #
1496
- # @!attribute [rw] connection_port
1497
- # The port opened on the fleet instance. This is also called the
1498
- # "host port".
1499
- # @return [Integer]
1500
- #
1501
- # @!attribute [rw] protocol
1502
- # The network protocol that this mapping supports.
1503
- # @return [String]
1504
- #
1505
- # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerPortMapping AWS API Documentation
1506
- #
1507
- class ContainerPortMapping < Struct.new(
1508
- :container_port,
1509
- :connection_port,
1510
- :protocol)
1511
- SENSITIVE = [:container_port, :connection_port]
1512
- include Aws::Structure
1513
- end
1514
-
1515
- # **This data type is used with the Amazon GameLift containers feature,
1516
- # which is currently in public preview.**
1517
- #
1518
1224
  # A set of one or more port numbers that can be opened on the container.
1519
1225
  #
1520
1226
  # **Part of:** ContainerPortConfiguration
@@ -1594,13 +1300,14 @@ module Aws::GameLift
1594
1300
  end
1595
1301
 
1596
1302
  # @!attribute [rw] name
1597
- # A descriptive label associated with a build. Build names don't need
1598
- # to be unique. You can change this value later.
1303
+ # A descriptive label that is associated with a build. Build names do
1304
+ # not need to be unique. You can change this value later.
1599
1305
  # @return [String]
1600
1306
  #
1601
1307
  # @!attribute [rw] version
1602
- # Version information associated with a build or script. Version
1603
- # strings don't need to be unique. You can change this value later.
1308
+ # Version information that is associated with a build or script.
1309
+ # Version strings do not need to be unique. You can change this value
1310
+ # later.
1604
1311
  # @return [String]
1605
1312
  #
1606
1313
  # @!attribute [rw] storage_location
@@ -1618,12 +1325,12 @@ module Aws::GameLift
1618
1325
  # @return [Types::S3Location]
1619
1326
  #
1620
1327
  # @!attribute [rw] operating_system
1621
- # The operating system that your game server binaries run on. This
1622
- # value determines the type of fleet resources that you use for this
1623
- # build. If your game build contains multiple executables, they all
1624
- # must run on the same operating system. You must specify a valid
1625
- # operating system in this request. There is no default value. You
1626
- # can't change a build's operating system later.
1328
+ # The environment that your game server binaries run on. This value
1329
+ # determines the type of fleet resources that you use for this build.
1330
+ # If your game build contains multiple executables, they all must run
1331
+ # on the same operating system. This parameter is required, and
1332
+ # there's no default value. You can't change a build's operating
1333
+ # system later.
1627
1334
  #
1628
1335
  # <note markdown="1"> Amazon Linux 2 (AL2) will reach end of support on 6/30/2025. See
1629
1336
  # more details in the [Amazon Linux 2 FAQs][1]. For game servers that
@@ -1716,56 +1423,327 @@ module Aws::GameLift
1716
1423
  include Aws::Structure
1717
1424
  end
1718
1425
 
1426
+ # @!attribute [rw] fleet_role_arn
1427
+ # The unique identifier for an Identity and Access Management (IAM)
1428
+ # role with permissions to run your containers on resources that are
1429
+ # managed by Amazon GameLift. Use an IAM service role with the
1430
+ # `GameLiftContainerFleetPolicy` managed policy attached. For more
1431
+ # information, see [Set up an IAM service role][1]. You can't change
1432
+ # this fleet property after the fleet is created.
1433
+ #
1434
+ # IAM role ARN values use the following pattern: `arn:aws:iam::[Amazon
1435
+ # Web Services account]:role/[role name]`.
1436
+ #
1437
+ #
1438
+ #
1439
+ # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/setting-up-role.html
1440
+ # @return [String]
1441
+ #
1442
+ # @!attribute [rw] description
1443
+ # A meaningful description of the container fleet.
1444
+ # @return [String]
1445
+ #
1446
+ # @!attribute [rw] game_server_container_group_definition_name
1447
+ # A container group definition resource that describes how to deploy
1448
+ # containers with your game server build and support software onto
1449
+ # each fleet instance. You can specify the container group
1450
+ # definition's name to use the latest version. Alternatively, provide
1451
+ # an ARN value with a specific version number.
1452
+ #
1453
+ # Create a container group definition by calling
1454
+ # CreateContainerGroupDefinition. This operation creates a
1455
+ # ContainerGroupDefinition resource.
1456
+ # @return [String]
1457
+ #
1458
+ # @!attribute [rw] per_instance_container_group_definition_name
1459
+ # The name of a container group definition resource that describes a
1460
+ # set of axillary software. A fleet instance has one process for
1461
+ # executables in this container group. A per-instance container group
1462
+ # is optional. You can update the fleet to add or remove a
1463
+ # per-instance container group at any time. You can specify the
1464
+ # container group definition's name to use the latest version.
1465
+ # Alternatively, provide an ARN value with a specific version number.
1466
+ #
1467
+ # Create a container group definition by calling
1468
+ # CreateContainerGroupDefinition. This operation creates a
1469
+ # ContainerGroupDefinition resource.
1470
+ # @return [String]
1471
+ #
1472
+ # @!attribute [rw] instance_connection_port_range
1473
+ # The set of port numbers to open on each fleet instance. A fleet's
1474
+ # connection ports map to container ports that are configured in the
1475
+ # fleet's container group definitions.
1476
+ #
1477
+ # By default, Amazon GameLift calculates an optimal port range based
1478
+ # on your fleet configuration. To use the calculated range, don't set
1479
+ # this parameter. The values are:
1480
+ #
1481
+ # * Port range: 4192 to a number calculated based on your fleet
1482
+ # configuration. Amazon GameLift uses the following formula: `4192 +
1483
+ # [# of game server container groups per fleet instance] * [# of
1484
+ # container ports in the game server container group definition] +
1485
+ # [# of container ports in the game server container group
1486
+ # definition]`
1487
+ #
1488
+ # ^
1489
+ #
1490
+ # You can also choose to manually set this parameter. When manually
1491
+ # setting this parameter, you must use port numbers that match the
1492
+ # fleet's inbound permissions port range.
1493
+ #
1494
+ # <note markdown="1"> If you set values manually, Amazon GameLift no longer calculates a
1495
+ # port range for you, even if you later remove the manual settings.
1496
+ #
1497
+ # </note>
1498
+ # @return [Types::ConnectionPortRange]
1499
+ #
1500
+ # @!attribute [rw] instance_inbound_permissions
1501
+ # The IP address ranges and port settings that allow inbound traffic
1502
+ # to access game server processes and other processes on this fleet.
1503
+ # As a best practice, when remotely accessing a fleet instance, we
1504
+ # recommend opening ports only when you need them and closing them
1505
+ # when you're finished.
1506
+ #
1507
+ # By default, Amazon GameLift calculates an optimal port range based
1508
+ # on your fleet configuration. To use the calculated range, don't set
1509
+ # this parameter. The values are:
1510
+ #
1511
+ # * Protocol: UDP
1512
+ #
1513
+ # * Port range: 4192 to a number calculated based on your fleet
1514
+ # configuration. Amazon GameLift uses the following formula: `4192 +
1515
+ # [# of game server container groups per fleet instance] * [# of
1516
+ # container ports in the game server container group definition] +
1517
+ # [# of container ports in the game server container group
1518
+ # definition]`
1519
+ #
1520
+ # You can also choose to manually set this parameter. When manually
1521
+ # setting this parameter, you must use port numbers that match the
1522
+ # fleet's connection port range.
1523
+ #
1524
+ # <note markdown="1"> If you set values manually, Amazon GameLift no longer calculates a
1525
+ # port range for you, even if you later remove the manual settings.
1526
+ #
1527
+ # </note>
1528
+ # @return [Array<Types::IpPermission>]
1529
+ #
1530
+ # @!attribute [rw] game_server_container_groups_per_instance
1531
+ # The number of times to replicate the game server container group on
1532
+ # each fleet instance.
1533
+ #
1534
+ # By default, Amazon GameLift calculates the maximum number of game
1535
+ # server container groups that can fit on each instance. This
1536
+ # calculation is based on the CPU and memory resources of the fleet's
1537
+ # instance type). To use the calculated maximum, don't set this
1538
+ # parameter. If you set this number manually, Amazon GameLift uses
1539
+ # your value as long as it's less than the calculated maximum.
1540
+ # @return [Integer]
1541
+ #
1542
+ # @!attribute [rw] instance_type
1543
+ # The Amazon EC2 instance type to use for all instances in the fleet.
1544
+ # For multi-location fleets, the instance type must be available in
1545
+ # the home region and all remote locations. Instance type determines
1546
+ # the computing resources and processing power that's available to
1547
+ # host your game servers. This includes including CPU, memory,
1548
+ # storage, and networking capacity.
1549
+ #
1550
+ # By default, Amazon GameLift selects an instance type that fits the
1551
+ # needs of your container groups and is available in all selected
1552
+ # fleet locations. You can also choose to manually set this parameter.
1553
+ # See [Amazon Elastic Compute Cloud Instance Types][1] for detailed
1554
+ # descriptions of Amazon EC2 instance types.
1555
+ #
1556
+ # You can't update this fleet property later.
1557
+ #
1558
+ #
1559
+ #
1560
+ # [1]: http://aws.amazon.com/ec2/instance-types/
1561
+ # @return [String]
1562
+ #
1563
+ # @!attribute [rw] billing_type
1564
+ # Indicates whether to use On-Demand or Spot instances for this fleet.
1565
+ # Learn more about when to use [ On-Demand versus Spot Instances][1].
1566
+ # This fleet property can't be changed after the fleet is created.
1567
+ #
1568
+ # By default, this property is set to `ON_DEMAND`.
1569
+ #
1570
+ # You can't update this fleet property later.
1571
+ #
1572
+ #
1573
+ #
1574
+ # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html#gamelift-ec2-instances-spot
1575
+ # @return [String]
1576
+ #
1577
+ # @!attribute [rw] locations
1578
+ # A set of locations to deploy container fleet instances to. You can
1579
+ # add any Amazon Web Services Region or Local Zone that's supported
1580
+ # by Amazon GameLift. Provide a list of one or more Amazon Web
1581
+ # Services Region codes, such as `us-west-2`, or Local Zone names.
1582
+ # Also include the fleet's home Region, which is the Amazon Web
1583
+ # Services Region where the fleet is created. For a list of supported
1584
+ # Regions and Local Zones, see [ Amazon GameLift service locations][1]
1585
+ # for managed hosting.
1586
+ #
1587
+ #
1588
+ #
1589
+ # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-regions.html
1590
+ # @return [Array<Types::LocationConfiguration>]
1591
+ #
1592
+ # @!attribute [rw] metric_groups
1593
+ # The name of an Amazon Web Services CloudWatch metric group to add
1594
+ # this fleet to. You can use a metric group to aggregate metrics for
1595
+ # multiple fleets. You can specify an existing metric group name or
1596
+ # use a new name to create a new metric group. Each fleet can have
1597
+ # only one metric group, but you can change this value at any time.
1598
+ # @return [Array<String>]
1599
+ #
1600
+ # @!attribute [rw] new_game_session_protection_policy
1601
+ # Determines whether Amazon GameLift can shut down game sessions on
1602
+ # the fleet that are actively running and hosting players. Amazon
1603
+ # GameLift might prompt an instance shutdown when scaling down fleet
1604
+ # capacity or when retiring unhealthy instances. You can also set game
1605
+ # session protection for individual game sessions using
1606
+ # [UpdateGameSession](gamelift/latest/apireference/API_UpdateGameSession.html).
1607
+ #
1608
+ # * **NoProtection** -- Game sessions can be shut down during active
1609
+ # gameplay.
1610
+ #
1611
+ # * **FullProtection** -- Game sessions in `ACTIVE` status can't be
1612
+ # shut down.
1613
+ #
1614
+ # By default, this property is set to `NoProtection`.
1615
+ # @return [String]
1616
+ #
1617
+ # @!attribute [rw] game_session_creation_limit_policy
1618
+ # A policy that limits the number of game sessions that each
1619
+ # individual player can create on instances in this fleet. The limit
1620
+ # applies for a specified span of time.
1621
+ # @return [Types::GameSessionCreationLimitPolicy]
1622
+ #
1623
+ # @!attribute [rw] log_configuration
1624
+ # A method for collecting container logs for the fleet. Amazon
1625
+ # GameLift saves all standard output for each container in logs,
1626
+ # including game session logs. You can select from the following
1627
+ # methods:
1628
+ #
1629
+ # * `CLOUDWATCH` -- Send logs to an Amazon CloudWatch log group that
1630
+ # you define. Each container emits a log stream, which is organized
1631
+ # in the log group.
1632
+ #
1633
+ # * `S3` -- Store logs in an Amazon S3 bucket that you define.
1634
+ #
1635
+ # * `NONE` -- Don't collect container logs.
1636
+ #
1637
+ # By default, this property is set to `CLOUDWATCH`.
1638
+ #
1639
+ # Amazon GameLift requires permissions to send logs other Amazon Web
1640
+ # Services services in your account. These permissions are included in
1641
+ # the IAM fleet role for this container fleet (see `FleetRoleArn)`.
1642
+ # @return [Types::LogConfiguration]
1643
+ #
1644
+ # @!attribute [rw] tags
1645
+ # A list of labels to assign to the new fleet resource. Tags are
1646
+ # developer-defined key-value pairs. Tagging Amazon Web Services
1647
+ # resources are useful for resource management, access management and
1648
+ # cost allocation. For more information, see [ Tagging Amazon Web
1649
+ # Services Resources][1] in the *Amazon Web Services General
1650
+ # Reference*.
1651
+ #
1652
+ #
1653
+ #
1654
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
1655
+ # @return [Array<Types::Tag>]
1656
+ #
1657
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateContainerFleetInput AWS API Documentation
1658
+ #
1659
+ class CreateContainerFleetInput < Struct.new(
1660
+ :fleet_role_arn,
1661
+ :description,
1662
+ :game_server_container_group_definition_name,
1663
+ :per_instance_container_group_definition_name,
1664
+ :instance_connection_port_range,
1665
+ :instance_inbound_permissions,
1666
+ :game_server_container_groups_per_instance,
1667
+ :instance_type,
1668
+ :billing_type,
1669
+ :locations,
1670
+ :metric_groups,
1671
+ :new_game_session_protection_policy,
1672
+ :game_session_creation_limit_policy,
1673
+ :log_configuration,
1674
+ :tags)
1675
+ SENSITIVE = []
1676
+ include Aws::Structure
1677
+ end
1678
+
1679
+ # @!attribute [rw] container_fleet
1680
+ # The properties for the new container fleet, including current
1681
+ # status. All fleets are initially placed in `PENDING` status.
1682
+ # @return [Types::ContainerFleet]
1683
+ #
1684
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateContainerFleetOutput AWS API Documentation
1685
+ #
1686
+ class CreateContainerFleetOutput < Struct.new(
1687
+ :container_fleet)
1688
+ SENSITIVE = []
1689
+ include Aws::Structure
1690
+ end
1691
+
1719
1692
  # @!attribute [rw] name
1720
1693
  # A descriptive identifier for the container group definition. The
1721
1694
  # name value must be unique in an Amazon Web Services Region.
1722
1695
  # @return [String]
1723
1696
  #
1724
- # @!attribute [rw] scheduling_strategy
1725
- # The method for deploying the container group across fleet instances.
1726
- # A replica container group might have multiple copies on each fleet
1727
- # instance. A daemon container group has one copy per fleet instance.
1728
- # Default value is `REPLICA`.
1697
+ # @!attribute [rw] container_group_type
1698
+ # The type of container group being defined. Container group type
1699
+ # determines how Amazon GameLift deploys the container group on each
1700
+ # fleet instance.
1701
+ #
1702
+ # Default value: `GAME_SERVER`
1729
1703
  # @return [String]
1730
1704
  #
1731
- # @!attribute [rw] total_memory_limit
1705
+ # @!attribute [rw] total_memory_limit_mebibytes
1732
1706
  # The maximum amount of memory (in MiB) to allocate to the container
1733
1707
  # group. All containers in the group share this memory. If you specify
1734
- # memory limits for individual containers, set this parameter based on
1735
- # the following guidelines. The value must be (1) greater than the sum
1736
- # of the soft memory limits for all containers in the group, and (2)
1737
- # greater than any individual container's hard memory limit.
1738
- # @return [Integer]
1708
+ # memory limits for an individual container, the total value must be
1709
+ # greater than any individual container's memory limit.
1739
1710
  #
1740
- # @!attribute [rw] total_cpu_limit
1741
- # The maximum amount of CPU units to allocate to the container group.
1742
- # Set this parameter to an integer value in CPU units (1 vCPU is equal
1743
- # to 1024 CPU units). All containers in the group share this memory.
1744
- # If you specify CPU limits for individual containers, set this
1745
- # parameter based on the following guidelines. The value must be equal
1746
- # to or greater than the sum of the CPU limits for all containers in
1747
- # the group.
1711
+ # Default value: 1024
1748
1712
  # @return [Integer]
1749
1713
  #
1750
- # @!attribute [rw] container_definitions
1751
- # Definitions for all containers in this group. Each container
1752
- # definition identifies the container image and specifies
1753
- # configuration settings for the container. See the [ Container fleet
1754
- # design guide][1] for container guidelines.
1714
+ # @!attribute [rw] total_vcpu_limit
1715
+ # The maximum amount of vCPU units to allocate to the container group
1716
+ # (1 vCPU is equal to 1024 CPU units). All containers in the group
1717
+ # share this memory. If you specify vCPU limits for individual
1718
+ # containers, the total value must be equal to or greater than the sum
1719
+ # of the CPU limits for all containers in the group.
1755
1720
  #
1721
+ # Default value: 1
1722
+ # @return [Float]
1756
1723
  #
1724
+ # @!attribute [rw] game_server_container_definition
1725
+ # The definition for the game server container in this group. Define a
1726
+ # game server container only when the container group type is
1727
+ # `GAME_SERVER`. Game server containers specify a container image with
1728
+ # your game server build. You can pass in your container definitions
1729
+ # as a JSON file.
1730
+ # @return [Types::GameServerContainerDefinitionInput]
1757
1731
  #
1758
- # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-design-fleet.html
1759
- # @return [Array<Types::ContainerDefinitionInput>]
1732
+ # @!attribute [rw] support_container_definitions
1733
+ # One or more definition for support containers in this group. You can
1734
+ # define a support container in any type of container group. You can
1735
+ # pass in your container definitions as a JSON file.
1736
+ # @return [Array<Types::SupportContainerDefinitionInput>]
1760
1737
  #
1761
1738
  # @!attribute [rw] operating_system
1762
- # The platform that is used by containers in the container group
1763
- # definition. All containers in a group must run on the same operating
1764
- # system.
1739
+ # The platform that all containers in the group use. Containers in a
1740
+ # group must run on the same operating system.
1741
+ #
1742
+ # Default value: `AMAZON_LINUX_2023`
1765
1743
  #
1766
1744
  # <note markdown="1"> Amazon Linux 2 (AL2) will reach end of support on 6/30/2025. See
1767
1745
  # more details in the [Amazon Linux 2 FAQs][1]. For game servers that
1768
- # are hosted on AL2 and use Amazon GameLift server SDK 4.x., first
1746
+ # are hosted on AL2 and use Amazon GameLift server SDK 4.x, first
1769
1747
  # update the game server build to server SDK 5.x, and then deploy to
1770
1748
  # AL2023 instances. See [ Migrate to Amazon GameLift server SDK
1771
1749
  # version 5.][2]
@@ -1778,6 +1756,11 @@ module Aws::GameLift
1778
1756
  # [2]: https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-serversdk5-migration.html
1779
1757
  # @return [String]
1780
1758
  #
1759
+ # @!attribute [rw] version_description
1760
+ # A description for the initial version of this container group
1761
+ # definition.
1762
+ # @return [String]
1763
+ #
1781
1764
  # @!attribute [rw] tags
1782
1765
  # A list of labels to assign to the container group definition
1783
1766
  # resource. Tags are developer-defined key-value pairs. Tagging Amazon
@@ -1795,19 +1778,21 @@ module Aws::GameLift
1795
1778
  #
1796
1779
  class CreateContainerGroupDefinitionInput < Struct.new(
1797
1780
  :name,
1798
- :scheduling_strategy,
1799
- :total_memory_limit,
1800
- :total_cpu_limit,
1801
- :container_definitions,
1781
+ :container_group_type,
1782
+ :total_memory_limit_mebibytes,
1783
+ :total_vcpu_limit,
1784
+ :game_server_container_definition,
1785
+ :support_container_definitions,
1802
1786
  :operating_system,
1787
+ :version_description,
1803
1788
  :tags)
1804
1789
  SENSITIVE = []
1805
1790
  include Aws::Structure
1806
1791
  end
1807
1792
 
1808
1793
  # @!attribute [rw] container_group_definition
1809
- # The properties of the newly created container group definition
1810
- # resource. You use this resource to create a container fleet.
1794
+ # The properties of the new container group definition resource. You
1795
+ # can use this resource to create a container fleet.
1811
1796
  # @return [Types::ContainerGroupDefinition]
1812
1797
  #
1813
1798
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateContainerGroupDefinitionOutput AWS API Documentation
@@ -1870,11 +1855,11 @@ module Aws::GameLift
1870
1855
  #
1871
1856
  # @!attribute [rw] ec2_instance_type
1872
1857
  # The Amazon GameLift-supported Amazon EC2 instance type to use with
1873
- # EC2 and container fleets. Instance type determines the computing
1874
- # resources that will be used to host your game servers, including
1875
- # CPU, memory, storage, and networking capacity. See [Amazon Elastic
1876
- # Compute Cloud Instance Types][1] for detailed descriptions of Amazon
1877
- # EC2 instance types.
1858
+ # managed EC2 fleets. Instance type determines the computing resources
1859
+ # that will be used to host your game servers, including CPU, memory,
1860
+ # storage, and networking capacity. See [Amazon Elastic Compute Cloud
1861
+ # Instance Types][1] for detailed descriptions of Amazon EC2 instance
1862
+ # types.
1878
1863
  #
1879
1864
  #
1880
1865
  #
@@ -1884,18 +1869,13 @@ module Aws::GameLift
1884
1869
  # @!attribute [rw] ec2_inbound_permissions
1885
1870
  # The IP address ranges and port settings that allow inbound traffic
1886
1871
  # to access game server processes and other processes on this fleet.
1887
- # Set this parameter for EC2 and container fleets. You can leave this
1872
+ # Set this parameter for managed EC2 fleets. You can leave this
1888
1873
  # parameter empty when creating the fleet, but you must call
1889
1874
  # UpdateFleetPortSettings to set it before players can connect to game
1890
1875
  # sessions. As a best practice, we recommend opening ports for remote
1891
1876
  # access only when you need them and closing them when you're
1892
1877
  # finished. For Realtime Servers fleets, Amazon GameLift automatically
1893
1878
  # sets TCP and UDP ranges.
1894
- #
1895
- # To manage inbound access for a container fleet, set this parameter
1896
- # to the same port numbers that you set for the fleet's connection
1897
- # port range. During the life of the fleet, update this parameter to
1898
- # control which connection ports are open to inbound traffic.
1899
1879
  # @return [Array<Types::IpPermission>]
1900
1880
  #
1901
1881
  # @!attribute [rw] new_game_session_protection_policy
@@ -1914,12 +1894,12 @@ module Aws::GameLift
1914
1894
  #
1915
1895
  # @!attribute [rw] runtime_configuration
1916
1896
  # Instructions for how to launch and run server processes on the
1917
- # fleet. Set runtime configuration for EC2 fleets and container
1918
- # fleets. For an Anywhere fleets, set this parameter only if the fleet
1919
- # is running the Amazon GameLift Agent. The runtime configuration
1920
- # defines one or more server process configurations. Each server
1921
- # process identifies a game executable or Realtime script file and the
1922
- # number of processes to run concurrently.
1897
+ # fleet. Set runtime configuration for managed EC2 fleets. For an
1898
+ # Anywhere fleets, set this parameter only if the fleet is running the
1899
+ # Amazon GameLift Agent. The runtime configuration defines one or more
1900
+ # server process configurations. Each server process identifies a game
1901
+ # executable or Realtime script file and the number of processes to
1902
+ # run concurrently.
1923
1903
  #
1924
1904
  # <note markdown="1"> This parameter replaces the parameters `ServerLaunchPath` and
1925
1905
  # `ServerLaunchParameters`, which are still supported for backward
@@ -1974,19 +1954,20 @@ module Aws::GameLift
1974
1954
  # @return [String]
1975
1955
  #
1976
1956
  # @!attribute [rw] instance_role_arn
1977
- # A unique identifier for an IAM role with access permissions to other
1978
- # Amazon Web Services services. Any application that runs on an
1979
- # instance in the fleet--including install scripts, server processes,
1980
- # and other processes--can use these permissions to interact with
1981
- # Amazon Web Services resources that you own or have access to. For
1982
- # more information about using the role with your game server builds,
1983
- # see [ Communicate with other Amazon Web Services resources from your
1984
- # fleets][1]. This fleet property can't be changed after the fleet is
1985
- # created.
1957
+ # A unique identifier for an IAM role that manages access to your
1958
+ # Amazon Web Services services. With an instance role ARN set, any
1959
+ # application that runs on an instance in this fleet can assume the
1960
+ # role, including install scripts, server processes, and daemons
1961
+ # (background processes). Create a role or look up a role's ARN by
1962
+ # using the [IAM dashboard][1] in the Amazon Web Services Management
1963
+ # Console. Learn more about using on-box credentials for your game
1964
+ # servers at [ Access external resources from a game server][2]. This
1965
+ # fleet property can't be changed after the fleet is created.
1986
1966
  #
1987
1967
  #
1988
1968
  #
1989
- # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html
1969
+ # [1]: https://console.aws.amazon.com/iam/
1970
+ # [2]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html
1990
1971
  # @return [String]
1991
1972
  #
1992
1973
  # @!attribute [rw] certificate_configuration
@@ -2051,15 +2032,10 @@ module Aws::GameLift
2051
2032
  # * `EC2` – The game server build is deployed to Amazon EC2 instances
2052
2033
  # for cloud hosting. This is the default setting.
2053
2034
  #
2054
- # * `CONTAINER` – Container images with your game server build and
2055
- # supporting software are deployed to Amazon EC2 instances for cloud
2056
- # hosting. With this compute type, you must specify the
2057
- # `ContainerGroupsConfiguration` parameter.
2058
- #
2059
- # * `ANYWHERE` – Game servers or container images with your game
2060
- # server and supporting software are deployed to compute resources
2061
- # that are provided and managed by you. With this compute type, you
2062
- # can also set the `AnywhereConfiguration` parameter.
2035
+ # * `ANYWHERE` – Your game server and supporting software is deployed
2036
+ # to compute resources that are provided and managed by you. With
2037
+ # this compute type, you can also set the `AnywhereConfiguration`
2038
+ # parameter.
2063
2039
  # @return [String]
2064
2040
  #
2065
2041
  # @!attribute [rw] anywhere_configuration
@@ -2081,15 +2057,6 @@ module Aws::GameLift
2081
2057
  # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html
2082
2058
  # @return [String]
2083
2059
  #
2084
- # @!attribute [rw] container_groups_configuration
2085
- # The container groups to deploy to instances in the container fleet
2086
- # and other fleet-level configuration settings. Use the
2087
- # CreateContainerGroupDefinition action to create container groups. A
2088
- # container fleet must have exactly one replica container group, and
2089
- # can optionally have one daemon container group. You can't change
2090
- # this property after you create the fleet.
2091
- # @return [Types::ContainerGroupsConfiguration]
2092
- #
2093
2060
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateFleetInput AWS API Documentation
2094
2061
  #
2095
2062
  class CreateFleetInput < Struct.new(
@@ -2115,8 +2082,7 @@ module Aws::GameLift
2115
2082
  :tags,
2116
2083
  :compute_type,
2117
2084
  :anywhere_configuration,
2118
- :instance_role_credentials_provider,
2119
- :container_groups_configuration)
2085
+ :instance_role_credentials_provider)
2120
2086
  SENSITIVE = []
2121
2087
  include Aws::Structure
2122
2088
  end
@@ -2456,7 +2422,8 @@ module Aws::GameLift
2456
2422
  # @!attribute [rw] game_session_data
2457
2423
  # A set of custom game session properties, formatted as a single
2458
2424
  # string value. This data is passed to a game server process with a
2459
- # request to start a new game session (see [Start a Game Session][1]).
2425
+ # request to start a new game session. For more information, see
2426
+ # [Start a game session][1].
2460
2427
  #
2461
2428
  #
2462
2429
  #
@@ -2509,18 +2476,15 @@ module Aws::GameLift
2509
2476
  # @!attribute [rw] timeout_in_seconds
2510
2477
  # The maximum time, in seconds, that a new game session placement
2511
2478
  # request remains in the queue. When a request exceeds this time, the
2512
- # game session placement changes to a `TIMED_OUT` status. By default,
2513
- # this property is set to `600`.
2479
+ # game session placement changes to a `TIMED_OUT` status.
2514
2480
  # @return [Integer]
2515
2481
  #
2516
2482
  # @!attribute [rw] player_latency_policies
2517
- # A set of policies that act as a sliding cap on player latency.
2518
- # FleetIQ works to deliver low latency for most players in a game
2519
- # session. These policies ensure that no individual player can be
2520
- # placed into a game with unreasonably high latency. Use multiple
2521
- # policies to gradually relax latency requirements a step at a time.
2522
- # Multiple policies are applied based on their maximum allowed
2523
- # latency, starting with the lowest value.
2483
+ # A set of policies that enforce a sliding cap on player latency when
2484
+ # processing game sessions placement requests. Use multiple policies
2485
+ # to gradually relax the cap over time if Amazon GameLift can't make
2486
+ # a placement. Policies are evaluated in order starting with the
2487
+ # lowest maximum latency value.
2524
2488
  # @return [Array<Types::PlayerLatencyPolicy>]
2525
2489
  #
2526
2490
  # @!attribute [rw] destinations
@@ -2703,10 +2667,9 @@ module Aws::GameLift
2703
2667
  # @!attribute [rw] additional_player_count
2704
2668
  # The number of player slots in a match to keep open for future
2705
2669
  # players. For example, if the configuration's rule set specifies a
2706
- # match for a single 10-person team, and the additional player count
2707
- # is set to 2, 10 players will be selected for the match and 2 more
2708
- # player slots will be open for future players. This parameter is not
2709
- # used if `FlexMatchMode` is set to `STANDALONE`.
2670
+ # match for a single 12-person team, and the additional player count
2671
+ # is set to 2, only 10 players are selected for the match. This
2672
+ # parameter is not used if `FlexMatchMode` is set to `STANDALONE`.
2710
2673
  # @return [Integer]
2711
2674
  #
2712
2675
  # @!attribute [rw] custom_event_data
@@ -2725,10 +2688,10 @@ module Aws::GameLift
2725
2688
  # @!attribute [rw] game_session_data
2726
2689
  # A set of custom game session properties, formatted as a single
2727
2690
  # string value. This data is passed to a game server process with a
2728
- # request to start a new game session (see [Start a Game Session][1]).
2729
- # This information is added to the new `GameSession` object that is
2730
- # created for a successful match. This parameter is not used if
2731
- # `FlexMatchMode` is set to `STANDALONE`.
2691
+ # request to start a new game session. For more information, see
2692
+ # [Start a game session][1]. This information is added to the new
2693
+ # `GameSession` object that is created for a successful match. This
2694
+ # parameter is not used if `FlexMatchMode` is set to `STANDALONE`.
2732
2695
  #
2733
2696
  #
2734
2697
  #
@@ -2938,7 +2901,7 @@ module Aws::GameLift
2938
2901
 
2939
2902
  # @!attribute [rw] name
2940
2903
  # A descriptive label that is associated with a script. Script names
2941
- # don't need to be unique. You can use [UpdateScript][1] to change
2904
+ # do not need to be unique. You can use [UpdateScript][1] to change
2942
2905
  # this value later.
2943
2906
  #
2944
2907
  #
@@ -2947,9 +2910,9 @@ module Aws::GameLift
2947
2910
  # @return [String]
2948
2911
  #
2949
2912
  # @!attribute [rw] version
2950
- # Version information associated with a build or script. Version
2951
- # strings don't need to be unique. You can use [UpdateScript][1] to
2952
- # change this value later.
2913
+ # Version information that is associated with a build or script.
2914
+ # Version strings do not need to be unique. You can use
2915
+ # [UpdateScript][1] to change this value later.
2953
2916
  #
2954
2917
  #
2955
2918
  #
@@ -3137,19 +3100,51 @@ module Aws::GameLift
3137
3100
  include Aws::Structure
3138
3101
  end
3139
3102
 
3103
+ # @!attribute [rw] fleet_id
3104
+ # A unique identifier for the container fleet to delete. You can use
3105
+ # either the fleet ID or ARN value.
3106
+ # @return [String]
3107
+ #
3108
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteContainerFleetInput AWS API Documentation
3109
+ #
3110
+ class DeleteContainerFleetInput < Struct.new(
3111
+ :fleet_id)
3112
+ SENSITIVE = []
3113
+ include Aws::Structure
3114
+ end
3115
+
3116
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteContainerFleetOutput AWS API Documentation
3117
+ #
3118
+ class DeleteContainerFleetOutput < Aws::EmptyStructure; end
3119
+
3140
3120
  # @!attribute [rw] name
3141
3121
  # The unique identifier for the container group definition to delete.
3142
3122
  # You can use either the `Name` or `ARN` value.
3143
3123
  # @return [String]
3144
3124
  #
3125
+ # @!attribute [rw] version_number
3126
+ # The specific version to delete.
3127
+ # @return [Integer]
3128
+ #
3129
+ # @!attribute [rw] version_count_to_retain
3130
+ # The number of most recent versions to keep while deleting all older
3131
+ # versions.
3132
+ # @return [Integer]
3133
+ #
3145
3134
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteContainerGroupDefinitionInput AWS API Documentation
3146
3135
  #
3147
3136
  class DeleteContainerGroupDefinitionInput < Struct.new(
3148
- :name)
3137
+ :name,
3138
+ :version_number,
3139
+ :version_count_to_retain)
3149
3140
  SENSITIVE = []
3150
3141
  include Aws::Structure
3151
3142
  end
3152
3143
 
3144
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteContainerGroupDefinitionOutput AWS API Documentation
3145
+ #
3146
+ class DeleteContainerGroupDefinitionOutput < Aws::EmptyStructure; end
3147
+
3153
3148
  # @!attribute [rw] fleet_id
3154
3149
  # A unique identifier for the fleet to be deleted. You can use either
3155
3150
  # the fleet ID or ARN value.
@@ -3413,6 +3408,56 @@ module Aws::GameLift
3413
3408
  #
3414
3409
  class DeleteVpcPeeringConnectionOutput < Aws::EmptyStructure; end
3415
3410
 
3411
+ # Set of rules for processing a deployment for a container fleet update.
3412
+ #
3413
+ # @!attribute [rw] protection_strategy
3414
+ # Determines how fleet deployment activity affects active game
3415
+ # sessions on the fleet. With protection, a deployment honors game
3416
+ # session protection, and delays actions that would interrupt a
3417
+ # protected active game session until the game session ends. Without
3418
+ # protection, deployment activity can shut down all running tasks,
3419
+ # including active game sessions, regardless of game session
3420
+ # protection.
3421
+ # @return [String]
3422
+ #
3423
+ # @!attribute [rw] minimum_healthy_percentage
3424
+ # Sets a minimum level of healthy tasks to maintain during deployment
3425
+ # activity.
3426
+ # @return [Integer]
3427
+ #
3428
+ # @!attribute [rw] impairment_strategy
3429
+ # Determines what actions to take if a deployment fails. If the fleet
3430
+ # is multi-location, this strategy applies across all fleet locations.
3431
+ # With a rollback strategy, updated fleet instances are rolled back to
3432
+ # the last successful deployment. Alternatively, you can maintain a
3433
+ # few impaired containers for the purpose of debugging, while all
3434
+ # other tasks return to the last successful deployment.
3435
+ # @return [String]
3436
+ #
3437
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeploymentConfiguration AWS API Documentation
3438
+ #
3439
+ class DeploymentConfiguration < Struct.new(
3440
+ :protection_strategy,
3441
+ :minimum_healthy_percentage,
3442
+ :impairment_strategy)
3443
+ SENSITIVE = []
3444
+ include Aws::Structure
3445
+ end
3446
+
3447
+ # Information about the most recent deployment for the container fleet.
3448
+ #
3449
+ # @!attribute [rw] latest_deployment_id
3450
+ # A unique identifier for a fleet deployment.
3451
+ # @return [String]
3452
+ #
3453
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeploymentDetails AWS API Documentation
3454
+ #
3455
+ class DeploymentDetails < Struct.new(
3456
+ :latest_deployment_id)
3457
+ SENSITIVE = []
3458
+ include Aws::Structure
3459
+ end
3460
+
3416
3461
  # @!attribute [rw] fleet_id
3417
3462
  # A unique identifier for the fleet the compute resource is currently
3418
3463
  # registered to.
@@ -3420,10 +3465,7 @@ module Aws::GameLift
3420
3465
  #
3421
3466
  # @!attribute [rw] compute_name
3422
3467
  # The unique identifier of the compute resource to deregister. For an
3423
- # Anywhere fleet compute, use the registered compute name. For a
3424
- # container fleet, use the compute name (for example,
3425
- # `a123b456c789012d3e4567f8a901b23c/1a234b56-7cd8-9e0f-a1b2-c34d567ef8a9`)
3426
- # or the compute ARN.
3468
+ # Anywhere fleet compute, use the registered compute name.
3427
3469
  # @return [String]
3428
3470
  #
3429
3471
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeregisterComputeInput AWS API Documentation
@@ -3516,10 +3558,7 @@ module Aws::GameLift
3516
3558
  # @!attribute [rw] compute_name
3517
3559
  # The unique identifier of the compute resource to retrieve properties
3518
3560
  # for. For an Anywhere fleet compute, use the registered compute name.
3519
- # For an EC2 fleet instance, use the instance ID. For a container
3520
- # fleet, use the compute name (for example,
3521
- # `a123b456c789012d3e4567f8a901b23c/1a234b56-7cd8-9e0f-a1b2-c34d567ef8a9`)
3522
- # or the compute ARN.
3561
+ # For an EC2 fleet instance, use the instance ID.
3523
3562
  # @return [String]
3524
3563
  #
3525
3564
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeComputeInput AWS API Documentation
@@ -3543,15 +3582,46 @@ module Aws::GameLift
3543
3582
  include Aws::Structure
3544
3583
  end
3545
3584
 
3585
+ # @!attribute [rw] fleet_id
3586
+ # A unique identifier for the container fleet to retrieve. You can use
3587
+ # either the fleet ID or ARN value.
3588
+ # @return [String]
3589
+ #
3590
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeContainerFleetInput AWS API Documentation
3591
+ #
3592
+ class DescribeContainerFleetInput < Struct.new(
3593
+ :fleet_id)
3594
+ SENSITIVE = []
3595
+ include Aws::Structure
3596
+ end
3597
+
3598
+ # @!attribute [rw] container_fleet
3599
+ # The properties for the requested container fleet, including current
3600
+ # status.
3601
+ # @return [Types::ContainerFleet]
3602
+ #
3603
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeContainerFleetOutput AWS API Documentation
3604
+ #
3605
+ class DescribeContainerFleetOutput < Struct.new(
3606
+ :container_fleet)
3607
+ SENSITIVE = []
3608
+ include Aws::Structure
3609
+ end
3610
+
3546
3611
  # @!attribute [rw] name
3547
3612
  # The unique identifier for the container group definition to retrieve
3548
3613
  # properties for. You can use either the `Name` or `ARN` value.
3549
3614
  # @return [String]
3550
3615
  #
3616
+ # @!attribute [rw] version_number
3617
+ # The specific version to retrieve.
3618
+ # @return [Integer]
3619
+ #
3551
3620
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeContainerGroupDefinitionInput AWS API Documentation
3552
3621
  #
3553
3622
  class DescribeContainerGroupDefinitionInput < Struct.new(
3554
- :name)
3623
+ :name,
3624
+ :version_number)
3555
3625
  SENSITIVE = []
3556
3626
  include Aws::Structure
3557
3627
  end
@@ -3707,6 +3777,42 @@ module Aws::GameLift
3707
3777
  include Aws::Structure
3708
3778
  end
3709
3779
 
3780
+ # @!attribute [rw] fleet_id
3781
+ # A unique identifier for the container fleet. You can use either the
3782
+ # fleet ID or ARN value.
3783
+ # @return [String]
3784
+ #
3785
+ # @!attribute [rw] deployment_id
3786
+ # A unique identifier for the deployment to return information for.
3787
+ # @return [String]
3788
+ #
3789
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetDeploymentInput AWS API Documentation
3790
+ #
3791
+ class DescribeFleetDeploymentInput < Struct.new(
3792
+ :fleet_id,
3793
+ :deployment_id)
3794
+ SENSITIVE = []
3795
+ include Aws::Structure
3796
+ end
3797
+
3798
+ # @!attribute [rw] fleet_deployment
3799
+ # The requested deployment information.
3800
+ # @return [Types::FleetDeployment]
3801
+ #
3802
+ # @!attribute [rw] locational_deployments
3803
+ # If the deployment is for a multi-location fleet, the requests
3804
+ # returns the deployment status in each fleet location.
3805
+ # @return [Hash<String,Types::LocationalDeployment>]
3806
+ #
3807
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetDeploymentOutput AWS API Documentation
3808
+ #
3809
+ class DescribeFleetDeploymentOutput < Struct.new(
3810
+ :fleet_deployment,
3811
+ :locational_deployments)
3812
+ SENSITIVE = []
3813
+ include Aws::Structure
3814
+ end
3815
+
3710
3816
  # @!attribute [rw] fleet_id
3711
3817
  # A unique identifier for the fleet to get event logs for. You can use
3712
3818
  # either the fleet ID or ARN value.
@@ -5047,6 +5153,14 @@ module Aws::GameLift
5047
5153
  # * FLEET\_VPC\_PEERING\_DELETED -- A VPC peering connection has been
5048
5154
  # successfully deleted.
5049
5155
  #
5156
+ # **Container group events:**
5157
+ #
5158
+ # * CONTAINER\_GROUP\_REGISTRATION\_FAILED – A game server container
5159
+ # group started, but timed out before calling `RegisterCompute`.
5160
+ #
5161
+ # * CONTAINER\_GROUP\_CRASHED A game server container group started
5162
+ # and terminated without calling `RegisterCompute`.
5163
+ #
5050
5164
  # **Spot instance events:**
5051
5165
  #
5052
5166
  # * INSTANCE\_INTERRUPTED -- A spot instance was interrupted by EC2
@@ -5175,9 +5289,6 @@ module Aws::GameLift
5175
5289
  include Aws::Structure
5176
5290
  end
5177
5291
 
5178
- # **This operation has been expanded to use with the Amazon GameLift
5179
- # containers feature, which is currently in public preview.**
5180
- #
5181
5292
  # Describes an Amazon GameLift fleet of game hosting resources.
5182
5293
  # Attributes differ based on the fleet's compute type, as follows:
5183
5294
  #
@@ -5185,9 +5296,6 @@ module Aws::GameLift
5185
5296
  # customer game server builds) or a `Script` resource (for Realtime
5186
5297
  # Servers fleets).
5187
5298
  #
5188
- # * Container fleets have `ContainerGroupsAttributes`, which identify
5189
- # the fleet's `ContainerGroupDefinition` resources.
5190
- #
5191
5299
  # * Amazon GameLift Anywhere fleets have an abbreviated set of
5192
5300
  # attributes, because most fleet configurations are set directly on
5193
5301
  # the fleet's computes. Attributes include fleet identifiers and
@@ -5227,8 +5335,7 @@ module Aws::GameLift
5227
5335
  # determines the computing resources of each instance in the fleet,
5228
5336
  # including CPU, memory, storage, and networking capacity. See [Amazon
5229
5337
  # Elastic Compute Cloud Instance Types][1] for detailed descriptions.
5230
- # This attribute is used with fleets where `ComputeType` is "EC2" or
5231
- # "Container".
5338
+ # This attribute is used with fleets where `ComputeType` is "EC2".
5232
5339
  #
5233
5340
  #
5234
5341
  #
@@ -5345,7 +5452,7 @@ module Aws::GameLift
5345
5452
  # @!attribute [rw] new_game_session_protection_policy
5346
5453
  # The type of game session protection to set on all new instances that
5347
5454
  # are started in the fleet. This attribute is used with fleets where
5348
- # `ComputeType` is "EC2" or "Container".
5455
+ # `ComputeType` is "EC2".
5349
5456
  #
5350
5457
  # * **NoProtection** -- The game session can be terminated during a
5351
5458
  # scale-down event.
@@ -5358,11 +5465,11 @@ module Aws::GameLift
5358
5465
  # The operating system of the fleet's computing resources. A fleet's
5359
5466
  # operating system is determined by the OS of the build or script that
5360
5467
  # is deployed on this fleet. This attribute is used with fleets where
5361
- # `ComputeType` is "EC2" or "Container".
5468
+ # `ComputeType` is "EC2".
5362
5469
  #
5363
5470
  # <note markdown="1"> Amazon Linux 2 (AL2) will reach end of support on 6/30/2025. See
5364
5471
  # more details in the [Amazon Linux 2 FAQs][1]. For game servers that
5365
- # are hosted on AL2 and use Amazon GameLift server SDK 4.x., first
5472
+ # are hosted on AL2 and use Amazon GameLift server SDK 4.x, first
5366
5473
  # update the game server build to server SDK 5.x, and then deploy to
5367
5474
  # AL2023 instances. See [ Migrate to Amazon GameLift server SDK
5368
5475
  # version 5.][2]
@@ -5391,14 +5498,13 @@ module Aws::GameLift
5391
5498
  # Amazon CloudWatch, you can view aggregated metrics for fleets that
5392
5499
  # are in a metric group. A fleet can be included in only one metric
5393
5500
  # group at a time. This attribute is used with fleets where
5394
- # `ComputeType` is "EC2" or "Container".
5501
+ # `ComputeType` is "EC2".
5395
5502
  # @return [Array<String>]
5396
5503
  #
5397
5504
  # @!attribute [rw] stopped_actions
5398
5505
  # A list of fleet activity that has been suspended using
5399
5506
  # [StopFleetActions][1]. This includes fleet auto-scaling. This
5400
- # attribute is used with fleets where `ComputeType` is "EC2" or
5401
- # "Container".
5507
+ # attribute is used with fleets where `ComputeType` is "EC2".
5402
5508
  #
5403
5509
  #
5404
5510
  #
@@ -5406,19 +5512,20 @@ module Aws::GameLift
5406
5512
  # @return [Array<String>]
5407
5513
  #
5408
5514
  # @!attribute [rw] instance_role_arn
5409
- # A unique identifier for an IAM role with access permissions to other
5410
- # Amazon Web Services services. Any application that runs on an
5411
- # instance in the fleet--including install scripts, server processes,
5412
- # and other processes--can use these permissions to interact with
5413
- # Amazon Web Services resources that you own or have access to. For
5414
- # more information about using the role with your game server builds,
5415
- # see [ Communicate with other Amazon Web Services resources from your
5416
- # fleets][1]. This attribute is used with fleets where `ComputeType`
5417
- # is "EC2" or "Container".
5515
+ # A unique identifier for an IAM role that manages access to your
5516
+ # Amazon Web Services services. With an instance role ARN set, any
5517
+ # application that runs on an instance in this fleet can assume the
5518
+ # role, including install scripts, server processes, and daemons
5519
+ # (background processes). Create a role or look up a role's ARN by
5520
+ # using the [IAM dashboard][1] in the Amazon Web Services Management
5521
+ # Console. Learn more about using on-box credentials for your game
5522
+ # servers at [ Access external resources from a game server][2]. This
5523
+ # attribute is used with fleets where `ComputeType` is "EC2".
5418
5524
  #
5419
5525
  #
5420
5526
  #
5421
- # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html
5527
+ # [1]: https://console.aws.amazon.com/iam/
5528
+ # [2]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html
5422
5529
  # @return [String]
5423
5530
  #
5424
5531
  # @!attribute [rw] certificate_configuration
@@ -5434,12 +5541,7 @@ module Aws::GameLift
5434
5541
  # @return [String]
5435
5542
  #
5436
5543
  # @!attribute [rw] anywhere_configuration
5437
- # **This property is used with the Amazon GameLift containers feature,
5438
- # which is currently in public preview.** A set of attributes that
5439
- # describe the container groups that are deployed on the fleet. These
5440
- # attributes are included for fleets with compute type `CONTAINER`
5441
- # only. This attribute is used with fleets where `ComputeType` is
5442
- # "Container".
5544
+ # Amazon GameLift Anywhere configuration options.
5443
5545
  # @return [Types::AnywhereConfiguration]
5444
5546
  #
5445
5547
  # @!attribute [rw] instance_role_credentials_provider
@@ -5451,19 +5553,13 @@ module Aws::GameLift
5451
5553
  # server SDK version 5.x. For more information about using shared
5452
5554
  # credentials, see [ Communicate with other Amazon Web Services
5453
5555
  # resources from your fleets][1]. This attribute is used with fleets
5454
- # where `ComputeType` is "EC2" or "Container".
5556
+ # where `ComputeType` is "EC2".
5455
5557
  #
5456
5558
  #
5457
5559
  #
5458
5560
  # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html
5459
5561
  # @return [String]
5460
5562
  #
5461
- # @!attribute [rw] container_groups_attributes
5462
- # A set of properties that describe the container groups that are
5463
- # deployed to the fleet. These attributes are included for fleets with
5464
- # compute type `CONTAINER`.
5465
- # @return [Types::ContainerGroupsAttributes]
5466
- #
5467
5563
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/FleetAttributes AWS API Documentation
5468
5564
  #
5469
5565
  class FleetAttributes < Struct.new(
@@ -5492,13 +5588,12 @@ module Aws::GameLift
5492
5588
  :certificate_configuration,
5493
5589
  :compute_type,
5494
5590
  :anywhere_configuration,
5495
- :instance_role_credentials_provider,
5496
- :container_groups_attributes)
5591
+ :instance_role_credentials_provider)
5497
5592
  SENSITIVE = []
5498
5593
  include Aws::Structure
5499
5594
  end
5500
5595
 
5501
- # Current resource capacity settings for managed EC2 fleets and
5596
+ # Current resource capacity settings for managed EC2 fleets and managed
5502
5597
  # container fleets. For multi-location fleets, location values might
5503
5598
  # refer to a fleet's remote location or its home Region.
5504
5599
  #
@@ -5549,11 +5644,10 @@ module Aws::GameLift
5549
5644
  # an Amazon Web Services Region code, such as `us-west-2`.
5550
5645
  # @return [String]
5551
5646
  #
5552
- # @!attribute [rw] replica_container_group_counts
5553
- # **This property is used with the Amazon GameLift containers feature,
5554
- # which is currently in public preview.** The number and status of
5555
- # replica container groups in a container fleet.
5556
- # @return [Types::ReplicaContainerGroupCounts]
5647
+ # @!attribute [rw] game_server_container_group_counts
5648
+ # The number and status of game server container groups deployed in a
5649
+ # container fleet.
5650
+ # @return [Types::GameServerContainerGroupCounts]
5557
5651
  #
5558
5652
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/FleetCapacity AWS API Documentation
5559
5653
  #
@@ -5563,7 +5657,7 @@ module Aws::GameLift
5563
5657
  :instance_type,
5564
5658
  :instance_counts,
5565
5659
  :location,
5566
- :replica_container_group_counts)
5660
+ :game_server_container_group_counts)
5567
5661
  SENSITIVE = []
5568
5662
  include Aws::Structure
5569
5663
  end
@@ -5583,6 +5677,82 @@ module Aws::GameLift
5583
5677
  include Aws::Structure
5584
5678
  end
5585
5679
 
5680
+ # Describes a container fleet deployment with updates to the fleet.
5681
+ #
5682
+ # @!attribute [rw] deployment_id
5683
+ # A unique identifier for the deployment.
5684
+ # @return [String]
5685
+ #
5686
+ # @!attribute [rw] fleet_id
5687
+ # A unique identifier for the container fleet.
5688
+ # @return [String]
5689
+ #
5690
+ # @!attribute [rw] game_server_binary_arn
5691
+ # The unique identifier for the version of the game server container
5692
+ # group definition that is being deployed.
5693
+ # @return [String]
5694
+ #
5695
+ # @!attribute [rw] rollback_game_server_binary_arn
5696
+ # The unique identifier for the version of the game server container
5697
+ # group definition to roll back to if deployment fails.
5698
+ # @return [String]
5699
+ #
5700
+ # @!attribute [rw] per_instance_binary_arn
5701
+ # The unique identifier for the version of the per-instance container
5702
+ # group definition that is being deployed.
5703
+ # @return [String]
5704
+ #
5705
+ # @!attribute [rw] rollback_per_instance_binary_arn
5706
+ # The unique identifier for the version of the per-instance container
5707
+ # group definition to roll back to if deployment fails.
5708
+ # @return [String]
5709
+ #
5710
+ # @!attribute [rw] deployment_status
5711
+ # The status of fleet deployment activity in the location.
5712
+ #
5713
+ # * `IN_PROGRESS` -- The deployment is in progress.
5714
+ #
5715
+ # * `IMPAIRED` -- The deployment failed and the fleet has some
5716
+ # impaired containers.
5717
+ #
5718
+ # * `COMPLETE` -- The deployment has completed successfully.
5719
+ #
5720
+ # * `ROLLBACK_IN_PROGRESS` -- The deployment failed and rollback has
5721
+ # been initiated.
5722
+ #
5723
+ # * `ROLLBACK_IN_COMPLETE` -- The deployment failed and rollback has
5724
+ # been completed.
5725
+ #
5726
+ # * `CANCELLED` -- The deployment was cancelled.
5727
+ # @return [String]
5728
+ #
5729
+ # @!attribute [rw] deployment_configuration
5730
+ # Instructions for how to deploy updates to a container fleet and what
5731
+ # actions to take if the deployment fails.
5732
+ # @return [Types::DeploymentConfiguration]
5733
+ #
5734
+ # @!attribute [rw] creation_time
5735
+ # A time stamp indicating when this data object was created. Format is
5736
+ # a number expressed in Unix time as milliseconds (for example
5737
+ # `"1469498468.057"`).
5738
+ # @return [Time]
5739
+ #
5740
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/FleetDeployment AWS API Documentation
5741
+ #
5742
+ class FleetDeployment < Struct.new(
5743
+ :deployment_id,
5744
+ :fleet_id,
5745
+ :game_server_binary_arn,
5746
+ :rollback_game_server_binary_arn,
5747
+ :per_instance_binary_arn,
5748
+ :rollback_per_instance_binary_arn,
5749
+ :deployment_status,
5750
+ :deployment_configuration,
5751
+ :creation_time)
5752
+ SENSITIVE = []
5753
+ include Aws::Structure
5754
+ end
5755
+
5586
5756
  # Current resource utilization statistics in a specified fleet or
5587
5757
  # location. The location value might refer to a fleet's remote location
5588
5758
  # or its home region.
@@ -5763,20 +5933,245 @@ module Aws::GameLift
5763
5933
  # update specifies a health check value.
5764
5934
  # @return [Time]
5765
5935
  #
5766
- # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GameServer AWS API Documentation
5936
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GameServer AWS API Documentation
5937
+ #
5938
+ class GameServer < Struct.new(
5939
+ :game_server_group_name,
5940
+ :game_server_group_arn,
5941
+ :game_server_id,
5942
+ :instance_id,
5943
+ :connection_info,
5944
+ :game_server_data,
5945
+ :claim_status,
5946
+ :utilization_status,
5947
+ :registration_time,
5948
+ :last_claim_time,
5949
+ :last_health_check_time)
5950
+ SENSITIVE = []
5951
+ include Aws::Structure
5952
+ end
5953
+
5954
+ # Describes the game server container in an existing game server
5955
+ # container group. A game server container identifies a container image
5956
+ # with your game server build. A game server container is automatically
5957
+ # considered essential; if an essential container fails, the entire
5958
+ # container group restarts.
5959
+ #
5960
+ # You can update a container definition and deploy the updates to an
5961
+ # existing fleet. When creating or updating a game server container
5962
+ # group definition, use the property GameServerContainerDefinitionInput.
5963
+ #
5964
+ # **Part of:** ContainerGroupDefinition
5965
+ #
5966
+ # **Returned by:** DescribeContainerGroupDefinition,
5967
+ # ListContainerGroupDefinitions, UpdateContainerGroupDefinition
5968
+ #
5969
+ # @!attribute [rw] container_name
5970
+ # The container definition identifier. Container names are unique
5971
+ # within a container group definition.
5972
+ # @return [String]
5973
+ #
5974
+ # @!attribute [rw] depends_on
5975
+ # Indicates that the container relies on the status of other
5976
+ # containers in the same container group during startup and shutdown
5977
+ # sequences. A container might have dependencies on multiple
5978
+ # containers.
5979
+ # @return [Array<Types::ContainerDependency>]
5980
+ #
5981
+ # @!attribute [rw] mount_points
5982
+ # A mount point that binds a path inside the container to a file or
5983
+ # directory on the host system and lets it access the file or
5984
+ # directory.
5985
+ # @return [Array<Types::ContainerMountPoint>]
5986
+ #
5987
+ # @!attribute [rw] environment_override
5988
+ # A set of environment variables that's passed to the container on
5989
+ # startup. See the [ContainerDefinition::environment][1] parameter in
5990
+ # the *Amazon Elastic Container Service API Reference*.
5991
+ #
5992
+ #
5993
+ #
5994
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-environment
5995
+ # @return [Array<Types::ContainerEnvironment>]
5996
+ #
5997
+ # @!attribute [rw] image_uri
5998
+ # The URI to the image that Amazon GameLift uses when deploying this
5999
+ # container to a container fleet. For a more specific identifier, see
6000
+ # `ResolvedImageDigest`.
6001
+ # @return [String]
6002
+ #
6003
+ # @!attribute [rw] port_configuration
6004
+ # The set of ports that are available to bind to processes in the
6005
+ # container. For example, a game server process requires a container
6006
+ # port to allow game clients to connect to it. Container ports aren't
6007
+ # directly accessed by inbound traffic. Amazon GameLift maps these
6008
+ # container ports to externally accessible connection ports, which are
6009
+ # assigned as needed from the container fleet's
6010
+ # `ConnectionPortRange`.
6011
+ # @return [Types::ContainerPortConfiguration]
6012
+ #
6013
+ # @!attribute [rw] resolved_image_digest
6014
+ # A unique and immutable identifier for the container image. The
6015
+ # digest is a SHA 256 hash of the container image manifest.
6016
+ # @return [String]
6017
+ #
6018
+ # @!attribute [rw] server_sdk_version
6019
+ # The Amazon GameLift server SDK version that the game server is
6020
+ # integrated with. Only game servers using 5.2.0 or higher are
6021
+ # compatible with container fleets.
6022
+ # @return [String]
6023
+ #
6024
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GameServerContainerDefinition AWS API Documentation
6025
+ #
6026
+ class GameServerContainerDefinition < Struct.new(
6027
+ :container_name,
6028
+ :depends_on,
6029
+ :mount_points,
6030
+ :environment_override,
6031
+ :image_uri,
6032
+ :port_configuration,
6033
+ :resolved_image_digest,
6034
+ :server_sdk_version)
6035
+ SENSITIVE = []
6036
+ include Aws::Structure
6037
+ end
6038
+
6039
+ # Describes the configuration for a container that runs your game server
6040
+ # executable. This definition includes container configuration,
6041
+ # resources, and start instructions. Use this data type when creating or
6042
+ # updating a game server container group definition. For properties of a
6043
+ # deployed container, see GameServerContainerDefinition. A game server
6044
+ # container is automatically considered essential; if an essential
6045
+ # container fails, the entire container group restarts.
6046
+ #
6047
+ # <b>Use with: </b> CreateContainerGroupDefinition,
6048
+ # UpdateContainerGroupDefinition
6049
+ #
6050
+ # @!attribute [rw] container_name
6051
+ # A string that uniquely identifies the container definition within a
6052
+ # container group.
6053
+ # @return [String]
6054
+ #
6055
+ # @!attribute [rw] depends_on
6056
+ # Establishes dependencies between this container and the status of
6057
+ # other containers in the same container group. A container can have
6058
+ # dependencies on multiple different containers.
6059
+ #
6060
+ # You can use dependencies to establish a startup/shutdown sequence
6061
+ # across the container group. For example, you might specify that
6062
+ # *ContainerB* has a `START` dependency on *ContainerA*. This
6063
+ # dependency means that *ContainerB* can't start until after
6064
+ # *ContainerA* has started. This dependency is reversed on shutdown,
6065
+ # which means that *ContainerB* must shut down before *ContainerA* can
6066
+ # shut down.
6067
+ # @return [Array<Types::ContainerDependency>]
6068
+ #
6069
+ # @!attribute [rw] mount_points
6070
+ # A mount point that binds a path inside the container to a file or
6071
+ # directory on the host system and lets it access the file or
6072
+ # directory.
6073
+ # @return [Array<Types::ContainerMountPoint>]
6074
+ #
6075
+ # @!attribute [rw] environment_override
6076
+ # A set of environment variables to pass to the container on startup.
6077
+ # See the [ContainerDefinition::environment][1] parameter in the
6078
+ # *Amazon Elastic Container Service API Reference*.
6079
+ #
6080
+ #
6081
+ #
6082
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-environment
6083
+ # @return [Array<Types::ContainerEnvironment>]
6084
+ #
6085
+ # @!attribute [rw] image_uri
6086
+ # The location of the container image to deploy to a container fleet.
6087
+ # Provide an image in an Amazon Elastic Container Registry public or
6088
+ # private repository. The repository must be in the same Amazon Web
6089
+ # Services account and Amazon Web Services Region where you're
6090
+ # creating the container group definition. For limits on image size,
6091
+ # see [Amazon GameLift endpoints and quotas][1]. You can use any of
6092
+ # the following image URI formats:
6093
+ #
6094
+ # * Image ID only: `[AWS account].dkr.ecr.[AWS
6095
+ # region].amazonaws.com/[repository ID]`
6096
+ #
6097
+ # * Image ID and digest: `[AWS account].dkr.ecr.[AWS
6098
+ # region].amazonaws.com/[repository ID]@[digest]`
6099
+ #
6100
+ # * Image ID and tag: `[AWS account].dkr.ecr.[AWS
6101
+ # region].amazonaws.com/[repository ID]:[tag]`
6102
+ #
6103
+ #
6104
+ #
6105
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/gamelift.html
6106
+ # @return [String]
6107
+ #
6108
+ # @!attribute [rw] port_configuration
6109
+ # A set of ports that Amazon GameLift can assign to processes in the
6110
+ # container. Processes, must be assigned a container port to accept
6111
+ # inbound traffic connections. For example, a game server process
6112
+ # requires a container port to allow game clients to connect to it.
6113
+ # Container ports aren't directly accessed by inbound traffic.
6114
+ # Instead, Amazon GameLift maps container ports to externally
6115
+ # accessible connection ports (see the container fleet property
6116
+ # `ConnectionPortRange`).
6117
+ # @return [Types::ContainerPortConfiguration]
6118
+ #
6119
+ # @!attribute [rw] server_sdk_version
6120
+ # The Amazon GameLift server SDK version that the game server is
6121
+ # integrated with. Only game servers using 5.2.0 or higher are
6122
+ # compatible with container fleets.
6123
+ # @return [String]
6124
+ #
6125
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GameServerContainerDefinitionInput AWS API Documentation
6126
+ #
6127
+ class GameServerContainerDefinitionInput < Struct.new(
6128
+ :container_name,
6129
+ :depends_on,
6130
+ :mount_points,
6131
+ :environment_override,
6132
+ :image_uri,
6133
+ :port_configuration,
6134
+ :server_sdk_version)
6135
+ SENSITIVE = []
6136
+ include Aws::Structure
6137
+ end
6138
+
6139
+ # The number and status of game server container groups that are
6140
+ # deployed across a container fleet. Combine this count with the number
6141
+ # of server processes that each game server container group runs to
6142
+ # learn how many game sessions the fleet is capable of hosting
6143
+ # concurrently. For example, if a fleet has 50 game server container
6144
+ # groups, and the game server container in each group runs 1 game server
6145
+ # process, then the fleet has the capacity to run host 50 game sessions
6146
+ # at a time.
6147
+ #
6148
+ # **Returned by:** DescribeFleetCapacity, DescribeFleetLocationCapacity
6149
+ #
6150
+ # @!attribute [rw] pending
6151
+ # The number of container groups that are starting up but haven't yet
6152
+ # registered.
6153
+ # @return [Integer]
6154
+ #
6155
+ # @!attribute [rw] active
6156
+ # The number of container groups that have active game sessions.
6157
+ # @return [Integer]
6158
+ #
6159
+ # @!attribute [rw] idle
6160
+ # The number of container groups that have no active game sessions.
6161
+ # @return [Integer]
6162
+ #
6163
+ # @!attribute [rw] terminating
6164
+ # The number of container groups that are in the process of shutting
6165
+ # down.
6166
+ # @return [Integer]
5767
6167
  #
5768
- class GameServer < Struct.new(
5769
- :game_server_group_name,
5770
- :game_server_group_arn,
5771
- :game_server_id,
5772
- :instance_id,
5773
- :connection_info,
5774
- :game_server_data,
5775
- :claim_status,
5776
- :utilization_status,
5777
- :registration_time,
5778
- :last_claim_time,
5779
- :last_health_check_time)
6168
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GameServerContainerGroupCounts AWS API Documentation
6169
+ #
6170
+ class GameServerContainerGroupCounts < Struct.new(
6171
+ :pending,
6172
+ :active,
6173
+ :idle,
6174
+ :terminating)
5780
6175
  SENSITIVE = []
5781
6176
  include Aws::Structure
5782
6177
  end
@@ -6128,7 +6523,8 @@ module Aws::GameLift
6128
6523
  # @!attribute [rw] game_session_data
6129
6524
  # A set of custom game session properties, formatted as a single
6130
6525
  # string value. This data is passed to a game server process with a
6131
- # request to start a new game session (see [Start a Game Session][1]).
6526
+ # request to start a new game session. For more information, see
6527
+ # [Start a game session][1].
6132
6528
  #
6133
6529
  #
6134
6530
  #
@@ -6241,6 +6637,39 @@ module Aws::GameLift
6241
6637
  include Aws::Structure
6242
6638
  end
6243
6639
 
6640
+ # A policy that puts limits on the number of game sessions that a player
6641
+ # can create within a specified span of time. With this policy, you can
6642
+ # control players' ability to consume available resources.
6643
+ #
6644
+ # The policy is evaluated when a player tries to create a new game
6645
+ # session. On receiving a `CreateGameSession` request, Amazon GameLift
6646
+ # checks that the player (identified by `CreatorId`) has created fewer
6647
+ # than game session limit in the specified time period.
6648
+ #
6649
+ # @!attribute [rw] new_game_sessions_per_creator
6650
+ # A policy that puts limits on the number of game sessions that a
6651
+ # player can create within a specified span of time. With this policy,
6652
+ # you can control players' ability to consume available resources.
6653
+ #
6654
+ # The policy evaluates when a player tries to create a new game
6655
+ # session. On receiving a `CreateGameSession` request, Amazon GameLift
6656
+ # checks that the player (identified by `CreatorId`) has created fewer
6657
+ # than game session limit in the specified time period.
6658
+ # @return [Integer]
6659
+ #
6660
+ # @!attribute [rw] policy_period_in_minutes
6661
+ # The time span used in evaluating the resource creation limit policy.
6662
+ # @return [Integer]
6663
+ #
6664
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GameSessionCreationLimitPolicy AWS API Documentation
6665
+ #
6666
+ class GameSessionCreationLimitPolicy < Struct.new(
6667
+ :new_game_sessions_per_creator,
6668
+ :policy_period_in_minutes)
6669
+ SENSITIVE = []
6670
+ include Aws::Structure
6671
+ end
6672
+
6244
6673
  # A game session's properties plus the protection policy currently in
6245
6674
  # force.
6246
6675
  #
@@ -6317,7 +6746,7 @@ module Aws::GameLift
6317
6746
  # * **CANCELLED** -- The placement request was canceled.
6318
6747
  #
6319
6748
  # * **TIMED\_OUT** -- A new game session was not successfully created
6320
- # before the time limit expired. You can resubmit the placement
6749
+ # before the time limit expired. You can resubmit as a new placement
6321
6750
  # request as needed.
6322
6751
  #
6323
6752
  # * **FAILED** -- Amazon GameLift is not able to complete the process
@@ -6360,8 +6789,8 @@ module Aws::GameLift
6360
6789
  #
6361
6790
  # @!attribute [rw] player_latencies
6362
6791
  # A set of values, expressed in milliseconds, that indicates the
6363
- # amount of latency that a player experiences when connected to Amazon
6364
- # Web Services Regions.
6792
+ # amount of latency that a player experiences when connected to @aws;
6793
+ # Regions.
6365
6794
  # @return [Array<Types::PlayerLatency>]
6366
6795
  #
6367
6796
  # @!attribute [rw] start_time
@@ -6418,9 +6847,9 @@ module Aws::GameLift
6418
6847
  #
6419
6848
  # @!attribute [rw] game_session_data
6420
6849
  # A set of custom game session properties, formatted as a single
6421
- # string value. This data is passed to a game server process in the
6422
- # `GameSession` object with a request to start a new game session (see
6423
- # [Start a Game Session][1]).
6850
+ # string value. This data is passed to a game server process with a
6851
+ # request to start a new game session. For more information, see
6852
+ # [Start a game session][1].
6424
6853
  #
6425
6854
  #
6426
6855
  #
@@ -6490,18 +6919,15 @@ module Aws::GameLift
6490
6919
  # @!attribute [rw] timeout_in_seconds
6491
6920
  # The maximum time, in seconds, that a new game session placement
6492
6921
  # request remains in the queue. When a request exceeds this time, the
6493
- # game session placement changes to a `TIMED_OUT` status. By default,
6494
- # this property is set to `600`.
6922
+ # game session placement changes to a `TIMED_OUT` status.
6495
6923
  # @return [Integer]
6496
6924
  #
6497
6925
  # @!attribute [rw] player_latency_policies
6498
- # A set of policies that act as a sliding cap on player latency.
6499
- # FleetIQ works to deliver low latency for most players in a game
6500
- # session. These policies ensure that no individual player can be
6501
- # placed into a game with unreasonably high latency. Use multiple
6502
- # policies to gradually relax latency requirements a step at a time.
6503
- # Multiple policies are applied based on their maximum allowed
6504
- # latency, starting with the lowest value.
6926
+ # A set of policies that enforce a sliding cap on player latency when
6927
+ # processing game sessions placement requests. Use multiple policies
6928
+ # to gradually relax the cap over time if Amazon GameLift can't make
6929
+ # a placement. Policies are evaluated in order starting with the
6930
+ # lowest maximum latency value.
6505
6931
  # @return [Array<Types::PlayerLatencyPolicy>]
6506
6932
  #
6507
6933
  # @!attribute [rw] destinations
@@ -6583,10 +7009,8 @@ module Aws::GameLift
6583
7009
  #
6584
7010
  # @!attribute [rw] compute_name
6585
7011
  # A unique identifier for the compute resource that you want to
6586
- # connect to. For an EC2 fleet compute, use the instance ID. For a
6587
- # container fleet, use the compute name (for example,
6588
- # `a123b456c789012d3e4567f8a901b23c/1a234b56-7cd8-9e0f-a1b2-c34d567ef8a9`)
6589
- # or the compute ARN.
7012
+ # connect to. For an EC2 fleet compute, use the instance ID. Use
7013
+ # ListCompute to retrieve compute identifiers.
6590
7014
  # @return [String]
6591
7015
  #
6592
7016
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetComputeAccessInput AWS API Documentation
@@ -6636,10 +7060,15 @@ module Aws::GameLift
6636
7060
  # @return [Types::AwsCredentials]
6637
7061
  #
6638
7062
  # @!attribute [rw] target
6639
- # (For container fleets only) The instance ID where the compute
6640
- # resource is running.
7063
+ # The instance ID where the compute resource is running.
6641
7064
  # @return [String]
6642
7065
  #
7066
+ # @!attribute [rw] container_identifiers
7067
+ # For a managed container fleet, a list of containers on the compute.
7068
+ # Use the container runtime ID with Docker commands to connect to a
7069
+ # specific container.
7070
+ # @return [Array<Types::ContainerIdentifier>]
7071
+ #
6643
7072
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetComputeAccessOutput AWS API Documentation
6644
7073
  #
6645
7074
  class GetComputeAccessOutput < Struct.new(
@@ -6648,7 +7077,8 @@ module Aws::GameLift
6648
7077
  :compute_name,
6649
7078
  :compute_arn,
6650
7079
  :credentials,
6651
- :target)
7080
+ :target,
7081
+ :container_identifiers)
6652
7082
  SENSITIVE = [:credentials]
6653
7083
  include Aws::Structure
6654
7084
  end
@@ -6661,9 +7091,7 @@ module Aws::GameLift
6661
7091
  # The name of the compute resource you are requesting the
6662
7092
  # authentication token for. For an Anywhere fleet compute, use the
6663
7093
  # registered compute name. For an EC2 fleet instance, use the instance
6664
- # ID. For a container fleet, use the compute name (for example,
6665
- # `a123b456c789012d3e4567f8a901b23c/1a234b56-7cd8-9e0f-a1b2-c34d567ef8a9`)
6666
- # or the compute ARN.
7094
+ # ID.
6667
7095
  # @return [String]
6668
7096
  #
6669
7097
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetComputeAuthTokenInput AWS API Documentation
@@ -6843,8 +7271,8 @@ module Aws::GameLift
6843
7271
  # identifier>.amazongamelift.com`.
6844
7272
  #
6845
7273
  # * Non-TLS-enabled fleets: `ec2-<unique
6846
- # identifier>.compute.amazonaws.com`. (See [Amazon Elastic Compute
6847
- # Cloud Instance IP Addressing][1].)
7274
+ # identifier>.compute.amazonaws.com`. (See [Amazon EC2 Instance IP
7275
+ # Addressing][1].)
6848
7276
  #
6849
7277
  # When connecting to a game session that is running on a TLS-enabled
6850
7278
  # fleet, you must use the DNS name, not the IP address.
@@ -7084,8 +7512,9 @@ module Aws::GameLift
7084
7512
  # A range of IP addresses and port settings that allow inbound traffic
7085
7513
  # to connect to processes on an instance in a fleet. Processes are
7086
7514
  # assigned an IP address/port number combination, which must fall into
7087
- # the fleet's allowed ranges. For container fleets, the port settings
7088
- # must use the same port numbers as the fleet's connection ports.
7515
+ # the fleet's allowed ranges. For managed container fleets, the port
7516
+ # settings must use the same port numbers as the fleet's connection
7517
+ # ports.
7089
7518
  #
7090
7519
  # For Realtime Servers fleets, Amazon GameLift automatically opens two
7091
7520
  # port ranges, one for TCP messaging and one for UDP.
@@ -7271,7 +7700,7 @@ module Aws::GameLift
7271
7700
  # @!attribute [rw] next_token
7272
7701
  # A token that indicates the start of the next sequential page of
7273
7702
  # results. Use the token that is returned with a previous call to this
7274
- # operation. To start at the beginning of the result set, don't
7703
+ # operation. To start at the beginning of the result set, do not
7275
7704
  # specify a value.
7276
7705
  # @return [String]
7277
7706
  #
@@ -7310,10 +7739,26 @@ module Aws::GameLift
7310
7739
  #
7311
7740
  # @!attribute [rw] location
7312
7741
  # The name of a location to retrieve compute resources for. For an
7313
- # Amazon GameLift Anywhere fleet, use a custom location. For a
7314
- # multi-location EC2 or container fleet, provide a Amazon Web Services
7315
- # Region or Local Zone code (for example: `us-west-2` or
7316
- # `us-west-2-lax-1`).
7742
+ # Amazon GameLift Anywhere fleet, use a custom location. For a managed
7743
+ # fleet, provide a Amazon Web Services Region or Local Zone code (for
7744
+ # example: `us-west-2` or `us-west-2-lax-1`).
7745
+ # @return [String]
7746
+ #
7747
+ # @!attribute [rw] container_group_definition_name
7748
+ # For computes in a managed container fleet, the name of the deployed
7749
+ # container group definition.
7750
+ # @return [String]
7751
+ #
7752
+ # @!attribute [rw] compute_status
7753
+ # The status of computes in a managed container fleet, based on the
7754
+ # success of the latest update deployment.
7755
+ #
7756
+ # * `ACTIVE` -- The compute is deployed with the correct container
7757
+ # definitions. It is ready to process game servers and host game
7758
+ # sessions.
7759
+ #
7760
+ # * `IMPAIRED` -- An update deployment to the compute failed, and the
7761
+ # compute is deployed with incorrect container definitions.
7317
7762
  # @return [String]
7318
7763
  #
7319
7764
  # @!attribute [rw] limit
@@ -7333,6 +7778,8 @@ module Aws::GameLift
7333
7778
  class ListComputeInput < Struct.new(
7334
7779
  :fleet_id,
7335
7780
  :location,
7781
+ :container_group_definition_name,
7782
+ :compute_status,
7336
7783
  :limit,
7337
7784
  :next_token)
7338
7785
  SENSITIVE = []
@@ -7358,15 +7805,107 @@ module Aws::GameLift
7358
7805
  include Aws::Structure
7359
7806
  end
7360
7807
 
7361
- # @!attribute [rw] scheduling_strategy
7362
- # The type of container group definitions to retrieve.
7808
+ # @!attribute [rw] container_group_definition_name
7809
+ # The container group definition to filter the list on. Use this
7810
+ # parameter to retrieve only those fleets that use the specified
7811
+ # container group definition. You can specify the container group
7812
+ # definition's name to get fleets with the latest versions.
7813
+ # Alternatively, provide an ARN value to get fleets with a specific
7814
+ # version number.
7815
+ # @return [String]
7816
+ #
7817
+ # @!attribute [rw] limit
7818
+ # The maximum number of results to return. Use this parameter with
7819
+ # `NextToken` to get results as a set of sequential pages.
7820
+ # @return [Integer]
7821
+ #
7822
+ # @!attribute [rw] next_token
7823
+ # A token that indicates the start of the next sequential page of
7824
+ # results. Use the token that is returned with a previous call to this
7825
+ # operation. To start at the beginning of the result set, do not
7826
+ # specify a value.
7827
+ # @return [String]
7828
+ #
7829
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListContainerFleetsInput AWS API Documentation
7830
+ #
7831
+ class ListContainerFleetsInput < Struct.new(
7832
+ :container_group_definition_name,
7833
+ :limit,
7834
+ :next_token)
7835
+ SENSITIVE = []
7836
+ include Aws::Structure
7837
+ end
7838
+
7839
+ # @!attribute [rw] container_fleets
7840
+ # A collection of container fleet objects for all fleets that match
7841
+ # the request criteria.
7842
+ # @return [Array<Types::ContainerFleet>]
7843
+ #
7844
+ # @!attribute [rw] next_token
7845
+ # A token that indicates where to resume retrieving results on the
7846
+ # next call to this operation. If no token is returned, these results
7847
+ # represent the end of the list.
7848
+ # @return [String]
7849
+ #
7850
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListContainerFleetsOutput AWS API Documentation
7851
+ #
7852
+ class ListContainerFleetsOutput < Struct.new(
7853
+ :container_fleets,
7854
+ :next_token)
7855
+ SENSITIVE = []
7856
+ include Aws::Structure
7857
+ end
7858
+
7859
+ # @!attribute [rw] name
7860
+ # The unique identifier for the container group definition to retrieve
7861
+ # properties for. You can use either the `Name` or `ARN` value.
7862
+ # @return [String]
7863
+ #
7864
+ # @!attribute [rw] limit
7865
+ # The maximum number of results to return. Use this parameter with
7866
+ # `NextToken` to get results as a set of sequential pages.
7867
+ # @return [Integer]
7868
+ #
7869
+ # @!attribute [rw] next_token
7870
+ # A token that indicates the start of the next sequential page of
7871
+ # results. Use the token that is returned with a previous call to this
7872
+ # operation. To start at the beginning of the result set, do not
7873
+ # specify a value.
7874
+ # @return [String]
7875
+ #
7876
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListContainerGroupDefinitionVersionsInput AWS API Documentation
7877
+ #
7878
+ class ListContainerGroupDefinitionVersionsInput < Struct.new(
7879
+ :name,
7880
+ :limit,
7881
+ :next_token)
7882
+ SENSITIVE = []
7883
+ include Aws::Structure
7884
+ end
7885
+
7886
+ # @!attribute [rw] container_group_definitions
7887
+ # A result set of container group definitions that match the request.
7888
+ # @return [Array<Types::ContainerGroupDefinition>]
7363
7889
  #
7364
- # * `DAEMON` -- Daemon container groups run background processes and
7365
- # are deployed once per fleet instance.
7890
+ # @!attribute [rw] next_token
7891
+ # A token that indicates where to resume retrieving results on the
7892
+ # next call to this operation. If no token is returned, these results
7893
+ # represent the end of the list.
7894
+ # @return [String]
7895
+ #
7896
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListContainerGroupDefinitionVersionsOutput AWS API Documentation
7366
7897
  #
7367
- # * `REPLICA` -- Replica container groups run your game server
7368
- # application and supporting software. Replica groups might be
7369
- # deployed multiple times per fleet instance.
7898
+ class ListContainerGroupDefinitionVersionsOutput < Struct.new(
7899
+ :container_group_definitions,
7900
+ :next_token)
7901
+ SENSITIVE = []
7902
+ include Aws::Structure
7903
+ end
7904
+
7905
+ # @!attribute [rw] container_group_type
7906
+ # The type of container group to retrieve. Container group type
7907
+ # determines how Amazon GameLift deploys the container group on each
7908
+ # fleet instance.
7370
7909
  # @return [String]
7371
7910
  #
7372
7911
  # @!attribute [rw] limit
@@ -7384,7 +7923,7 @@ module Aws::GameLift
7384
7923
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListContainerGroupDefinitionsInput AWS API Documentation
7385
7924
  #
7386
7925
  class ListContainerGroupDefinitionsInput < Struct.new(
7387
- :scheduling_strategy,
7926
+ :container_group_type,
7388
7927
  :limit,
7389
7928
  :next_token)
7390
7929
  SENSITIVE = []
@@ -7410,6 +7949,52 @@ module Aws::GameLift
7410
7949
  include Aws::Structure
7411
7950
  end
7412
7951
 
7952
+ # @!attribute [rw] fleet_id
7953
+ # A unique identifier for the container fleet. You can use either the
7954
+ # fleet ID or ARN value.
7955
+ # @return [String]
7956
+ #
7957
+ # @!attribute [rw] limit
7958
+ # The maximum number of results to return. Use this parameter with
7959
+ # `NextToken` to get results as a set of sequential pages.
7960
+ # @return [Integer]
7961
+ #
7962
+ # @!attribute [rw] next_token
7963
+ # A token that indicates the start of the next sequential page of
7964
+ # results. Use the token that is returned with a previous call to this
7965
+ # operation. To start at the beginning of the result set, do not
7966
+ # specify a value.
7967
+ # @return [String]
7968
+ #
7969
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListFleetDeploymentsInput AWS API Documentation
7970
+ #
7971
+ class ListFleetDeploymentsInput < Struct.new(
7972
+ :fleet_id,
7973
+ :limit,
7974
+ :next_token)
7975
+ SENSITIVE = []
7976
+ include Aws::Structure
7977
+ end
7978
+
7979
+ # @!attribute [rw] fleet_deployments
7980
+ # The requested deployment information.
7981
+ # @return [Array<Types::FleetDeployment>]
7982
+ #
7983
+ # @!attribute [rw] next_token
7984
+ # A token that indicates where to resume retrieving results on the
7985
+ # next call to this operation. If no token is returned, these results
7986
+ # represent the end of the list.
7987
+ # @return [String]
7988
+ #
7989
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListFleetDeploymentsOutput AWS API Documentation
7990
+ #
7991
+ class ListFleetDeploymentsOutput < Struct.new(
7992
+ :fleet_deployments,
7993
+ :next_token)
7994
+ SENSITIVE = []
7995
+ include Aws::Structure
7996
+ end
7997
+
7413
7998
  # @!attribute [rw] build_id
7414
7999
  # A unique identifier for the build to request fleets for. Use this
7415
8000
  # parameter to return only fleets using a specified build. Use either
@@ -7422,12 +8007,6 @@ module Aws::GameLift
7422
8007
  # Use either the script ID or ARN value.
7423
8008
  # @return [String]
7424
8009
  #
7425
- # @!attribute [rw] container_group_definition_name
7426
- # The container group definition name to request fleets for. Use this
7427
- # parameter to return only fleets that are deployed with the specified
7428
- # container group definition.
7429
- # @return [String]
7430
- #
7431
8010
  # @!attribute [rw] limit
7432
8011
  # The maximum number of results to return. Use this parameter with
7433
8012
  # `NextToken` to get results as a set of sequential pages.
@@ -7445,7 +8024,6 @@ module Aws::GameLift
7445
8024
  class ListFleetsInput < Struct.new(
7446
8025
  :build_id,
7447
8026
  :script_id,
7448
- :container_group_definition_name,
7449
8027
  :limit,
7450
8028
  :next_token)
7451
8029
  SENSITIVE = []
@@ -7615,7 +8193,7 @@ module Aws::GameLift
7615
8193
  # @!attribute [rw] next_token
7616
8194
  # A token that indicates the start of the next sequential page of
7617
8195
  # results. Use the token that is returned with a previous call to this
7618
- # operation. To start at the beginning of the result set, don't
8196
+ # operation. To start at the beginning of the result set, do not
7619
8197
  # specify a value.
7620
8198
  # @return [String]
7621
8199
  #
@@ -7707,9 +8285,6 @@ module Aws::GameLift
7707
8285
  include Aws::Structure
7708
8286
  end
7709
8287
 
7710
- # **This data type has been expanded to use with the Amazon GameLift
7711
- # containers feature, which is currently in public preview.**
7712
- #
7713
8288
  # A remote location where a multi-location fleet can deploy game servers
7714
8289
  # for game hosting.
7715
8290
  #
@@ -7803,6 +8378,72 @@ module Aws::GameLift
7803
8378
  include Aws::Structure
7804
8379
  end
7805
8380
 
8381
+ # For a multi-location container fleet, describes the progress of a
8382
+ # deployment across all fleet locations.
8383
+ #
8384
+ # @!attribute [rw] deployment_status
8385
+ # The status of fleet deployment activity in the location.
8386
+ #
8387
+ # * `IN_PROGRESS` -- The deployment is in progress.
8388
+ #
8389
+ # * `IMPAIRED` -- The deployment failed and the fleet has some
8390
+ # impaired containers.
8391
+ #
8392
+ # * `COMPLETE` -- The deployment has completed successfully.
8393
+ #
8394
+ # * `ROLLBACK_IN_PROGRESS` -- The deployment failed and rollback has
8395
+ # been initiated.
8396
+ #
8397
+ # * `ROLLBACK_IN_COMPLETE` -- The deployment failed and rollback has
8398
+ # been completed.
8399
+ #
8400
+ # * `CANCELLED` -- The deployment was cancelled.
8401
+ # @return [String]
8402
+ #
8403
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/LocationalDeployment AWS API Documentation
8404
+ #
8405
+ class LocationalDeployment < Struct.new(
8406
+ :deployment_status)
8407
+ SENSITIVE = []
8408
+ include Aws::Structure
8409
+ end
8410
+
8411
+ # A method for collecting container logs for the fleet. Amazon GameLift
8412
+ # saves all standard output for each container in logs, including game
8413
+ # session logs. You can select from the following methods:
8414
+ #
8415
+ # @!attribute [rw] log_destination
8416
+ # The type of log collection to use for a fleet.
8417
+ #
8418
+ # * `CLOUDWATCH` -- (default value) Send logs to an Amazon CloudWatch
8419
+ # log group that you define. Each container emits a log stream,
8420
+ # which is organized in the log group.
8421
+ #
8422
+ # * `S3` -- Store logs in an Amazon S3 bucket that you define.
8423
+ #
8424
+ # * `NONE` -- Don't collect container logs.
8425
+ # @return [String]
8426
+ #
8427
+ # @!attribute [rw] s3_bucket_name
8428
+ # If log destination is `S3`, logs are sent to the specified Amazon S3
8429
+ # bucket name.
8430
+ # @return [String]
8431
+ #
8432
+ # @!attribute [rw] log_group_arn
8433
+ # If log destination is `CLOUDWATCH`, logs are sent to the specified
8434
+ # log group in Amazon CloudWatch.
8435
+ # @return [String]
8436
+ #
8437
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/LogConfiguration AWS API Documentation
8438
+ #
8439
+ class LogConfiguration < Struct.new(
8440
+ :log_destination,
8441
+ :s3_bucket_name,
8442
+ :log_group_arn)
8443
+ SENSITIVE = []
8444
+ include Aws::Structure
8445
+ end
8446
+
7806
8447
  # Represents a new player session that is created as a result of a
7807
8448
  # successful FlexMatch match. A successful match automatically creates
7808
8449
  # new player sessions for every player ID in the original matchmaking
@@ -7915,10 +8556,9 @@ module Aws::GameLift
7915
8556
  # @!attribute [rw] additional_player_count
7916
8557
  # The number of player slots in a match to keep open for future
7917
8558
  # players. For example, if the configuration's rule set specifies a
7918
- # match for a single 10-person team, and the additional player count
7919
- # is set to 2, 10 players will be selected for the match and 2 more
7920
- # player slots will be open for future players. This parameter is not
7921
- # used when `FlexMatchMode` is set to `STANDALONE`.
8559
+ # match for a single 12-person team, and the additional player count
8560
+ # is set to 2, only 10 players are selected for the match. This
8561
+ # parameter is not used when `FlexMatchMode` is set to `STANDALONE`.
7922
8562
  # @return [Integer]
7923
8563
  #
7924
8564
  # @!attribute [rw] custom_event_data
@@ -7943,10 +8583,10 @@ module Aws::GameLift
7943
8583
  # @!attribute [rw] game_session_data
7944
8584
  # A set of custom game session properties, formatted as a single
7945
8585
  # string value. This data is passed to a game server process with a
7946
- # request to start a new game session (see [Start a Game Session][1]).
7947
- # This information is added to the new `GameSession` object that is
7948
- # created for a successful match. This parameter is not used when
7949
- # `FlexMatchMode` is set to `STANDALONE`.
8586
+ # request to start a new game session. For more information, see
8587
+ # [Start a game session][1]. This information is added to the new
8588
+ # `GameSession` object that is created for a successful match. This
8589
+ # parameter is not used when `FlexMatchMode` is set to `STANDALONE`.
7950
8590
  #
7951
8591
  #
7952
8592
  #
@@ -8813,54 +9453,14 @@ module Aws::GameLift
8813
9453
  include Aws::Structure
8814
9454
  end
8815
9455
 
8816
- # @!attribute [rw] game_server
8817
- # Object that describes the newly registered game server.
8818
- # @return [Types::GameServer]
8819
- #
8820
- # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/RegisterGameServerOutput AWS API Documentation
8821
- #
8822
- class RegisterGameServerOutput < Struct.new(
8823
- :game_server)
8824
- SENSITIVE = []
8825
- include Aws::Structure
8826
- end
8827
-
8828
- # **This data type is used with the Amazon GameLift containers feature,
8829
- # which is currently in public preview.**
8830
- #
8831
- # The number and status of replica container groups that are deployed
8832
- # across a fleet with compute type `CONTAINER`. This information,
8833
- # combined with the number of server processes being hosted per
8834
- # container group (see `RuntimeConfiguration`), tells you how many game
8835
- # sessions the fleet is currently capable of hosting concurrently.
8836
- #
8837
- # **Returned by:** DescribeFleetCapacity, DescribeFleetLocationCapacity
8838
- #
8839
- # @!attribute [rw] pending
8840
- # The number of container groups that are starting up but have not yet
8841
- # registered.
8842
- # @return [Integer]
8843
- #
8844
- # @!attribute [rw] active
8845
- # The number of container groups that have active game sessions.
8846
- # @return [Integer]
8847
- #
8848
- # @!attribute [rw] idle
8849
- # The number of container groups that have no active game sessions.
8850
- # @return [Integer]
8851
- #
8852
- # @!attribute [rw] terminating
8853
- # The number of container groups that are in the process of shutting
8854
- # down.
8855
- # @return [Integer]
9456
+ # @!attribute [rw] game_server
9457
+ # Object that describes the newly registered game server.
9458
+ # @return [Types::GameServer]
8856
9459
  #
8857
- # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ReplicaContainerGroupCounts AWS API Documentation
9460
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/RegisterGameServerOutput AWS API Documentation
8858
9461
  #
8859
- class ReplicaContainerGroupCounts < Struct.new(
8860
- :pending,
8861
- :active,
8862
- :idle,
8863
- :terminating)
9462
+ class RegisterGameServerOutput < Struct.new(
9463
+ :game_server)
8864
9464
  SENSITIVE = []
8865
9465
  include Aws::Structure
8866
9466
  end
@@ -9040,19 +9640,12 @@ module Aws::GameLift
9040
9640
  include Aws::Structure
9041
9641
  end
9042
9642
 
9043
- # **This data type has been expanded to use with the Amazon GameLift
9044
- # containers feature, which is currently in public preview.**
9045
- #
9046
9643
  # A set of instructions that define the set of server processes to run
9047
9644
  # on computes in a fleet. Server processes run either an executable in a
9048
9645
  # custom game build or a Realtime Servers script. Amazon GameLift
9049
9646
  # launches the processes, manages their life cycle, and replaces them as
9050
9647
  # needed. Computes check regularly for an updated runtime configuration.
9051
9648
  #
9052
- # On a container fleet, the Amazon GameLift Agent uses the runtime
9053
- # configuration to manage the lifecycle of server processes in a replica
9054
- # container group.
9055
- #
9056
9649
  # An Amazon GameLift instance is limited to 50 processes running
9057
9650
  # concurrently. To calculate the total number of processes defined in a
9058
9651
  # runtime configuration, add the values of the `ConcurrentExecutions`
@@ -9070,8 +9663,8 @@ module Aws::GameLift
9070
9663
  #
9071
9664
  # @!attribute [rw] max_concurrent_game_session_activations
9072
9665
  # The number of game sessions in status `ACTIVATING` to allow on an
9073
- # instance or container. This setting limits the instance resources
9074
- # that can be used for new game activations at any one time.
9666
+ # instance. This setting limits the instance resources that can be
9667
+ # used for new game activations at any one time.
9075
9668
  # @return [Integer]
9076
9669
  #
9077
9670
  # @!attribute [rw] game_session_activation_timeout_seconds
@@ -9339,12 +9932,12 @@ module Aws::GameLift
9339
9932
  #
9340
9933
  # @!attribute [rw] name
9341
9934
  # A descriptive label that is associated with a script. Script names
9342
- # don't need to be unique.
9935
+ # do not need to be unique.
9343
9936
  # @return [String]
9344
9937
  #
9345
9938
  # @!attribute [rw] version
9346
- # Version information associated with a build or script. Version
9347
- # strings don't need to be unique.
9939
+ # Version information that is associated with a build or script.
9940
+ # Version strings do not need to be unique.
9348
9941
  # @return [String]
9349
9942
  #
9350
9943
  # @!attribute [rw] size_on_disk
@@ -9548,7 +10141,7 @@ module Aws::GameLift
9548
10141
  #
9549
10142
  # @!attribute [rw] concurrent_executions
9550
10143
  # The number of server processes using this configuration that run
9551
- # concurrently on each instance or container..
10144
+ # concurrently on each instance or compute.
9552
10145
  # @return [Integer]
9553
10146
  #
9554
10147
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ServerProcess AWS API Documentation
@@ -9638,10 +10231,10 @@ module Aws::GameLift
9638
10231
  #
9639
10232
  # @!attribute [rw] player_latencies
9640
10233
  # A set of values, expressed in milliseconds, that indicates the
9641
- # amount of latency that a player experiences when connected to Amazon
9642
- # Web Services Regions. This information is used to try to place the
9643
- # new game session where it can offer the best possible gameplay
9644
- # experience for the players.
10234
+ # amount of latency that a player experiences when connected to @aws;
10235
+ # Regions. This information is used to try to place the new game
10236
+ # session where it can offer the best possible gameplay experience for
10237
+ # the players.
9645
10238
  # @return [Array<Types::PlayerLatency>]
9646
10239
  #
9647
10240
  # @!attribute [rw] desired_player_sessions
@@ -9650,9 +10243,9 @@ module Aws::GameLift
9650
10243
  #
9651
10244
  # @!attribute [rw] game_session_data
9652
10245
  # A set of custom game session properties, formatted as a single
9653
- # string value. This data is passed to a game server process in the
9654
- # `GameSession` object with a request to start a new game session (see
9655
- # [Start a Game Session][1]).
10246
+ # string value. This data is passed to a game server process with a
10247
+ # request to start a new game session. For more information, see
10248
+ # [Start a game session][1].
9656
10249
  #
9657
10250
  #
9658
10251
  #
@@ -9896,6 +10489,251 @@ module Aws::GameLift
9896
10489
  #
9897
10490
  class StopMatchmakingOutput < Aws::EmptyStructure; end
9898
10491
 
10492
+ # Describes a support container in a container group. A support
10493
+ # container might be in a game server container group or a per-instance
10494
+ # container group. Support containers don't run game server processes.
10495
+ #
10496
+ # You can update a support container definition and deploy the updates
10497
+ # to an existing fleet. When creating or updating a game server
10498
+ # container group definition, use the property
10499
+ # GameServerContainerDefinitionInput.
10500
+ #
10501
+ # **Part of:** ContainerGroupDefinition
10502
+ #
10503
+ # **Returned by:** DescribeContainerGroupDefinition,
10504
+ # ListContainerGroupDefinitions, UpdateContainerGroupDefinition
10505
+ #
10506
+ # @!attribute [rw] container_name
10507
+ # The container definition identifier. Container names are unique
10508
+ # within a container group definition.
10509
+ # @return [String]
10510
+ #
10511
+ # @!attribute [rw] depends_on
10512
+ # Indicates that the container relies on the status of other
10513
+ # containers in the same container group during its startup and
10514
+ # shutdown sequences. A container might have dependencies on multiple
10515
+ # containers.
10516
+ # @return [Array<Types::ContainerDependency>]
10517
+ #
10518
+ # @!attribute [rw] mount_points
10519
+ # A mount point that binds a path inside the container to a file or
10520
+ # directory on the host system and lets it access the file or
10521
+ # directory.
10522
+ # @return [Array<Types::ContainerMountPoint>]
10523
+ #
10524
+ # @!attribute [rw] environment_override
10525
+ # A set of environment variables that's passed to the container on
10526
+ # startup. See the [ContainerDefinition::environment][1] parameter in
10527
+ # the *Amazon Elastic Container Service API Reference*.
10528
+ #
10529
+ #
10530
+ #
10531
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-environment
10532
+ # @return [Array<Types::ContainerEnvironment>]
10533
+ #
10534
+ # @!attribute [rw] essential
10535
+ # Indicates whether the container is vital to the container group. If
10536
+ # an essential container fails, the entire container group restarts.
10537
+ # @return [Boolean]
10538
+ #
10539
+ # @!attribute [rw] health_check
10540
+ # A configuration for a non-terminal health check. A support container
10541
+ # automatically restarts if it stops functioning or if it fails this
10542
+ # health check.
10543
+ # @return [Types::ContainerHealthCheck]
10544
+ #
10545
+ # @!attribute [rw] image_uri
10546
+ # The URI to the image that Amazon GameLift deploys to a container
10547
+ # fleet. For a more specific identifier, see `ResolvedImageDigest`.
10548
+ # @return [String]
10549
+ #
10550
+ # @!attribute [rw] memory_hard_limit_mebibytes
10551
+ # The amount of memory that Amazon GameLift makes available to the
10552
+ # container. If memory limits aren't set for an individual container,
10553
+ # the container shares the container group's total memory allocation.
10554
+ #
10555
+ # <b>Related data type: </b>
10556
+ # ContainerGroupDefinition$TotalMemoryLimitMebibytes
10557
+ # @return [Integer]
10558
+ #
10559
+ # @!attribute [rw] port_configuration
10560
+ # A set of ports that allow access to the container from external
10561
+ # users. Processes running in the container can bind to a one of these
10562
+ # ports. Container ports aren't directly accessed by inbound traffic.
10563
+ # Amazon GameLift maps these container ports to externally accessible
10564
+ # connection ports, which are assigned as needed from the container
10565
+ # fleet's `ConnectionPortRange`.
10566
+ # @return [Types::ContainerPortConfiguration]
10567
+ #
10568
+ # @!attribute [rw] resolved_image_digest
10569
+ # A unique and immutable identifier for the container image. The
10570
+ # digest is a SHA 256 hash of the container image manifest.
10571
+ # @return [String]
10572
+ #
10573
+ # @!attribute [rw] vcpu
10574
+ # The number of vCPU units that are reserved for the container. If no
10575
+ # resources are reserved, the container shares the total vCPU limit
10576
+ # for the container group.
10577
+ #
10578
+ # <b>Related data type: </b> ContainerGroupDefinition$TotalVcpuLimit
10579
+ # @return [Float]
10580
+ #
10581
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/SupportContainerDefinition AWS API Documentation
10582
+ #
10583
+ class SupportContainerDefinition < Struct.new(
10584
+ :container_name,
10585
+ :depends_on,
10586
+ :mount_points,
10587
+ :environment_override,
10588
+ :essential,
10589
+ :health_check,
10590
+ :image_uri,
10591
+ :memory_hard_limit_mebibytes,
10592
+ :port_configuration,
10593
+ :resolved_image_digest,
10594
+ :vcpu)
10595
+ SENSITIVE = []
10596
+ include Aws::Structure
10597
+ end
10598
+
10599
+ # Describes a support container in a container group. You can define a
10600
+ # support container in either a game server container group or a
10601
+ # per-instance container group. Support containers don't run game
10602
+ # server processes.
10603
+ #
10604
+ # This definition includes container configuration, resources, and start
10605
+ # instructions. Use this data type when creating or updating a container
10606
+ # group definition. For properties of a deployed support container, see
10607
+ # SupportContainerDefinition.
10608
+ #
10609
+ # <b>Use with: </b> CreateContainerGroupDefinition,
10610
+ # UpdateContainerGroupDefinition
10611
+ #
10612
+ # @!attribute [rw] container_name
10613
+ # A string that uniquely identifies the container definition within a
10614
+ # container group.
10615
+ # @return [String]
10616
+ #
10617
+ # @!attribute [rw] depends_on
10618
+ # Establishes dependencies between this container and the status of
10619
+ # other containers in the same container group. A container can have
10620
+ # dependencies on multiple different containers.
10621
+ #
10622
+ # .
10623
+ #
10624
+ # You can use dependencies to establish a startup/shutdown sequence
10625
+ # across the container group. For example, you might specify that
10626
+ # *ContainerB* has a `START` dependency on *ContainerA*. This
10627
+ # dependency means that *ContainerB* can't start until after
10628
+ # *ContainerA* has started. This dependency is reversed on shutdown,
10629
+ # which means that *ContainerB* must shut down before *ContainerA* can
10630
+ # shut down.
10631
+ # @return [Array<Types::ContainerDependency>]
10632
+ #
10633
+ # @!attribute [rw] mount_points
10634
+ # A mount point that binds a path inside the container to a file or
10635
+ # directory on the host system and lets it access the file or
10636
+ # directory.
10637
+ # @return [Array<Types::ContainerMountPoint>]
10638
+ #
10639
+ # @!attribute [rw] environment_override
10640
+ # A set of environment variables to pass to the container on startup.
10641
+ # See the [ContainerDefinition::environment][1] parameter in the
10642
+ # *Amazon Elastic Container Service API Reference*.
10643
+ #
10644
+ #
10645
+ #
10646
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-environment
10647
+ # @return [Array<Types::ContainerEnvironment>]
10648
+ #
10649
+ # @!attribute [rw] essential
10650
+ # Flags the container as vital for the container group to function
10651
+ # properly. If an essential container fails, the entire container
10652
+ # group restarts. At least one support container in a per-instance
10653
+ # container group must be essential. When flagging a container as
10654
+ # essential, also configure a health check so that the container can
10655
+ # signal that it's healthy.
10656
+ # @return [Boolean]
10657
+ #
10658
+ # @!attribute [rw] health_check
10659
+ # Configuration for a non-terminal health check. A container
10660
+ # automatically restarts if it stops functioning. With a health check,
10661
+ # you can define additional reasons to flag a container as unhealthy
10662
+ # and restart it. If an essential container fails a health check, the
10663
+ # entire container group restarts.
10664
+ # @return [Types::ContainerHealthCheck]
10665
+ #
10666
+ # @!attribute [rw] image_uri
10667
+ # The location of the container image to deploy to a container fleet.
10668
+ # Provide an image in an Amazon Elastic Container Registry public or
10669
+ # private repository. The repository must be in the same Amazon Web
10670
+ # Services account and Amazon Web Services Region where you're
10671
+ # creating the container group definition. For limits on image size,
10672
+ # see [Amazon GameLift endpoints and quotas][1]. You can use any of
10673
+ # the following image URI formats:
10674
+ #
10675
+ # * Image ID only: `[AWS account].dkr.ecr.[AWS
10676
+ # region].amazonaws.com/[repository ID]`
10677
+ #
10678
+ # * Image ID and digest: `[AWS account].dkr.ecr.[AWS
10679
+ # region].amazonaws.com/[repository ID]@[digest]`
10680
+ #
10681
+ # * Image ID and tag: `[AWS account].dkr.ecr.[AWS
10682
+ # region].amazonaws.com/[repository ID]:[tag]`
10683
+ #
10684
+ #
10685
+ #
10686
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/gamelift.html
10687
+ # @return [String]
10688
+ #
10689
+ # @!attribute [rw] memory_hard_limit_mebibytes
10690
+ # A specified amount of memory (in MiB) to reserve for this container.
10691
+ # If you don't specify a container-specific memory limit, the
10692
+ # container shares the container group's total memory allocation.
10693
+ #
10694
+ # <b>Related data type: </b> ContainerGroupDefinition
10695
+ # TotalMemoryLimitMebibytes``
10696
+ # @return [Integer]
10697
+ #
10698
+ # @!attribute [rw] port_configuration
10699
+ # A set of ports that Amazon GameLift can assign to processes in the
10700
+ # container. Any processes that accept inbound traffic connections
10701
+ # must be assigned a port from this set. The container port range must
10702
+ # be large enough to assign one to each process in the container that
10703
+ # needs one.
10704
+ #
10705
+ # Container ports aren't directly accessed by inbound traffic. Amazon
10706
+ # GameLift maps these container ports to externally accessible
10707
+ # connection ports, which are assigned as needed from the container
10708
+ # fleet's `ConnectionPortRange`.
10709
+ # @return [Types::ContainerPortConfiguration]
10710
+ #
10711
+ # @!attribute [rw] vcpu
10712
+ # The number of vCPU units to reserve for this container. The
10713
+ # container can use more resources when needed, if available. If you
10714
+ # don't reserve CPU units for this container, it shares the container
10715
+ # group's total vCPU limit.
10716
+ #
10717
+ # <b>Related data type: </b> ContainerGroupDefinition TotalCpuLimit
10718
+ # @return [Float]
10719
+ #
10720
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/SupportContainerDefinitionInput AWS API Documentation
10721
+ #
10722
+ class SupportContainerDefinitionInput < Struct.new(
10723
+ :container_name,
10724
+ :depends_on,
10725
+ :mount_points,
10726
+ :environment_override,
10727
+ :essential,
10728
+ :health_check,
10729
+ :image_uri,
10730
+ :memory_hard_limit_mebibytes,
10731
+ :port_configuration,
10732
+ :vcpu)
10733
+ SENSITIVE = []
10734
+ include Aws::Structure
10735
+ end
10736
+
9899
10737
  # @!attribute [rw] game_server_group_name
9900
10738
  # A unique identifier for the game server group. Use either the name
9901
10739
  # or ARN value.
@@ -10191,13 +11029,13 @@ module Aws::GameLift
10191
11029
  # @return [String]
10192
11030
  #
10193
11031
  # @!attribute [rw] name
10194
- # A descriptive label associated with a build. Build names don't need
10195
- # to be unique.
11032
+ # A descriptive label that is associated with a build. Build names do
11033
+ # not need to be unique.
10196
11034
  # @return [String]
10197
11035
  #
10198
11036
  # @!attribute [rw] version
10199
- # Version information associated with a build or script. Version
10200
- # strings don't need to be unique.
11037
+ # Version information that is associated with a build or script.
11038
+ # Version strings do not need to be unique.
10201
11039
  # @return [String]
10202
11040
  #
10203
11041
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateBuildInput AWS API Documentation
@@ -10222,6 +11060,229 @@ module Aws::GameLift
10222
11060
  include Aws::Structure
10223
11061
  end
10224
11062
 
11063
+ # @!attribute [rw] fleet_id
11064
+ # A unique identifier for the container fleet to update. You can use
11065
+ # either the fleet ID or ARN value.
11066
+ # @return [String]
11067
+ #
11068
+ # @!attribute [rw] game_server_container_group_definition_name
11069
+ # The name or ARN value of a new game server container group
11070
+ # definition to deploy on the fleet. If you're updating the fleet to
11071
+ # a specific version of a container group definition, use the ARN
11072
+ # value and include the version number. If you're updating the fleet
11073
+ # to the latest version of a container group definition, you can use
11074
+ # the name value. You can't remove a fleet's game server container
11075
+ # group definition, you can only update or replace it with another
11076
+ # definition.
11077
+ #
11078
+ # Update a container group definition by calling
11079
+ # UpdateContainerGroupDefinition. This operation creates a
11080
+ # ContainerGroupDefinition resource with an incremented version.
11081
+ # @return [String]
11082
+ #
11083
+ # @!attribute [rw] per_instance_container_group_definition_name
11084
+ # The name or ARN value of a new per-instance container group
11085
+ # definition to deploy on the fleet. If you're updating the fleet to
11086
+ # a specific version of a container group definition, use the ARN
11087
+ # value and include the version number. If you're updating the fleet
11088
+ # to the latest version of a container group definition, you can use
11089
+ # the name value.
11090
+ #
11091
+ # Update a container group definition by calling
11092
+ # UpdateContainerGroupDefinition. This operation creates a
11093
+ # ContainerGroupDefinition resource with an incremented version.
11094
+ #
11095
+ # To remove a fleet's per-instance container group definition, leave
11096
+ # this parameter empty and use the parameter `RemoveAttributes`.
11097
+ # @return [String]
11098
+ #
11099
+ # @!attribute [rw] game_server_container_groups_per_instance
11100
+ # The number of times to replicate the game server container group on
11101
+ # each fleet instance. By default, Amazon GameLift calculates the
11102
+ # maximum number of game server container groups that can fit on each
11103
+ # instance. You can remove this property value to use the calculated
11104
+ # value, or set it manually. If you set this number manually, Amazon
11105
+ # GameLift uses your value as long as it's less than the calculated
11106
+ # maximum.
11107
+ # @return [Integer]
11108
+ #
11109
+ # @!attribute [rw] instance_connection_port_range
11110
+ # A revised set of port numbers to open on each fleet instance. By
11111
+ # default, Amazon GameLift calculates an optimal port range based on
11112
+ # your fleet configuration. If you previously set this parameter
11113
+ # manually, you can't reset this to use the calculated settings.
11114
+ # @return [Types::ConnectionPortRange]
11115
+ #
11116
+ # @!attribute [rw] instance_inbound_permission_authorizations
11117
+ # A set of ports to add to the container fleet's inbound permissions.
11118
+ # @return [Array<Types::IpPermission>]
11119
+ #
11120
+ # @!attribute [rw] instance_inbound_permission_revocations
11121
+ # A set of ports to remove from the container fleet's inbound
11122
+ # permissions.
11123
+ # @return [Array<Types::IpPermission>]
11124
+ #
11125
+ # @!attribute [rw] deployment_configuration
11126
+ # Instructions for how to deploy updates to a container fleet, if the
11127
+ # fleet update initiates a deployment. The deployment configuration
11128
+ # lets you determine how to replace fleet instances and what actions
11129
+ # to take if the deployment fails.
11130
+ # @return [Types::DeploymentConfiguration]
11131
+ #
11132
+ # @!attribute [rw] description
11133
+ # A meaningful description of the container fleet.
11134
+ # @return [String]
11135
+ #
11136
+ # @!attribute [rw] metric_groups
11137
+ # The name of an Amazon Web Services CloudWatch metric group to add
11138
+ # this fleet to.
11139
+ # @return [Array<String>]
11140
+ #
11141
+ # @!attribute [rw] new_game_session_protection_policy
11142
+ # The game session protection policy to apply to all new game sessions
11143
+ # that are started in this fleet. Game sessions that already exist are
11144
+ # not affected.
11145
+ # @return [String]
11146
+ #
11147
+ # @!attribute [rw] game_session_creation_limit_policy
11148
+ # A policy that limits the number of game sessions that each
11149
+ # individual player can create on instances in this fleet. The limit
11150
+ # applies for a specified span of time.
11151
+ # @return [Types::GameSessionCreationLimitPolicy]
11152
+ #
11153
+ # @!attribute [rw] log_configuration
11154
+ # The method for collecting container logs for the fleet.
11155
+ # @return [Types::LogConfiguration]
11156
+ #
11157
+ # @!attribute [rw] remove_attributes
11158
+ # If set, this update removes a fleet's per-instance container group
11159
+ # definition. You can't remove a fleet's game server container group
11160
+ # definition.
11161
+ # @return [Array<String>]
11162
+ #
11163
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateContainerFleetInput AWS API Documentation
11164
+ #
11165
+ class UpdateContainerFleetInput < Struct.new(
11166
+ :fleet_id,
11167
+ :game_server_container_group_definition_name,
11168
+ :per_instance_container_group_definition_name,
11169
+ :game_server_container_groups_per_instance,
11170
+ :instance_connection_port_range,
11171
+ :instance_inbound_permission_authorizations,
11172
+ :instance_inbound_permission_revocations,
11173
+ :deployment_configuration,
11174
+ :description,
11175
+ :metric_groups,
11176
+ :new_game_session_protection_policy,
11177
+ :game_session_creation_limit_policy,
11178
+ :log_configuration,
11179
+ :remove_attributes)
11180
+ SENSITIVE = []
11181
+ include Aws::Structure
11182
+ end
11183
+
11184
+ # @!attribute [rw] container_fleet
11185
+ # A collection of container fleet objects for all fleets that match
11186
+ # the request criteria.
11187
+ # @return [Types::ContainerFleet]
11188
+ #
11189
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateContainerFleetOutput AWS API Documentation
11190
+ #
11191
+ class UpdateContainerFleetOutput < Struct.new(
11192
+ :container_fleet)
11193
+ SENSITIVE = []
11194
+ include Aws::Structure
11195
+ end
11196
+
11197
+ # @!attribute [rw] name
11198
+ # A descriptive identifier for the container group definition. The
11199
+ # name value must be unique in an Amazon Web Services Region.
11200
+ # @return [String]
11201
+ #
11202
+ # @!attribute [rw] game_server_container_definition
11203
+ # An updated definition for the game server container in this group.
11204
+ # Define a game server container only when the container group type is
11205
+ # `GAME_SERVER`. You can pass in your container definitions as a JSON
11206
+ # file.
11207
+ # @return [Types::GameServerContainerDefinitionInput]
11208
+ #
11209
+ # @!attribute [rw] support_container_definitions
11210
+ # One or more definitions for support containers in this group. You
11211
+ # can define a support container in any type of container group. You
11212
+ # can pass in your container definitions as a JSON file.
11213
+ # @return [Array<Types::SupportContainerDefinitionInput>]
11214
+ #
11215
+ # @!attribute [rw] total_memory_limit_mebibytes
11216
+ # The maximum amount of memory (in MiB) to allocate to the container
11217
+ # group. All containers in the group share this memory. If you specify
11218
+ # memory limits for an individual container, the total value must be
11219
+ # greater than any individual container's memory limit.
11220
+ # @return [Integer]
11221
+ #
11222
+ # @!attribute [rw] total_vcpu_limit
11223
+ # The maximum amount of vCPU units to allocate to the container group
11224
+ # (1 vCPU is equal to 1024 CPU units). All containers in the group
11225
+ # share this memory. If you specify vCPU limits for individual
11226
+ # containers, the total value must be equal to or greater than the sum
11227
+ # of the CPU limits for all containers in the group.
11228
+ # @return [Float]
11229
+ #
11230
+ # @!attribute [rw] version_description
11231
+ # A description for this update to the container group definition.
11232
+ # @return [String]
11233
+ #
11234
+ # @!attribute [rw] source_version_number
11235
+ # The container group definition version to update. The new version
11236
+ # starts with values from the source version, and then updates values
11237
+ # included in this request.
11238
+ # @return [Integer]
11239
+ #
11240
+ # @!attribute [rw] operating_system
11241
+ # The platform that all containers in the group use. Containers in a
11242
+ # group must run on the same operating system.
11243
+ #
11244
+ # <note markdown="1"> Amazon Linux 2 (AL2) will reach end of support on 6/30/2025. See
11245
+ # more details in the [Amazon Linux 2 FAQs][1]. For game servers that
11246
+ # are hosted on AL2 and use Amazon GameLift server SDK 4.x, first
11247
+ # update the game server build to server SDK 5.x, and then deploy to
11248
+ # AL2023 instances. See [ Migrate to Amazon GameLift server SDK
11249
+ # version 5.][2]
11250
+ #
11251
+ # </note>
11252
+ #
11253
+ #
11254
+ #
11255
+ # [1]: https://aws.amazon.com/amazon-linux-2/faqs/
11256
+ # [2]: https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-serversdk5-migration.html
11257
+ # @return [String]
11258
+ #
11259
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateContainerGroupDefinitionInput AWS API Documentation
11260
+ #
11261
+ class UpdateContainerGroupDefinitionInput < Struct.new(
11262
+ :name,
11263
+ :game_server_container_definition,
11264
+ :support_container_definitions,
11265
+ :total_memory_limit_mebibytes,
11266
+ :total_vcpu_limit,
11267
+ :version_description,
11268
+ :source_version_number,
11269
+ :operating_system)
11270
+ SENSITIVE = []
11271
+ include Aws::Structure
11272
+ end
11273
+
11274
+ # @!attribute [rw] container_group_definition
11275
+ # The properties of the updated container group definition version.
11276
+ # @return [Types::ContainerGroupDefinition]
11277
+ #
11278
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateContainerGroupDefinitionOutput AWS API Documentation
11279
+ #
11280
+ class UpdateContainerGroupDefinitionOutput < Struct.new(
11281
+ :container_group_definition)
11282
+ SENSITIVE = []
11283
+ include Aws::Structure
11284
+ end
11285
+
10225
11286
  # @!attribute [rw] fleet_id
10226
11287
  # A unique identifier for the fleet to update attribute metadata for.
10227
11288
  # You can use either the fleet ID or ARN value.
@@ -10240,7 +11301,7 @@ module Aws::GameLift
10240
11301
  # The game session protection policy to apply to all new game sessions
10241
11302
  # created in this fleet. Game sessions that already exist are not
10242
11303
  # affected. You can set protection for individual game sessions using
10243
- # [UpdateGameSession][1] .
11304
+ # [UpdateGameSession][1].
10244
11305
  #
10245
11306
  # * **NoProtection** -- The game session can be terminated during a
10246
11307
  # scale-down event.
@@ -10648,19 +11709,16 @@ module Aws::GameLift
10648
11709
  # @!attribute [rw] timeout_in_seconds
10649
11710
  # The maximum time, in seconds, that a new game session placement
10650
11711
  # request remains in the queue. When a request exceeds this time, the
10651
- # game session placement changes to a `TIMED_OUT` status. By default,
10652
- # this property is set to `600`.
11712
+ # game session placement changes to a `TIMED_OUT` status.
10653
11713
  # @return [Integer]
10654
11714
  #
10655
11715
  # @!attribute [rw] player_latency_policies
10656
- # A set of policies that act as a sliding cap on player latency.
10657
- # FleetIQ works to deliver low latency for most players in a game
10658
- # session. These policies ensure that no individual player can be
10659
- # placed into a game with unreasonably high latency. Use multiple
10660
- # policies to gradually relax latency requirements a step at a time.
10661
- # Multiple policies are applied based on their maximum allowed
10662
- # latency, starting with the lowest value. When updating policies,
10663
- # provide a complete collection of policies.
11716
+ # A set of policies that enforce a sliding cap on player latency when
11717
+ # processing game sessions placement requests. Use multiple policies
11718
+ # to gradually relax the cap over time if Amazon GameLift can't make
11719
+ # a placement. Policies are evaluated in order starting with the
11720
+ # lowest maximum latency value. When updating policies, provide a
11721
+ # complete collection of policies.
10664
11722
  # @return [Array<Types::PlayerLatencyPolicy>]
10665
11723
  #
10666
11724
  # @!attribute [rw] destinations
@@ -10793,10 +11851,9 @@ module Aws::GameLift
10793
11851
  # @!attribute [rw] additional_player_count
10794
11852
  # The number of player slots in a match to keep open for future
10795
11853
  # players. For example, if the configuration's rule set specifies a
10796
- # match for a single 10-person team, and the additional player count
10797
- # is set to 2, 10 players will be selected for the match and 2 more
10798
- # player slots will be open for future players. This parameter is not
10799
- # used if `FlexMatchMode` is set to `STANDALONE`.
11854
+ # match for a single 12-person team, and the additional player count
11855
+ # is set to 2, only 10 players are selected for the match. This
11856
+ # parameter is not used if `FlexMatchMode` is set to `STANDALONE`.
10800
11857
  # @return [Integer]
10801
11858
  #
10802
11859
  # @!attribute [rw] custom_event_data
@@ -10815,10 +11872,10 @@ module Aws::GameLift
10815
11872
  # @!attribute [rw] game_session_data
10816
11873
  # A set of custom game session properties, formatted as a single
10817
11874
  # string value. This data is passed to a game server process with a
10818
- # request to start a new game session (see [Start a Game Session][1]).
10819
- # This information is added to the game session that is created for a
10820
- # successful match. This parameter is not used if `FlexMatchMode` is
10821
- # set to `STANDALONE`.
11875
+ # request to start a new game session. For more information, see
11876
+ # [Start a game session][1]. This information is added to the game
11877
+ # session that is created for a successful match. This parameter is
11878
+ # not used if `FlexMatchMode` is set to `STANDALONE`.
10822
11879
  #
10823
11880
  #
10824
11881
  #
@@ -10931,12 +11988,12 @@ module Aws::GameLift
10931
11988
  #
10932
11989
  # @!attribute [rw] name
10933
11990
  # A descriptive label that is associated with a script. Script names
10934
- # don't need to be unique.
11991
+ # do not need to be unique.
10935
11992
  # @return [String]
10936
11993
  #
10937
11994
  # @!attribute [rw] version
10938
- # Version information associated with a build or script. Version
10939
- # strings don't need to be unique.
11995
+ # Version information that is associated with a build or script.
11996
+ # Version strings do not need to be unique.
10940
11997
  # @return [String]
10941
11998
  #
10942
11999
  # @!attribute [rw] storage_location