aws-sdk-gamelift 1.93.0 → 1.95.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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,204 +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
- # `\{"Command": [ "CMD-SHELL", "ps cax | grep "processmanager" || exit
1376
- # 1" ], "Interval": 300, "Timeout": 30, "Retries": 5, "StartPeriod": 100
1377
- # \}`
1097
+ # `{"Command": [ "CMD-SHELL", "ps cax | grep "processmanager" || exit 1"
1098
+ # ], "Interval": 60, "Timeout": 10, "Retries": 3, "StartPeriod": 100 }`
1378
1099
  #
1379
- # **Part of:** ContainerDefinition$HealthCheck
1100
+ # **Part of:** SupportContainerDefinition,
1101
+ # SupportContainerDefinitionInput
1380
1102
  #
1381
1103
  #
1382
1104
  #
@@ -1391,15 +1113,10 @@ module Aws::GameLift
1391
1113
  # The time period (in seconds) between each health check.
1392
1114
  # @return [Integer]
1393
1115
  #
1394
- # @!attribute [rw] timeout
1395
- # The time period (in seconds) to wait for a health check to succeed
1396
- # before a failed health check is counted.
1397
- # @return [Integer]
1398
- #
1399
1116
  # @!attribute [rw] retries
1400
- # The number of times to retry a failed health check before the
1401
- # container is considered unhealthy. The first run of the command does
1402
- # 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.
1403
1120
  # @return [Integer]
1404
1121
  #
1405
1122
  # @!attribute [rw] start_period
@@ -1408,65 +1125,92 @@ module Aws::GameLift
1408
1125
  # number of retries.
1409
1126
  # @return [Integer]
1410
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
+ #
1411
1133
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerHealthCheck AWS API Documentation
1412
1134
  #
1413
1135
  class ContainerHealthCheck < Struct.new(
1414
1136
  :command,
1415
1137
  :interval,
1416
- :timeout,
1417
1138
  :retries,
1418
- :start_period)
1139
+ :start_period,
1140
+ :timeout)
1419
1141
  SENSITIVE = []
1420
1142
  include Aws::Structure
1421
1143
  end
1422
1144
 
1423
- # Specifies how much memory is available to a container. You can't
1424
- # 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
1425
1150
  #
1426
- # <b>Part of: </b> ContainerDefinition$MemoryLimits
1151
+ # <b>Use with: </b> GetComputeAccess
1427
1152
  #
1428
- # @!attribute [rw] soft_limit
1429
- # The amount of memory that is reserved for a container. When the
1430
- # container group's shared memory is under contention, the system
1431
- # attempts to maintain the container memory usage at this soft limit.
1432
- # However, the container can use more memory when needed, if
1433
- # available. This property is similar to the Amazon ECS container
1434
- # definition parameter [memoryreservation][1] (*Amazon Elastic
1435
- # Container Service Developer Guide*).
1153
+ # @!attribute [rw] container_name
1154
+ # The identifier for a container that's running in a compute.
1155
+ # @return [String]
1436
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]
1437
1162
  #
1163
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerIdentifier AWS API Documentation
1438
1164
  #
1439
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#ContainerDefinition-memoryReservation
1440
- # @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.
1441
1174
  #
1442
- # @!attribute [rw] hard_limit
1443
- # The maximum amount of memory that the container can use. If a
1444
- # container attempts to exceed this limit, the container is stopped.
1445
- # This property is similar to the Amazon ECS container definition
1446
- # parameter [memory][1] in the *Amazon Elastic Container Service
1447
- # Developer Guide.*
1175
+ # **Part of:** GameServerContainerDefinition,
1176
+ # GameServerContainerDefinitionInput, SupportContainerDefinition,
1177
+ # SupportContainerDefinitionInput
1448
1178
  #
1179
+ # @!attribute [rw] instance_path
1180
+ # The path to the source file or directory.
1181
+ # @return [String]
1449
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]
1450
1187
  #
1451
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#container_definition_memory
1452
- # @return [Integer]
1188
+ # @!attribute [rw] access_level
1189
+ # The type of access for the container.
1190
+ # @return [String]
1453
1191
  #
1454
- # @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
1455
1193
  #
1456
- class ContainerMemoryLimits < Struct.new(
1457
- :soft_limit,
1458
- :hard_limit)
1194
+ class ContainerMountPoint < Struct.new(
1195
+ :instance_path,
1196
+ :container_path,
1197
+ :access_level)
1459
1198
  SENSITIVE = []
1460
1199
  include Aws::Structure
1461
1200
  end
1462
1201
 
1463
- # 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.
1464
1206
  #
1465
- # **Part of:** ContainerDefinition$PortConfiguration
1207
+ # **Part of:** GameServerContainerDefinition,
1208
+ # GameServerContainerDefinitionInput, SupportContainerDefinition,
1209
+ # SupportContainerDefinitionInput
1466
1210
  #
1467
1211
  # @!attribute [rw] container_port_ranges
1468
- # Specifies one or more ranges of ports on a container. These ranges
1469
- # must not overlap.
1212
+ # A set of one or more container port number ranges. The ranges can't
1213
+ # overlap.
1470
1214
  # @return [Array<Types::ContainerPortRange>]
1471
1215
  #
1472
1216
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerPortConfiguration AWS API Documentation
@@ -1477,45 +1221,6 @@ module Aws::GameLift
1477
1221
  include Aws::Structure
1478
1222
  end
1479
1223
 
1480
- # **This data type is used with the Amazon GameLift containers feature,
1481
- # which is currently in public preview.**
1482
- #
1483
- # Defines how an internal-facing container port is mapped to an
1484
- # external-facing connection port on a fleet instance of compute type
1485
- # `CONTAINER`. Incoming traffic, such as a game client, uses a
1486
- # connection port to connect to a process in the container fleet. Amazon
1487
- # GameLift directs the inbound traffic to the container port that is
1488
- # assigned to the process, such as a game session, running on a
1489
- # container.
1490
- #
1491
- # **Part of:** ContainerAttributes
1492
- #
1493
- # @!attribute [rw] container_port
1494
- # The port opened on the container.
1495
- # @return [Integer]
1496
- #
1497
- # @!attribute [rw] connection_port
1498
- # The port opened on the fleet instance. This is also called the
1499
- # "host port".
1500
- # @return [Integer]
1501
- #
1502
- # @!attribute [rw] protocol
1503
- # The network protocol that this mapping supports.
1504
- # @return [String]
1505
- #
1506
- # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerPortMapping AWS API Documentation
1507
- #
1508
- class ContainerPortMapping < Struct.new(
1509
- :container_port,
1510
- :connection_port,
1511
- :protocol)
1512
- SENSITIVE = [:container_port, :connection_port]
1513
- include Aws::Structure
1514
- end
1515
-
1516
- # **This data type is used with the Amazon GameLift containers feature,
1517
- # which is currently in public preview.**
1518
- #
1519
1224
  # A set of one or more port numbers that can be opened on the container.
1520
1225
  #
1521
1226
  # **Part of:** ContainerPortConfiguration
@@ -1595,13 +1300,14 @@ module Aws::GameLift
1595
1300
  end
1596
1301
 
1597
1302
  # @!attribute [rw] name
1598
- # A descriptive label associated with a build. Build names don't need
1599
- # 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.
1600
1305
  # @return [String]
1601
1306
  #
1602
1307
  # @!attribute [rw] version
1603
- # Version information associated with a build or script. Version
1604
- # 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.
1605
1311
  # @return [String]
1606
1312
  #
1607
1313
  # @!attribute [rw] storage_location
@@ -1619,12 +1325,12 @@ module Aws::GameLift
1619
1325
  # @return [Types::S3Location]
1620
1326
  #
1621
1327
  # @!attribute [rw] operating_system
1622
- # The operating system that your game server binaries run on. This
1623
- # value determines the type of fleet resources that you use for this
1624
- # build. If your game build contains multiple executables, they all
1625
- # must run on the same operating system. You must specify a valid
1626
- # operating system in this request. There is no default value. You
1627
- # 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.
1628
1334
  #
1629
1335
  # <note markdown="1"> Amazon Linux 2 (AL2) will reach end of support on 6/30/2025. See
1630
1336
  # more details in the [Amazon Linux 2 FAQs][1]. For game servers that
@@ -1717,56 +1423,327 @@ module Aws::GameLift
1717
1423
  include Aws::Structure
1718
1424
  end
1719
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
+
1720
1692
  # @!attribute [rw] name
1721
1693
  # A descriptive identifier for the container group definition. The
1722
1694
  # name value must be unique in an Amazon Web Services Region.
1723
1695
  # @return [String]
1724
1696
  #
1725
- # @!attribute [rw] scheduling_strategy
1726
- # The method for deploying the container group across fleet instances.
1727
- # A replica container group might have multiple copies on each fleet
1728
- # instance. A daemon container group has one copy per fleet instance.
1729
- # 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`
1730
1703
  # @return [String]
1731
1704
  #
1732
- # @!attribute [rw] total_memory_limit
1705
+ # @!attribute [rw] total_memory_limit_mebibytes
1733
1706
  # The maximum amount of memory (in MiB) to allocate to the container
1734
1707
  # group. All containers in the group share this memory. If you specify
1735
- # memory limits for individual containers, set this parameter based on
1736
- # the following guidelines. The value must be (1) greater than the sum
1737
- # of the soft memory limits for all containers in the group, and (2)
1738
- # greater than any individual container's hard memory limit.
1739
- # @return [Integer]
1708
+ # memory limits for an individual container, the total value must be
1709
+ # greater than any individual container's memory limit.
1740
1710
  #
1741
- # @!attribute [rw] total_cpu_limit
1742
- # The maximum amount of CPU units to allocate to the container group.
1743
- # Set this parameter to an integer value in CPU units (1 vCPU is equal
1744
- # to 1024 CPU units). All containers in the group share this memory.
1745
- # If you specify CPU limits for individual containers, set this
1746
- # parameter based on the following guidelines. The value must be equal
1747
- # to or greater than the sum of the CPU limits for all containers in
1748
- # the group.
1711
+ # Default value: 1024
1749
1712
  # @return [Integer]
1750
1713
  #
1751
- # @!attribute [rw] container_definitions
1752
- # Definitions for all containers in this group. Each container
1753
- # definition identifies the container image and specifies
1754
- # configuration settings for the container. See the [ Container fleet
1755
- # 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.
1756
1720
  #
1721
+ # Default value: 1
1722
+ # @return [Float]
1757
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]
1758
1731
  #
1759
- # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-design-fleet.html
1760
- # @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>]
1761
1737
  #
1762
1738
  # @!attribute [rw] operating_system
1763
- # The platform that is used by containers in the container group
1764
- # definition. All containers in a group must run on the same operating
1765
- # 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`
1766
1743
  #
1767
1744
  # <note markdown="1"> Amazon Linux 2 (AL2) will reach end of support on 6/30/2025. See
1768
1745
  # more details in the [Amazon Linux 2 FAQs][1]. For game servers that
1769
- # 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
1770
1747
  # update the game server build to server SDK 5.x, and then deploy to
1771
1748
  # AL2023 instances. See [ Migrate to Amazon GameLift server SDK
1772
1749
  # version 5.][2]
@@ -1779,6 +1756,11 @@ module Aws::GameLift
1779
1756
  # [2]: https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-serversdk5-migration.html
1780
1757
  # @return [String]
1781
1758
  #
1759
+ # @!attribute [rw] version_description
1760
+ # A description for the initial version of this container group
1761
+ # definition.
1762
+ # @return [String]
1763
+ #
1782
1764
  # @!attribute [rw] tags
1783
1765
  # A list of labels to assign to the container group definition
1784
1766
  # resource. Tags are developer-defined key-value pairs. Tagging Amazon
@@ -1796,19 +1778,21 @@ module Aws::GameLift
1796
1778
  #
1797
1779
  class CreateContainerGroupDefinitionInput < Struct.new(
1798
1780
  :name,
1799
- :scheduling_strategy,
1800
- :total_memory_limit,
1801
- :total_cpu_limit,
1802
- :container_definitions,
1781
+ :container_group_type,
1782
+ :total_memory_limit_mebibytes,
1783
+ :total_vcpu_limit,
1784
+ :game_server_container_definition,
1785
+ :support_container_definitions,
1803
1786
  :operating_system,
1787
+ :version_description,
1804
1788
  :tags)
1805
1789
  SENSITIVE = []
1806
1790
  include Aws::Structure
1807
1791
  end
1808
1792
 
1809
1793
  # @!attribute [rw] container_group_definition
1810
- # The properties of the newly created container group definition
1811
- # 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.
1812
1796
  # @return [Types::ContainerGroupDefinition]
1813
1797
  #
1814
1798
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateContainerGroupDefinitionOutput AWS API Documentation
@@ -1871,11 +1855,11 @@ module Aws::GameLift
1871
1855
  #
1872
1856
  # @!attribute [rw] ec2_instance_type
1873
1857
  # The Amazon GameLift-supported Amazon EC2 instance type to use with
1874
- # EC2 and container fleets. Instance type determines the computing
1875
- # resources that will be used to host your game servers, including
1876
- # CPU, memory, storage, and networking capacity. See [Amazon Elastic
1877
- # Compute Cloud Instance Types][1] for detailed descriptions of Amazon
1878
- # 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.
1879
1863
  #
1880
1864
  #
1881
1865
  #
@@ -1885,18 +1869,13 @@ module Aws::GameLift
1885
1869
  # @!attribute [rw] ec2_inbound_permissions
1886
1870
  # The IP address ranges and port settings that allow inbound traffic
1887
1871
  # to access game server processes and other processes on this fleet.
1888
- # Set this parameter for EC2 and container fleets. You can leave this
1872
+ # Set this parameter for managed EC2 fleets. You can leave this
1889
1873
  # parameter empty when creating the fleet, but you must call
1890
1874
  # UpdateFleetPortSettings to set it before players can connect to game
1891
1875
  # sessions. As a best practice, we recommend opening ports for remote
1892
1876
  # access only when you need them and closing them when you're
1893
1877
  # finished. For Realtime Servers fleets, Amazon GameLift automatically
1894
1878
  # sets TCP and UDP ranges.
1895
- #
1896
- # To manage inbound access for a container fleet, set this parameter
1897
- # to the same port numbers that you set for the fleet's connection
1898
- # port range. During the life of the fleet, update this parameter to
1899
- # control which connection ports are open to inbound traffic.
1900
1879
  # @return [Array<Types::IpPermission>]
1901
1880
  #
1902
1881
  # @!attribute [rw] new_game_session_protection_policy
@@ -1915,12 +1894,12 @@ module Aws::GameLift
1915
1894
  #
1916
1895
  # @!attribute [rw] runtime_configuration
1917
1896
  # Instructions for how to launch and run server processes on the
1918
- # fleet. Set runtime configuration for EC2 fleets and container
1919
- # fleets. For an Anywhere fleets, set this parameter only if the fleet
1920
- # is running the Amazon GameLift Agent. The runtime configuration
1921
- # defines one or more server process configurations. Each server
1922
- # process identifies a game executable or Realtime script file and the
1923
- # 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.
1924
1903
  #
1925
1904
  # <note markdown="1"> This parameter replaces the parameters `ServerLaunchPath` and
1926
1905
  # `ServerLaunchParameters`, which are still supported for backward
@@ -1975,19 +1954,20 @@ module Aws::GameLift
1975
1954
  # @return [String]
1976
1955
  #
1977
1956
  # @!attribute [rw] instance_role_arn
1978
- # A unique identifier for an IAM role with access permissions to other
1979
- # Amazon Web Services services. Any application that runs on an
1980
- # instance in the fleet--including install scripts, server processes,
1981
- # and other processes--can use these permissions to interact with
1982
- # Amazon Web Services resources that you own or have access to. For
1983
- # more information about using the role with your game server builds,
1984
- # see [ Communicate with other Amazon Web Services resources from your
1985
- # fleets][1]. This fleet property can't be changed after the fleet is
1986
- # 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.
1987
1966
  #
1988
1967
  #
1989
1968
  #
1990
- # [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
1991
1971
  # @return [String]
1992
1972
  #
1993
1973
  # @!attribute [rw] certificate_configuration
@@ -2052,15 +2032,10 @@ module Aws::GameLift
2052
2032
  # * `EC2` – The game server build is deployed to Amazon EC2 instances
2053
2033
  # for cloud hosting. This is the default setting.
2054
2034
  #
2055
- # * `CONTAINER` – Container images with your game server build and
2056
- # supporting software are deployed to Amazon EC2 instances for cloud
2057
- # hosting. With this compute type, you must specify the
2058
- # `ContainerGroupsConfiguration` parameter.
2059
- #
2060
- # * `ANYWHERE` – Game servers or container images with your game
2061
- # server and supporting software are deployed to compute resources
2062
- # that are provided and managed by you. With this compute type, you
2063
- # 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.
2064
2039
  # @return [String]
2065
2040
  #
2066
2041
  # @!attribute [rw] anywhere_configuration
@@ -2082,15 +2057,6 @@ module Aws::GameLift
2082
2057
  # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html
2083
2058
  # @return [String]
2084
2059
  #
2085
- # @!attribute [rw] container_groups_configuration
2086
- # The container groups to deploy to instances in the container fleet
2087
- # and other fleet-level configuration settings. Use the
2088
- # CreateContainerGroupDefinition action to create container groups. A
2089
- # container fleet must have exactly one replica container group, and
2090
- # can optionally have one daemon container group. You can't change
2091
- # this property after you create the fleet.
2092
- # @return [Types::ContainerGroupsConfiguration]
2093
- #
2094
2060
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateFleetInput AWS API Documentation
2095
2061
  #
2096
2062
  class CreateFleetInput < Struct.new(
@@ -2116,8 +2082,7 @@ module Aws::GameLift
2116
2082
  :tags,
2117
2083
  :compute_type,
2118
2084
  :anywhere_configuration,
2119
- :instance_role_credentials_provider,
2120
- :container_groups_configuration)
2085
+ :instance_role_credentials_provider)
2121
2086
  SENSITIVE = []
2122
2087
  include Aws::Structure
2123
2088
  end
@@ -2405,7 +2370,7 @@ module Aws::GameLift
2405
2370
  #
2406
2371
  # @!attribute [rw] game_properties
2407
2372
  # A set of key-value pairs that can store custom data in a game
2408
- # session. For example: `\{"Key": "difficulty", "Value": "novice"\}`.
2373
+ # session. For example: `{"Key": "difficulty", "Value": "novice"}`.
2409
2374
  # For an example, see [Create a game session with custom
2410
2375
  # properties][1].
2411
2376
  #
@@ -2457,7 +2422,8 @@ module Aws::GameLift
2457
2422
  # @!attribute [rw] game_session_data
2458
2423
  # A set of custom game session properties, formatted as a single
2459
2424
  # string value. This data is passed to a game server process with a
2460
- # 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].
2461
2427
  #
2462
2428
  #
2463
2429
  #
@@ -2510,18 +2476,15 @@ module Aws::GameLift
2510
2476
  # @!attribute [rw] timeout_in_seconds
2511
2477
  # The maximum time, in seconds, that a new game session placement
2512
2478
  # request remains in the queue. When a request exceeds this time, the
2513
- # game session placement changes to a `TIMED_OUT` status. By default,
2514
- # this property is set to `600`.
2479
+ # game session placement changes to a `TIMED_OUT` status.
2515
2480
  # @return [Integer]
2516
2481
  #
2517
2482
  # @!attribute [rw] player_latency_policies
2518
- # A set of policies that act as a sliding cap on player latency.
2519
- # FleetIQ works to deliver low latency for most players in a game
2520
- # session. These policies ensure that no individual player can be
2521
- # placed into a game with unreasonably high latency. Use multiple
2522
- # policies to gradually relax latency requirements a step at a time.
2523
- # Multiple policies are applied based on their maximum allowed
2524
- # 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.
2525
2488
  # @return [Array<Types::PlayerLatencyPolicy>]
2526
2489
  #
2527
2490
  # @!attribute [rw] destinations
@@ -2704,10 +2667,9 @@ module Aws::GameLift
2704
2667
  # @!attribute [rw] additional_player_count
2705
2668
  # The number of player slots in a match to keep open for future
2706
2669
  # players. For example, if the configuration's rule set specifies a
2707
- # match for a single 10-person team, and the additional player count
2708
- # is set to 2, 10 players will be selected for the match and 2 more
2709
- # player slots will be open for future players. This parameter is not
2710
- # 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`.
2711
2673
  # @return [Integer]
2712
2674
  #
2713
2675
  # @!attribute [rw] custom_event_data
@@ -2717,7 +2679,7 @@ module Aws::GameLift
2717
2679
  #
2718
2680
  # @!attribute [rw] game_properties
2719
2681
  # A set of key-value pairs that can store custom data in a game
2720
- # session. For example: `\{"Key": "difficulty", "Value": "novice"\}`.
2682
+ # session. For example: `{"Key": "difficulty", "Value": "novice"}`.
2721
2683
  # This information is added to the new `GameSession` object that is
2722
2684
  # created for a successful match. This parameter is not used if
2723
2685
  # `FlexMatchMode` is set to `STANDALONE`.
@@ -2726,10 +2688,10 @@ module Aws::GameLift
2726
2688
  # @!attribute [rw] game_session_data
2727
2689
  # A set of custom game session properties, formatted as a single
2728
2690
  # string value. This data is passed to a game server process with a
2729
- # request to start a new game session (see [Start a Game Session][1]).
2730
- # This information is added to the new `GameSession` object that is
2731
- # created for a successful match. This parameter is not used if
2732
- # `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`.
2733
2695
  #
2734
2696
  #
2735
2697
  #
@@ -2939,7 +2901,7 @@ module Aws::GameLift
2939
2901
 
2940
2902
  # @!attribute [rw] name
2941
2903
  # A descriptive label that is associated with a script. Script names
2942
- # 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
2943
2905
  # this value later.
2944
2906
  #
2945
2907
  #
@@ -2948,9 +2910,9 @@ module Aws::GameLift
2948
2910
  # @return [String]
2949
2911
  #
2950
2912
  # @!attribute [rw] version
2951
- # Version information associated with a build or script. Version
2952
- # strings don't need to be unique. You can use [UpdateScript][1] to
2953
- # 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.
2954
2916
  #
2955
2917
  #
2956
2918
  #
@@ -3138,19 +3100,51 @@ module Aws::GameLift
3138
3100
  include Aws::Structure
3139
3101
  end
3140
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
+
3141
3120
  # @!attribute [rw] name
3142
3121
  # The unique identifier for the container group definition to delete.
3143
3122
  # You can use either the `Name` or `ARN` value.
3144
3123
  # @return [String]
3145
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
+ #
3146
3134
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteContainerGroupDefinitionInput AWS API Documentation
3147
3135
  #
3148
3136
  class DeleteContainerGroupDefinitionInput < Struct.new(
3149
- :name)
3137
+ :name,
3138
+ :version_number,
3139
+ :version_count_to_retain)
3150
3140
  SENSITIVE = []
3151
3141
  include Aws::Structure
3152
3142
  end
3153
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
+
3154
3148
  # @!attribute [rw] fleet_id
3155
3149
  # A unique identifier for the fleet to be deleted. You can use either
3156
3150
  # the fleet ID or ARN value.
@@ -3414,6 +3408,56 @@ module Aws::GameLift
3414
3408
  #
3415
3409
  class DeleteVpcPeeringConnectionOutput < Aws::EmptyStructure; end
3416
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
+
3417
3461
  # @!attribute [rw] fleet_id
3418
3462
  # A unique identifier for the fleet the compute resource is currently
3419
3463
  # registered to.
@@ -3421,10 +3465,7 @@ module Aws::GameLift
3421
3465
  #
3422
3466
  # @!attribute [rw] compute_name
3423
3467
  # The unique identifier of the compute resource to deregister. For an
3424
- # Anywhere fleet compute, use the registered compute name. For a
3425
- # container fleet, use the compute name (for example,
3426
- # `a123b456c789012d3e4567f8a901b23c/1a234b56-7cd8-9e0f-a1b2-c34d567ef8a9`)
3427
- # or the compute ARN.
3468
+ # Anywhere fleet compute, use the registered compute name.
3428
3469
  # @return [String]
3429
3470
  #
3430
3471
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeregisterComputeInput AWS API Documentation
@@ -3517,10 +3558,7 @@ module Aws::GameLift
3517
3558
  # @!attribute [rw] compute_name
3518
3559
  # The unique identifier of the compute resource to retrieve properties
3519
3560
  # for. For an Anywhere fleet compute, use the registered compute name.
3520
- # For an EC2 fleet instance, use the instance ID. For a container
3521
- # fleet, use the compute name (for example,
3522
- # `a123b456c789012d3e4567f8a901b23c/1a234b56-7cd8-9e0f-a1b2-c34d567ef8a9`)
3523
- # or the compute ARN.
3561
+ # For an EC2 fleet instance, use the instance ID.
3524
3562
  # @return [String]
3525
3563
  #
3526
3564
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeComputeInput AWS API Documentation
@@ -3544,15 +3582,46 @@ module Aws::GameLift
3544
3582
  include Aws::Structure
3545
3583
  end
3546
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
+
3547
3611
  # @!attribute [rw] name
3548
3612
  # The unique identifier for the container group definition to retrieve
3549
3613
  # properties for. You can use either the `Name` or `ARN` value.
3550
3614
  # @return [String]
3551
3615
  #
3616
+ # @!attribute [rw] version_number
3617
+ # The specific version to retrieve.
3618
+ # @return [Integer]
3619
+ #
3552
3620
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeContainerGroupDefinitionInput AWS API Documentation
3553
3621
  #
3554
3622
  class DescribeContainerGroupDefinitionInput < Struct.new(
3555
- :name)
3623
+ :name,
3624
+ :version_number)
3556
3625
  SENSITIVE = []
3557
3626
  include Aws::Structure
3558
3627
  end
@@ -3708,6 +3777,42 @@ module Aws::GameLift
3708
3777
  include Aws::Structure
3709
3778
  end
3710
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
+
3711
3816
  # @!attribute [rw] fleet_id
3712
3817
  # A unique identifier for the fleet to get event logs for. You can use
3713
3818
  # either the fleet ID or ARN value.
@@ -5048,6 +5153,14 @@ module Aws::GameLift
5048
5153
  # * FLEET\_VPC\_PEERING\_DELETED -- A VPC peering connection has been
5049
5154
  # successfully deleted.
5050
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
+ #
5051
5164
  # **Spot instance events:**
5052
5165
  #
5053
5166
  # * INSTANCE\_INTERRUPTED -- A spot instance was interrupted by EC2
@@ -5176,9 +5289,6 @@ module Aws::GameLift
5176
5289
  include Aws::Structure
5177
5290
  end
5178
5291
 
5179
- # **This operation has been expanded to use with the Amazon GameLift
5180
- # containers feature, which is currently in public preview.**
5181
- #
5182
5292
  # Describes an Amazon GameLift fleet of game hosting resources.
5183
5293
  # Attributes differ based on the fleet's compute type, as follows:
5184
5294
  #
@@ -5186,9 +5296,6 @@ module Aws::GameLift
5186
5296
  # customer game server builds) or a `Script` resource (for Realtime
5187
5297
  # Servers fleets).
5188
5298
  #
5189
- # * Container fleets have `ContainerGroupsAttributes`, which identify
5190
- # the fleet's `ContainerGroupDefinition` resources.
5191
- #
5192
5299
  # * Amazon GameLift Anywhere fleets have an abbreviated set of
5193
5300
  # attributes, because most fleet configurations are set directly on
5194
5301
  # the fleet's computes. Attributes include fleet identifiers and
@@ -5228,8 +5335,7 @@ module Aws::GameLift
5228
5335
  # determines the computing resources of each instance in the fleet,
5229
5336
  # including CPU, memory, storage, and networking capacity. See [Amazon
5230
5337
  # Elastic Compute Cloud Instance Types][1] for detailed descriptions.
5231
- # This attribute is used with fleets where `ComputeType` is "EC2" or
5232
- # "Container".
5338
+ # This attribute is used with fleets where `ComputeType` is "EC2".
5233
5339
  #
5234
5340
  #
5235
5341
  #
@@ -5346,7 +5452,7 @@ module Aws::GameLift
5346
5452
  # @!attribute [rw] new_game_session_protection_policy
5347
5453
  # The type of game session protection to set on all new instances that
5348
5454
  # are started in the fleet. This attribute is used with fleets where
5349
- # `ComputeType` is "EC2" or "Container".
5455
+ # `ComputeType` is "EC2".
5350
5456
  #
5351
5457
  # * **NoProtection** -- The game session can be terminated during a
5352
5458
  # scale-down event.
@@ -5359,11 +5465,11 @@ module Aws::GameLift
5359
5465
  # The operating system of the fleet's computing resources. A fleet's
5360
5466
  # operating system is determined by the OS of the build or script that
5361
5467
  # is deployed on this fleet. This attribute is used with fleets where
5362
- # `ComputeType` is "EC2" or "Container".
5468
+ # `ComputeType` is "EC2".
5363
5469
  #
5364
5470
  # <note markdown="1"> Amazon Linux 2 (AL2) will reach end of support on 6/30/2025. See
5365
5471
  # more details in the [Amazon Linux 2 FAQs][1]. For game servers that
5366
- # 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
5367
5473
  # update the game server build to server SDK 5.x, and then deploy to
5368
5474
  # AL2023 instances. See [ Migrate to Amazon GameLift server SDK
5369
5475
  # version 5.][2]
@@ -5392,14 +5498,13 @@ module Aws::GameLift
5392
5498
  # Amazon CloudWatch, you can view aggregated metrics for fleets that
5393
5499
  # are in a metric group. A fleet can be included in only one metric
5394
5500
  # group at a time. This attribute is used with fleets where
5395
- # `ComputeType` is "EC2" or "Container".
5501
+ # `ComputeType` is "EC2".
5396
5502
  # @return [Array<String>]
5397
5503
  #
5398
5504
  # @!attribute [rw] stopped_actions
5399
5505
  # A list of fleet activity that has been suspended using
5400
5506
  # [StopFleetActions][1]. This includes fleet auto-scaling. This
5401
- # attribute is used with fleets where `ComputeType` is "EC2" or
5402
- # "Container".
5507
+ # attribute is used with fleets where `ComputeType` is "EC2".
5403
5508
  #
5404
5509
  #
5405
5510
  #
@@ -5407,19 +5512,20 @@ module Aws::GameLift
5407
5512
  # @return [Array<String>]
5408
5513
  #
5409
5514
  # @!attribute [rw] instance_role_arn
5410
- # A unique identifier for an IAM role with access permissions to other
5411
- # Amazon Web Services services. Any application that runs on an
5412
- # instance in the fleet--including install scripts, server processes,
5413
- # and other processes--can use these permissions to interact with
5414
- # Amazon Web Services resources that you own or have access to. For
5415
- # more information about using the role with your game server builds,
5416
- # see [ Communicate with other Amazon Web Services resources from your
5417
- # fleets][1]. This attribute is used with fleets where `ComputeType`
5418
- # 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".
5419
5524
  #
5420
5525
  #
5421
5526
  #
5422
- # [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
5423
5529
  # @return [String]
5424
5530
  #
5425
5531
  # @!attribute [rw] certificate_configuration
@@ -5435,12 +5541,7 @@ module Aws::GameLift
5435
5541
  # @return [String]
5436
5542
  #
5437
5543
  # @!attribute [rw] anywhere_configuration
5438
- # **This property is used with the Amazon GameLift containers feature,
5439
- # which is currently in public preview.** A set of attributes that
5440
- # describe the container groups that are deployed on the fleet. These
5441
- # attributes are included for fleets with compute type `CONTAINER`
5442
- # only. This attribute is used with fleets where `ComputeType` is
5443
- # "Container".
5544
+ # Amazon GameLift Anywhere configuration options.
5444
5545
  # @return [Types::AnywhereConfiguration]
5445
5546
  #
5446
5547
  # @!attribute [rw] instance_role_credentials_provider
@@ -5452,19 +5553,13 @@ module Aws::GameLift
5452
5553
  # server SDK version 5.x. For more information about using shared
5453
5554
  # credentials, see [ Communicate with other Amazon Web Services
5454
5555
  # resources from your fleets][1]. This attribute is used with fleets
5455
- # where `ComputeType` is "EC2" or "Container".
5556
+ # where `ComputeType` is "EC2".
5456
5557
  #
5457
5558
  #
5458
5559
  #
5459
5560
  # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html
5460
5561
  # @return [String]
5461
5562
  #
5462
- # @!attribute [rw] container_groups_attributes
5463
- # A set of properties that describe the container groups that are
5464
- # deployed to the fleet. These attributes are included for fleets with
5465
- # compute type `CONTAINER`.
5466
- # @return [Types::ContainerGroupsAttributes]
5467
- #
5468
5563
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/FleetAttributes AWS API Documentation
5469
5564
  #
5470
5565
  class FleetAttributes < Struct.new(
@@ -5493,13 +5588,12 @@ module Aws::GameLift
5493
5588
  :certificate_configuration,
5494
5589
  :compute_type,
5495
5590
  :anywhere_configuration,
5496
- :instance_role_credentials_provider,
5497
- :container_groups_attributes)
5591
+ :instance_role_credentials_provider)
5498
5592
  SENSITIVE = []
5499
5593
  include Aws::Structure
5500
5594
  end
5501
5595
 
5502
- # Current resource capacity settings for managed EC2 fleets and
5596
+ # Current resource capacity settings for managed EC2 fleets and managed
5503
5597
  # container fleets. For multi-location fleets, location values might
5504
5598
  # refer to a fleet's remote location or its home Region.
5505
5599
  #
@@ -5550,11 +5644,10 @@ module Aws::GameLift
5550
5644
  # an Amazon Web Services Region code, such as `us-west-2`.
5551
5645
  # @return [String]
5552
5646
  #
5553
- # @!attribute [rw] replica_container_group_counts
5554
- # **This property is used with the Amazon GameLift containers feature,
5555
- # which is currently in public preview.** The number and status of
5556
- # replica container groups in a container fleet.
5557
- # @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]
5558
5651
  #
5559
5652
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/FleetCapacity AWS API Documentation
5560
5653
  #
@@ -5564,7 +5657,7 @@ module Aws::GameLift
5564
5657
  :instance_type,
5565
5658
  :instance_counts,
5566
5659
  :location,
5567
- :replica_container_group_counts)
5660
+ :game_server_container_group_counts)
5568
5661
  SENSITIVE = []
5569
5662
  include Aws::Structure
5570
5663
  end
@@ -5584,6 +5677,82 @@ module Aws::GameLift
5584
5677
  include Aws::Structure
5585
5678
  end
5586
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
+
5587
5756
  # Current resource utilization statistics in a specified fleet or
5588
5757
  # location. The location value might refer to a fleet's remote location
5589
5758
  # or its home region.
@@ -5646,8 +5815,8 @@ module Aws::GameLift
5646
5815
  # This key-value pair can store custom data about a game session. For
5647
5816
  # example, you might use a `GameProperty` to track a game session's
5648
5817
  # map, level of difficulty, or remaining time. The difficulty level
5649
- # could be specified like this: `\{"Key": "difficulty",
5650
- # "Value":"Novice"\}`.
5818
+ # could be specified like this: `{"Key": "difficulty",
5819
+ # "Value":"Novice"}`.
5651
5820
  #
5652
5821
  # You can set game properties when creating a game session. You can also
5653
5822
  # modify game properties of an active game session. When searching for
@@ -5764,20 +5933,245 @@ module Aws::GameLift
5764
5933
  # update specifies a health check value.
5765
5934
  # @return [Time]
5766
5935
  #
5767
- # @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]
5768
6167
  #
5769
- class GameServer < Struct.new(
5770
- :game_server_group_name,
5771
- :game_server_group_arn,
5772
- :game_server_id,
5773
- :instance_id,
5774
- :connection_info,
5775
- :game_server_data,
5776
- :claim_status,
5777
- :utilization_status,
5778
- :registration_time,
5779
- :last_claim_time,
5780
- :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)
5781
6175
  SENSITIVE = []
5782
6176
  include Aws::Structure
5783
6177
  end
@@ -6083,7 +6477,7 @@ module Aws::GameLift
6083
6477
  #
6084
6478
  # @!attribute [rw] game_properties
6085
6479
  # A set of key-value pairs that can store custom data in a game
6086
- # session. For example: `\{"Key": "difficulty", "Value": "novice"\}`.
6480
+ # session. For example: `{"Key": "difficulty", "Value": "novice"}`.
6087
6481
  # @return [Array<Types::GameProperty>]
6088
6482
  #
6089
6483
  # @!attribute [rw] ip_address
@@ -6129,7 +6523,8 @@ module Aws::GameLift
6129
6523
  # @!attribute [rw] game_session_data
6130
6524
  # A set of custom game session properties, formatted as a single
6131
6525
  # string value. This data is passed to a game server process with a
6132
- # 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].
6133
6528
  #
6134
6529
  #
6135
6530
  #
@@ -6242,6 +6637,39 @@ module Aws::GameLift
6242
6637
  include Aws::Structure
6243
6638
  end
6244
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
+
6245
6673
  # A game session's properties plus the protection policy currently in
6246
6674
  # force.
6247
6675
  #
@@ -6318,7 +6746,7 @@ module Aws::GameLift
6318
6746
  # * **CANCELLED** -- The placement request was canceled.
6319
6747
  #
6320
6748
  # * **TIMED\_OUT** -- A new game session was not successfully created
6321
- # before the time limit expired. You can resubmit the placement
6749
+ # before the time limit expired. You can resubmit as a new placement
6322
6750
  # request as needed.
6323
6751
  #
6324
6752
  # * **FAILED** -- Amazon GameLift is not able to complete the process
@@ -6329,7 +6757,7 @@ module Aws::GameLift
6329
6757
  #
6330
6758
  # @!attribute [rw] game_properties
6331
6759
  # A set of key-value pairs that can store custom data in a game
6332
- # session. For example: `\{"Key": "difficulty", "Value": "novice"\}`.
6760
+ # session. For example: `{"Key": "difficulty", "Value": "novice"}`.
6333
6761
  # @return [Array<Types::GameProperty>]
6334
6762
  #
6335
6763
  # @!attribute [rw] maximum_player_session_count
@@ -6361,8 +6789,8 @@ module Aws::GameLift
6361
6789
  #
6362
6790
  # @!attribute [rw] player_latencies
6363
6791
  # A set of values, expressed in milliseconds, that indicates the
6364
- # amount of latency that a player experiences when connected to Amazon
6365
- # Web Services Regions.
6792
+ # amount of latency that a player experiences when connected to @aws;
6793
+ # Regions.
6366
6794
  # @return [Array<Types::PlayerLatency>]
6367
6795
  #
6368
6796
  # @!attribute [rw] start_time
@@ -6419,9 +6847,9 @@ module Aws::GameLift
6419
6847
  #
6420
6848
  # @!attribute [rw] game_session_data
6421
6849
  # A set of custom game session properties, formatted as a single
6422
- # string value. This data is passed to a game server process in the
6423
- # `GameSession` object with a request to start a new game session (see
6424
- # [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].
6425
6853
  #
6426
6854
  #
6427
6855
  #
@@ -6491,18 +6919,15 @@ module Aws::GameLift
6491
6919
  # @!attribute [rw] timeout_in_seconds
6492
6920
  # The maximum time, in seconds, that a new game session placement
6493
6921
  # request remains in the queue. When a request exceeds this time, the
6494
- # game session placement changes to a `TIMED_OUT` status. By default,
6495
- # this property is set to `600`.
6922
+ # game session placement changes to a `TIMED_OUT` status.
6496
6923
  # @return [Integer]
6497
6924
  #
6498
6925
  # @!attribute [rw] player_latency_policies
6499
- # A set of policies that act as a sliding cap on player latency.
6500
- # FleetIQ works to deliver low latency for most players in a game
6501
- # session. These policies ensure that no individual player can be
6502
- # placed into a game with unreasonably high latency. Use multiple
6503
- # policies to gradually relax latency requirements a step at a time.
6504
- # Multiple policies are applied based on their maximum allowed
6505
- # 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.
6506
6931
  # @return [Array<Types::PlayerLatencyPolicy>]
6507
6932
  #
6508
6933
  # @!attribute [rw] destinations
@@ -6584,10 +7009,8 @@ module Aws::GameLift
6584
7009
  #
6585
7010
  # @!attribute [rw] compute_name
6586
7011
  # A unique identifier for the compute resource that you want to
6587
- # connect to. For an EC2 fleet compute, use the instance ID. For a
6588
- # container fleet, use the compute name (for example,
6589
- # `a123b456c789012d3e4567f8a901b23c/1a234b56-7cd8-9e0f-a1b2-c34d567ef8a9`)
6590
- # or the compute ARN.
7012
+ # connect to. For an EC2 fleet compute, use the instance ID. Use
7013
+ # ListCompute to retrieve compute identifiers.
6591
7014
  # @return [String]
6592
7015
  #
6593
7016
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetComputeAccessInput AWS API Documentation
@@ -6637,10 +7060,15 @@ module Aws::GameLift
6637
7060
  # @return [Types::AwsCredentials]
6638
7061
  #
6639
7062
  # @!attribute [rw] target
6640
- # (For container fleets only) The instance ID where the compute
6641
- # resource is running.
7063
+ # The instance ID where the compute resource is running.
6642
7064
  # @return [String]
6643
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
+ #
6644
7072
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetComputeAccessOutput AWS API Documentation
6645
7073
  #
6646
7074
  class GetComputeAccessOutput < Struct.new(
@@ -6649,7 +7077,8 @@ module Aws::GameLift
6649
7077
  :compute_name,
6650
7078
  :compute_arn,
6651
7079
  :credentials,
6652
- :target)
7080
+ :target,
7081
+ :container_identifiers)
6653
7082
  SENSITIVE = [:credentials]
6654
7083
  include Aws::Structure
6655
7084
  end
@@ -6662,9 +7091,7 @@ module Aws::GameLift
6662
7091
  # The name of the compute resource you are requesting the
6663
7092
  # authentication token for. For an Anywhere fleet compute, use the
6664
7093
  # registered compute name. For an EC2 fleet instance, use the instance
6665
- # ID. For a container fleet, use the compute name (for example,
6666
- # `a123b456c789012d3e4567f8a901b23c/1a234b56-7cd8-9e0f-a1b2-c34d567ef8a9`)
6667
- # or the compute ARN.
7094
+ # ID.
6668
7095
  # @return [String]
6669
7096
  #
6670
7097
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetComputeAuthTokenInput AWS API Documentation
@@ -6844,8 +7271,8 @@ module Aws::GameLift
6844
7271
  # identifier>.amazongamelift.com`.
6845
7272
  #
6846
7273
  # * Non-TLS-enabled fleets: `ec2-<unique
6847
- # identifier>.compute.amazonaws.com`. (See [Amazon Elastic Compute
6848
- # Cloud Instance IP Addressing][1].)
7274
+ # identifier>.compute.amazonaws.com`. (See [Amazon EC2 Instance IP
7275
+ # Addressing][1].)
6849
7276
  #
6850
7277
  # When connecting to a game session that is running on a TLS-enabled
6851
7278
  # fleet, you must use the DNS name, not the IP address.
@@ -7085,8 +7512,9 @@ module Aws::GameLift
7085
7512
  # A range of IP addresses and port settings that allow inbound traffic
7086
7513
  # to connect to processes on an instance in a fleet. Processes are
7087
7514
  # assigned an IP address/port number combination, which must fall into
7088
- # the fleet's allowed ranges. For container fleets, the port settings
7089
- # 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.
7090
7518
  #
7091
7519
  # For Realtime Servers fleets, Amazon GameLift automatically opens two
7092
7520
  # port ranges, one for TCP messaging and one for UDP.
@@ -7272,7 +7700,7 @@ module Aws::GameLift
7272
7700
  # @!attribute [rw] next_token
7273
7701
  # A token that indicates the start of the next sequential page of
7274
7702
  # results. Use the token that is returned with a previous call to this
7275
- # 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
7276
7704
  # specify a value.
7277
7705
  # @return [String]
7278
7706
  #
@@ -7311,10 +7739,26 @@ module Aws::GameLift
7311
7739
  #
7312
7740
  # @!attribute [rw] location
7313
7741
  # The name of a location to retrieve compute resources for. For an
7314
- # Amazon GameLift Anywhere fleet, use a custom location. For a
7315
- # multi-location EC2 or container fleet, provide a Amazon Web Services
7316
- # Region or Local Zone code (for example: `us-west-2` or
7317
- # `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.
7318
7762
  # @return [String]
7319
7763
  #
7320
7764
  # @!attribute [rw] limit
@@ -7334,6 +7778,8 @@ module Aws::GameLift
7334
7778
  class ListComputeInput < Struct.new(
7335
7779
  :fleet_id,
7336
7780
  :location,
7781
+ :container_group_definition_name,
7782
+ :compute_status,
7337
7783
  :limit,
7338
7784
  :next_token)
7339
7785
  SENSITIVE = []
@@ -7359,15 +7805,107 @@ module Aws::GameLift
7359
7805
  include Aws::Structure
7360
7806
  end
7361
7807
 
7362
- # @!attribute [rw] scheduling_strategy
7363
- # 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>]
7364
7889
  #
7365
- # * `DAEMON` -- Daemon container groups run background processes and
7366
- # 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
7367
7897
  #
7368
- # * `REPLICA` -- Replica container groups run your game server
7369
- # application and supporting software. Replica groups might be
7370
- # 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.
7371
7909
  # @return [String]
7372
7910
  #
7373
7911
  # @!attribute [rw] limit
@@ -7385,7 +7923,7 @@ module Aws::GameLift
7385
7923
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListContainerGroupDefinitionsInput AWS API Documentation
7386
7924
  #
7387
7925
  class ListContainerGroupDefinitionsInput < Struct.new(
7388
- :scheduling_strategy,
7926
+ :container_group_type,
7389
7927
  :limit,
7390
7928
  :next_token)
7391
7929
  SENSITIVE = []
@@ -7411,6 +7949,52 @@ module Aws::GameLift
7411
7949
  include Aws::Structure
7412
7950
  end
7413
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
+
7414
7998
  # @!attribute [rw] build_id
7415
7999
  # A unique identifier for the build to request fleets for. Use this
7416
8000
  # parameter to return only fleets using a specified build. Use either
@@ -7423,12 +8007,6 @@ module Aws::GameLift
7423
8007
  # Use either the script ID or ARN value.
7424
8008
  # @return [String]
7425
8009
  #
7426
- # @!attribute [rw] container_group_definition_name
7427
- # The container group definition name to request fleets for. Use this
7428
- # parameter to return only fleets that are deployed with the specified
7429
- # container group definition.
7430
- # @return [String]
7431
- #
7432
8010
  # @!attribute [rw] limit
7433
8011
  # The maximum number of results to return. Use this parameter with
7434
8012
  # `NextToken` to get results as a set of sequential pages.
@@ -7446,7 +8024,6 @@ module Aws::GameLift
7446
8024
  class ListFleetsInput < Struct.new(
7447
8025
  :build_id,
7448
8026
  :script_id,
7449
- :container_group_definition_name,
7450
8027
  :limit,
7451
8028
  :next_token)
7452
8029
  SENSITIVE = []
@@ -7616,7 +8193,7 @@ module Aws::GameLift
7616
8193
  # @!attribute [rw] next_token
7617
8194
  # A token that indicates the start of the next sequential page of
7618
8195
  # results. Use the token that is returned with a previous call to this
7619
- # 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
7620
8197
  # specify a value.
7621
8198
  # @return [String]
7622
8199
  #
@@ -7708,9 +8285,6 @@ module Aws::GameLift
7708
8285
  include Aws::Structure
7709
8286
  end
7710
8287
 
7711
- # **This data type has been expanded to use with the Amazon GameLift
7712
- # containers feature, which is currently in public preview.**
7713
- #
7714
8288
  # A remote location where a multi-location fleet can deploy game servers
7715
8289
  # for game hosting.
7716
8290
  #
@@ -7804,6 +8378,72 @@ module Aws::GameLift
7804
8378
  include Aws::Structure
7805
8379
  end
7806
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
+
7807
8447
  # Represents a new player session that is created as a result of a
7808
8448
  # successful FlexMatch match. A successful match automatically creates
7809
8449
  # new player sessions for every player ID in the original matchmaking
@@ -7916,10 +8556,9 @@ module Aws::GameLift
7916
8556
  # @!attribute [rw] additional_player_count
7917
8557
  # The number of player slots in a match to keep open for future
7918
8558
  # players. For example, if the configuration's rule set specifies a
7919
- # match for a single 10-person team, and the additional player count
7920
- # is set to 2, 10 players will be selected for the match and 2 more
7921
- # player slots will be open for future players. This parameter is not
7922
- # 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`.
7923
8562
  # @return [Integer]
7924
8563
  #
7925
8564
  # @!attribute [rw] custom_event_data
@@ -7935,7 +8574,7 @@ module Aws::GameLift
7935
8574
  #
7936
8575
  # @!attribute [rw] game_properties
7937
8576
  # A set of key-value pairs that can store custom data in a game
7938
- # session. For example: `\{"Key": "difficulty", "Value": "novice"\}`.
8577
+ # session. For example: `{"Key": "difficulty", "Value": "novice"}`.
7939
8578
  # This information is added to the new `GameSession` object that is
7940
8579
  # created for a successful match. This parameter is not used when
7941
8580
  # `FlexMatchMode` is set to `STANDALONE`.
@@ -7944,10 +8583,10 @@ module Aws::GameLift
7944
8583
  # @!attribute [rw] game_session_data
7945
8584
  # A set of custom game session properties, formatted as a single
7946
8585
  # string value. This data is passed to a game server process with a
7947
- # request to start a new game session (see [Start a Game Session][1]).
7948
- # This information is added to the new `GameSession` object that is
7949
- # created for a successful match. This parameter is not used when
7950
- # `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`.
7951
8590
  #
7952
8591
  #
7953
8592
  #
@@ -8301,8 +8940,8 @@ module Aws::GameLift
8301
8940
  # A collection of key:value pairs containing player information for
8302
8941
  # use in matchmaking. Player attribute keys must match the
8303
8942
  # *playerAttributes* used in a matchmaking rule set. Example:
8304
- # `"PlayerAttributes": \{"skill": \{"N": "23"\}, "gameMode": \{"S":
8305
- # "deathmatch"\}\}`.
8943
+ # `"PlayerAttributes": {"skill": {"N": "23"}, "gameMode": {"S":
8944
+ # "deathmatch"}}`.
8306
8945
  #
8307
8946
  # You can provide up to 10 `PlayerAttributes`.
8308
8947
  # @return [Hash<String,Types::AttributeValue>]
@@ -8814,54 +9453,14 @@ module Aws::GameLift
8814
9453
  include Aws::Structure
8815
9454
  end
8816
9455
 
8817
- # @!attribute [rw] game_server
8818
- # Object that describes the newly registered game server.
8819
- # @return [Types::GameServer]
8820
- #
8821
- # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/RegisterGameServerOutput AWS API Documentation
8822
- #
8823
- class RegisterGameServerOutput < Struct.new(
8824
- :game_server)
8825
- SENSITIVE = []
8826
- include Aws::Structure
8827
- end
8828
-
8829
- # **This data type is used with the Amazon GameLift containers feature,
8830
- # which is currently in public preview.**
8831
- #
8832
- # The number and status of replica container groups that are deployed
8833
- # across a fleet with compute type `CONTAINER`. This information,
8834
- # combined with the number of server processes being hosted per
8835
- # container group (see `RuntimeConfiguration`), tells you how many game
8836
- # sessions the fleet is currently capable of hosting concurrently.
8837
- #
8838
- # **Returned by:** DescribeFleetCapacity, DescribeFleetLocationCapacity
8839
- #
8840
- # @!attribute [rw] pending
8841
- # The number of container groups that are starting up but have not yet
8842
- # registered.
8843
- # @return [Integer]
8844
- #
8845
- # @!attribute [rw] active
8846
- # The number of container groups that have active game sessions.
8847
- # @return [Integer]
8848
- #
8849
- # @!attribute [rw] idle
8850
- # The number of container groups that have no active game sessions.
8851
- # @return [Integer]
8852
- #
8853
- # @!attribute [rw] terminating
8854
- # The number of container groups that are in the process of shutting
8855
- # down.
8856
- # @return [Integer]
9456
+ # @!attribute [rw] game_server
9457
+ # Object that describes the newly registered game server.
9458
+ # @return [Types::GameServer]
8857
9459
  #
8858
- # @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
8859
9461
  #
8860
- class ReplicaContainerGroupCounts < Struct.new(
8861
- :pending,
8862
- :active,
8863
- :idle,
8864
- :terminating)
9462
+ class RegisterGameServerOutput < Struct.new(
9463
+ :game_server)
8865
9464
  SENSITIVE = []
8866
9465
  include Aws::Structure
8867
9466
  end
@@ -9041,19 +9640,12 @@ module Aws::GameLift
9041
9640
  include Aws::Structure
9042
9641
  end
9043
9642
 
9044
- # **This data type has been expanded to use with the Amazon GameLift
9045
- # containers feature, which is currently in public preview.**
9046
- #
9047
9643
  # A set of instructions that define the set of server processes to run
9048
9644
  # on computes in a fleet. Server processes run either an executable in a
9049
9645
  # custom game build or a Realtime Servers script. Amazon GameLift
9050
9646
  # launches the processes, manages their life cycle, and replaces them as
9051
9647
  # needed. Computes check regularly for an updated runtime configuration.
9052
9648
  #
9053
- # On a container fleet, the Amazon GameLift Agent uses the runtime
9054
- # configuration to manage the lifecycle of server processes in a replica
9055
- # container group.
9056
- #
9057
9649
  # An Amazon GameLift instance is limited to 50 processes running
9058
9650
  # concurrently. To calculate the total number of processes defined in a
9059
9651
  # runtime configuration, add the values of the `ConcurrentExecutions`
@@ -9071,8 +9663,8 @@ module Aws::GameLift
9071
9663
  #
9072
9664
  # @!attribute [rw] max_concurrent_game_session_activations
9073
9665
  # The number of game sessions in status `ACTIVATING` to allow on an
9074
- # instance or container. This setting limits the instance resources
9075
- # 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.
9076
9668
  # @return [Integer]
9077
9669
  #
9078
9670
  # @!attribute [rw] game_session_activation_timeout_seconds
@@ -9340,12 +9932,12 @@ module Aws::GameLift
9340
9932
  #
9341
9933
  # @!attribute [rw] name
9342
9934
  # A descriptive label that is associated with a script. Script names
9343
- # don't need to be unique.
9935
+ # do not need to be unique.
9344
9936
  # @return [String]
9345
9937
  #
9346
9938
  # @!attribute [rw] version
9347
- # Version information associated with a build or script. Version
9348
- # 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.
9349
9941
  # @return [String]
9350
9942
  #
9351
9943
  # @!attribute [rw] size_on_disk
@@ -9549,7 +10141,7 @@ module Aws::GameLift
9549
10141
  #
9550
10142
  # @!attribute [rw] concurrent_executions
9551
10143
  # The number of server processes using this configuration that run
9552
- # concurrently on each instance or container..
10144
+ # concurrently on each instance or compute.
9553
10145
  # @return [Integer]
9554
10146
  #
9555
10147
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ServerProcess AWS API Documentation
@@ -9624,7 +10216,7 @@ module Aws::GameLift
9624
10216
  #
9625
10217
  # @!attribute [rw] game_properties
9626
10218
  # A set of key-value pairs that can store custom data in a game
9627
- # session. For example: `\{"Key": "difficulty", "Value": "novice"\}`.
10219
+ # session. For example: `{"Key": "difficulty", "Value": "novice"}`.
9628
10220
  # @return [Array<Types::GameProperty>]
9629
10221
  #
9630
10222
  # @!attribute [rw] maximum_player_session_count
@@ -9639,10 +10231,10 @@ module Aws::GameLift
9639
10231
  #
9640
10232
  # @!attribute [rw] player_latencies
9641
10233
  # A set of values, expressed in milliseconds, that indicates the
9642
- # amount of latency that a player experiences when connected to Amazon
9643
- # Web Services Regions. This information is used to try to place the
9644
- # new game session where it can offer the best possible gameplay
9645
- # 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.
9646
10238
  # @return [Array<Types::PlayerLatency>]
9647
10239
  #
9648
10240
  # @!attribute [rw] desired_player_sessions
@@ -9651,9 +10243,9 @@ module Aws::GameLift
9651
10243
  #
9652
10244
  # @!attribute [rw] game_session_data
9653
10245
  # A set of custom game session properties, formatted as a single
9654
- # string value. This data is passed to a game server process in the
9655
- # `GameSession` object with a request to start a new game session (see
9656
- # [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].
9657
10249
  #
9658
10250
  #
9659
10251
  #
@@ -9897,6 +10489,251 @@ module Aws::GameLift
9897
10489
  #
9898
10490
  class StopMatchmakingOutput < Aws::EmptyStructure; end
9899
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
+
9900
10737
  # @!attribute [rw] game_server_group_name
9901
10738
  # A unique identifier for the game server group. Use either the name
9902
10739
  # or ARN value.
@@ -10192,13 +11029,13 @@ module Aws::GameLift
10192
11029
  # @return [String]
10193
11030
  #
10194
11031
  # @!attribute [rw] name
10195
- # A descriptive label associated with a build. Build names don't need
10196
- # to be unique.
11032
+ # A descriptive label that is associated with a build. Build names do
11033
+ # not need to be unique.
10197
11034
  # @return [String]
10198
11035
  #
10199
11036
  # @!attribute [rw] version
10200
- # Version information associated with a build or script. Version
10201
- # 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.
10202
11039
  # @return [String]
10203
11040
  #
10204
11041
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateBuildInput AWS API Documentation
@@ -10223,6 +11060,229 @@ module Aws::GameLift
10223
11060
  include Aws::Structure
10224
11061
  end
10225
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
+
10226
11286
  # @!attribute [rw] fleet_id
10227
11287
  # A unique identifier for the fleet to update attribute metadata for.
10228
11288
  # You can use either the fleet ID or ARN value.
@@ -10241,7 +11301,7 @@ module Aws::GameLift
10241
11301
  # The game session protection policy to apply to all new game sessions
10242
11302
  # created in this fleet. Game sessions that already exist are not
10243
11303
  # affected. You can set protection for individual game sessions using
10244
- # [UpdateGameSession][1] .
11304
+ # [UpdateGameSession][1].
10245
11305
  #
10246
11306
  # * **NoProtection** -- The game session can be terminated during a
10247
11307
  # scale-down event.
@@ -10604,7 +11664,7 @@ module Aws::GameLift
10604
11664
  #
10605
11665
  # @!attribute [rw] game_properties
10606
11666
  # A set of key-value pairs that can store custom data in a game
10607
- # session. For example: `\{"Key": "difficulty", "Value": "novice"\}`.
11667
+ # session. For example: `{"Key": "difficulty", "Value": "novice"}`.
10608
11668
  # You can use this parameter to modify game properties in an active
10609
11669
  # game session. This action adds new properties and modifies existing
10610
11670
  # properties. There is no way to delete properties. For an example,
@@ -10649,19 +11709,16 @@ module Aws::GameLift
10649
11709
  # @!attribute [rw] timeout_in_seconds
10650
11710
  # The maximum time, in seconds, that a new game session placement
10651
11711
  # request remains in the queue. When a request exceeds this time, the
10652
- # game session placement changes to a `TIMED_OUT` status. By default,
10653
- # this property is set to `600`.
11712
+ # game session placement changes to a `TIMED_OUT` status.
10654
11713
  # @return [Integer]
10655
11714
  #
10656
11715
  # @!attribute [rw] player_latency_policies
10657
- # A set of policies that act as a sliding cap on player latency.
10658
- # FleetIQ works to deliver low latency for most players in a game
10659
- # session. These policies ensure that no individual player can be
10660
- # placed into a game with unreasonably high latency. Use multiple
10661
- # policies to gradually relax latency requirements a step at a time.
10662
- # Multiple policies are applied based on their maximum allowed
10663
- # latency, starting with the lowest value. When updating policies,
10664
- # 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.
10665
11722
  # @return [Array<Types::PlayerLatencyPolicy>]
10666
11723
  #
10667
11724
  # @!attribute [rw] destinations
@@ -10794,10 +11851,9 @@ module Aws::GameLift
10794
11851
  # @!attribute [rw] additional_player_count
10795
11852
  # The number of player slots in a match to keep open for future
10796
11853
  # players. For example, if the configuration's rule set specifies a
10797
- # match for a single 10-person team, and the additional player count
10798
- # is set to 2, 10 players will be selected for the match and 2 more
10799
- # player slots will be open for future players. This parameter is not
10800
- # 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`.
10801
11857
  # @return [Integer]
10802
11858
  #
10803
11859
  # @!attribute [rw] custom_event_data
@@ -10807,7 +11863,7 @@ module Aws::GameLift
10807
11863
  #
10808
11864
  # @!attribute [rw] game_properties
10809
11865
  # A set of key-value pairs that can store custom data in a game
10810
- # session. For example: `\{"Key": "difficulty", "Value": "novice"\}`.
11866
+ # session. For example: `{"Key": "difficulty", "Value": "novice"}`.
10811
11867
  # This information is added to the new `GameSession` object that is
10812
11868
  # created for a successful match. This parameter is not used if
10813
11869
  # `FlexMatchMode` is set to `STANDALONE`.
@@ -10816,10 +11872,10 @@ module Aws::GameLift
10816
11872
  # @!attribute [rw] game_session_data
10817
11873
  # A set of custom game session properties, formatted as a single
10818
11874
  # string value. This data is passed to a game server process with a
10819
- # request to start a new game session (see [Start a Game Session][1]).
10820
- # This information is added to the game session that is created for a
10821
- # successful match. This parameter is not used if `FlexMatchMode` is
10822
- # 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`.
10823
11879
  #
10824
11880
  #
10825
11881
  #
@@ -10932,12 +11988,12 @@ module Aws::GameLift
10932
11988
  #
10933
11989
  # @!attribute [rw] name
10934
11990
  # A descriptive label that is associated with a script. Script names
10935
- # don't need to be unique.
11991
+ # do not need to be unique.
10936
11992
  # @return [String]
10937
11993
  #
10938
11994
  # @!attribute [rw] version
10939
- # Version information associated with a build or script. Version
10940
- # 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.
10941
11997
  # @return [String]
10942
11998
  #
10943
11999
  # @!attribute [rw] storage_location