aws-sdk-gamelift 1.93.0 → 1.95.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -217,9 +217,9 @@ module Aws::GameLift
217
217
  # @return [String]
218
218
  #
219
219
  # @!attribute [rw] build_arn
220
- # The Amazon Resource Name ([ARN][1]) assigned to a Amazon GameLift
221
- # build resource and uniquely identifies it. ARNs are unique across
222
- # all Regions. Format is
220
+ # The Amazon Resource Name ([ARN][1]) that is assigned to a Amazon
221
+ # GameLift build resource and uniquely identifies it. ARNs are unique
222
+ # across all Regions. Format is
223
223
  # `arn:aws:gamelift:<region>::build/build-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912`.
224
224
  # In a GameLift build ARN, the resource ID matches the *BuildId*
225
225
  # value.
@@ -230,8 +230,8 @@ module Aws::GameLift
230
230
  # @return [String]
231
231
  #
232
232
  # @!attribute [rw] name
233
- # A descriptive label associated with a build. Build names don't need
234
- # to be unique. It can be set using [CreateBuild][1] or
233
+ # A descriptive label that is associated with a build. Build names do
234
+ # not need to be unique. It can be set using [CreateBuild][1] or
235
235
  # [UpdateBuild][2].
236
236
  #
237
237
  #
@@ -241,8 +241,8 @@ module Aws::GameLift
241
241
  # @return [String]
242
242
  #
243
243
  # @!attribute [rw] version
244
- # Version information associated with a build or script. Version
245
- # strings don't need to be unique.
244
+ # Version information that is associated with a build or script.
245
+ # Version strings do not need to be unique.
246
246
  # @return [String]
247
247
  #
248
248
  # @!attribute [rw] status
@@ -315,9 +315,6 @@ module Aws::GameLift
315
315
  include Aws::Structure
316
316
  end
317
317
 
318
- # **This data type has been expanded to use with the Amazon GameLift
319
- # containers feature, which is currently in public preview.**
320
- #
321
318
  # Determines whether a TLS/SSL certificate is generated for a fleet.
322
319
  # This feature must be enabled when creating the fleet. All instances in
323
320
  # a fleet share the same certificate. The certificate can be retrieved
@@ -333,10 +330,10 @@ module Aws::GameLift
333
330
  #
334
331
  # Valid values include:
335
332
  #
336
- # * **GENERATED** - Generate a TLS/SSL certificate for this fleet.
333
+ # * **GENERATED** -- Generate a TLS/SSL certificate for this fleet.
337
334
  #
338
- # * **DISABLED** - (default) Do not generate a TLS/SSL certificate for
339
- # this fleet.
335
+ # * **DISABLED** -- (default) Do not generate a TLS/SSL certificate
336
+ # for this fleet.
340
337
  # @return [String]
341
338
  #
342
339
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CertificateConfiguration AWS API Documentation
@@ -412,21 +409,15 @@ module Aws::GameLift
412
409
  include Aws::Structure
413
410
  end
414
411
 
415
- # **This data type has been expanded to use with the Amazon GameLift
416
- # containers feature, which is currently in public preview.**
417
- #
418
412
  # An Amazon GameLift compute resource for hosting your game servers.
419
413
  # Computes in an Amazon GameLift fleet differs depending on the fleet's
420
414
  # compute type property as follows:
421
415
  #
422
- # * For `EC2` fleets, a compute is an EC2 instance.
416
+ # * For managed EC2 fleets, a compute is an EC2 instance.
423
417
  #
424
- # * For `ANYWHERE` fleets, a compute is a computing resource that you
418
+ # * For Anywhere fleets, a compute is a computing resource that you
425
419
  # provide and is registered to the fleet.
426
420
  #
427
- # * For `CONTAINER` fleets, a compute is a container that's registered
428
- # to the fleet.
429
- #
430
421
  # @!attribute [rw] fleet_id
431
422
  # A unique identifier for the fleet that the compute belongs to.
432
423
  # @return [String]
@@ -509,13 +500,16 @@ module Aws::GameLift
509
500
  # @return [String]
510
501
  #
511
502
  # @!attribute [rw] instance_id
512
- # The `InstanceID` of the `Instance` hosting the compute for Container
513
- # and Managed EC2 fleets.
503
+ # The `InstanceID` of the EC2 instance that is hosting the compute.
514
504
  # @return [String]
515
505
  #
516
506
  # @!attribute [rw] container_attributes
517
- # Some attributes of a container.
518
- # @return [Types::ContainerAttributes]
507
+ # A set of attributes for each container in the compute.
508
+ # @return [Array<Types::ContainerAttribute>]
509
+ #
510
+ # @!attribute [rw] game_server_container_group_definition_arn
511
+ # The game server container group definition for the compute.
512
+ # @return [String]
519
513
  #
520
514
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/Compute AWS API Documentation
521
515
  #
@@ -534,7 +528,8 @@ module Aws::GameLift
534
528
  :game_lift_service_sdk_endpoint,
535
529
  :game_lift_agent_endpoint,
536
530
  :instance_id,
537
- :container_attributes)
531
+ :container_attributes,
532
+ :game_server_container_group_definition_arn)
538
533
  SENSITIVE = [:ip_address]
539
534
  include Aws::Structure
540
535
  end
@@ -554,15 +549,10 @@ module Aws::GameLift
554
549
  include Aws::Structure
555
550
  end
556
551
 
557
- # **This operation has been expanded to use with the Amazon GameLift
558
- # containers feature, which is currently in public preview.**
559
- #
560
552
  # The set of port numbers to open on each instance in a container fleet.
561
553
  # Connection ports are used by inbound traffic to connect with processes
562
554
  # that are running in containers on the fleet.
563
555
  #
564
- # **Part of:** ContainerGroupsConfiguration, ContainerGroupsAttributes
565
- #
566
556
  # @!attribute [rw] from_port
567
557
  # Starting value for the port range.
568
558
  # @return [Integer]
@@ -581,458 +571,360 @@ module Aws::GameLift
581
571
  include Aws::Structure
582
572
  end
583
573
 
584
- # **This data type is used with the Amazon GameLift containers feature,
585
- # which is currently in public preview.**
574
+ # A unique identifier for a container in a container fleet compute.
586
575
  #
587
- # Describes attributes of containers that are deployed to a fleet with
588
- # compute type `CONTAINER`.
576
+ # **Returned by:** DescribeCompute
589
577
  #
590
- # @!attribute [rw] container_port_mappings
591
- # Describes how container ports map to connection ports on the fleet
592
- # instance. Incoming traffic connects to a game via a connection port.
593
- # A `ContainerPortMapping` directs the traffic from a connection port
594
- # to a port on the container that hosts the game session.
595
- # @return [Array<Types::ContainerPortMapping>]
578
+ # @!attribute [rw] container_name
579
+ # The identifier for a container that's running in a compute.
580
+ # @return [String]
596
581
  #
597
- # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerAttributes AWS API Documentation
582
+ # @!attribute [rw] container_runtime_id
583
+ # The runtime ID for the container that's running in a compute. This
584
+ # value is unique within the compute.
585
+ # @return [String]
598
586
  #
599
- class ContainerAttributes < Struct.new(
600
- :container_port_mappings)
587
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerAttribute AWS API Documentation
588
+ #
589
+ class ContainerAttribute < Struct.new(
590
+ :container_name,
591
+ :container_runtime_id)
601
592
  SENSITIVE = []
602
593
  include Aws::Structure
603
594
  end
604
595
 
605
- # **This data type is used with the Amazon GameLift containers feature,
606
- # which is currently in public preview.**
596
+ # A container's dependency on another container in the same container
597
+ # group. The dependency impacts how the dependent container is able to
598
+ # start or shut down based the status of the other container.
607
599
  #
608
- # Describes a container in a container fleet, the resources available to
609
- # the container, and the commands that are run when the container
610
- # starts. Container properties can't be updated. To change a property,
611
- # create a new container group definition. See also
612
- # ContainerDefinitionInput.
600
+ # For example, *ContainerA* is configured with the following dependency:
601
+ # a `START` dependency on *ContainerB*. This means that *ContainerA*
602
+ # can't start until *ContainerB* has started. It also means that
603
+ # *ContainerA* must shut down before *ContainerB*.
613
604
  #
614
- # **Part of:** ContainerGroupDefinition
615
- #
616
- # **Returned by:** DescribeContainerGroupDefinition,
617
- # ListContainerGroupDefinitions
605
+ # eiifcbfhgrdurhnucnufkgbnbnnerrvbtjvljdetkehc**Part of:**
606
+ # GameServerContainerDefinition, GameServerContainerDefinitionInput,
607
+ # SupportContainerDefinition, SupportContainerDefinitionInput
618
608
  #
619
609
  # @!attribute [rw] container_name
620
- # The container definition identifier. Container names are unique
621
- # within a container group definition.
622
- # @return [String]
623
- #
624
- # @!attribute [rw] image_uri
625
- # The URI to the image that $short; copied and deployed to a container
626
- # fleet. For a more specific identifier, see `ResolvedImageDigest`.
627
- # @return [String]
628
- #
629
- # @!attribute [rw] resolved_image_digest
630
- # A unique and immutable identifier for the container image that is
631
- # deployed to a container fleet. The digest is a SHA 256 hash of the
632
- # container image manifest.
610
+ # A descriptive label for the container definition that this container
611
+ # depends on.
633
612
  # @return [String]
634
613
  #
635
- # @!attribute [rw] memory_limits
636
- # The amount of memory that Amazon GameLift makes available to the
637
- # container. If memory limits aren't set for an individual container,
638
- # the container shares the container group's total memory allocation.
639
- #
640
- # <b>Related data type: </b> ContainerGroupDefinition$TotalMemoryLimit
641
- # @return [Types::ContainerMemoryLimits]
642
- #
643
- # @!attribute [rw] port_configuration
644
- # Defines the ports that are available to assign to processes in the
645
- # container. For example, a game server process requires a container
646
- # port to allow game clients to connect to it. Container ports aren't
647
- # directly accessed by inbound traffic. Amazon GameLift maps these
648
- # container ports to externally accessible connection ports, which are
649
- # assigned as needed from the container fleet's
650
- # `ConnectionPortRange`.
651
- # @return [Types::ContainerPortConfiguration]
652
- #
653
- # @!attribute [rw] cpu
654
- # The number of CPU units that are reserved for the container. Note: 1
655
- # vCPU unit equals 1024 CPU units. If no resources are reserved, the
656
- # container shares the total CPU limit for the container group.
657
- #
658
- # <b>Related data type: </b> ContainerGroupDefinition$TotalCpuLimit
659
- # @return [Integer]
660
- #
661
- # @!attribute [rw] health_check
662
- # A configuration for a non-terminal health check. A container, which
663
- # automatically restarts if it stops functioning, also restarts if it
664
- # fails this health check. If an essential container in the daemon
665
- # group fails a health check, the entire container group is restarted.
666
- # The essential container in the replica group doesn't use this
667
- # health check mechanism, because the Amazon GameLift Agent
668
- # automatically handles the task.
669
- # @return [Types::ContainerHealthCheck]
670
- #
671
- # @!attribute [rw] command
672
- # A command that's passed to the container on startup. Each argument
673
- # for the command is an additional string in the array. See the
674
- # [ContainerDefinition::command][1] parameter in the *Amazon Elastic
675
- # Container Service API reference.*
676
- #
677
- #
678
- #
679
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-command
680
- # @return [Array<String>]
681
- #
682
- # @!attribute [rw] essential
683
- # Indicates whether the container is vital to the container group. If
684
- # an essential container fails, the entire container group is
685
- # restarted.
686
- # @return [Boolean]
687
- #
688
- # @!attribute [rw] entry_point
689
- # The entry point that's passed to the container on startup. If there
690
- # are multiple arguments, each argument is an additional string in the
691
- # array. See the [ContainerDefinition::entryPoint][1] parameter in the
692
- # *Amazon Elastic Container Service API Reference*.
693
- #
694
- #
695
- #
696
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-entryPoint
697
- # @return [Array<String>]
614
+ # @!attribute [rw] condition
615
+ # The condition that the dependency container must reach before the
616
+ # dependent container can start. Valid conditions include:
698
617
  #
699
- # @!attribute [rw] working_directory
700
- # The directory in the container where commands are run. See the
701
- # [ContainerDefinition::workingDirectory][1] parameter in the *Amazon
702
- # Elastic Container Service API Reference*.
618
+ # * START - The dependency container must have started.
703
619
  #
620
+ # * COMPLETE - The dependency container has run to completion (exits).
621
+ # Use this condition with nonessential containers, such as those
622
+ # that run a script and then exit. The dependency container can't
623
+ # be an essential container.
704
624
  #
625
+ # * SUCCESS - The dependency container has run to completion and
626
+ # exited with a zero status. The dependency container can't be an
627
+ # essential container.
705
628
  #
706
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-workingDirectory
629
+ # * HEALTHY - The dependency container has passed its Docker health
630
+ # check. Use this condition with dependency containers that have
631
+ # health checks configured. This condition is confirmed at container
632
+ # group startup only.
707
633
  # @return [String]
708
634
  #
709
- # @!attribute [rw] environment
710
- # A set of environment variables that's passed to the container on
711
- # startup. See the [ContainerDefinition::environment][1] parameter in
712
- # the *Amazon Elastic Container Service API Reference*.
635
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerDependency AWS API Documentation
713
636
  #
637
+ class ContainerDependency < Struct.new(
638
+ :container_name,
639
+ :condition)
640
+ SENSITIVE = []
641
+ include Aws::Structure
642
+ end
643
+
644
+ # An environment variable to set inside a container, in the form of a
645
+ # key-value pair.
714
646
  #
647
+ # **Part of:** GameServerContainerDefinition,
648
+ # GameServerContainerDefinitionInput, SupportContainerDefinition,
649
+ # SupportContainerDefinitionInput
715
650
  #
716
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-environment
717
- # @return [Array<Types::ContainerEnvironment>]
651
+ # @!attribute [rw] name
652
+ # The environment variable name.
653
+ # @return [String]
718
654
  #
719
- # @!attribute [rw] depends_on
720
- # Indicates that the container relies on the status of other
721
- # containers in the same container group during its startup and
722
- # shutdown sequences. A container might have dependencies on multiple
723
- # containers.
724
- # @return [Array<Types::ContainerDependency>]
655
+ # @!attribute [rw] value
656
+ # The environment variable value.
657
+ # @return [String]
725
658
  #
726
- # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerDefinition AWS API Documentation
659
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerEnvironment AWS API Documentation
727
660
  #
728
- class ContainerDefinition < Struct.new(
729
- :container_name,
730
- :image_uri,
731
- :resolved_image_digest,
732
- :memory_limits,
733
- :port_configuration,
734
- :cpu,
735
- :health_check,
736
- :command,
737
- :essential,
738
- :entry_point,
739
- :working_directory,
740
- :environment,
741
- :depends_on)
661
+ class ContainerEnvironment < Struct.new(
662
+ :name,
663
+ :value)
742
664
  SENSITIVE = []
743
665
  include Aws::Structure
744
666
  end
745
667
 
746
- # **This data type is used with the Amazon GameLift containers feature,
747
- # which is currently in public preview.**
668
+ # Describes an Amazon GameLift managed container fleet.
748
669
  #
749
- # Describes a container's configuration, resources, and start
750
- # instructions. Use this data type to create a container group
751
- # definition. For the properties of a container that's been deployed to
752
- # a fleet, see ContainerDefinition. You can't change these properties
753
- # after you've created the container group definition. If you need a
754
- # container group with different properties, then you must create a new
755
- # one.
670
+ # @!attribute [rw] fleet_id
671
+ # A unique identifier for the container fleet to retrieve.
672
+ # @return [String]
756
673
  #
757
- # <b>Used with: </b> CreateContainerGroupDefinition
674
+ # @!attribute [rw] fleet_arn
675
+ # The Amazon Resource Name ([ARN][1]) that is assigned to a Amazon
676
+ # GameLift fleet resource and uniquely identifies it. ARNs are unique
677
+ # across all Regions. Format is
678
+ # `arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912`.
679
+ # In a GameLift fleet ARN, the resource ID matches the `FleetId`
680
+ # value.
758
681
  #
759
- # @!attribute [rw] container_name
760
- # A string that uniquely identifies the container definition within a
761
- # container group.
762
- # @return [String]
763
682
  #
764
- # @!attribute [rw] image_uri
765
- # The location of a container image that $short; will copy and deploy
766
- # to a container fleet. Images in Amazon Elastic Container Registry
767
- # private repositories are supported. The repository must be in the
768
- # same Amazon Web Services account and Amazon Web Services Region
769
- # where you're creating the container group definition. For limits on
770
- # image size, see [Amazon GameLift endpoints and quotas][1]. You can
771
- # use any of the following image URI formats:
772
683
  #
773
- # * Image ID only: `[AWS account].dkr.ecr.[AWS
774
- # region].amazonaws.com/[repository ID]`
684
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html
685
+ # @return [String]
775
686
  #
776
- # * Image ID and digest: `[AWS account].dkr.ecr.[AWS
777
- # region].amazonaws.com/[repository ID]@[digest]`
687
+ # @!attribute [rw] fleet_role_arn
688
+ # The unique identifier for an Identity and Access Management (IAM)
689
+ # role with permissions to run your containers on resources that are
690
+ # managed by Amazon GameLift. See [Set up an IAM service role][1].
691
+ # This fleet property can't be changed.
778
692
  #
779
- # * Image ID and tag: `[AWS account].dkr.ecr.[AWS
780
- # region].amazonaws.com/[repository ID]:[tag]`
781
693
  #
782
694
  #
695
+ # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/setting-up-role.html
696
+ # @return [String]
783
697
  #
784
- # [1]: https://docs.aws.amazon.com/general/latest/gr/gamelift.html
698
+ # @!attribute [rw] game_server_container_group_definition_name
699
+ # The name of the fleet's game server container group definition,
700
+ # which describes how to deploy containers with your game server build
701
+ # and support software onto each fleet instance.
785
702
  # @return [String]
786
703
  #
787
- # @!attribute [rw] memory_limits
788
- # The amount of memory to make available to the container. If you
789
- # don't specify memory limits for this container, then it shares the
790
- # container group's total memory allocation.
704
+ # @!attribute [rw] game_server_container_group_definition_arn
705
+ # The Amazon Resource Name ([ARN][1]) that is assigned to the fleet's
706
+ # game server container group. The ARN value also identifies the
707
+ # specific container group definition version in use.
791
708
  #
792
- # <b>Related data type: </b> ContainerGroupDefinition$TotalMemoryLimit
793
- # @return [Types::ContainerMemoryLimits]
794
709
  #
795
- # @!attribute [rw] port_configuration
796
- # A set of ports that Amazon GameLift can assign to processes in the
797
- # container. All processes that accept inbound traffic connections,
798
- # including game server processes, must be assigned a port from this
799
- # set. The set of ports must be large enough to assign one to each
800
- # process in the container that needs one. If the container includes
801
- # your game server, include enough ports to assign one port to each
802
- # concurrent server process (as defined in a container fleet's
803
- # RuntimeConfiguration). For more details, see [Networking for
804
- # container fleets][1].
805
710
  #
806
- # Container ports aren't directly accessed by inbound traffic. Amazon
807
- # GameLift maps these container ports to externally accessible
808
- # connection ports, which are assigned as needed from the container
809
- # fleet's `ConnectionPortRange`.
711
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html
712
+ # @return [String]
810
713
  #
714
+ # @!attribute [rw] per_instance_container_group_definition_name
715
+ # The name of the fleet's per-instance container group definition.
716
+ # @return [String]
811
717
  #
718
+ # @!attribute [rw] per_instance_container_group_definition_arn
719
+ # The Amazon Resource Name ([ARN][1]) that is assigned to the fleet's
720
+ # per-instance container group. The ARN value also identifies the
721
+ # specific container group definition version in use.
812
722
  #
813
- # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-network
814
- # @return [Types::ContainerPortConfiguration]
815
723
  #
816
- # @!attribute [rw] cpu
817
- # The number of CPU units to reserve for this container. The container
818
- # can use more resources when needed, if available. Note: 1 vCPU unit
819
- # equals 1024 CPU units. If you don't reserve CPU units for this
820
- # container, then it shares the total CPU limit for the container
821
- # group. This property is similar to the Amazon ECS container
822
- # definition parameter [environment][1] (*Amazon Elastic Container
823
- # Service Developer Guide).*
824
724
  #
825
- # <b>Related data type: </b> ContainerGroupDefinition$TotalCpuLimit
725
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html
726
+ # @return [String]
826
727
  #
728
+ # @!attribute [rw] instance_connection_port_range
729
+ # The set of port numbers to open on each instance in a container
730
+ # fleet. Connection ports are used by inbound traffic to connect with
731
+ # processes that are running in containers on the fleet.
732
+ # @return [Types::ConnectionPortRange]
827
733
  #
734
+ # @!attribute [rw] instance_inbound_permissions
735
+ # The IP address ranges and port settings that allow inbound traffic
736
+ # to access game server processes and other processes on this fleet.
737
+ # @return [Array<Types::IpPermission>]
828
738
  #
829
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#container_definition_environment
739
+ # @!attribute [rw] game_server_container_groups_per_instance
740
+ # The number of times to replicate the game server container group on
741
+ # each fleet instance.
830
742
  # @return [Integer]
831
743
  #
832
- # @!attribute [rw] health_check
833
- # Configuration for a non-terminal health check. A container
834
- # automatically restarts if it stops functioning. This parameter lets
835
- # you define additional reasons to consider a container unhealthy and
836
- # restart it. You can set a health check for any container except for
837
- # the essential container in the replica container group. If an
838
- # essential container in the daemon group fails a health check, the
839
- # entire container group is restarted.
840
- # @return [Types::ContainerHealthCheck]
744
+ # @!attribute [rw] maximum_game_server_container_groups_per_instance
745
+ # The calculated maximum number of game server container group that
746
+ # can be deployed on each fleet instance. The calculation depends on
747
+ # the resource needs of the container group and the CPU and memory
748
+ # resources of the fleet's instance type.
749
+ # @return [Integer]
841
750
  #
842
- # @!attribute [rw] command
843
- # A command to pass to the container on startup. Add multiple
844
- # arguments as additional strings in the array. See the
845
- # [ContainerDefinition command][1] parameter in the *Amazon Elastic
846
- # Container Service API reference.*
751
+ # @!attribute [rw] instance_type
752
+ # The Amazon EC2 instance type to use for all instances in the fleet.
753
+ # Instance type determines the computing resources and processing
754
+ # power that's available to host your game servers. This includes
755
+ # including CPU, memory, storage, and networking capacity. You can't
756
+ # update this fleet property.
757
+ # @return [String]
847
758
  #
759
+ # @!attribute [rw] billing_type
760
+ # Indicates whether the fleet uses On-Demand or Spot instances for
761
+ # this fleet. Learn more about when to use [ On-Demand versus Spot
762
+ # Instances][1]. You can't update this fleet property.
848
763
  #
764
+ # By default, this property is set to `ON_DEMAND`.
849
765
  #
850
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-command
851
- # @return [Array<String>]
852
766
  #
853
- # @!attribute [rw] essential
854
- # Specifies whether the container is vital for the container group to
855
- # function properly. If an essential container fails, it causes the
856
- # entire container group to restart. Each container group must have an
857
- # essential container.
858
767
  #
859
- # **Replica container groups** - A replica group must have exactly one
860
- # essential container. Use the following to configure an essential
861
- # replica container:
768
+ # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html#gamelift-ec2-instances-spot
769
+ # @return [String]
770
+ #
771
+ # @!attribute [rw] description
772
+ # A meaningful description of the container fleet.
773
+ # @return [String]
774
+ #
775
+ # @!attribute [rw] creation_time
776
+ # A time stamp indicating when this data object was created. Format is
777
+ # a number expressed in Unix time as milliseconds (for example
778
+ # `"1469498468.057"`).
779
+ # @return [Time]
862
780
  #
863
- # * Choose a container is running your game server and the Amazon
864
- # GameLift Agent.
781
+ # @!attribute [rw] metric_groups
782
+ # The name of an Amazon Web Services CloudWatch metric group to add
783
+ # this fleet to. Metric groups aggregate metrics for multiple fleets.
784
+ # @return [Array<String>]
865
785
  #
866
- # * Include a port configuration. This container runs your game server
867
- # processes, and each process requires a container port to allow
868
- # access to game clients.
786
+ # @!attribute [rw] new_game_session_protection_policy
787
+ # Determines whether Amazon GameLift can shut down game sessions on
788
+ # the fleet that are actively running and hosting players. Amazon
789
+ # GameLift might prompt an instance shutdown when scaling down fleet
790
+ # capacity or when retiring unhealthy instances. You can also set game
791
+ # session protection for individual game sessions using
792
+ # [UpdateGameSession](gamelift/latest/apireference/API_UpdateGameSession.html).
869
793
  #
870
- # * Don't configure a health check. The Agent handles this task for
871
- # the essential replica container.
794
+ # * **NoProtection** -- Game sessions can be shut down during active
795
+ # gameplay.
872
796
  #
873
- # **Daemon container groups** - A daemon group must have at least one
874
- # essential container.
875
- # @return [Boolean]
797
+ # * **FullProtection** -- Game sessions in `ACTIVE` status can't be
798
+ # shut down.
799
+ # @return [String]
876
800
  #
877
- # @!attribute [rw] entry_point
878
- # An entry point to pass to the container on startup. Add multiple
879
- # arguments as additional strings in the array. See the
880
- # [ContainerDefinition::entryPoint][1] parameter in the *Amazon
881
- # Elastic Container Service API Reference*.
801
+ # @!attribute [rw] game_session_creation_limit_policy
802
+ # A policy that limits the number of game sessions that each
803
+ # individual player can create on instances in this fleet. The limit
804
+ # applies for a specified span of time.
805
+ # @return [Types::GameSessionCreationLimitPolicy]
882
806
  #
807
+ # @!attribute [rw] status
808
+ # The current status of the container fleet.
883
809
  #
810
+ # * `PENDING` -- A new container fleet has been requested.
884
811
  #
885
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-entryPoint
886
- # @return [Array<String>]
812
+ # * `CREATING` -- A new container fleet resource is being created.
887
813
  #
888
- # @!attribute [rw] working_directory
889
- # The directory in the container where commands are run. See the
890
- # [ContainerDefinition::workingDirectory parameter][1] in the *Amazon
891
- # Elastic Container Service API Reference*.
814
+ # * `CREATED` -- A new container fleet resource has been created. No
815
+ # fleet instances have been deployed.
892
816
  #
817
+ # * `ACTIVATING` -- New container fleet instances are being deployed.
893
818
  #
819
+ # * `ACTIVE` -- The container fleet has been deployed and is ready to
820
+ # host game sessions.
894
821
  #
895
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-workingDirectory
822
+ # * `UPDATING` -- Updates to the container fleet is being updated. A
823
+ # deployment is in progress.
896
824
  # @return [String]
897
825
  #
898
- # @!attribute [rw] environment
899
- # A set of environment variables to pass to the container on startup.
900
- # See the [ContainerDefinition::environment][1] parameter in the
901
- # *Amazon Elastic Container Service API Reference*.
826
+ # @!attribute [rw] deployment_details
827
+ # Information about the most recent deployment for the container
828
+ # fleet.
829
+ # @return [Types::DeploymentDetails]
902
830
  #
831
+ # @!attribute [rw] log_configuration
832
+ # The method that is used to collect container logs for the fleet.
833
+ # Amazon GameLift saves all standard output for each container in
834
+ # logs, including game session logs.
903
835
  #
836
+ # * `CLOUDWATCH` -- Send logs to an Amazon CloudWatch log group that
837
+ # you define. Each container emits a log stream, which is organized
838
+ # in the log group.
904
839
  #
905
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-environment
906
- # @return [Array<Types::ContainerEnvironment>]
840
+ # * `S3` -- Store logs in an Amazon S3 bucket that you define.
907
841
  #
908
- # @!attribute [rw] depends_on
909
- # Sets up dependencies between this container and the status of other
910
- # containers in the same container group. A container can have
911
- # dependencies on multiple different containers.
842
+ # * `NONE` -- Don't collect container logs.
843
+ # @return [Types::LogConfiguration]
912
844
  #
913
- # You can use dependencies to establish a startup/shutdown sequence
914
- # across the container group. A container startup dependency is
915
- # reversed on shutdown.
916
- #
917
- # For example, you might specify that SideCarContainerB has a `START`
918
- # dependency on SideCarContainerA. This dependency means that
919
- # SideCarContainerB can't start until after SideCarContainerA has
920
- # started. This dependency is reversed on shutdown, which means that
921
- # SideCarContainerB must shut down before SideCarContainerA can shut
922
- # down.
923
- # @return [Array<Types::ContainerDependency>]
845
+ # @!attribute [rw] location_attributes
846
+ # Information about the container fleet's remote locations where
847
+ # fleet instances are deployed.
848
+ # @return [Array<Types::ContainerFleetLocationAttributes>]
924
849
  #
925
- # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerDefinitionInput AWS API Documentation
850
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerFleet AWS API Documentation
926
851
  #
927
- class ContainerDefinitionInput < Struct.new(
928
- :container_name,
929
- :image_uri,
930
- :memory_limits,
931
- :port_configuration,
932
- :cpu,
933
- :health_check,
934
- :command,
935
- :essential,
936
- :entry_point,
937
- :working_directory,
938
- :environment,
939
- :depends_on)
852
+ class ContainerFleet < Struct.new(
853
+ :fleet_id,
854
+ :fleet_arn,
855
+ :fleet_role_arn,
856
+ :game_server_container_group_definition_name,
857
+ :game_server_container_group_definition_arn,
858
+ :per_instance_container_group_definition_name,
859
+ :per_instance_container_group_definition_arn,
860
+ :instance_connection_port_range,
861
+ :instance_inbound_permissions,
862
+ :game_server_container_groups_per_instance,
863
+ :maximum_game_server_container_groups_per_instance,
864
+ :instance_type,
865
+ :billing_type,
866
+ :description,
867
+ :creation_time,
868
+ :metric_groups,
869
+ :new_game_session_protection_policy,
870
+ :game_session_creation_limit_policy,
871
+ :status,
872
+ :deployment_details,
873
+ :log_configuration,
874
+ :location_attributes)
940
875
  SENSITIVE = []
941
876
  include Aws::Structure
942
877
  end
943
878
 
944
- # **This data type is used with the Amazon GameLift containers feature,
945
- # which is currently in public preview.**
946
- #
947
- # A container's dependency on another container in the same container
948
- # group. The dependency impacts how the dependent container is able to
949
- # start or shut down based the status of the other container.
950
- #
951
- # For example, ContainerA is configured with the following dependency: a
952
- # `START` dependency on ContainerB. This means that ContainerA can't
953
- # start until ContainerB has started. It also means that ContainerA must
954
- # shut down before ContainerB.
879
+ # Details about a location in a multi-location container fleet.
955
880
  #
956
- # **Part of:** ContainerDefinition
957
- #
958
- # @!attribute [rw] container_name
959
- # A descriptive label for the container definition that this container
960
- # depends on.
881
+ # @!attribute [rw] location
882
+ # A location identifier.
961
883
  # @return [String]
962
884
  #
963
- # @!attribute [rw] condition
964
- # The condition that the dependency container must reach before the
965
- # dependent container can start. Valid conditions include:
885
+ # @!attribute [rw] status
886
+ # The status of fleet activity in the location.
966
887
  #
967
- # * START - The dependency container must have started.
888
+ # * `PENDING` -- A new container fleet has been requested.
968
889
  #
969
- # * COMPLETE - The dependency container has run to completion (exits).
970
- # Use this condition with nonessential containers, such as those
971
- # that run a script and then exit. The dependency container can't
972
- # be an essential container.
890
+ # * `CREATING` -- A new container fleet resource is being created.
973
891
  #
974
- # * SUCCESS - The dependency container has run to completion and
975
- # exited with a zero status. The dependency container can't be an
976
- # essential container.
892
+ # * `CREATED` -- A new container fleet resource has been created. No
893
+ # fleet instances have been deployed.
977
894
  #
978
- # * HEALTHY - The dependency container has passed its Docker health
979
- # check. Use this condition with dependency containers that have
980
- # health checks configured. This condition is confirmed at container
981
- # group startup only.
982
- # @return [String]
895
+ # * `ACTIVATING` -- New container fleet instances are being deployed.
983
896
  #
984
- # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerDependency AWS API Documentation
897
+ # * `ACTIVE` -- The container fleet has been deployed and is ready to
898
+ # host game sessions.
985
899
  #
986
- class ContainerDependency < Struct.new(
987
- :container_name,
988
- :condition)
989
- SENSITIVE = []
990
- include Aws::Structure
991
- end
992
-
993
- # **This data type is used with the Amazon GameLift containers feature,
994
- # which is currently in public preview.**
995
- #
996
- # An environment variable to set inside a container, in the form of a
997
- # key-value pair.
998
- #
999
- # <b>Related data type: </b> ContainerDefinition$Environment
1000
- #
1001
- # @!attribute [rw] name
1002
- # The environment variable name.
1003
- # @return [String]
1004
- #
1005
- # @!attribute [rw] value
1006
- # The environment variable value.
900
+ # * `UPDATING` -- Updates to the container fleet is being updated. A
901
+ # deployment is in progress.
1007
902
  # @return [String]
1008
903
  #
1009
- # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerEnvironment AWS API Documentation
904
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ContainerFleetLocationAttributes AWS API Documentation
1010
905
  #
1011
- class ContainerEnvironment < Struct.new(
1012
- :name,
1013
- :value)
906
+ class ContainerFleetLocationAttributes < Struct.new(
907
+ :location,
908
+ :status)
1014
909
  SENSITIVE = []
1015
910
  include Aws::Structure
1016
911
  end
1017
912
 
1018
- # **This data type is used with the Amazon GameLift containers feature,
1019
- # which is currently in public preview.**
1020
- #
1021
- # The properties that describe a container group resource. Container
1022
- # group definition properties can't be updated. To change a property,
1023
- # create a new container group definition.
913
+ # The properties that describe a container group resource. You can
914
+ # update all properties of a container group definition properties.
915
+ # Updates to a container group definition are saved as new versions.
1024
916
  #
1025
917
  # **Used with:** CreateContainerGroupDefinition
1026
918
  #
1027
919
  # **Returned by:** DescribeContainerGroupDefinition,
1028
- # ListContainerGroupDefinitions
920
+ # ListContainerGroupDefinitions, UpdateContainerGroupDefinition
1029
921
  #
1030
922
  # @!attribute [rw] container_group_definition_arn
1031
923
  # The Amazon Resource Name ([ARN][1]) that is assigned to an Amazon
1032
924
  # GameLift `ContainerGroupDefinition` resource. It uniquely identifies
1033
925
  # the resource across all Amazon Web Services Regions. Format is
1034
- # `arn:aws:gamelift:<region>::containergroupdefinition/[container
1035
- # group definition name]`.
926
+ # `arn:aws:gamelift:[region]::containergroupdefinition/[container
927
+ # group definition name]:[version]`.
1036
928
  #
1037
929
  #
1038
930
  #
@@ -1046,12 +938,12 @@ module Aws::GameLift
1046
938
  # @return [Time]
1047
939
  #
1048
940
  # @!attribute [rw] operating_system
1049
- # The platform required for all containers in the container group
1050
- # definition.
941
+ # The platform that all containers in the container group definition
942
+ # run on.
1051
943
  #
1052
944
  # <note markdown="1"> Amazon Linux 2 (AL2) will reach end of support on 6/30/2025. See
1053
945
  # more details in the [Amazon Linux 2 FAQs][1]. For game servers that
1054
- # are hosted on AL2 and use Amazon GameLift server SDK 4.x., first
946
+ # are hosted on AL2 and use Amazon GameLift server SDK 4.x, first
1055
947
  # update the game server build to server SDK 5.x, and then deploy to
1056
948
  # AL2023 instances. See [ Migrate to Amazon GameLift server SDK
1057
949
  # version 5.][2]
@@ -1069,59 +961,55 @@ module Aws::GameLift
1069
961
  # name value is unique in an Amazon Web Services Region.
1070
962
  # @return [String]
1071
963
  #
1072
- # @!attribute [rw] scheduling_strategy
1073
- # The method for deploying the container group across fleet instances.
1074
- # A replica container group might have multiple copies on each fleet
1075
- # instance. A daemon container group maintains only one copy per fleet
1076
- # instance.
964
+ # @!attribute [rw] container_group_type
965
+ # The type of container group. Container group type determines how
966
+ # Amazon GameLift deploys the container group on each fleet instance.
1077
967
  # @return [String]
1078
968
  #
1079
- # @!attribute [rw] total_memory_limit
969
+ # @!attribute [rw] total_memory_limit_mebibytes
1080
970
  # The amount of memory (in MiB) on a fleet instance to allocate for
1081
971
  # the container group. All containers in the group share these
1082
972
  # resources.
1083
973
  #
1084
- # You can set additional limits for each ContainerDefinition in the
1085
- # group. If individual containers have limits, this value must meet
1086
- # the following requirements:
1087
- #
1088
- # * Equal to or greater than the sum of all container-specific soft
1089
- # memory limits in the group.
1090
- #
1091
- # * Equal to or greater than any container-specific hard limits in the
1092
- # group.
1093
- #
1094
- # For more details on memory allocation, see the [Container fleet
1095
- # design guide][1].
1096
- #
1097
- #
1098
- #
1099
- # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-design-fleet
974
+ # You can set a limit for each container definition in the group. If
975
+ # individual containers have limits, this total value must be greater
976
+ # than any individual container's memory limit.
1100
977
  # @return [Integer]
1101
978
  #
1102
- # @!attribute [rw] total_cpu_limit
1103
- # The amount of CPU units on a fleet instance to allocate for the
1104
- # container group. All containers in the group share these resources.
1105
- # This property is an integer value in CPU units (1 vCPU is equal to
1106
- # 1024 CPU units).
1107
- #
1108
- # You can set additional limits for each ContainerDefinition in the
1109
- # group. If individual containers have limits, this value must be
1110
- # equal to or greater than the sum of all container-specific CPU
1111
- # limits in the group.
1112
- #
1113
- # For more details on memory allocation, see the [Container fleet
1114
- # design guide][1].
1115
- #
979
+ # @!attribute [rw] total_vcpu_limit
980
+ # The amount of vCPU units on a fleet instance to allocate for the
981
+ # container group (1 vCPU is equal to 1024 CPU units). All containers
982
+ # in the group share these resources. You can set a limit for each
983
+ # container definition in the group. If individual containers have
984
+ # limits, this total value must be equal to or greater than the sum of
985
+ # the limits for each container in the group.
986
+ # @return [Float]
1116
987
  #
988
+ # @!attribute [rw] game_server_container_definition
989
+ # The definition for the game server container in this group. This
990
+ # property is used only when the container group type is
991
+ # `GAME_SERVER`. This container definition specifies a container image
992
+ # with the game server build.
993
+ # @return [Types::GameServerContainerDefinition]
994
+ #
995
+ # @!attribute [rw] support_container_definitions
996
+ # The set of definitions for support containers in this group. A
997
+ # container group definition might have zero support container
998
+ # definitions. Support container can be used in any type of container
999
+ # group.
1000
+ # @return [Array<Types::SupportContainerDefinition>]
1117
1001
  #
1118
- # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-design-fleet
1002
+ # @!attribute [rw] version_number
1003
+ # Indicates the version of a particular container group definition.
1004
+ # This number is incremented automatically when you update a container
1005
+ # group definition. You can view, update, or delete individual
1006
+ # versions or the entire container group definition.
1119
1007
  # @return [Integer]
1120
1008
  #
1121
- # @!attribute [rw] container_definitions
1122
- # The set of container definitions that are included in the container
1123
- # group.
1124
- # @return [Array<Types::ContainerDefinition>]
1009
+ # @!attribute [rw] version_description
1010
+ # An optional description that was provided for a container group
1011
+ # definition update. Each version can have a unique description.
1012
+ # @return [String]
1125
1013
  #
1126
1014
  # @!attribute [rw] status
1127
1015
  # Current status of the container group definition resource. Values
@@ -1179,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