aws-sdk-gamelift 1.76.0 → 1.78.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,6 +22,7 @@ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
22
  require 'aws-sdk-core/plugins/response_paging.rb'
23
23
  require 'aws-sdk-core/plugins/stub_responses.rb'
24
24
  require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/invocation_id.rb'
25
26
  require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
27
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
28
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
@@ -72,6 +73,7 @@ module Aws::GameLift
72
73
  add_plugin(Aws::Plugins::ResponsePaging)
73
74
  add_plugin(Aws::Plugins::StubResponses)
74
75
  add_plugin(Aws::Plugins::IdempotencyToken)
76
+ add_plugin(Aws::Plugins::InvocationId)
75
77
  add_plugin(Aws::Plugins::JsonvalueConverter)
76
78
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
77
79
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
@@ -196,10 +198,17 @@ module Aws::GameLift
196
198
  # When set to 'true' the request body will not be compressed
197
199
  # for supported operations.
198
200
  #
199
- # @option options [String] :endpoint
200
- # The client endpoint is normally constructed from the `:region`
201
- # option. You should only configure an `:endpoint` when connecting
202
- # to test or custom endpoints. This should be a valid HTTP(S) URI.
201
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
202
+ # Normally you should not configure the `:endpoint` option
203
+ # directly. This is normally constructed from the `:region`
204
+ # option. Configuring `:endpoint` is normally reserved for
205
+ # connecting to test or custom endpoints. The endpoint should
206
+ # be a URI formatted like:
207
+ #
208
+ # 'http://example.com'
209
+ # 'https://example.com'
210
+ # 'http://example.com:123'
211
+ #
203
212
  #
204
213
  # @option options [Integer] :endpoint_cache_max_entries (1000)
205
214
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -347,50 +356,65 @@ module Aws::GameLift
347
356
  # @option options [Aws::GameLift::EndpointProvider] :endpoint_provider
348
357
  # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::GameLift::EndpointParameters`
349
358
  #
350
- # @option options [URI::HTTP,String] :http_proxy A proxy to send
351
- # requests through. Formatted like 'http://proxy.com:123'.
352
- #
353
- # @option options [Float] :http_open_timeout (15) The number of
354
- # seconds to wait when opening a HTTP session before raising a
355
- # `Timeout::Error`.
356
- #
357
- # @option options [Float] :http_read_timeout (60) The default
358
- # number of seconds to wait for response data. This value can
359
- # safely be set per-request on the session.
360
- #
361
- # @option options [Float] :http_idle_timeout (5) The number of
362
- # seconds a connection is allowed to sit idle before it is
363
- # considered stale. Stale connections are closed and removed
364
- # from the pool before making a request.
365
- #
366
- # @option options [Float] :http_continue_timeout (1) The number of
367
- # seconds to wait for a 100-continue response before sending the
368
- # request body. This option has no effect unless the request has
369
- # "Expect" header set to "100-continue". Defaults to `nil` which
370
- # disables this behaviour. This value can safely be set per
371
- # request on the session.
372
- #
373
- # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
374
- # in seconds.
359
+ # @option options [Float] :http_continue_timeout (1)
360
+ # The number of seconds to wait for a 100-continue response before sending the
361
+ # request body. This option has no effect unless the request has "Expect"
362
+ # header set to "100-continue". Defaults to `nil` which disables this
363
+ # behaviour. This value can safely be set per request on the session.
364
+ #
365
+ # @option options [Float] :http_idle_timeout (5)
366
+ # The number of seconds a connection is allowed to sit idle before it
367
+ # is considered stale. Stale connections are closed and removed from the
368
+ # pool before making a request.
369
+ #
370
+ # @option options [Float] :http_open_timeout (15)
371
+ # The default number of seconds to wait for response data.
372
+ # This value can safely be set per-request on the session.
373
+ #
374
+ # @option options [URI::HTTP,String] :http_proxy
375
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
376
+ #
377
+ # @option options [Float] :http_read_timeout (60)
378
+ # The default number of seconds to wait for response data.
379
+ # This value can safely be set per-request on the session.
380
+ #
381
+ # @option options [Boolean] :http_wire_trace (false)
382
+ # When `true`, HTTP debug output will be sent to the `:logger`.
383
+ #
384
+ # @option options [Proc] :on_chunk_received
385
+ # When a Proc object is provided, it will be used as callback when each chunk
386
+ # of the response body is received. It provides three arguments: the chunk,
387
+ # the number of bytes received, and the total number of
388
+ # bytes in the response (or nil if the server did not send a `content-length`).
389
+ #
390
+ # @option options [Proc] :on_chunk_sent
391
+ # When a Proc object is provided, it will be used as callback when each chunk
392
+ # of the request body is sent. It provides three arguments: the chunk,
393
+ # the number of bytes read from the body, and the total number of
394
+ # bytes in the body.
395
+ #
396
+ # @option options [Boolean] :raise_response_errors (true)
397
+ # When `true`, response errors are raised.
398
+ #
399
+ # @option options [String] :ssl_ca_bundle
400
+ # Full path to the SSL certificate authority bundle file that should be used when
401
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
402
+ # `:ssl_ca_directory` the the system default will be used if available.
403
+ #
404
+ # @option options [String] :ssl_ca_directory
405
+ # Full path of the directory that contains the unbundled SSL certificate
406
+ # authority files for verifying peer certificates. If you do
407
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
408
+ # default will be used if available.
375
409
  #
376
- # @option options [Boolean] :http_wire_trace (false) When `true`,
377
- # HTTP debug output will be sent to the `:logger`.
410
+ # @option options [String] :ssl_ca_store
411
+ # Sets the X509::Store to verify peer certificate.
378
412
  #
379
- # @option options [Boolean] :ssl_verify_peer (true) When `true`,
380
- # SSL peer certificates are verified when establishing a
381
- # connection.
413
+ # @option options [Float] :ssl_timeout
414
+ # Sets the SSL timeout in seconds
382
415
  #
383
- # @option options [String] :ssl_ca_bundle Full path to the SSL
384
- # certificate authority bundle file that should be used when
385
- # verifying peer certificates. If you do not pass
386
- # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
387
- # will be used if available.
388
- #
389
- # @option options [String] :ssl_ca_directory Full path of the
390
- # directory that contains the unbundled SSL certificate
391
- # authority files for verifying peer certificates. If you do
392
- # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
393
- # system default will be used if available.
416
+ # @option options [Boolean] :ssl_verify_peer (true)
417
+ # When `true`, SSL peer certificates are verified when establishing a connection.
394
418
  #
395
419
  def initialize(*args)
396
420
  super
@@ -827,55 +851,337 @@ module Aws::GameLift
827
851
  req.send_request(options)
828
852
  end
829
853
 
830
- # Creates a fleet of Amazon Elastic Compute Cloud (Amazon EC2) instances
831
- # to host your custom game server or Realtime Servers. Use this
832
- # operation to configure the computing resources for your fleet and
833
- # provide instructions for running game servers on each instance.
834
- #
835
- # Most Amazon GameLift fleets can deploy instances to multiple
836
- # locations, including the home Region (where the fleet is created) and
837
- # an optional set of remote locations. Fleets that are created in the
838
- # following Amazon Web Services Regions support multiple locations:
839
- # us-east-1 (N. Virginia), us-west-2 (Oregon), eu-central-1 (Frankfurt),
840
- # eu-west-1 (Ireland), ap-southeast-2 (Sydney), ap-northeast-1 (Tokyo),
841
- # and ap-northeast-2 (Seoul). Fleets that are created in other Amazon
842
- # GameLift Regions can deploy instances in the fleet's home Region
843
- # only. All fleet instances use the same configuration regardless of
844
- # location; however, you can adjust capacity settings and turn
845
- # auto-scaling on/off for each location.
846
- #
847
- # To create a fleet, choose the hardware for your instances, specify a
848
- # game server build or Realtime script to deploy, and provide a runtime
849
- # configuration to direct Amazon GameLift how to start and run game
850
- # servers on each instance in the fleet. Set permissions for inbound
851
- # traffic to your game servers, and enable optional features as needed.
852
- # When creating a multi-location fleet, provide a list of additional
853
- # remote locations.
854
- #
855
- # If you need to debug your fleet, fetch logs, view performance metrics
856
- # or other actions on the fleet, create the development fleet with port
857
- # 22/3389 open. As a best practice, we recommend opening ports for
854
+ # <b>This operation is used with the Amazon GameLift containers feature,
855
+ # which is currently in public preview. </b>
856
+ #
857
+ # Creates a `ContainerGroupDefinition` resource that describes a set of
858
+ # containers for hosting your game server with Amazon GameLift managed
859
+ # EC2 hosting. An Amazon GameLift container group is similar to a
860
+ # container "task" and "pod". Each container group can have one or
861
+ # more containers.
862
+ #
863
+ # Use container group definitions when you create a container fleet.
864
+ # Container group definitions determine how Amazon GameLift deploys your
865
+ # containers to each instance in a container fleet.
866
+ #
867
+ # You can create two types of container groups, based on scheduling
868
+ # strategy:
869
+ #
870
+ # * A **replica container group** manages the containers that run your
871
+ # game server application and supporting software. Replica container
872
+ # groups might be replicated multiple times on each fleet instance,
873
+ # depending on instance resources.
874
+ #
875
+ # * A **daemon container group** manages containers that run other
876
+ # software, such as background services, logging, or test processes.
877
+ # You might use a daemon container group for processes that need to
878
+ # run only once per fleet instance, or processes that need to persist
879
+ # independently of the replica container group.
880
+ #
881
+ # To create a container group definition, specify a group name, a list
882
+ # of container definitions, and maximum total CPU and memory
883
+ # requirements for the container group. Specify an operating system and
884
+ # scheduling strategy or use the default values. When using the Amazon
885
+ # Web Services CLI tool, you can pass in your container definitions as a
886
+ # JSON file.
887
+ #
888
+ # <note markdown="1"> This operation requires Identity and Access Management (IAM)
889
+ # permissions to access container images in Amazon ECR repositories. See
890
+ # [ IAM permissions for Amazon GameLift][1] for help setting the
891
+ # appropriate permissions.
892
+ #
893
+ # </note>
894
+ #
895
+ # If successful, this operation creates a new `ContainerGroupDefinition`
896
+ # resource with an ARN value assigned. You can't change the properties
897
+ # of a container group definition. Instead, create a new one.
898
+ #
899
+ # **Learn more**
900
+ #
901
+ # * [Create a container group definition][2]
902
+ #
903
+ # * [Container fleet design guide][3]
904
+ #
905
+ # * [Create a container definition as a JSON file][4]
906
+ #
907
+ #
908
+ #
909
+ # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-iam-policy-examples.html
910
+ # [2]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-create-groups.html
911
+ # [3]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-design-fleet.html
912
+ # [4]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-definitions.html#containers-definitions-create
913
+ #
914
+ # @option params [required, String] :name
915
+ # A descriptive identifier for the container group definition. The name
916
+ # value must be unique in an Amazon Web Services Region.
917
+ #
918
+ # @option params [String] :scheduling_strategy
919
+ # The method for deploying the container group across fleet instances. A
920
+ # replica container group might have multiple copies on each fleet
921
+ # instance. A daemon container group has one copy per fleet instance.
922
+ # Default value is `REPLICA`.
923
+ #
924
+ # @option params [required, Integer] :total_memory_limit
925
+ # The maximum amount of memory (in MiB) to allocate to the container
926
+ # group. All containers in the group share this memory. If you specify
927
+ # memory limits for individual containers, set this parameter based on
928
+ # the following guidelines. The value must be (1) greater than the sum
929
+ # of the soft memory limits for all containers in the group, and (2)
930
+ # greater than any individual container's hard memory limit.
931
+ #
932
+ # @option params [required, Integer] :total_cpu_limit
933
+ # The maximum amount of CPU units to allocate to the container group.
934
+ # Set this parameter to an integer value in CPU units (1 vCPU is equal
935
+ # to 1024 CPU units). All containers in the group share this memory. If
936
+ # you specify CPU limits for individual containers, set this parameter
937
+ # based on the following guidelines. The value must be equal to or
938
+ # greater than the sum of the CPU limits for all containers in the
939
+ # group.
940
+ #
941
+ # @option params [required, Array<Types::ContainerDefinitionInput>] :container_definitions
942
+ # Definitions for all containers in this group. Each container
943
+ # definition identifies the container image and specifies configuration
944
+ # settings for the container. See the [ Container fleet design guide][1]
945
+ # for container guidelines.
946
+ #
947
+ #
948
+ #
949
+ # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-design-fleet.html
950
+ #
951
+ # @option params [required, String] :operating_system
952
+ # The platform that is used by containers in the container group
953
+ # definition. All containers in a group must run on the same operating
954
+ # system.
955
+ #
956
+ # @option params [Array<Types::Tag>] :tags
957
+ # A list of labels to assign to the container group definition resource.
958
+ # Tags are developer-defined key-value pairs. Tagging Amazon Web
959
+ # Services resources are useful for resource management, access
960
+ # management and cost allocation. For more information, see [ Tagging
961
+ # Amazon Web Services Resources][1] in the *Amazon Web Services General
962
+ # Reference*.
963
+ #
964
+ #
965
+ #
966
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
967
+ #
968
+ # @return [Types::CreateContainerGroupDefinitionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
969
+ #
970
+ # * {Types::CreateContainerGroupDefinitionOutput#container_group_definition #container_group_definition} => Types::ContainerGroupDefinition
971
+ #
972
+ # @example Request syntax with placeholder values
973
+ #
974
+ # resp = client.create_container_group_definition({
975
+ # name: "ContainerGroupDefinitionName", # required
976
+ # scheduling_strategy: "REPLICA", # accepts REPLICA, DAEMON
977
+ # total_memory_limit: 1, # required
978
+ # total_cpu_limit: 1, # required
979
+ # container_definitions: [ # required
980
+ # {
981
+ # container_name: "NonZeroAnd128MaxAsciiString", # required
982
+ # image_uri: "ImageUriString", # required
983
+ # memory_limits: {
984
+ # soft_limit: 1,
985
+ # hard_limit: 1,
986
+ # },
987
+ # port_configuration: {
988
+ # container_port_ranges: [ # required
989
+ # {
990
+ # from_port: 1, # required
991
+ # to_port: 1, # required
992
+ # protocol: "TCP", # required, accepts TCP, UDP
993
+ # },
994
+ # ],
995
+ # },
996
+ # cpu: 1,
997
+ # health_check: {
998
+ # command: ["NonZeroAnd255MaxString"], # required
999
+ # interval: 1,
1000
+ # timeout: 1,
1001
+ # retries: 1,
1002
+ # start_period: 1,
1003
+ # },
1004
+ # command: ["NonZeroAnd255MaxString"],
1005
+ # essential: false,
1006
+ # entry_point: ["NonZeroAndMaxString"],
1007
+ # working_directory: "NonZeroAnd255MaxString",
1008
+ # environment: [
1009
+ # {
1010
+ # name: "NonZeroAnd255MaxString", # required
1011
+ # value: "NonZeroAnd255MaxString", # required
1012
+ # },
1013
+ # ],
1014
+ # depends_on: [
1015
+ # {
1016
+ # container_name: "NonZeroAnd128MaxAsciiString", # required
1017
+ # condition: "START", # required, accepts START, COMPLETE, SUCCESS, HEALTHY
1018
+ # },
1019
+ # ],
1020
+ # },
1021
+ # ],
1022
+ # operating_system: "AMAZON_LINUX_2023", # required, accepts AMAZON_LINUX_2023
1023
+ # tags: [
1024
+ # {
1025
+ # key: "TagKey", # required
1026
+ # value: "TagValue", # required
1027
+ # },
1028
+ # ],
1029
+ # })
1030
+ #
1031
+ # @example Response structure
1032
+ #
1033
+ # resp.container_group_definition.container_group_definition_arn #=> String
1034
+ # resp.container_group_definition.creation_time #=> Time
1035
+ # resp.container_group_definition.operating_system #=> String, one of "AMAZON_LINUX_2023"
1036
+ # resp.container_group_definition.name #=> String
1037
+ # resp.container_group_definition.scheduling_strategy #=> String, one of "REPLICA", "DAEMON"
1038
+ # resp.container_group_definition.total_memory_limit #=> Integer
1039
+ # resp.container_group_definition.total_cpu_limit #=> Integer
1040
+ # resp.container_group_definition.container_definitions #=> Array
1041
+ # resp.container_group_definition.container_definitions[0].container_name #=> String
1042
+ # resp.container_group_definition.container_definitions[0].image_uri #=> String
1043
+ # resp.container_group_definition.container_definitions[0].resolved_image_digest #=> String
1044
+ # resp.container_group_definition.container_definitions[0].memory_limits.soft_limit #=> Integer
1045
+ # resp.container_group_definition.container_definitions[0].memory_limits.hard_limit #=> Integer
1046
+ # resp.container_group_definition.container_definitions[0].port_configuration.container_port_ranges #=> Array
1047
+ # resp.container_group_definition.container_definitions[0].port_configuration.container_port_ranges[0].from_port #=> Integer
1048
+ # resp.container_group_definition.container_definitions[0].port_configuration.container_port_ranges[0].to_port #=> Integer
1049
+ # resp.container_group_definition.container_definitions[0].port_configuration.container_port_ranges[0].protocol #=> String, one of "TCP", "UDP"
1050
+ # resp.container_group_definition.container_definitions[0].cpu #=> Integer
1051
+ # resp.container_group_definition.container_definitions[0].health_check.command #=> Array
1052
+ # resp.container_group_definition.container_definitions[0].health_check.command[0] #=> String
1053
+ # resp.container_group_definition.container_definitions[0].health_check.interval #=> Integer
1054
+ # resp.container_group_definition.container_definitions[0].health_check.timeout #=> Integer
1055
+ # resp.container_group_definition.container_definitions[0].health_check.retries #=> Integer
1056
+ # resp.container_group_definition.container_definitions[0].health_check.start_period #=> Integer
1057
+ # resp.container_group_definition.container_definitions[0].command #=> Array
1058
+ # resp.container_group_definition.container_definitions[0].command[0] #=> String
1059
+ # resp.container_group_definition.container_definitions[0].essential #=> Boolean
1060
+ # resp.container_group_definition.container_definitions[0].entry_point #=> Array
1061
+ # resp.container_group_definition.container_definitions[0].entry_point[0] #=> String
1062
+ # resp.container_group_definition.container_definitions[0].working_directory #=> String
1063
+ # resp.container_group_definition.container_definitions[0].environment #=> Array
1064
+ # resp.container_group_definition.container_definitions[0].environment[0].name #=> String
1065
+ # resp.container_group_definition.container_definitions[0].environment[0].value #=> String
1066
+ # resp.container_group_definition.container_definitions[0].depends_on #=> Array
1067
+ # resp.container_group_definition.container_definitions[0].depends_on[0].container_name #=> String
1068
+ # resp.container_group_definition.container_definitions[0].depends_on[0].condition #=> String, one of "START", "COMPLETE", "SUCCESS", "HEALTHY"
1069
+ # resp.container_group_definition.status #=> String, one of "READY", "COPYING", "FAILED"
1070
+ # resp.container_group_definition.status_reason #=> String
1071
+ #
1072
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateContainerGroupDefinition AWS API Documentation
1073
+ #
1074
+ # @overload create_container_group_definition(params = {})
1075
+ # @param [Hash] params ({})
1076
+ def create_container_group_definition(params = {}, options = {})
1077
+ req = build_request(:create_container_group_definition, params)
1078
+ req.send_request(options)
1079
+ end
1080
+
1081
+ # **This operation has been expanded to use with the Amazon GameLift
1082
+ # containers feature, which is currently in public preview.**
1083
+ #
1084
+ # Creates a fleet of compute resources to host your game servers. Use
1085
+ # this operation to set up the following types of fleets based on
1086
+ # compute type:
1087
+ #
1088
+ # **Managed EC2 fleet**
1089
+ #
1090
+ # An EC2 fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2)
1091
+ # instances. Your game server build is deployed to each fleet instance.
1092
+ # Amazon GameLift manages the fleet's instances and controls the
1093
+ # lifecycle of game server processes, which host game sessions for
1094
+ # players. EC2 fleets can have instances in multiple locations. Each
1095
+ # instance in the fleet is designated a `Compute`.
1096
+ #
1097
+ # To create an EC2 fleet, provide these required parameters:
1098
+ #
1099
+ # * Either `BuildId` or `ScriptId`
1100
+ #
1101
+ # * `ComputeType` set to `EC2` (the default value)
1102
+ #
1103
+ # * `EC2InboundPermissions`
1104
+ #
1105
+ # * `EC2InstanceType`
1106
+ #
1107
+ # * `FleetType`
1108
+ #
1109
+ # * `Name`
1110
+ #
1111
+ # * `RuntimeConfiguration` with at least one `ServerProcesses`
1112
+ # configuration
1113
+ #
1114
+ # If successful, this operation creates a new fleet resource and places
1115
+ # it in `NEW` status while Amazon GameLift initiates the [fleet creation
1116
+ # workflow][1]. To debug your fleet, fetch logs, view performance
1117
+ # metrics or other actions on the fleet, create a development fleet with
1118
+ # port 22/3389 open. As a best practice, we recommend opening ports for
858
1119
  # remote access only when you need them and closing them when you're
859
1120
  # finished.
860
1121
  #
861
- # If successful, this operation creates a new Fleet resource and places
862
- # it in `NEW` status, which prompts Amazon GameLift to initiate the
863
- # [fleet creation workflow][1]. You can track fleet creation by checking
864
- # fleet status using DescribeFleetAttributes and
865
- # DescribeFleetLocationAttributes/, or by monitoring fleet creation
866
- # events using DescribeFleetEvents.
1122
+ # When the fleet status is ACTIVE, you can adjust capacity settings and
1123
+ # turn autoscaling on/off for each location.
1124
+ #
1125
+ # **Managed container fleet**
1126
+ #
1127
+ # A container fleet is a set of Amazon Elastic Compute Cloud (Amazon
1128
+ # EC2) instances. Your container architecture is deployed to each fleet
1129
+ # instance based on the fleet configuration. Amazon GameLift manages the
1130
+ # containers on each fleet instance and controls the lifecycle of game
1131
+ # server processes, which host game sessions for players. Container
1132
+ # fleets can have instances in multiple locations. Each container on an
1133
+ # instance that runs game server processes is registered as a `Compute`.
1134
+ #
1135
+ # To create a container fleet, provide these required parameters:
1136
+ #
1137
+ # * `ComputeType` set to `CONTAINER`
1138
+ #
1139
+ # * `ContainerGroupsConfiguration`
1140
+ #
1141
+ # * `EC2InboundPermissions`
1142
+ #
1143
+ # * `EC2InstanceType`
1144
+ #
1145
+ # * `FleetType` set to `ON_DEMAND`
1146
+ #
1147
+ # * `Name`
1148
+ #
1149
+ # * `RuntimeConfiguration` with at least one `ServerProcesses`
1150
+ # configuration
1151
+ #
1152
+ # If successful, this operation creates a new fleet resource and places
1153
+ # it in `NEW` status while Amazon GameLift initiates the [fleet creation
1154
+ # workflow][1].
867
1155
  #
868
- # When the fleet status changes to `ACTIVE`, you can enable automatic
869
- # scaling with PutScalingPolicy and set capacity for the home Region
870
- # with UpdateFleetCapacity. When the status of each remote location
871
- # reaches `ACTIVE`, you can set capacity by location using
872
- # UpdateFleetCapacity.
1156
+ # When the fleet status is ACTIVE, you can adjust capacity settings and
1157
+ # turn autoscaling on/off for each location.
1158
+ #
1159
+ # **Anywhere fleet**
1160
+ #
1161
+ # An Anywhere fleet represents compute resources that are not owned or
1162
+ # managed by Amazon GameLift. You might create an Anywhere fleet with
1163
+ # your local machine for testing, or use one to host game servers with
1164
+ # on-premises hardware or other game hosting solutions.
1165
+ #
1166
+ # To create an Anywhere fleet, provide these required parameters:
1167
+ #
1168
+ # * `ComputeType` set to `ANYWHERE`
1169
+ #
1170
+ # * `Locations` specifying a custom location
1171
+ #
1172
+ # * `Name`
1173
+ #
1174
+ # If successful, this operation creates a new fleet resource and places
1175
+ # it in `ACTIVE` status. You can register computes with a fleet in
1176
+ # `ACTIVE` status.
873
1177
  #
874
1178
  # **Learn more**
875
1179
  #
876
1180
  # [Setting up fleets][2]
877
1181
  #
878
- # [Debug fleet creation issues][3]
1182
+ # [Setting up a container fleet][3]
1183
+ #
1184
+ # [Debug fleet creation issues][4]
879
1185
  #
880
1186
  # [Multi-location fleets][2]
881
1187
  #
@@ -883,7 +1189,8 @@ module Aws::GameLift
883
1189
  #
884
1190
  # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-all.html#fleets-creation-workflow
885
1191
  # [2]: https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html
886
- # [3]: https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html#fleets-creating-debug-creation
1192
+ # [3]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-build-fleet.html
1193
+ # [4]: https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html#fleets-creating-debug-creation
887
1194
  #
888
1195
  # @option params [required, String] :name
889
1196
  # A descriptive label that is associated with a fleet. Fleet names do
@@ -893,17 +1200,18 @@ module Aws::GameLift
893
1200
  # A description for the fleet.
894
1201
  #
895
1202
  # @option params [String] :build_id
896
- # The unique identifier for a custom game server build to be deployed on
897
- # fleet instances. You can use either the build ID or ARN. The build
898
- # must be uploaded to Amazon GameLift and in `READY` status. This fleet
899
- # property can't be changed after the fleet is created.
1203
+ # The unique identifier for a custom game server build to be deployed to
1204
+ # a fleet with compute type `EC2`. You can use either the build ID or
1205
+ # ARN. The build must be uploaded to Amazon GameLift and in `READY`
1206
+ # status. This fleet property can't be changed after the fleet is
1207
+ # created.
900
1208
  #
901
1209
  # @option params [String] :script_id
902
1210
  # The unique identifier for a Realtime configuration script to be
903
- # deployed on fleet instances. You can use either the script ID or ARN.
904
- # Scripts must be uploaded to Amazon GameLift prior to creating the
905
- # fleet. This fleet property can't be changed after the fleet is
906
- # created.
1211
+ # deployed to a fleet with compute type `EC2`. You can use either the
1212
+ # script ID or ARN. Scripts must be uploaded to Amazon GameLift prior to
1213
+ # creating the fleet. This fleet property can't be changed after the
1214
+ # fleet is created.
907
1215
  #
908
1216
  # @option params [String] :server_launch_path
909
1217
  # **This parameter is no longer used.** Specify a server launch path
@@ -928,9 +1236,9 @@ module Aws::GameLift
928
1236
  # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-initialize
929
1237
  #
930
1238
  # @option params [String] :ec2_instance_type
931
- # The Amazon GameLift-supported Amazon EC2 instance type to use for all
932
- # fleet instances. Instance type determines the computing resources that
933
- # will be used to host your game servers, including CPU, memory,
1239
+ # The Amazon GameLift-supported Amazon EC2 instance type to use with EC2
1240
+ # and container fleets. Instance type determines the computing resources
1241
+ # that will be used to host your game servers, including CPU, memory,
934
1242
  # storage, and networking capacity. See [Amazon Elastic Compute Cloud
935
1243
  # Instance Types][1] for detailed descriptions of Amazon EC2 instance
936
1244
  # types.
@@ -940,11 +1248,20 @@ module Aws::GameLift
940
1248
  # [1]: http://aws.amazon.com/ec2/instance-types/
941
1249
  #
942
1250
  # @option params [Array<Types::IpPermission>] :ec2_inbound_permissions
943
- # The allowed IP address ranges and port settings that allow inbound
944
- # traffic to access game sessions on this fleet. If the fleet is hosting
945
- # a custom game build, this property must be set before players can
946
- # connect to game sessions. For Realtime Servers fleets, Amazon GameLift
947
- # automatically sets TCP and UDP ranges.
1251
+ # The IP address ranges and port settings that allow inbound traffic to
1252
+ # access game server processes and other processes on this fleet. Set
1253
+ # this parameter for EC2 and container fleets. You can leave this
1254
+ # parameter empty when creating the fleet, but you must call
1255
+ # UpdateFleetPortSettings to set it before players can connect to game
1256
+ # sessions. As a best practice, we recommend opening ports for remote
1257
+ # access only when you need them and closing them when you're finished.
1258
+ # For Realtime Servers fleets, Amazon GameLift automatically sets TCP
1259
+ # and UDP ranges.
1260
+ #
1261
+ # To manage inbound access for a container fleet, set this parameter to
1262
+ # the same port numbers that you set for the fleet's connection port
1263
+ # range. During the life of the fleet, update this parameter to control
1264
+ # which connection ports are open to inbound traffic.
948
1265
  #
949
1266
  # @option params [String] :new_game_session_protection_policy
950
1267
  # The status of termination protection for active game sessions on the
@@ -960,14 +1277,15 @@ module Aws::GameLift
960
1277
  # terminated during a scale-down event.
961
1278
  #
962
1279
  # @option params [Types::RuntimeConfiguration] :runtime_configuration
963
- # Instructions for how to launch and maintain server processes on
964
- # instances in the fleet. The runtime configuration defines one or more
965
- # server process configurations, each identifying a build executable or
966
- # Realtime script file and the number of processes of that type to run
1280
+ # Instructions for how to launch and run server processes on the fleet.
1281
+ # Set runtime configuration for EC2 fleets and container fleets. For an
1282
+ # Anywhere fleets, set this parameter only if the fleet is running the
1283
+ # Amazon GameLift Agent. The runtime configuration defines one or more
1284
+ # server process configurations. Each server process identifies a game
1285
+ # executable or Realtime script file and the number of processes to run
967
1286
  # concurrently.
968
1287
  #
969
- # <note markdown="1"> The `RuntimeConfiguration` parameter is required unless the fleet is
970
- # being configured using the older parameters `ServerLaunchPath` and
1288
+ # <note markdown="1"> This parameter replaces the parameters `ServerLaunchPath` and
971
1289
  # `ServerLaunchParameters`, which are still supported for backward
972
1290
  # compatibility.
973
1291
  #
@@ -1059,11 +1377,11 @@ module Aws::GameLift
1059
1377
  # fleets in Amazon Web Services Regions that support multiple locations.
1060
1378
  # You can add any Amazon GameLift-supported Amazon Web Services Region
1061
1379
  # as a remote location, in the form of an Amazon Web Services Region
1062
- # code such as `us-west-2`. To create a fleet with instances in the home
1063
- # Region only, don't use this parameter.
1380
+ # code, such as `us-west-2` or Local Zone code. To create a fleet with
1381
+ # instances in the home Region only, don't set this parameter.
1064
1382
  #
1065
- # To use this parameter, Amazon GameLift requires you to use your home
1066
- # location in the request.
1383
+ # When using this parameter, Amazon GameLift requires you to include
1384
+ # your home location in the request.
1067
1385
  #
1068
1386
  # @option params [Array<Types::Tag>] :tags
1069
1387
  # A list of labels to assign to the new fleet resource. Tags are
@@ -1077,28 +1395,46 @@ module Aws::GameLift
1077
1395
  # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
1078
1396
  #
1079
1397
  # @option params [String] :compute_type
1080
- # The type of compute resource used to host your game servers. You can
1081
- # use your own compute resources with Amazon GameLift Anywhere or use
1082
- # Amazon EC2 instances with managed Amazon GameLift. By default, this
1083
- # property is set to `EC2`.
1398
+ # The type of compute resource used to host your game servers.
1399
+ #
1400
+ # * `EC2` The game server build is deployed to Amazon EC2 instances
1401
+ # for cloud hosting. This is the default setting.
1402
+ #
1403
+ # * `CONTAINER` – Container images with your game server build and
1404
+ # supporting software are deployed to Amazon EC2 instances for cloud
1405
+ # hosting. With this compute type, you must specify the
1406
+ # `ContainerGroupsConfiguration` parameter.
1407
+ #
1408
+ # * `ANYWHERE` – Game servers or container images with your game server
1409
+ # and supporting software are deployed to compute resources that are
1410
+ # provided and managed by you. With this compute type, you can also
1411
+ # set the `AnywhereConfiguration` parameter.
1084
1412
  #
1085
1413
  # @option params [Types::AnywhereConfiguration] :anywhere_configuration
1086
1414
  # Amazon GameLift Anywhere configuration options.
1087
1415
  #
1088
1416
  # @option params [String] :instance_role_credentials_provider
1089
1417
  # Prompts Amazon GameLift to generate a shared credentials file for the
1090
- # IAM role defined in `InstanceRoleArn`. The shared credentials file is
1091
- # stored on each fleet instance and refreshed as needed. Use shared
1092
- # credentials for applications that are deployed along with the game
1093
- # server executable, if the game server is integrated with server SDK
1094
- # version 5.x. For more information about using shared credentials, see
1095
- # [ Communicate with other Amazon Web Services resources from your
1418
+ # IAM role that's defined in `InstanceRoleArn`. The shared credentials
1419
+ # file is stored on each fleet instance and refreshed as needed. Use
1420
+ # shared credentials for applications that are deployed along with the
1421
+ # game server executable, if the game server is integrated with server
1422
+ # SDK version 5.x. For more information about using shared credentials,
1423
+ # see [ Communicate with other Amazon Web Services resources from your
1096
1424
  # fleets][1].
1097
1425
  #
1098
1426
  #
1099
1427
  #
1100
1428
  # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html
1101
1429
  #
1430
+ # @option params [Types::ContainerGroupsConfiguration] :container_groups_configuration
1431
+ # The container groups to deploy to instances in the container fleet and
1432
+ # other fleet-level configuration settings. Use the
1433
+ # CreateContainerGroupDefinition action to create container groups. A
1434
+ # container fleet must have exactly one replica container group, and can
1435
+ # optionally have one daemon container group. You can't change this
1436
+ # property after you create the fleet.
1437
+ #
1102
1438
  # @return [Types::CreateFleetOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1103
1439
  #
1104
1440
  # * {Types::CreateFleetOutput#fleet_attributes #fleet_attributes} => Types::FleetAttributes
@@ -1158,11 +1494,19 @@ module Aws::GameLift
1158
1494
  # value: "TagValue", # required
1159
1495
  # },
1160
1496
  # ],
1161
- # compute_type: "EC2", # accepts EC2, ANYWHERE
1497
+ # compute_type: "EC2", # accepts EC2, ANYWHERE, CONTAINER
1162
1498
  # anywhere_configuration: {
1163
1499
  # cost: "NonNegativeLimitedLengthDouble", # required
1164
1500
  # },
1165
1501
  # instance_role_credentials_provider: "SHARED_CREDENTIAL_FILE", # accepts SHARED_CREDENTIAL_FILE
1502
+ # container_groups_configuration: {
1503
+ # container_group_definition_names: ["ContainerGroupDefinitionNameOrArn"], # required
1504
+ # connection_port_range: { # required
1505
+ # from_port: 1, # required
1506
+ # to_port: 1, # required
1507
+ # },
1508
+ # desired_replica_container_groups_per_instance: 1,
1509
+ # },
1166
1510
  # })
1167
1511
  #
1168
1512
  # @example Response structure
@@ -1194,9 +1538,16 @@ module Aws::GameLift
1194
1538
  # resp.fleet_attributes.stopped_actions[0] #=> String, one of "AUTO_SCALING"
1195
1539
  # resp.fleet_attributes.instance_role_arn #=> String
1196
1540
  # resp.fleet_attributes.certificate_configuration.certificate_type #=> String, one of "DISABLED", "GENERATED"
1197
- # resp.fleet_attributes.compute_type #=> String, one of "EC2", "ANYWHERE"
1541
+ # resp.fleet_attributes.compute_type #=> String, one of "EC2", "ANYWHERE", "CONTAINER"
1198
1542
  # resp.fleet_attributes.anywhere_configuration.cost #=> String
1199
1543
  # resp.fleet_attributes.instance_role_credentials_provider #=> String, one of "SHARED_CREDENTIAL_FILE"
1544
+ # resp.fleet_attributes.container_groups_attributes.container_group_definition_properties #=> Array
1545
+ # resp.fleet_attributes.container_groups_attributes.container_group_definition_properties[0].scheduling_strategy #=> String, one of "REPLICA", "DAEMON"
1546
+ # resp.fleet_attributes.container_groups_attributes.container_group_definition_properties[0].container_group_definition_name #=> String
1547
+ # resp.fleet_attributes.container_groups_attributes.connection_port_range.from_port #=> Integer
1548
+ # resp.fleet_attributes.container_groups_attributes.connection_port_range.to_port #=> Integer
1549
+ # resp.fleet_attributes.container_groups_attributes.container_groups_per_instance.desired_replica_container_groups_per_instance #=> Integer
1550
+ # resp.fleet_attributes.container_groups_attributes.container_groups_per_instance.max_replica_container_groups_per_instance #=> Integer
1200
1551
  # resp.location_states #=> Array
1201
1552
  # resp.location_states[0].location #=> String
1202
1553
  # resp.location_states[0].status #=> String, one of "NEW", "DOWNLOADING", "VALIDATING", "BUILDING", "ACTIVATING", "ACTIVE", "DELETING", "ERROR", "TERMINATED", "NOT_FOUND"
@@ -1210,15 +1561,17 @@ module Aws::GameLift
1210
1561
  req.send_request(options)
1211
1562
  end
1212
1563
 
1213
- # Adds remote locations to a fleet and begins populating the new
1214
- # locations with EC2 instances. The new instances conform to the
1215
- # fleet's instance type, auto-scaling, and other configuration
1564
+ # **This operation has been expanded to use with the Amazon GameLift
1565
+ # containers feature, which is currently in public preview.**
1566
+ #
1567
+ # Adds remote locations to an EC2 or container fleet and begins
1568
+ # populating the new locations with instances. The new instances conform
1569
+ # to the fleet's instance type, auto-scaling, and other configuration
1216
1570
  # settings.
1217
1571
  #
1218
- # <note markdown="1"> This operation cannot be used with fleets that don't support remote
1219
- # locations. Fleets can have multiple locations only if they reside in
1220
- # Amazon Web Services Regions that support this feature and were created
1221
- # after the feature was released in March 2021.
1572
+ # <note markdown="1"> You can't add remote locations to a fleet that resides in an Amazon
1573
+ # Web Services Region that doesn't support multiple locations. Fleets
1574
+ # created prior to March 2021 can't support multiple locations.
1222
1575
  #
1223
1576
  # </note>
1224
1577
  #
@@ -2803,21 +3156,62 @@ module Aws::GameLift
2803
3156
  req.send_request(options)
2804
3157
  end
2805
3158
 
2806
- # Deletes all resources and information related a fleet. Any current
2807
- # fleet instances, including those in remote locations, are shut down.
2808
- # You don't need to call `DeleteFleetLocations` separately.
3159
+ # <b>This operation is used with the Amazon GameLift containers feature,
3160
+ # which is currently in public preview. </b>
3161
+ #
3162
+ # Deletes a container group definition resource. You can delete a
3163
+ # container group definition if there are no fleets using the
3164
+ # definition.
3165
+ #
3166
+ # To delete a container group definition, identify the resource to
3167
+ # delete.
3168
+ #
3169
+ # **Learn more**
3170
+ #
3171
+ # * [Manage a container group definition][1]
3172
+ #
3173
+ # ^
3174
+ #
3175
+ #
3176
+ #
3177
+ # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-create-groups.html
3178
+ #
3179
+ # @option params [required, String] :name
3180
+ # The unique identifier for the container group definition to delete.
3181
+ # You can use either the `Name` or `ARN` value.
3182
+ #
3183
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3184
+ #
3185
+ # @example Request syntax with placeholder values
3186
+ #
3187
+ # resp = client.delete_container_group_definition({
3188
+ # name: "ContainerGroupDefinitionNameOrArn", # required
3189
+ # })
3190
+ #
3191
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteContainerGroupDefinition AWS API Documentation
3192
+ #
3193
+ # @overload delete_container_group_definition(params = {})
3194
+ # @param [Hash] params ({})
3195
+ def delete_container_group_definition(params = {}, options = {})
3196
+ req = build_request(:delete_container_group_definition, params)
3197
+ req.send_request(options)
3198
+ end
3199
+
3200
+ # Deletes all resources and information related to a fleet and shuts
3201
+ # down any currently running fleet instances, including those in remote
3202
+ # locations.
2809
3203
  #
2810
3204
  # <note markdown="1"> If the fleet being deleted has a VPC peering connection, you first
2811
3205
  # need to get a valid authorization (good for 24 hours) by calling
2812
- # [CreateVpcPeeringAuthorization][1]. You do not need to explicitly
3206
+ # [CreateVpcPeeringAuthorization][1]. You don't need to explicitly
2813
3207
  # delete the VPC peering connection.
2814
3208
  #
2815
3209
  # </note>
2816
3210
  #
2817
3211
  # To delete a fleet, specify the fleet ID to be terminated. During the
2818
- # deletion process the fleet status is changed to `DELETING`. When
3212
+ # deletion process, the fleet status is changed to `DELETING`. When
2819
3213
  # completed, the status switches to `TERMINATED` and the fleet event
2820
- # `FLEET_DELETED` is sent.
3214
+ # `FLEET_DELETED` is emitted.
2821
3215
  #
2822
3216
  # **Learn more**
2823
3217
  #
@@ -3295,17 +3689,31 @@ module Aws::GameLift
3295
3689
  req.send_request(options)
3296
3690
  end
3297
3691
 
3298
- # Removes a compute resource from an Amazon GameLift Anywhere fleet.
3299
- # Deregistered computes can no longer host game sessions through Amazon
3300
- # GameLift.
3692
+ # **This operation has been expanded to use with the Amazon GameLift
3693
+ # containers feature, which is currently in public preview.**
3694
+ #
3695
+ # Removes a compute resource from an Amazon GameLift Anywhere fleet or
3696
+ # container fleet. Deregistered computes can no longer host game
3697
+ # sessions through Amazon GameLift.
3698
+ #
3699
+ # For an Anywhere fleet or a container fleet that's running the Amazon
3700
+ # GameLift Agent, the Agent handles all compute registry tasks for you.
3701
+ # For an Anywhere fleet that doesn't use the Agent, call this operation
3702
+ # to deregister fleet computes.
3703
+ #
3704
+ # To deregister a compute, call this operation from the compute that's
3705
+ # being deregistered and specify the compute name and the fleet ID.
3301
3706
  #
3302
3707
  # @option params [required, String] :fleet_id
3303
3708
  # A unique identifier for the fleet the compute resource is currently
3304
3709
  # registered to.
3305
3710
  #
3306
3711
  # @option params [required, String] :compute_name
3307
- # The name of the compute resource to remove from the specified Anywhere
3308
- # fleet.
3712
+ # The unique identifier of the compute resource to deregister. For an
3713
+ # Anywhere fleet compute, use the registered compute name. For a
3714
+ # container fleet, use the compute name (for example,
3715
+ # `a123b456c789012d3e4567f8a901b23c/1a234b56-7cd8-9e0f-a1b2-c34d567ef8a9`)
3716
+ # or the compute ARN.
3309
3717
  #
3310
3718
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3311
3719
  #
@@ -3470,26 +3878,40 @@ module Aws::GameLift
3470
3878
  req.send_request(options)
3471
3879
  end
3472
3880
 
3881
+ # **This operation has been expanded to use with the Amazon GameLift
3882
+ # containers feature, which is currently in public preview.**
3883
+ #
3473
3884
  # Retrieves properties for a compute resource in an Amazon GameLift
3474
- # fleet. Call ListCompute to get a list of compute resources in a fleet.
3475
- # You can request information for computes in either managed EC2 fleets
3476
- # or Anywhere fleets.
3885
+ # fleet. To get a list of all computes in a fleet, call ListCompute.
3477
3886
  #
3478
- # To request compute properties, specify the compute name and fleet ID.
3887
+ # To request information on a specific compute, provide the fleet ID and
3888
+ # compute name.
3479
3889
  #
3480
3890
  # If successful, this operation returns details for the requested
3481
- # compute resource. For managed EC2 fleets, this operation returns the
3482
- # fleet's EC2 instances. For Anywhere fleets, this operation returns
3483
- # the fleet's registered computes.
3891
+ # compute resource. Depending on the fleet's compute type, the result
3892
+ # includes the following information:
3893
+ #
3894
+ # * For `EC2` fleets, this operation returns information about the EC2
3895
+ # instance.
3896
+ #
3897
+ # * For `ANYWHERE` fleets, this operation returns information about the
3898
+ # registered compute.
3899
+ #
3900
+ # * For `CONTAINER` fleets, this operation returns information about the
3901
+ # container that's registered as a compute, and the instance it's
3902
+ # running on. The compute name is the container name.
3484
3903
  #
3485
3904
  # @option params [required, String] :fleet_id
3486
- # A unique identifier for the fleet that the compute is registered to.
3487
- # You can use either the fleet ID or ARN value.
3905
+ # A unique identifier for the fleet that the compute belongs to. You can
3906
+ # use either the fleet ID or ARN value.
3488
3907
  #
3489
3908
  # @option params [required, String] :compute_name
3490
3909
  # The unique identifier of the compute resource to retrieve properties
3491
3910
  # for. For an Anywhere fleet compute, use the registered compute name.
3492
- # For a managed EC2 fleet instance, use the instance ID.
3911
+ # For an EC2 fleet instance, use the instance ID. For a container fleet,
3912
+ # use the compute name (for example,
3913
+ # `a123b456c789012d3e4567f8a901b23c/1a234b56-7cd8-9e0f-a1b2-c34d567ef8a9`)
3914
+ # or the compute ARN.
3493
3915
  #
3494
3916
  # @return [Types::DescribeComputeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3495
3917
  #
@@ -3516,6 +3938,12 @@ module Aws::GameLift
3516
3938
  # resp.compute.operating_system #=> String, one of "WINDOWS_2012", "AMAZON_LINUX", "AMAZON_LINUX_2", "WINDOWS_2016", "AMAZON_LINUX_2023"
3517
3939
  # resp.compute.type #=> String, one of "t2.micro", "t2.small", "t2.medium", "t2.large", "c3.large", "c3.xlarge", "c3.2xlarge", "c3.4xlarge", "c3.8xlarge", "c4.large", "c4.xlarge", "c4.2xlarge", "c4.4xlarge", "c4.8xlarge", "c5.large", "c5.xlarge", "c5.2xlarge", "c5.4xlarge", "c5.9xlarge", "c5.12xlarge", "c5.18xlarge", "c5.24xlarge", "c5a.large", "c5a.xlarge", "c5a.2xlarge", "c5a.4xlarge", "c5a.8xlarge", "c5a.12xlarge", "c5a.16xlarge", "c5a.24xlarge", "r3.large", "r3.xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", "r4.large", "r4.xlarge", "r4.2xlarge", "r4.4xlarge", "r4.8xlarge", "r4.16xlarge", "r5.large", "r5.xlarge", "r5.2xlarge", "r5.4xlarge", "r5.8xlarge", "r5.12xlarge", "r5.16xlarge", "r5.24xlarge", "r5a.large", "r5a.xlarge", "r5a.2xlarge", "r5a.4xlarge", "r5a.8xlarge", "r5a.12xlarge", "r5a.16xlarge", "r5a.24xlarge", "m3.medium", "m3.large", "m3.xlarge", "m3.2xlarge", "m4.large", "m4.xlarge", "m4.2xlarge", "m4.4xlarge", "m4.10xlarge", "m5.large", "m5.xlarge", "m5.2xlarge", "m5.4xlarge", "m5.8xlarge", "m5.12xlarge", "m5.16xlarge", "m5.24xlarge", "m5a.large", "m5a.xlarge", "m5a.2xlarge", "m5a.4xlarge", "m5a.8xlarge", "m5a.12xlarge", "m5a.16xlarge", "m5a.24xlarge", "c5d.large", "c5d.xlarge", "c5d.2xlarge", "c5d.4xlarge", "c5d.9xlarge", "c5d.12xlarge", "c5d.18xlarge", "c5d.24xlarge", "c6a.large", "c6a.xlarge", "c6a.2xlarge", "c6a.4xlarge", "c6a.8xlarge", "c6a.12xlarge", "c6a.16xlarge", "c6a.24xlarge", "c6i.large", "c6i.xlarge", "c6i.2xlarge", "c6i.4xlarge", "c6i.8xlarge", "c6i.12xlarge", "c6i.16xlarge", "c6i.24xlarge", "r5d.large", "r5d.xlarge", "r5d.2xlarge", "r5d.4xlarge", "r5d.8xlarge", "r5d.12xlarge", "r5d.16xlarge", "r5d.24xlarge", "m6g.medium", "m6g.large", "m6g.xlarge", "m6g.2xlarge", "m6g.4xlarge", "m6g.8xlarge", "m6g.12xlarge", "m6g.16xlarge", "c6g.medium", "c6g.large", "c6g.xlarge", "c6g.2xlarge", "c6g.4xlarge", "c6g.8xlarge", "c6g.12xlarge", "c6g.16xlarge", "r6g.medium", "r6g.large", "r6g.xlarge", "r6g.2xlarge", "r6g.4xlarge", "r6g.8xlarge", "r6g.12xlarge", "r6g.16xlarge", "c6gn.medium", "c6gn.large", "c6gn.xlarge", "c6gn.2xlarge", "c6gn.4xlarge", "c6gn.8xlarge", "c6gn.12xlarge", "c6gn.16xlarge", "c7g.medium", "c7g.large", "c7g.xlarge", "c7g.2xlarge", "c7g.4xlarge", "c7g.8xlarge", "c7g.12xlarge", "c7g.16xlarge", "r7g.medium", "r7g.large", "r7g.xlarge", "r7g.2xlarge", "r7g.4xlarge", "r7g.8xlarge", "r7g.12xlarge", "r7g.16xlarge", "m7g.medium", "m7g.large", "m7g.xlarge", "m7g.2xlarge", "m7g.4xlarge", "m7g.8xlarge", "m7g.12xlarge", "m7g.16xlarge", "g5g.xlarge", "g5g.2xlarge", "g5g.4xlarge", "g5g.8xlarge", "g5g.16xlarge"
3518
3940
  # resp.compute.game_lift_service_sdk_endpoint #=> String
3941
+ # resp.compute.game_lift_agent_endpoint #=> String
3942
+ # resp.compute.instance_id #=> String
3943
+ # resp.compute.container_attributes.container_port_mappings #=> Array
3944
+ # resp.compute.container_attributes.container_port_mappings[0].container_port #=> Integer
3945
+ # resp.compute.container_attributes.container_port_mappings[0].connection_port #=> Integer
3946
+ # resp.compute.container_attributes.container_port_mappings[0].protocol #=> String, one of "TCP", "UDP"
3519
3947
  #
3520
3948
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeCompute AWS API Documentation
3521
3949
  #
@@ -3526,6 +3954,90 @@ module Aws::GameLift
3526
3954
  req.send_request(options)
3527
3955
  end
3528
3956
 
3957
+ # <b>This operation is used with the Amazon GameLift containers feature,
3958
+ # which is currently in public preview. </b>
3959
+ #
3960
+ # Retrieves the properties of a container group definition, including
3961
+ # all container definitions in the group.
3962
+ #
3963
+ # To retrieve a container group definition, provide a resource
3964
+ # identifier. If successful, this operation returns the complete
3965
+ # properties of the container group definition.
3966
+ #
3967
+ # **Learn more**
3968
+ #
3969
+ # * [Manage a container group definition][1]
3970
+ #
3971
+ # ^
3972
+ #
3973
+ #
3974
+ #
3975
+ # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-create-groups.html
3976
+ #
3977
+ # @option params [required, String] :name
3978
+ # The unique identifier for the container group definition to retrieve
3979
+ # properties for. You can use either the `Name` or `ARN` value.
3980
+ #
3981
+ # @return [Types::DescribeContainerGroupDefinitionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3982
+ #
3983
+ # * {Types::DescribeContainerGroupDefinitionOutput#container_group_definition #container_group_definition} => Types::ContainerGroupDefinition
3984
+ #
3985
+ # @example Request syntax with placeholder values
3986
+ #
3987
+ # resp = client.describe_container_group_definition({
3988
+ # name: "ContainerGroupDefinitionNameOrArn", # required
3989
+ # })
3990
+ #
3991
+ # @example Response structure
3992
+ #
3993
+ # resp.container_group_definition.container_group_definition_arn #=> String
3994
+ # resp.container_group_definition.creation_time #=> Time
3995
+ # resp.container_group_definition.operating_system #=> String, one of "AMAZON_LINUX_2023"
3996
+ # resp.container_group_definition.name #=> String
3997
+ # resp.container_group_definition.scheduling_strategy #=> String, one of "REPLICA", "DAEMON"
3998
+ # resp.container_group_definition.total_memory_limit #=> Integer
3999
+ # resp.container_group_definition.total_cpu_limit #=> Integer
4000
+ # resp.container_group_definition.container_definitions #=> Array
4001
+ # resp.container_group_definition.container_definitions[0].container_name #=> String
4002
+ # resp.container_group_definition.container_definitions[0].image_uri #=> String
4003
+ # resp.container_group_definition.container_definitions[0].resolved_image_digest #=> String
4004
+ # resp.container_group_definition.container_definitions[0].memory_limits.soft_limit #=> Integer
4005
+ # resp.container_group_definition.container_definitions[0].memory_limits.hard_limit #=> Integer
4006
+ # resp.container_group_definition.container_definitions[0].port_configuration.container_port_ranges #=> Array
4007
+ # resp.container_group_definition.container_definitions[0].port_configuration.container_port_ranges[0].from_port #=> Integer
4008
+ # resp.container_group_definition.container_definitions[0].port_configuration.container_port_ranges[0].to_port #=> Integer
4009
+ # resp.container_group_definition.container_definitions[0].port_configuration.container_port_ranges[0].protocol #=> String, one of "TCP", "UDP"
4010
+ # resp.container_group_definition.container_definitions[0].cpu #=> Integer
4011
+ # resp.container_group_definition.container_definitions[0].health_check.command #=> Array
4012
+ # resp.container_group_definition.container_definitions[0].health_check.command[0] #=> String
4013
+ # resp.container_group_definition.container_definitions[0].health_check.interval #=> Integer
4014
+ # resp.container_group_definition.container_definitions[0].health_check.timeout #=> Integer
4015
+ # resp.container_group_definition.container_definitions[0].health_check.retries #=> Integer
4016
+ # resp.container_group_definition.container_definitions[0].health_check.start_period #=> Integer
4017
+ # resp.container_group_definition.container_definitions[0].command #=> Array
4018
+ # resp.container_group_definition.container_definitions[0].command[0] #=> String
4019
+ # resp.container_group_definition.container_definitions[0].essential #=> Boolean
4020
+ # resp.container_group_definition.container_definitions[0].entry_point #=> Array
4021
+ # resp.container_group_definition.container_definitions[0].entry_point[0] #=> String
4022
+ # resp.container_group_definition.container_definitions[0].working_directory #=> String
4023
+ # resp.container_group_definition.container_definitions[0].environment #=> Array
4024
+ # resp.container_group_definition.container_definitions[0].environment[0].name #=> String
4025
+ # resp.container_group_definition.container_definitions[0].environment[0].value #=> String
4026
+ # resp.container_group_definition.container_definitions[0].depends_on #=> Array
4027
+ # resp.container_group_definition.container_definitions[0].depends_on[0].container_name #=> String
4028
+ # resp.container_group_definition.container_definitions[0].depends_on[0].condition #=> String, one of "START", "COMPLETE", "SUCCESS", "HEALTHY"
4029
+ # resp.container_group_definition.status #=> String, one of "READY", "COPYING", "FAILED"
4030
+ # resp.container_group_definition.status_reason #=> String
4031
+ #
4032
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeContainerGroupDefinition AWS API Documentation
4033
+ #
4034
+ # @overload describe_container_group_definition(params = {})
4035
+ # @param [Hash] params ({})
4036
+ def describe_container_group_definition(params = {}, options = {})
4037
+ req = build_request(:describe_container_group_definition, params)
4038
+ req.send_request(options)
4039
+ end
4040
+
3529
4041
  # Retrieves the instance limits and current utilization for an Amazon
3530
4042
  # Web Services Region or location. Instance limits control the number of
3531
4043
  # instances, per instance type, per location, that your Amazon Web
@@ -3624,13 +4136,17 @@ module Aws::GameLift
3624
4136
  req.send_request(options)
3625
4137
  end
3626
4138
 
3627
- # Retrieves core fleet-wide properties, including the computing hardware
3628
- # and deployment configuration for all instances in the fleet.
4139
+ # **This operation has been expanded to use with the Amazon GameLift
4140
+ # containers feature, which is currently in public preview.**
3629
4141
  #
3630
- # This operation can be used in the following ways:
4142
+ # Retrieves core fleet-wide properties for fleets in an Amazon Web
4143
+ # Services Region. Properties include the computing hardware and
4144
+ # deployment configuration for instances in the fleet.
3631
4145
  #
3632
- # * To get attributes for one or more specific fleets, provide a list of
3633
- # fleet IDs or fleet ARNs.
4146
+ # You can use this operation in the following ways:
4147
+ #
4148
+ # * To get attributes for specific fleets, provide a list of fleet IDs
4149
+ # or fleet ARNs.
3634
4150
  #
3635
4151
  # * To get attributes for all fleets, do not provide a fleet identifier.
3636
4152
  #
@@ -3717,9 +4233,16 @@ module Aws::GameLift
3717
4233
  # resp.fleet_attributes[0].stopped_actions[0] #=> String, one of "AUTO_SCALING"
3718
4234
  # resp.fleet_attributes[0].instance_role_arn #=> String
3719
4235
  # resp.fleet_attributes[0].certificate_configuration.certificate_type #=> String, one of "DISABLED", "GENERATED"
3720
- # resp.fleet_attributes[0].compute_type #=> String, one of "EC2", "ANYWHERE"
4236
+ # resp.fleet_attributes[0].compute_type #=> String, one of "EC2", "ANYWHERE", "CONTAINER"
3721
4237
  # resp.fleet_attributes[0].anywhere_configuration.cost #=> String
3722
4238
  # resp.fleet_attributes[0].instance_role_credentials_provider #=> String, one of "SHARED_CREDENTIAL_FILE"
4239
+ # resp.fleet_attributes[0].container_groups_attributes.container_group_definition_properties #=> Array
4240
+ # resp.fleet_attributes[0].container_groups_attributes.container_group_definition_properties[0].scheduling_strategy #=> String, one of "REPLICA", "DAEMON"
4241
+ # resp.fleet_attributes[0].container_groups_attributes.container_group_definition_properties[0].container_group_definition_name #=> String
4242
+ # resp.fleet_attributes[0].container_groups_attributes.connection_port_range.from_port #=> Integer
4243
+ # resp.fleet_attributes[0].container_groups_attributes.connection_port_range.to_port #=> Integer
4244
+ # resp.fleet_attributes[0].container_groups_attributes.container_groups_per_instance.desired_replica_container_groups_per_instance #=> Integer
4245
+ # resp.fleet_attributes[0].container_groups_attributes.container_groups_per_instance.max_replica_container_groups_per_instance #=> Integer
3723
4246
  # resp.next_token #=> String
3724
4247
  #
3725
4248
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetAttributes AWS API Documentation
@@ -3731,11 +4254,16 @@ module Aws::GameLift
3731
4254
  req.send_request(options)
3732
4255
  end
3733
4256
 
3734
- # Retrieves the resource capacity settings for one or more fleets. The
3735
- # data returned includes the current fleet capacity (number of EC2
3736
- # instances), and settings that can control how capacity scaling. For
3737
- # fleets with remote locations, this operation retrieves data for the
3738
- # fleet's home Region only.
4257
+ # **This operation has been expanded to use with the Amazon GameLift
4258
+ # containers feature, which is currently in public preview.**
4259
+ #
4260
+ # Retrieves the resource capacity settings for one or more fleets. For a
4261
+ # container fleet, this operation also returns counts for replica
4262
+ # container groups.
4263
+ #
4264
+ # With multi-location fleets, this operation retrieves data for the
4265
+ # fleet's home Region only. To retrieve capacity for remote locations,
4266
+ # see DescribeFleetLocationCapacity.
3739
4267
  #
3740
4268
  # This operation can be used in the following ways:
3741
4269
  #
@@ -3749,10 +4277,9 @@ module Aws::GameLift
3749
4277
  # retrieve results as a set of sequential pages.
3750
4278
  #
3751
4279
  # If successful, a `FleetCapacity` object is returned for each requested
3752
- # fleet ID. Each FleetCapacity object includes a `Location` property,
3753
- # which is set to the fleet's home Region. When a list of fleet IDs is
3754
- # provided, attribute objects are returned only for fleets that
3755
- # currently exist.
4280
+ # fleet ID. Each `FleetCapacity` object includes a `Location` property,
4281
+ # which is set to the fleet's home Region. Capacity values are returned
4282
+ # only for fleets that currently exist.
3756
4283
  #
3757
4284
  # <note markdown="1"> Some API operations may limit the number of fleet IDs that are allowed
3758
4285
  # in one request. If a request exceeds this limit, the request fails and
@@ -3818,6 +4345,10 @@ module Aws::GameLift
3818
4345
  # resp.fleet_capacity[0].instance_counts.idle #=> Integer
3819
4346
  # resp.fleet_capacity[0].instance_counts.terminating #=> Integer
3820
4347
  # resp.fleet_capacity[0].location #=> String
4348
+ # resp.fleet_capacity[0].replica_container_group_counts.pending #=> Integer
4349
+ # resp.fleet_capacity[0].replica_container_group_counts.active #=> Integer
4350
+ # resp.fleet_capacity[0].replica_container_group_counts.idle #=> Integer
4351
+ # resp.fleet_capacity[0].replica_container_group_counts.terminating #=> Integer
3821
4352
  # resp.next_token #=> String
3822
4353
  #
3823
4354
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetCapacity AWS API Documentation
@@ -3902,6 +4433,7 @@ module Aws::GameLift
3902
4433
  # resp.events[0].message #=> String
3903
4434
  # resp.events[0].event_time #=> Time
3904
4435
  # resp.events[0].pre_signed_log_url #=> String
4436
+ # resp.events[0].count #=> Integer
3905
4437
  # resp.next_token #=> String
3906
4438
  #
3907
4439
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetEvents AWS API Documentation
@@ -4003,10 +4535,13 @@ module Aws::GameLift
4003
4535
 
4004
4536
  # Retrieves the resource capacity settings for a fleet location. The
4005
4537
  # data returned includes the current capacity (number of EC2 instances)
4006
- # and some scaling settings for the requested fleet location. Use this
4007
- # operation to retrieve capacity information for a fleet's remote
4008
- # location or home Region (you can also retrieve home Region capacity by
4009
- # calling `DescribeFleetCapacity`).
4538
+ # and some scaling settings for the requested fleet location. For a
4539
+ # container fleet, this operation also returns counts for replica
4540
+ # container groups.
4541
+ #
4542
+ # Use this operation to retrieve capacity information for a fleet's
4543
+ # remote location or home Region (you can also retrieve home Region
4544
+ # capacity by calling `DescribeFleetCapacity`).
4010
4545
  #
4011
4546
  # To retrieve capacity data, identify a fleet and location.
4012
4547
  #
@@ -4057,6 +4592,10 @@ module Aws::GameLift
4057
4592
  # resp.fleet_capacity.instance_counts.idle #=> Integer
4058
4593
  # resp.fleet_capacity.instance_counts.terminating #=> Integer
4059
4594
  # resp.fleet_capacity.location #=> String
4595
+ # resp.fleet_capacity.replica_container_group_counts.pending #=> Integer
4596
+ # resp.fleet_capacity.replica_container_group_counts.active #=> Integer
4597
+ # resp.fleet_capacity.replica_container_group_counts.idle #=> Integer
4598
+ # resp.fleet_capacity.replica_container_group_counts.terminating #=> Integer
4060
4599
  #
4061
4600
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetLocationCapacity AWS API Documentation
4062
4601
  #
@@ -4129,24 +4668,26 @@ module Aws::GameLift
4129
4668
  end
4130
4669
 
4131
4670
  # Retrieves a fleet's inbound connection permissions. Connection
4132
- # permissions specify the range of IP addresses and port settings that
4133
- # incoming traffic can use to access server processes in the fleet. Game
4134
- # sessions that are running on instances in the fleet must use
4135
- # connections that fall in this range.
4671
+ # permissions specify IP addresses and port settings that incoming
4672
+ # traffic can use to access server processes in the fleet. Game server
4673
+ # processes that are running in the fleet must use a port that falls
4674
+ # within this range. To connect to game server processes on a container
4675
+ # fleet, the port settings should include one or more of the fleet's
4676
+ # connection ports.
4136
4677
  #
4137
- # This operation can be used in the following ways:
4678
+ # Use this operation in the following ways:
4138
4679
  #
4139
- # * To retrieve the inbound connection permissions for a fleet, identify
4140
- # the fleet's unique identifier.
4680
+ # * To retrieve the port settings for a fleet, identify the fleet's
4681
+ # unique identifier.
4141
4682
  #
4142
4683
  # * To check the status of recent updates to a fleet remote location,
4143
4684
  # specify the fleet ID and a location. Port setting updates can take
4144
4685
  # time to propagate across all locations.
4145
4686
  #
4146
4687
  # If successful, a set of `IpPermission` objects is returned for the
4147
- # requested fleet ID. When a location is specified, a pending status is
4148
- # included. If the requested fleet has been deleted, the result set is
4149
- # empty.
4688
+ # requested fleet ID. When specifying a location, this operation returns
4689
+ # a pending status. If the requested fleet has been deleted, the result
4690
+ # set is empty.
4150
4691
  #
4151
4692
  # **Learn more**
4152
4693
  #
@@ -5354,11 +5895,16 @@ module Aws::GameLift
5354
5895
  end
5355
5896
 
5356
5897
  # Retrieves a fleet's runtime configuration settings. The runtime
5357
- # configuration tells Amazon GameLift which server processes to run (and
5358
- # how) on each instance in the fleet.
5898
+ # configuration determines which server processes run, and how, on
5899
+ # computes in the fleet. For managed EC2 fleets, the runtime
5900
+ # configuration describes server processes that run on each fleet
5901
+ # instance. For container fleets, the runtime configuration describes
5902
+ # server processes that run in each replica container group. You can
5903
+ # update a fleet's runtime configuration at any time using
5904
+ # UpdateRuntimeConfiguration.
5359
5905
  #
5360
- # To get the runtime configuration that is currently in forces for a
5361
- # fleet, provide the fleet ID.
5906
+ # To get the current runtime configuration for a fleet, provide the
5907
+ # fleet ID.
5362
5908
  #
5363
5909
  # If successful, a `RuntimeConfiguration` object is returned for the
5364
5910
  # requested fleet. If the requested fleet has been deleted, the result
@@ -5646,41 +6192,57 @@ module Aws::GameLift
5646
6192
  req.send_request(options)
5647
6193
  end
5648
6194
 
5649
- # Requests authorization to remotely connect to a compute resource in an
5650
- # Amazon GameLift fleet. Call this action to connect to an instance in a
5651
- # managed EC2 fleet if the fleet's game build uses Amazon GameLift
5652
- # server SDK 5.x or later. To connect to instances with game builds that
5653
- # use server SDK 4.x or earlier, call GetInstanceAccess.
6195
+ # **This operation has been expanded to use with the Amazon GameLift
6196
+ # containers feature, which is currently in public preview.**
5654
6197
  #
5655
- # To request access to a compute, identify the specific EC2 instance and
5656
- # the fleet it belongs to. You can retrieve instances for a managed EC2
5657
- # fleet by calling ListCompute.
6198
+ # Requests authorization to remotely connect to a hosting resource in a
6199
+ # Amazon GameLift managed fleet. This operation is not used with Amazon
6200
+ # GameLift Anywhere fleets
5658
6201
  #
5659
- # If successful, this operation returns a set of temporary Amazon Web
6202
+ # To request access, specify the compute name and the fleet ID. If
6203
+ # successful, this operation returns a set of temporary Amazon Web
5660
6204
  # Services credentials, including a two-part access key and a session
5661
- # token. Use these credentials with Amazon EC2 Systems Manager (SSM) to
5662
- # start a session with the compute. For more details, see [ Starting a
5663
- # session (CLI)][1] in the *Amazon EC2 Systems Manager User Guide*.
6205
+ # token.
6206
+ #
6207
+ # **EC2 fleets**
6208
+ #
6209
+ # With an EC2 fleet (where compute type is `EC2`), use these credentials
6210
+ # with Amazon EC2 Systems Manager (SSM) to start a session with the
6211
+ # compute. For more details, see [ Starting a session (CLI)][1] in the
6212
+ # *Amazon EC2 Systems Manager User Guide*.
6213
+ #
6214
+ # **Container fleets**
6215
+ #
6216
+ # With a container fleet (where compute type is `CONTAINER`), use these
6217
+ # credentials and the target value with SSM to connect to the fleet
6218
+ # instance where the container is running. After you're connected to
6219
+ # the instance, use Docker commands to interact with the container.
5664
6220
  #
5665
6221
  # **Learn more**
5666
6222
  #
5667
- # [Remotely connect to fleet instances][2]
6223
+ # * [Remotely connect to fleet instances][2]
5668
6224
  #
5669
- # [Debug fleet issues][3]
6225
+ # * [Debug fleet issues][3]
6226
+ #
6227
+ # * [ Remotely connect to a container fleet][4]
5670
6228
  #
5671
6229
  #
5672
6230
  #
5673
6231
  # [1]: https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-sessions-start.html#sessions-start-cli
5674
6232
  # [2]: https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-remote-access.html
5675
6233
  # [3]: https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html
6234
+ # [4]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-remote-access.html
5676
6235
  #
5677
6236
  # @option params [required, String] :fleet_id
5678
- # A unique identifier for the fleet that contains the compute resource
6237
+ # A unique identifier for the fleet that holds the compute resource that
5679
6238
  # you want to connect to. You can use either the fleet ID or ARN value.
5680
6239
  #
5681
6240
  # @option params [required, String] :compute_name
5682
6241
  # A unique identifier for the compute resource that you want to connect
5683
- # to. You can use either a registered compute name or an instance ID.
6242
+ # to. For an EC2 fleet compute, use the instance ID. For a container
6243
+ # fleet, use the compute name (for example,
6244
+ # `a123b456c789012d3e4567f8a901b23c/1a234b56-7cd8-9e0f-a1b2-c34d567ef8a9`)
6245
+ # or the compute ARN.
5684
6246
  #
5685
6247
  # @return [Types::GetComputeAccessOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5686
6248
  #
@@ -5689,6 +6251,7 @@ module Aws::GameLift
5689
6251
  # * {Types::GetComputeAccessOutput#compute_name #compute_name} => String
5690
6252
  # * {Types::GetComputeAccessOutput#compute_arn #compute_arn} => String
5691
6253
  # * {Types::GetComputeAccessOutput#credentials #credentials} => Types::AwsCredentials
6254
+ # * {Types::GetComputeAccessOutput#target #target} => String
5692
6255
  #
5693
6256
  # @example Request syntax with placeholder values
5694
6257
  #
@@ -5706,6 +6269,7 @@ module Aws::GameLift
5706
6269
  # resp.credentials.access_key_id #=> String
5707
6270
  # resp.credentials.secret_access_key #=> String
5708
6271
  # resp.credentials.session_token #=> String
6272
+ # resp.target #=> String
5709
6273
  #
5710
6274
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetComputeAccess AWS API Documentation
5711
6275
  #
@@ -5716,15 +6280,26 @@ module Aws::GameLift
5716
6280
  req.send_request(options)
5717
6281
  end
5718
6282
 
5719
- # Requests an authentication token from Amazon GameLift for a registered
5720
- # compute in an Anywhere fleet. The game servers that are running on the
5721
- # compute use this token to authenticate with the Amazon GameLift
5722
- # service. Each server process must provide a valid authentication token
5723
- # in its call to the Amazon GameLift server SDK action `InitSDK()`.
5724
- #
5725
- # Authentication tokens are valid for a limited time span. Use a
5726
- # mechanism to regularly request a fresh authentication token before the
5727
- # current token expires.
6283
+ # Requests an authentication token from Amazon GameLift for a compute
6284
+ # resource in an Amazon GameLift Anywhere fleet or container fleet. Game
6285
+ # servers that are running on the compute use this token to communicate
6286
+ # with the Amazon GameLift service, such as when calling the Amazon
6287
+ # GameLift server SDK action `InitSDK()`. Authentication tokens are
6288
+ # valid for a limited time span, so you need to request a fresh token
6289
+ # before the current token expires.
6290
+ #
6291
+ # Use this operation based on the fleet compute type:
6292
+ #
6293
+ # * For `EC2` fleets, auth token retrieval and refresh is handled
6294
+ # automatically. All game servers that are running on all fleet
6295
+ # instances have access to a valid auth token.
6296
+ #
6297
+ # * For `ANYWHERE` and `CONTAINER` fleets, if you're using the Amazon
6298
+ # GameLift Agent, auth token retrieval and refresh is handled
6299
+ # automatically for any container or Anywhere compute where the Agent
6300
+ # is running. If you're not using the Agent, create a mechanism to
6301
+ # retrieve and refresh auth tokens for computes that are running game
6302
+ # server processes.
5728
6303
  #
5729
6304
  # **Learn more**
5730
6305
  #
@@ -5745,7 +6320,11 @@ module Aws::GameLift
5745
6320
  #
5746
6321
  # @option params [required, String] :compute_name
5747
6322
  # The name of the compute resource you are requesting the authentication
5748
- # token for.
6323
+ # token for. For an Anywhere fleet compute, use the registered compute
6324
+ # name. For an EC2 fleet instance, use the instance ID. For a container
6325
+ # fleet, use the compute name (for example,
6326
+ # `a123b456c789012d3e4567f8a901b23c/1a234b56-7cd8-9e0f-a1b2-c34d567ef8a9`)
6327
+ # or the compute ARN.
5749
6328
  #
5750
6329
  # @return [Types::GetComputeAuthTokenOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5751
6330
  #
@@ -6083,23 +6662,43 @@ module Aws::GameLift
6083
6662
  req.send_request(options)
6084
6663
  end
6085
6664
 
6086
- # Retrieves the compute resources in an Amazon GameLift fleet. You can
6087
- # request information for either managed EC2 fleets or Anywhere fleets.
6665
+ # **This operation has been expanded to use with the Amazon GameLift
6666
+ # containers feature, which is currently in public preview.**
6667
+ #
6668
+ # Retrieves information on the compute resources in an Amazon GameLift
6669
+ # fleet.
6670
+ #
6671
+ # To request a list of computes, specify the fleet ID. Use the
6672
+ # pagination parameters to retrieve results in a set of sequential
6673
+ # pages.
6674
+ #
6675
+ # You can filter the result set by location.
6676
+ #
6677
+ # If successful, this operation returns information on all computes in
6678
+ # the requested fleet. Depending on the fleet's compute type, the
6679
+ # result includes the following information:
6680
+ #
6681
+ # * For `EC2` fleets, this operation returns information about the EC2
6682
+ # instance. Compute names are instance IDs.
6088
6683
  #
6089
- # To request a list of computes, specify the fleet ID. You can filter
6090
- # the result set by location. Use the pagination parameters to retrieve
6091
- # results in a set of sequential pages.
6684
+ # * For `ANYWHERE` fleets, this operation returns the compute names and
6685
+ # details provided when the compute was registered with
6686
+ # `RegisterCompute`. The `GameLiftServiceSdkEndpoint` or
6687
+ # `GameLiftAgentEndpoint` is included.
6092
6688
  #
6093
- # If successful, this operation returns the compute resource for the
6094
- # requested fleet. For managed EC2 fleets, it returns a list of EC2
6095
- # instances. For Anywhere fleets, it returns a list of registered
6096
- # compute names.
6689
+ # * For `CONTAINER` fleets, this operation returns information about
6690
+ # containers that are registered as computes, and the instances
6691
+ # they're running on. Compute names are container names.
6097
6692
  #
6098
6693
  # @option params [required, String] :fleet_id
6099
6694
  # A unique identifier for the fleet to retrieve compute resources for.
6100
6695
  #
6101
6696
  # @option params [String] :location
6102
- # The name of a location to retrieve compute resources for.
6697
+ # The name of a location to retrieve compute resources for. For an
6698
+ # Amazon GameLift Anywhere fleet, use a custom location. For a
6699
+ # multi-location EC2 or container fleet, provide a Amazon Web Services
6700
+ # Region or Local Zone code (for example: `us-west-2` or
6701
+ # `us-west-2-lax-1`).
6103
6702
  #
6104
6703
  # @option params [Integer] :limit
6105
6704
  # The maximum number of results to return. Use this parameter with
@@ -6142,6 +6741,12 @@ module Aws::GameLift
6142
6741
  # resp.compute_list[0].operating_system #=> String, one of "WINDOWS_2012", "AMAZON_LINUX", "AMAZON_LINUX_2", "WINDOWS_2016", "AMAZON_LINUX_2023"
6143
6742
  # resp.compute_list[0].type #=> String, one of "t2.micro", "t2.small", "t2.medium", "t2.large", "c3.large", "c3.xlarge", "c3.2xlarge", "c3.4xlarge", "c3.8xlarge", "c4.large", "c4.xlarge", "c4.2xlarge", "c4.4xlarge", "c4.8xlarge", "c5.large", "c5.xlarge", "c5.2xlarge", "c5.4xlarge", "c5.9xlarge", "c5.12xlarge", "c5.18xlarge", "c5.24xlarge", "c5a.large", "c5a.xlarge", "c5a.2xlarge", "c5a.4xlarge", "c5a.8xlarge", "c5a.12xlarge", "c5a.16xlarge", "c5a.24xlarge", "r3.large", "r3.xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", "r4.large", "r4.xlarge", "r4.2xlarge", "r4.4xlarge", "r4.8xlarge", "r4.16xlarge", "r5.large", "r5.xlarge", "r5.2xlarge", "r5.4xlarge", "r5.8xlarge", "r5.12xlarge", "r5.16xlarge", "r5.24xlarge", "r5a.large", "r5a.xlarge", "r5a.2xlarge", "r5a.4xlarge", "r5a.8xlarge", "r5a.12xlarge", "r5a.16xlarge", "r5a.24xlarge", "m3.medium", "m3.large", "m3.xlarge", "m3.2xlarge", "m4.large", "m4.xlarge", "m4.2xlarge", "m4.4xlarge", "m4.10xlarge", "m5.large", "m5.xlarge", "m5.2xlarge", "m5.4xlarge", "m5.8xlarge", "m5.12xlarge", "m5.16xlarge", "m5.24xlarge", "m5a.large", "m5a.xlarge", "m5a.2xlarge", "m5a.4xlarge", "m5a.8xlarge", "m5a.12xlarge", "m5a.16xlarge", "m5a.24xlarge", "c5d.large", "c5d.xlarge", "c5d.2xlarge", "c5d.4xlarge", "c5d.9xlarge", "c5d.12xlarge", "c5d.18xlarge", "c5d.24xlarge", "c6a.large", "c6a.xlarge", "c6a.2xlarge", "c6a.4xlarge", "c6a.8xlarge", "c6a.12xlarge", "c6a.16xlarge", "c6a.24xlarge", "c6i.large", "c6i.xlarge", "c6i.2xlarge", "c6i.4xlarge", "c6i.8xlarge", "c6i.12xlarge", "c6i.16xlarge", "c6i.24xlarge", "r5d.large", "r5d.xlarge", "r5d.2xlarge", "r5d.4xlarge", "r5d.8xlarge", "r5d.12xlarge", "r5d.16xlarge", "r5d.24xlarge", "m6g.medium", "m6g.large", "m6g.xlarge", "m6g.2xlarge", "m6g.4xlarge", "m6g.8xlarge", "m6g.12xlarge", "m6g.16xlarge", "c6g.medium", "c6g.large", "c6g.xlarge", "c6g.2xlarge", "c6g.4xlarge", "c6g.8xlarge", "c6g.12xlarge", "c6g.16xlarge", "r6g.medium", "r6g.large", "r6g.xlarge", "r6g.2xlarge", "r6g.4xlarge", "r6g.8xlarge", "r6g.12xlarge", "r6g.16xlarge", "c6gn.medium", "c6gn.large", "c6gn.xlarge", "c6gn.2xlarge", "c6gn.4xlarge", "c6gn.8xlarge", "c6gn.12xlarge", "c6gn.16xlarge", "c7g.medium", "c7g.large", "c7g.xlarge", "c7g.2xlarge", "c7g.4xlarge", "c7g.8xlarge", "c7g.12xlarge", "c7g.16xlarge", "r7g.medium", "r7g.large", "r7g.xlarge", "r7g.2xlarge", "r7g.4xlarge", "r7g.8xlarge", "r7g.12xlarge", "r7g.16xlarge", "m7g.medium", "m7g.large", "m7g.xlarge", "m7g.2xlarge", "m7g.4xlarge", "m7g.8xlarge", "m7g.12xlarge", "m7g.16xlarge", "g5g.xlarge", "g5g.2xlarge", "g5g.4xlarge", "g5g.8xlarge", "g5g.16xlarge"
6144
6743
  # resp.compute_list[0].game_lift_service_sdk_endpoint #=> String
6744
+ # resp.compute_list[0].game_lift_agent_endpoint #=> String
6745
+ # resp.compute_list[0].instance_id #=> String
6746
+ # resp.compute_list[0].container_attributes.container_port_mappings #=> Array
6747
+ # resp.compute_list[0].container_attributes.container_port_mappings[0].container_port #=> Integer
6748
+ # resp.compute_list[0].container_attributes.container_port_mappings[0].connection_port #=> Integer
6749
+ # resp.compute_list[0].container_attributes.container_port_mappings[0].protocol #=> String, one of "TCP", "UDP"
6145
6750
  # resp.next_token #=> String
6146
6751
  #
6147
6752
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListCompute AWS API Documentation
@@ -6153,46 +6758,151 @@ module Aws::GameLift
6153
6758
  req.send_request(options)
6154
6759
  end
6155
6760
 
6761
+ # <b>This operation is used with the Amazon GameLift containers feature,
6762
+ # which is currently in public preview. </b>
6763
+ #
6764
+ # Retrieves all container group definitions for the Amazon Web Services
6765
+ # account and Amazon Web Services Region that are currently in use. You
6766
+ # can filter the result set by the container groups' scheduling
6767
+ # strategy. Use the pagination parameters to retrieve results in a set
6768
+ # of sequential pages.
6769
+ #
6770
+ # <note markdown="1"> This operation returns the list of container group definitions in no
6771
+ # particular order.
6772
+ #
6773
+ # </note>
6774
+ #
6775
+ # **Learn more**
6776
+ #
6777
+ # * [Manage a container group definition][1]
6778
+ #
6779
+ # ^
6780
+ #
6781
+ #
6782
+ #
6783
+ # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-create-groups.html
6784
+ #
6785
+ # @option params [String] :scheduling_strategy
6786
+ # The type of container group definitions to retrieve.
6787
+ #
6788
+ # * `DAEMON` -- Daemon container groups run background processes and are
6789
+ # deployed once per fleet instance.
6790
+ #
6791
+ # * `REPLICA` -- Replica container groups run your game server
6792
+ # application and supporting software. Replica groups might be
6793
+ # deployed multiple times per fleet instance.
6794
+ #
6795
+ # @option params [Integer] :limit
6796
+ # The maximum number of results to return. Use this parameter with
6797
+ # `NextToken` to get results as a set of sequential pages.
6798
+ #
6799
+ # @option params [String] :next_token
6800
+ # A token that indicates the start of the next sequential page of
6801
+ # results. Use the token that is returned with a previous call to this
6802
+ # operation. To start at the beginning of the result set, do not specify
6803
+ # a value.
6804
+ #
6805
+ # @return [Types::ListContainerGroupDefinitionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6806
+ #
6807
+ # * {Types::ListContainerGroupDefinitionsOutput#container_group_definitions #container_group_definitions} => Array&lt;Types::ContainerGroupDefinition&gt;
6808
+ # * {Types::ListContainerGroupDefinitionsOutput#next_token #next_token} => String
6809
+ #
6810
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
6811
+ #
6812
+ # @example Request syntax with placeholder values
6813
+ #
6814
+ # resp = client.list_container_group_definitions({
6815
+ # scheduling_strategy: "REPLICA", # accepts REPLICA, DAEMON
6816
+ # limit: 1,
6817
+ # next_token: "NonEmptyString",
6818
+ # })
6819
+ #
6820
+ # @example Response structure
6821
+ #
6822
+ # resp.container_group_definitions #=> Array
6823
+ # resp.container_group_definitions[0].container_group_definition_arn #=> String
6824
+ # resp.container_group_definitions[0].creation_time #=> Time
6825
+ # resp.container_group_definitions[0].operating_system #=> String, one of "AMAZON_LINUX_2023"
6826
+ # resp.container_group_definitions[0].name #=> String
6827
+ # resp.container_group_definitions[0].scheduling_strategy #=> String, one of "REPLICA", "DAEMON"
6828
+ # resp.container_group_definitions[0].total_memory_limit #=> Integer
6829
+ # resp.container_group_definitions[0].total_cpu_limit #=> Integer
6830
+ # resp.container_group_definitions[0].container_definitions #=> Array
6831
+ # resp.container_group_definitions[0].container_definitions[0].container_name #=> String
6832
+ # resp.container_group_definitions[0].container_definitions[0].image_uri #=> String
6833
+ # resp.container_group_definitions[0].container_definitions[0].resolved_image_digest #=> String
6834
+ # resp.container_group_definitions[0].container_definitions[0].memory_limits.soft_limit #=> Integer
6835
+ # resp.container_group_definitions[0].container_definitions[0].memory_limits.hard_limit #=> Integer
6836
+ # resp.container_group_definitions[0].container_definitions[0].port_configuration.container_port_ranges #=> Array
6837
+ # resp.container_group_definitions[0].container_definitions[0].port_configuration.container_port_ranges[0].from_port #=> Integer
6838
+ # resp.container_group_definitions[0].container_definitions[0].port_configuration.container_port_ranges[0].to_port #=> Integer
6839
+ # resp.container_group_definitions[0].container_definitions[0].port_configuration.container_port_ranges[0].protocol #=> String, one of "TCP", "UDP"
6840
+ # resp.container_group_definitions[0].container_definitions[0].cpu #=> Integer
6841
+ # resp.container_group_definitions[0].container_definitions[0].health_check.command #=> Array
6842
+ # resp.container_group_definitions[0].container_definitions[0].health_check.command[0] #=> String
6843
+ # resp.container_group_definitions[0].container_definitions[0].health_check.interval #=> Integer
6844
+ # resp.container_group_definitions[0].container_definitions[0].health_check.timeout #=> Integer
6845
+ # resp.container_group_definitions[0].container_definitions[0].health_check.retries #=> Integer
6846
+ # resp.container_group_definitions[0].container_definitions[0].health_check.start_period #=> Integer
6847
+ # resp.container_group_definitions[0].container_definitions[0].command #=> Array
6848
+ # resp.container_group_definitions[0].container_definitions[0].command[0] #=> String
6849
+ # resp.container_group_definitions[0].container_definitions[0].essential #=> Boolean
6850
+ # resp.container_group_definitions[0].container_definitions[0].entry_point #=> Array
6851
+ # resp.container_group_definitions[0].container_definitions[0].entry_point[0] #=> String
6852
+ # resp.container_group_definitions[0].container_definitions[0].working_directory #=> String
6853
+ # resp.container_group_definitions[0].container_definitions[0].environment #=> Array
6854
+ # resp.container_group_definitions[0].container_definitions[0].environment[0].name #=> String
6855
+ # resp.container_group_definitions[0].container_definitions[0].environment[0].value #=> String
6856
+ # resp.container_group_definitions[0].container_definitions[0].depends_on #=> Array
6857
+ # resp.container_group_definitions[0].container_definitions[0].depends_on[0].container_name #=> String
6858
+ # resp.container_group_definitions[0].container_definitions[0].depends_on[0].condition #=> String, one of "START", "COMPLETE", "SUCCESS", "HEALTHY"
6859
+ # resp.container_group_definitions[0].status #=> String, one of "READY", "COPYING", "FAILED"
6860
+ # resp.container_group_definitions[0].status_reason #=> String
6861
+ # resp.next_token #=> String
6862
+ #
6863
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListContainerGroupDefinitions AWS API Documentation
6864
+ #
6865
+ # @overload list_container_group_definitions(params = {})
6866
+ # @param [Hash] params ({})
6867
+ def list_container_group_definitions(params = {}, options = {})
6868
+ req = build_request(:list_container_group_definitions, params)
6869
+ req.send_request(options)
6870
+ end
6871
+
6872
+ # **This operation has been expanded to use with the Amazon GameLift
6873
+ # containers feature, which is currently in public preview.**
6874
+ #
6156
6875
  # Retrieves a collection of fleet resources in an Amazon Web Services
6157
- # Region. You can call this operation to get fleets in a previously
6158
- # selected default Region (see
6159
- # [https://docs.aws.amazon.com/credref/latest/refdocs/setting-global-region.html][1]or
6160
- # specify a Region in your request. You can filter the result set to
6161
- # find only those fleets that are deployed with a specific build or
6162
- # script. For fleets that have multiple locations, this operation
6163
- # retrieves fleets based on their home Region only.
6876
+ # Region. You can filter the result set to find only those fleets that
6877
+ # are deployed with a specific build or script. For fleets that have
6878
+ # multiple locations, this operation retrieves fleets based on their
6879
+ # home Region only.
6164
6880
  #
6165
- # This operation can be used in the following ways:
6881
+ # You can use operation in the following ways:
6166
6882
  #
6167
6883
  # * To get a list of all fleets in a Region, don't provide a build or
6168
6884
  # script identifier.
6169
6885
  #
6170
- # * To get a list of all fleets where a specific custom game build is
6171
- # deployed, provide the build ID.
6886
+ # * To get a list of all fleets where a specific game build is deployed,
6887
+ # provide the build ID.
6172
6888
  #
6173
6889
  # * To get a list of all Realtime Servers fleets with a specific
6174
6890
  # configuration script, provide the script ID.
6175
6891
  #
6892
+ # * To get a list of all fleets with a specific container group
6893
+ # definition, provide the `ContainerGroupDefinition` ID.
6894
+ #
6176
6895
  # Use the pagination parameters to retrieve results as a set of
6177
6896
  # sequential pages.
6178
6897
  #
6179
- # If successful, a list of fleet IDs that match the request parameters
6180
- # is returned. A NextToken value is also returned if there are more
6181
- # result pages to retrieve.
6898
+ # If successful, this operation returns a list of fleet IDs that match
6899
+ # the request parameters. A NextToken value is also returned if there
6900
+ # are more result pages to retrieve.
6182
6901
  #
6183
- # <note markdown="1"> Fleet resources are not listed in a particular order.
6902
+ # <note markdown="1"> Fleet IDs are returned in no particular order.
6184
6903
  #
6185
6904
  # </note>
6186
6905
  #
6187
- # **Learn more**
6188
- #
6189
- # [Setting up Amazon GameLift fleets][2]
6190
- #
6191
- #
6192
- #
6193
- # [1]: https://docs.aws.amazon.com/credref/latest/refdocs/setting-global-region.html
6194
- # [2]: https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html
6195
- #
6196
6906
  # @option params [String] :build_id
6197
6907
  # A unique identifier for the build to request fleets for. Use this
6198
6908
  # parameter to return only fleets using a specified build. Use either
@@ -6203,6 +6913,11 @@ module Aws::GameLift
6203
6913
  # this parameter to return only fleets using a specified script. Use
6204
6914
  # either the script ID or ARN value.
6205
6915
  #
6916
+ # @option params [String] :container_group_definition_name
6917
+ # The container group definition name to request fleets for. Use this
6918
+ # parameter to return only fleets that are deployed with the specified
6919
+ # container group definition.
6920
+ #
6206
6921
  # @option params [Integer] :limit
6207
6922
  # The maximum number of results to return. Use this parameter with
6208
6923
  # `NextToken` to get results as a set of sequential pages.
@@ -6225,6 +6940,7 @@ module Aws::GameLift
6225
6940
  # resp = client.list_fleets({
6226
6941
  # build_id: "BuildIdOrArn",
6227
6942
  # script_id: "ScriptIdOrArn",
6943
+ # container_group_definition_name: "ContainerGroupDefinitionNameOrArn",
6228
6944
  # limit: 1,
6229
6945
  # next_token: "NonZeroAndMaxString",
6230
6946
  # })
@@ -6755,35 +7471,46 @@ module Aws::GameLift
6755
7471
  req.send_request(options)
6756
7472
  end
6757
7473
 
6758
- # Registers a compute resource to an Amazon GameLift Anywhere fleet.
6759
- # With Anywhere fleets you can incorporate your own computing hardware
6760
- # into an Amazon GameLift game hosting solution.
6761
- #
6762
- # To register a compute to a fleet, give the compute a name (must be
6763
- # unique within the fleet) and specify the compute resource's DNS name
6764
- # or IP address. Provide the Anywhere fleet ID and a fleet location to
6765
- # associate with the compute being registered. You can optionally
6766
- # include the path to a TLS certificate on the compute resource.
6767
- #
6768
- # If successful, this operation returns the compute details, including
6769
- # an Amazon GameLift SDK endpoint. Game server processes that run on the
6770
- # compute use this endpoint to communicate with the Amazon GameLift
6771
- # service. Each server process includes the SDK endpoint in its call to
6772
- # the Amazon GameLift server SDK action `InitSDK()`.
7474
+ # **This operation has been expanded to use with the Amazon GameLift
7475
+ # containers feature, which is currently in public preview.**
7476
+ #
7477
+ # Registers a compute resource in an Amazon GameLift fleet. Register
7478
+ # computes with an Amazon GameLift Anywhere fleet or a container fleet.
7479
+ #
7480
+ # For an Anywhere fleet or a container fleet that's running the Amazon
7481
+ # GameLift Agent, the Agent handles all compute registry tasks for you.
7482
+ # For an Anywhere fleet that doesn't use the Agent, call this operation
7483
+ # to register fleet computes.
7484
+ #
7485
+ # To register a compute, give the compute a name (must be unique within
7486
+ # the fleet) and specify the compute resource's DNS name or IP address.
7487
+ # Provide a fleet ID and a fleet location to associate with the compute
7488
+ # being registered. You can optionally include the path to a TLS
7489
+ # certificate on the compute resource.
7490
+ #
7491
+ # If successful, this operation returns compute details, including an
7492
+ # Amazon GameLift SDK endpoint or Agent endpoint. Game server processes
7493
+ # running on the compute can use this endpoint to communicate with the
7494
+ # Amazon GameLift service. Each server process includes the SDK endpoint
7495
+ # in its call to the Amazon GameLift server SDK action `InitSDK()`.
7496
+ #
7497
+ # To view compute details, call [DescribeCompute][1] with the compute
7498
+ # name.
6773
7499
  #
6774
7500
  # **Learn more**
6775
7501
  #
6776
- # * [Create an Anywhere fleet][1]
7502
+ # * [Create an Anywhere fleet][2]
6777
7503
  #
6778
- # * [Test your integration][2]
7504
+ # * [Test your integration][3]
6779
7505
  #
6780
- # * [Server SDK reference guides][3] (for version 5.x)
7506
+ # * [Server SDK reference guides][4] (for version 5.x)
6781
7507
  #
6782
7508
  #
6783
7509
  #
6784
- # [1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-anywhere.html
6785
- # [2]: https://docs.aws.amazon.com/gamelift/latest/developerguide/integration-testing.html
6786
- # [3]: https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-serversdk.html
7510
+ # [1]: https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeCompute.html
7511
+ # [2]: https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-anywhere.html
7512
+ # [3]: https://docs.aws.amazon.com/gamelift/latest/developerguide/integration-testing.html
7513
+ # [4]: https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-serversdk.html
6787
7514
  #
6788
7515
  # @option params [required, String] :fleet_id
6789
7516
  # A unique identifier for the fleet to register the compute to. You can
@@ -6837,6 +7564,12 @@ module Aws::GameLift
6837
7564
  # resp.compute.operating_system #=> String, one of "WINDOWS_2012", "AMAZON_LINUX", "AMAZON_LINUX_2", "WINDOWS_2016", "AMAZON_LINUX_2023"
6838
7565
  # resp.compute.type #=> String, one of "t2.micro", "t2.small", "t2.medium", "t2.large", "c3.large", "c3.xlarge", "c3.2xlarge", "c3.4xlarge", "c3.8xlarge", "c4.large", "c4.xlarge", "c4.2xlarge", "c4.4xlarge", "c4.8xlarge", "c5.large", "c5.xlarge", "c5.2xlarge", "c5.4xlarge", "c5.9xlarge", "c5.12xlarge", "c5.18xlarge", "c5.24xlarge", "c5a.large", "c5a.xlarge", "c5a.2xlarge", "c5a.4xlarge", "c5a.8xlarge", "c5a.12xlarge", "c5a.16xlarge", "c5a.24xlarge", "r3.large", "r3.xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", "r4.large", "r4.xlarge", "r4.2xlarge", "r4.4xlarge", "r4.8xlarge", "r4.16xlarge", "r5.large", "r5.xlarge", "r5.2xlarge", "r5.4xlarge", "r5.8xlarge", "r5.12xlarge", "r5.16xlarge", "r5.24xlarge", "r5a.large", "r5a.xlarge", "r5a.2xlarge", "r5a.4xlarge", "r5a.8xlarge", "r5a.12xlarge", "r5a.16xlarge", "r5a.24xlarge", "m3.medium", "m3.large", "m3.xlarge", "m3.2xlarge", "m4.large", "m4.xlarge", "m4.2xlarge", "m4.4xlarge", "m4.10xlarge", "m5.large", "m5.xlarge", "m5.2xlarge", "m5.4xlarge", "m5.8xlarge", "m5.12xlarge", "m5.16xlarge", "m5.24xlarge", "m5a.large", "m5a.xlarge", "m5a.2xlarge", "m5a.4xlarge", "m5a.8xlarge", "m5a.12xlarge", "m5a.16xlarge", "m5a.24xlarge", "c5d.large", "c5d.xlarge", "c5d.2xlarge", "c5d.4xlarge", "c5d.9xlarge", "c5d.12xlarge", "c5d.18xlarge", "c5d.24xlarge", "c6a.large", "c6a.xlarge", "c6a.2xlarge", "c6a.4xlarge", "c6a.8xlarge", "c6a.12xlarge", "c6a.16xlarge", "c6a.24xlarge", "c6i.large", "c6i.xlarge", "c6i.2xlarge", "c6i.4xlarge", "c6i.8xlarge", "c6i.12xlarge", "c6i.16xlarge", "c6i.24xlarge", "r5d.large", "r5d.xlarge", "r5d.2xlarge", "r5d.4xlarge", "r5d.8xlarge", "r5d.12xlarge", "r5d.16xlarge", "r5d.24xlarge", "m6g.medium", "m6g.large", "m6g.xlarge", "m6g.2xlarge", "m6g.4xlarge", "m6g.8xlarge", "m6g.12xlarge", "m6g.16xlarge", "c6g.medium", "c6g.large", "c6g.xlarge", "c6g.2xlarge", "c6g.4xlarge", "c6g.8xlarge", "c6g.12xlarge", "c6g.16xlarge", "r6g.medium", "r6g.large", "r6g.xlarge", "r6g.2xlarge", "r6g.4xlarge", "r6g.8xlarge", "r6g.12xlarge", "r6g.16xlarge", "c6gn.medium", "c6gn.large", "c6gn.xlarge", "c6gn.2xlarge", "c6gn.4xlarge", "c6gn.8xlarge", "c6gn.12xlarge", "c6gn.16xlarge", "c7g.medium", "c7g.large", "c7g.xlarge", "c7g.2xlarge", "c7g.4xlarge", "c7g.8xlarge", "c7g.12xlarge", "c7g.16xlarge", "r7g.medium", "r7g.large", "r7g.xlarge", "r7g.2xlarge", "r7g.4xlarge", "r7g.8xlarge", "r7g.12xlarge", "r7g.16xlarge", "m7g.medium", "m7g.large", "m7g.xlarge", "m7g.2xlarge", "m7g.4xlarge", "m7g.8xlarge", "m7g.12xlarge", "m7g.16xlarge", "g5g.xlarge", "g5g.2xlarge", "g5g.4xlarge", "g5g.8xlarge", "g5g.16xlarge"
6839
7566
  # resp.compute.game_lift_service_sdk_endpoint #=> String
7567
+ # resp.compute.game_lift_agent_endpoint #=> String
7568
+ # resp.compute.instance_id #=> String
7569
+ # resp.compute.container_attributes.container_port_mappings #=> Array
7570
+ # resp.compute.container_attributes.container_port_mappings[0].container_port #=> Integer
7571
+ # resp.compute.container_attributes.container_port_mappings[0].connection_port #=> Integer
7572
+ # resp.compute.container_attributes.container_port_mappings[0].protocol #=> String, one of "TCP", "UDP"
6840
7573
  #
6841
7574
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/RegisterCompute AWS API Documentation
6842
7575
  #
@@ -6938,7 +7671,7 @@ module Aws::GameLift
6938
7671
 
6939
7672
  # Retrieves a fresh set of credentials for use when uploading a new set
6940
7673
  # of game build files to Amazon GameLift's Amazon S3. This is done as
6941
- # part of the build creation process; see [GameSession][1].
7674
+ # part of the build creation process; see [CreateBuild][1].
6942
7675
  #
6943
7676
  # To request new credentials, specify the build ID as returned with an
6944
7677
  # initial `CreateBuild` request. If successful, a new set of credentials
@@ -6991,7 +7724,12 @@ module Aws::GameLift
6991
7724
  req.send_request(options)
6992
7725
  end
6993
7726
 
6994
- # Retrieves the fleet ID that an alias is currently pointing to.
7727
+ # Attempts to retrieve a fleet ID that is associated with an alias.
7728
+ # Specify a unique alias identifier.
7729
+ #
7730
+ # If the alias has a `SIMPLE` routing strategy, Amazon GameLift returns
7731
+ # a fleet ID. If the alias has a `TERMINAL` routing strategy, the result
7732
+ # is a `TerminalRoutingStrategyException`.
6995
7733
  #
6996
7734
  # **Related actions**
6997
7735
  #
@@ -7107,7 +7845,7 @@ module Aws::GameLift
7107
7845
  # status because that practice can cause you to exceed your API limit
7108
7846
  # and generate errors. Instead, configure an Amazon Simple Notification
7109
7847
  # Service (Amazon SNS) topic to receive notifications from a matchmaker
7110
- # or game session placement queue.
7848
+ # or a game session placement queue.
7111
7849
  #
7112
7850
  # When searching for game sessions, you specify exactly where you want
7113
7851
  # to search and provide a search filter expression, a sort expression,
@@ -7845,15 +8583,17 @@ module Aws::GameLift
7845
8583
  #
7846
8584
  # If successful, Amazon GameLift no longer initiates scaling events
7847
8585
  # except in response to manual changes using [UpdateFleetCapacity][1].
8586
+ # To restart fleet actions again, call [StartFleetActions][2].
7848
8587
  #
7849
8588
  # **Learn more**
7850
8589
  #
7851
- # [Setting up Amazon GameLift Fleets][2]
8590
+ # [Setting up Amazon GameLift Fleets][3]
7852
8591
  #
7853
8592
  #
7854
8593
  #
7855
8594
  # [1]: https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html
7856
- # [2]: https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html
8595
+ # [2]: https://docs.aws.amazon.com/gamelift/latest/apireference/API_StartFleetActions.html
8596
+ # [3]: https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html
7857
8597
  #
7858
8598
  # @option params [required, String] :fleet_id
7859
8599
  # A unique identifier for the fleet to stop actions on. You can use
@@ -8201,10 +8941,10 @@ module Aws::GameLift
8201
8941
  req.send_request(options)
8202
8942
  end
8203
8943
 
8204
- # Updates properties for an alias. To update properties, specify the
8205
- # alias ID to be updated and provide the information to be changed. To
8206
- # reassign an alias to another fleet, provide an updated routing
8207
- # strategy. If successful, the updated alias record is returned.
8944
+ # Updates properties for an alias. Specify the unique identifier of the
8945
+ # alias to be updated and the new property values. When reassigning an
8946
+ # alias to a new fleet, provide an updated routing strategy. If
8947
+ # successful, the updated alias record is returned.
8208
8948
  #
8209
8949
  # **Related actions**
8210
8950
  #
@@ -8328,13 +9068,12 @@ module Aws::GameLift
8328
9068
  req.send_request(options)
8329
9069
  end
8330
9070
 
8331
- # Updates a fleet's mutable attributes, including game session
8332
- # protection and resource creation limits.
9071
+ # Updates a fleet's mutable attributes, such as game session protection
9072
+ # and resource creation limits.
8333
9073
  #
8334
9074
  # To update fleet attributes, specify the fleet ID and the property
8335
- # values that you want to change.
8336
- #
8337
- # If successful, an updated `FleetAttributes` object is returned.
9075
+ # values that you want to change. If successful, Amazon GameLift returns
9076
+ # the identifiers for the updated fleet.
8338
9077
  #
8339
9078
  # **Learn more**
8340
9079
  #
@@ -8421,44 +9160,48 @@ module Aws::GameLift
8421
9160
  req.send_request(options)
8422
9161
  end
8423
9162
 
8424
- # Updates capacity settings for a fleet. For fleets with multiple
8425
- # locations, use this operation to manage capacity settings in each
8426
- # location individually. Fleet capacity determines the number of game
8427
- # sessions and players that can be hosted based on the fleet
8428
- # configuration. Use this operation to set the following fleet capacity
8429
- # properties:
8430
- #
8431
- # * Minimum/maximum size: Set hard limits on fleet capacity. Amazon
8432
- # GameLift cannot set the fleet's capacity to a value outside of this
8433
- # range, whether the capacity is changed manually or through automatic
8434
- # scaling.
8435
- #
8436
- # * Desired capacity: Manually set the number of Amazon EC2 instances to
8437
- # be maintained in a fleet location. Before changing a fleet's
8438
- # desired capacity, you may want to call
8439
- # [DescribeEC2InstanceLimits][1] to get the maximum capacity of the
8440
- # fleet's Amazon EC2 instance type. Alternatively, consider using
8441
- # automatic scaling to adjust capacity based on player demand.
8442
- #
8443
- # This operation can be used in the following ways:
8444
- #
8445
- # * To update capacity for a fleet's home Region, or if the fleet has
8446
- # no remote locations, omit the `Location` parameter. The fleet must
8447
- # be in `ACTIVE` status.
9163
+ # **This operation has been expanded to use with the Amazon GameLift
9164
+ # containers feature, which is currently in public preview.**
9165
+ #
9166
+ # Updates capacity settings for a managed EC2 fleet or container fleet.
9167
+ # For these fleets, you adjust capacity by changing the number of
9168
+ # instances in the fleet. Fleet capacity determines the number of game
9169
+ # sessions and players that the fleet can host based on its
9170
+ # configuration. For fleets with multiple locations, use this operation
9171
+ # to manage capacity settings in each location individually.
9172
+ #
9173
+ # Use this operation to set these fleet capacity properties:
9174
+ #
9175
+ # * Minimum/maximum size: Set hard limits on the number of Amazon EC2
9176
+ # instances allowed. If Amazon GameLift receives a request--either
9177
+ # through manual update or automatic scaling--it won't change the
9178
+ # capacity to a value outside of this range.
9179
+ #
9180
+ # * Desired capacity: As an alternative to automatic scaling, manually
9181
+ # set the number of Amazon EC2 instances to be maintained. Before
9182
+ # changing a fleet's desired capacity, check the maximum capacity of
9183
+ # the fleet's Amazon EC2 instance type by calling
9184
+ # [DescribeEC2InstanceLimits][1].
9185
+ #
9186
+ # To update capacity for a fleet's home Region, or if the fleet has no
9187
+ # remote locations, omit the `Location` parameter. The fleet must be in
9188
+ # `ACTIVE` status.
9189
+ #
9190
+ # To update capacity for a fleet's remote location, set the `Location`
9191
+ # parameter to the location to update. The location must be in `ACTIVE`
9192
+ # status.
8448
9193
  #
8449
- # * To update capacity for a fleet's remote location, include the
8450
- # `Location` parameter set to the location to be updated. The location
8451
- # must be in `ACTIVE` status.
9194
+ # If successful, Amazon GameLift updates the capacity settings and
9195
+ # returns the identifiers for the updated fleet and/or location. If a
9196
+ # requested change to desired capacity exceeds the instance type's
9197
+ # limit, the `LimitExceeded` exception occurs.
8452
9198
  #
8453
- # If successful, capacity settings are updated immediately. In response
8454
- # a change in desired capacity, Amazon GameLift initiates steps to start
8455
- # new instances or terminate existing instances in the requested fleet
8456
- # location. This continues until the location's active instance count
8457
- # matches the new desired instance count. You can track a fleet's
8458
- # current capacity by calling [DescribeFleetCapacity][2] or
8459
- # [DescribeFleetLocationCapacity][3]. If the requested desired instance
8460
- # count is higher than the instance type's limit, the `LimitExceeded`
8461
- # exception occurs.
9199
+ # Updates often prompt an immediate change in fleet capacity, such as
9200
+ # when current capacity is different than the new desired capacity or
9201
+ # outside the new limits. In this scenario, Amazon GameLift
9202
+ # automatically initiates steps to add or remove instances in the fleet
9203
+ # location. You can track a fleet's current capacity by calling
9204
+ # [DescribeFleetCapacity][2] or [DescribeFleetLocationCapacity][3].
8462
9205
  #
8463
9206
  # **Learn more**
8464
9207
  #
@@ -8525,7 +9268,7 @@ module Aws::GameLift
8525
9268
  end
8526
9269
 
8527
9270
  # Updates permissions that allow inbound traffic to connect to game
8528
- # sessions that are being hosted on instances in the fleet.
9271
+ # sessions in the fleet.
8529
9272
  #
8530
9273
  # To update settings, specify the fleet ID to be updated and specify the
8531
9274
  # changes to be made. List the permissions you want to add in
@@ -8533,6 +9276,9 @@ module Aws::GameLift
8533
9276
  # in `InboundPermissionRevocations`. Permissions to be removed must
8534
9277
  # match existing fleet permissions.
8535
9278
  #
9279
+ # For a container fleet, inbound permissions must specify port numbers
9280
+ # that are defined in the fleet's connection port settings.
9281
+ #
8536
9282
  # If successful, the fleet ID for the updated fleet is returned. For
8537
9283
  # fleets with remote locations, port setting updates can take time to
8538
9284
  # propagate across all locations. You can check the status of updates in
@@ -9244,22 +9990,25 @@ module Aws::GameLift
9244
9990
  req.send_request(options)
9245
9991
  end
9246
9992
 
9247
- # Updates the current runtime configuration for the specified fleet,
9248
- # which tells Amazon GameLift how to launch server processes on all
9249
- # instances in the fleet. You can update a fleet's runtime
9250
- # configuration at any time after the fleet is created; it does not need
9251
- # to be in `ACTIVE` status.
9993
+ # Updates the runtime configuration for the specified fleet. The runtime
9994
+ # configuration tells Amazon GameLift how to launch server processes on
9995
+ # computes in the fleet. For managed EC2 fleets, it determines what
9996
+ # server processes to run on each fleet instance. For container fleets,
9997
+ # it describes what server processes to run in each replica container
9998
+ # group. You can update a fleet's runtime configuration at any time
9999
+ # after the fleet is created; it does not need to be in `ACTIVE` status.
9252
10000
  #
9253
10001
  # To update runtime configuration, specify the fleet ID and provide a
9254
10002
  # `RuntimeConfiguration` with an updated set of server process
9255
10003
  # configurations.
9256
10004
  #
9257
10005
  # If successful, the fleet's runtime configuration settings are
9258
- # updated. Each instance in the fleet regularly checks for and retrieves
9259
- # updated runtime configurations. Instances immediately begin complying
9260
- # with the new configuration by launching new server processes or not
9261
- # replacing existing processes when they shut down. Updating a fleet's
9262
- # runtime configuration never affects existing server processes.
10006
+ # updated. Fleet computes that run game server processes regularly check
10007
+ # for and receive updated runtime configurations. The computes
10008
+ # immediately take action to comply with the new configuration by
10009
+ # launching new server processes or by not replacing existing processes
10010
+ # when they shut down. Updating a fleet's runtime configuration never
10011
+ # affects existing server processes.
9263
10012
  #
9264
10013
  # **Learn more**
9265
10014
  #
@@ -9274,11 +10023,11 @@ module Aws::GameLift
9274
10023
  # You can use either the fleet ID or ARN value.
9275
10024
  #
9276
10025
  # @option params [required, Types::RuntimeConfiguration] :runtime_configuration
9277
- # Instructions for launching server processes on each instance in the
9278
- # fleet. Server processes run either a custom game build executable or a
9279
- # Realtime Servers script. The runtime configuration lists the types of
9280
- # server processes to run on an instance, how to launch them, and the
9281
- # number of processes to run concurrently.
10026
+ # Instructions for launching server processes on fleet computes. Server
10027
+ # processes run either a custom game build executable or a Realtime
10028
+ # Servers script. The runtime configuration lists the types of server
10029
+ # processes to run, how to launch them, and the number of processes to
10030
+ # run concurrently.
9282
10031
  #
9283
10032
  # @return [Types::UpdateRuntimeConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9284
10033
  #
@@ -9475,7 +10224,7 @@ module Aws::GameLift
9475
10224
  params: params,
9476
10225
  config: config)
9477
10226
  context[:gem_name] = 'aws-sdk-gamelift'
9478
- context[:gem_version] = '1.76.0'
10227
+ context[:gem_version] = '1.78.0'
9479
10228
  Seahorse::Client::Request.new(handlers, context)
9480
10229
  end
9481
10230