rusoto_gamelift/generated.rs
1// =================================================================
2//
3// * WARNING *
4//
5// This file is generated!
6//
7// Changes made to this file will be overwritten. If changes are
8// required to the generated code, the service_crategen project
9// must be updated to generate the changes.
10//
11// =================================================================
12
13use std::error::Error;
14use std::fmt;
15
16use async_trait::async_trait;
17use rusoto_core::credential::ProvideAwsCredentials;
18use rusoto_core::region;
19use rusoto_core::request::{BufferedHttpResponse, DispatchSignedRequest};
20use rusoto_core::{Client, RusotoError};
21
22use rusoto_core::proto;
23use rusoto_core::request::HttpResponse;
24use rusoto_core::signature::SignedRequest;
25#[allow(unused_imports)]
26use serde::{Deserialize, Serialize};
27
28impl GameLiftClient {
29 fn new_signed_request(&self, http_method: &str, request_uri: &str) -> SignedRequest {
30 let mut request = SignedRequest::new(http_method, "gamelift", &self.region, request_uri);
31
32 request.set_content_type("application/x-amz-json-1.1".to_owned());
33
34 request
35 }
36
37 async fn sign_and_dispatch<E>(
38 &self,
39 request: SignedRequest,
40 from_response: fn(BufferedHttpResponse) -> RusotoError<E>,
41 ) -> Result<HttpResponse, RusotoError<E>> {
42 let mut response = self.client.sign_and_dispatch(request).await?;
43 if !response.status.is_success() {
44 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
45 return Err(from_response(response));
46 }
47
48 Ok(response)
49 }
50}
51
52use serde_json;
53/// <p>Represents the input for a request action.</p>
54#[derive(Clone, Debug, Default, PartialEq, Serialize)]
55#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
56pub struct AcceptMatchInput {
57 /// <p>Player response to the proposed match.</p>
58 #[serde(rename = "AcceptanceType")]
59 pub acceptance_type: String,
60 /// <p>A unique identifier for a player delivering the response. This parameter can include one or multiple player IDs.</p>
61 #[serde(rename = "PlayerIds")]
62 pub player_ids: Vec<String>,
63 /// <p>A unique identifier for a matchmaking ticket. The ticket must be in status <code>REQUIRES_ACCEPTANCE</code>; otherwise this request will fail.</p>
64 #[serde(rename = "TicketId")]
65 pub ticket_id: String,
66}
67
68#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
69#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
70pub struct AcceptMatchOutput {}
71
72/// <p><p>Properties that describe an alias resource.</p> <ul> <li> <p> <a>CreateAlias</a> </p> </li> <li> <p> <a>ListAliases</a> </p> </li> <li> <p> <a>DescribeAlias</a> </p> </li> <li> <p> <a>UpdateAlias</a> </p> </li> <li> <p> <a>DeleteAlias</a> </p> </li> <li> <p> <a>ResolveAlias</a> </p> </li> </ul></p>
73#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
74#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
75pub struct Alias {
76 /// <p>Amazon Resource Name (<a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>) that is assigned to a GameLift alias resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift alias ARN, the resource ID matches the alias ID value.</p>
77 #[serde(rename = "AliasArn")]
78 #[serde(skip_serializing_if = "Option::is_none")]
79 pub alias_arn: Option<String>,
80 /// <p>A unique identifier for an alias. Alias IDs are unique within a Region.</p>
81 #[serde(rename = "AliasId")]
82 #[serde(skip_serializing_if = "Option::is_none")]
83 pub alias_id: Option<String>,
84 /// <p>A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").</p>
85 #[serde(rename = "CreationTime")]
86 #[serde(skip_serializing_if = "Option::is_none")]
87 pub creation_time: Option<f64>,
88 /// <p>A human-readable description of an alias.</p>
89 #[serde(rename = "Description")]
90 #[serde(skip_serializing_if = "Option::is_none")]
91 pub description: Option<String>,
92 /// <p>The time that this data object was last modified. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").</p>
93 #[serde(rename = "LastUpdatedTime")]
94 #[serde(skip_serializing_if = "Option::is_none")]
95 pub last_updated_time: Option<f64>,
96 /// <p>A descriptive label that is associated with an alias. Alias names do not need to be unique.</p>
97 #[serde(rename = "Name")]
98 #[serde(skip_serializing_if = "Option::is_none")]
99 pub name: Option<String>,
100 /// <p>The routing configuration, including routing type and fleet target, for the alias. </p>
101 #[serde(rename = "RoutingStrategy")]
102 #[serde(skip_serializing_if = "Option::is_none")]
103 pub routing_strategy: Option<RoutingStrategy>,
104}
105
106/// <p>Values for use in <a>Player</a> attribute key-value pairs. This object lets you specify an attribute value using any of the valid data types: string, number, string array, or data map. Each <code>AttributeValue</code> object can use only one of the available properties.</p>
107#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
108pub struct AttributeValue {
109 /// <p>For number values, expressed as double.</p>
110 #[serde(rename = "N")]
111 #[serde(skip_serializing_if = "Option::is_none")]
112 pub n: Option<f64>,
113 /// <p>For single string values. Maximum string length is 100 characters.</p>
114 #[serde(rename = "S")]
115 #[serde(skip_serializing_if = "Option::is_none")]
116 pub s: Option<String>,
117 /// <p>For a map of up to 10 data type:value pairs. Maximum length for each string value is 100 characters. </p>
118 #[serde(rename = "SDM")]
119 #[serde(skip_serializing_if = "Option::is_none")]
120 pub sdm: Option<::std::collections::HashMap<String, f64>>,
121 /// <p>For a list of up to 10 strings. Maximum length for each string is 100 characters. Duplicate values are not recognized; all occurrences of the repeated value after the first of a repeated value are ignored.</p>
122 #[serde(rename = "SL")]
123 #[serde(skip_serializing_if = "Option::is_none")]
124 pub sl: Option<Vec<String>>,
125}
126
127/// <p>Temporary access credentials used for uploading game build files to Amazon GameLift. They are valid for a limited time. If they expire before you upload your game build, get a new set by calling <a>RequestUploadCredentials</a>.</p>
128#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
129#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
130pub struct AwsCredentials {
131 /// <p>Temporary key allowing access to the Amazon GameLift S3 account.</p>
132 #[serde(rename = "AccessKeyId")]
133 #[serde(skip_serializing_if = "Option::is_none")]
134 pub access_key_id: Option<String>,
135 /// <p>Temporary secret key allowing access to the Amazon GameLift S3 account.</p>
136 #[serde(rename = "SecretAccessKey")]
137 #[serde(skip_serializing_if = "Option::is_none")]
138 pub secret_access_key: Option<String>,
139 /// <p>Token used to associate a specific build ID with the files uploaded using these credentials.</p>
140 #[serde(rename = "SessionToken")]
141 #[serde(skip_serializing_if = "Option::is_none")]
142 pub session_token: Option<String>,
143}
144
145/// <p><p>Properties describing a custom game build.</p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateBuild</a> </p> </li> <li> <p> <a>ListBuilds</a> </p> </li> <li> <p> <a>DescribeBuild</a> </p> </li> <li> <p> <a>UpdateBuild</a> </p> </li> <li> <p> <a>DeleteBuild</a> </p> </li> </ul></p>
146#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
147#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
148pub struct Build {
149 /// <p>Amazon Resource Name (<a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>) that is assigned to a GameLift build resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift build ARN, the resource ID matches the <i>BuildId</i> value.</p>
150 #[serde(rename = "BuildArn")]
151 #[serde(skip_serializing_if = "Option::is_none")]
152 pub build_arn: Option<String>,
153 /// <p>A unique identifier for a build.</p>
154 #[serde(rename = "BuildId")]
155 #[serde(skip_serializing_if = "Option::is_none")]
156 pub build_id: Option<String>,
157 /// <p>Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").</p>
158 #[serde(rename = "CreationTime")]
159 #[serde(skip_serializing_if = "Option::is_none")]
160 pub creation_time: Option<f64>,
161 /// <p>A descriptive label that is associated with a build. Build names do not need to be unique. It can be set using <a>CreateBuild</a> or <a>UpdateBuild</a>.</p>
162 #[serde(rename = "Name")]
163 #[serde(skip_serializing_if = "Option::is_none")]
164 pub name: Option<String>,
165 /// <p>Operating system that the game server binaries are built to run on. This value determines the type of fleet resources that you can use for this build.</p>
166 #[serde(rename = "OperatingSystem")]
167 #[serde(skip_serializing_if = "Option::is_none")]
168 pub operating_system: Option<String>,
169 /// <p>File size of the uploaded game build, expressed in bytes. When the build status is <code>INITIALIZED</code>, this value is 0.</p>
170 #[serde(rename = "SizeOnDisk")]
171 #[serde(skip_serializing_if = "Option::is_none")]
172 pub size_on_disk: Option<i64>,
173 /// <p><p>Current status of the build.</p> <p>Possible build statuses include the following:</p> <ul> <li> <p> <b>INITIALIZED</b> -- A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this status. When a build is successfully created, the build status is set to this value. </p> </li> <li> <p> <b>READY</b> -- The game build has been successfully uploaded. You can now create new fleets for this build.</p> </li> <li> <p> <b>FAILED</b> -- The game build upload failed. You cannot create new fleets for this build. </p> </li> </ul></p>
174 #[serde(rename = "Status")]
175 #[serde(skip_serializing_if = "Option::is_none")]
176 pub status: Option<String>,
177 /// <p>Version information that is associated with a build or script. Version strings do not need to be unique. This value can be set using <a>CreateBuild</a> or <a>UpdateBuild</a>.</p>
178 #[serde(rename = "Version")]
179 #[serde(skip_serializing_if = "Option::is_none")]
180 pub version: Option<String>,
181}
182
183/// <p>Information about the use of a TLS/SSL certificate for a fleet. TLS certificate generation is enabled at the fleet level, with one certificate generated for the fleet. When this feature is enabled, the certificate can be retrieved using the <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-serversdk.html">GameLift Server SDK</a> call <code>GetInstanceCertificate</code>. All instances in a fleet share the same certificate.</p>
184#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
185pub struct CertificateConfiguration {
186 /// <p>Indicates whether a TLS/SSL certificate was generated for a fleet. </p> <p> </p> <p> </p>
187 #[serde(rename = "CertificateType")]
188 pub certificate_type: String,
189}
190
191#[derive(Clone, Debug, Default, PartialEq, Serialize)]
192#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
193pub struct ClaimGameServerInput {
194 /// <p>A set of custom game server properties, formatted as a single string value, to be passed to the claimed game server. </p>
195 #[serde(rename = "GameServerData")]
196 #[serde(skip_serializing_if = "Option::is_none")]
197 pub game_server_data: Option<String>,
198 /// <p>An identifier for the game server group. When claiming a specific game server, this is the game server group whether the game server is located. When requesting that GameLift FleetIQ locate an available game server, this is the game server group to search on. You can use either the <a>GameServerGroup</a> name or ARN value.</p>
199 #[serde(rename = "GameServerGroupName")]
200 pub game_server_group_name: String,
201 /// <p>A custom string that uniquely identifies the game server to claim. If this parameter is left empty, GameLift FleetIQ searches for an available game server in the specified game server group.</p>
202 #[serde(rename = "GameServerId")]
203 #[serde(skip_serializing_if = "Option::is_none")]
204 pub game_server_id: Option<String>,
205}
206
207#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
208#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
209pub struct ClaimGameServerOutput {
210 /// <p>Object that describes the newly claimed game server resource.</p>
211 #[serde(rename = "GameServer")]
212 #[serde(skip_serializing_if = "Option::is_none")]
213 pub game_server: Option<GameServer>,
214}
215
216/// <p>Represents the input for a request action.</p>
217#[derive(Clone, Debug, Default, PartialEq, Serialize)]
218#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
219pub struct CreateAliasInput {
220 /// <p>A human-readable description of the alias.</p>
221 #[serde(rename = "Description")]
222 #[serde(skip_serializing_if = "Option::is_none")]
223 pub description: Option<String>,
224 /// <p>A descriptive label that is associated with an alias. Alias names do not need to be unique.</p>
225 #[serde(rename = "Name")]
226 pub name: String,
227 /// <p>The routing configuration, including routing type and fleet target, for the alias. </p>
228 #[serde(rename = "RoutingStrategy")]
229 pub routing_strategy: RoutingStrategy,
230 /// <p>A list of labels to assign to the new alias resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management and cost allocation. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"> Tagging AWS Resources</a> in the <i>AWS General Reference</i>. Once the resource is created, you can use <a>TagResource</a>, <a>UntagResource</a>, and <a>ListTagsForResource</a> to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.</p>
231 #[serde(rename = "Tags")]
232 #[serde(skip_serializing_if = "Option::is_none")]
233 pub tags: Option<Vec<Tag>>,
234}
235
236/// <p>Represents the returned data in response to a request action.</p>
237#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
238#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
239pub struct CreateAliasOutput {
240 /// <p>The newly created alias resource.</p>
241 #[serde(rename = "Alias")]
242 #[serde(skip_serializing_if = "Option::is_none")]
243 pub alias: Option<Alias>,
244}
245
246/// <p>Represents the input for a request action.</p>
247#[derive(Clone, Debug, Default, PartialEq, Serialize)]
248#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
249pub struct CreateBuildInput {
250 /// <p>A descriptive label that is associated with a build. Build names do not need to be unique. You can use <a>UpdateBuild</a> to change this value later. </p>
251 #[serde(rename = "Name")]
252 #[serde(skip_serializing_if = "Option::is_none")]
253 pub name: Option<String>,
254 /// <p>The operating system that the game server binaries are built to run on. This value determines the type of fleet resources that you can use for this build. If your game build contains multiple executables, they all must run on the same operating system. If an operating system is not specified when creating a build, Amazon GameLift uses the default value (WINDOWS_2012). This value cannot be changed later.</p>
255 #[serde(rename = "OperatingSystem")]
256 #[serde(skip_serializing_if = "Option::is_none")]
257 pub operating_system: Option<String>,
258 /// <p>Information indicating where your game build files are stored. Use this parameter only when creating a build with files stored in an S3 bucket that you own. The storage location must specify an S3 bucket name and key. The location must also specify a role ARN that you set up to allow Amazon GameLift to access your S3 bucket. The S3 bucket and your new build must be in the same Region.</p>
259 #[serde(rename = "StorageLocation")]
260 #[serde(skip_serializing_if = "Option::is_none")]
261 pub storage_location: Option<S3Location>,
262 /// <p>A list of labels to assign to the new build resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management and cost allocation. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"> Tagging AWS Resources</a> in the <i>AWS General Reference</i>. Once the resource is created, you can use <a>TagResource</a>, <a>UntagResource</a>, and <a>ListTagsForResource</a> to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.</p>
263 #[serde(rename = "Tags")]
264 #[serde(skip_serializing_if = "Option::is_none")]
265 pub tags: Option<Vec<Tag>>,
266 /// <p>Version information that is associated with a build or script. Version strings do not need to be unique. You can use <a>UpdateBuild</a> to change this value later. </p>
267 #[serde(rename = "Version")]
268 #[serde(skip_serializing_if = "Option::is_none")]
269 pub version: Option<String>,
270}
271
272/// <p>Represents the returned data in response to a request action.</p>
273#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
274#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
275pub struct CreateBuildOutput {
276 /// <p>The newly created build resource, including a unique build IDs and status. </p>
277 #[serde(rename = "Build")]
278 #[serde(skip_serializing_if = "Option::is_none")]
279 pub build: Option<Build>,
280 /// <p>Amazon S3 location for your game build file, including bucket name and key.</p>
281 #[serde(rename = "StorageLocation")]
282 #[serde(skip_serializing_if = "Option::is_none")]
283 pub storage_location: Option<S3Location>,
284 /// <p>This element is returned only when the operation is called without a storage location. It contains credentials to use when you are uploading a build file to an S3 bucket that is owned by Amazon GameLift. Credentials have a limited life span. To refresh these credentials, call <a>RequestUploadCredentials</a>. </p>
285 #[serde(rename = "UploadCredentials")]
286 #[serde(skip_serializing_if = "Option::is_none")]
287 pub upload_credentials: Option<AwsCredentials>,
288}
289
290/// <p>Represents the input for a request action.</p>
291#[derive(Clone, Debug, Default, PartialEq, Serialize)]
292#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
293pub struct CreateFleetInput {
294 /// <p>A unique identifier for a build to be deployed on the new fleet. You can use either the build ID or ARN value. The custom game server build must have been successfully uploaded to Amazon GameLift and be in a <code>READY</code> status. This fleet setting cannot be changed once the fleet is created. </p>
295 #[serde(rename = "BuildId")]
296 #[serde(skip_serializing_if = "Option::is_none")]
297 pub build_id: Option<String>,
298 /// <p><p>Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS certificates are used for encrypting traffic between game clients and game servers running on GameLift. If this parameter is not specified, the default value, DISABLED, is used. This fleet setting cannot be changed once the fleet is created. Learn more at <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-howitworks.html#gamelift-howitworks-security">Securing Client/Server Communication</a>. </p> <p>Note: This feature requires the AWS Certificate Manager (ACM) service, which is available in the AWS global partition but not in all other partitions. When working in a partition that does not support this feature, a request for a new fleet with certificate generation results fails with a 4xx unsupported Region error.</p> <p>Valid values include: </p> <ul> <li> <p> <b>GENERATED</b> - Generate a TLS/SSL certificate for this fleet.</p> </li> <li> <p> <b>DISABLED</b> - (default) Do not generate a TLS/SSL certificate for this fleet.</p> </li> </ul></p>
299 #[serde(rename = "CertificateConfiguration")]
300 #[serde(skip_serializing_if = "Option::is_none")]
301 pub certificate_configuration: Option<CertificateConfiguration>,
302 /// <p>A human-readable description of a fleet.</p>
303 #[serde(rename = "Description")]
304 #[serde(skip_serializing_if = "Option::is_none")]
305 pub description: Option<String>,
306 /// <p>Range of IP addresses and port settings that permit inbound traffic to access game sessions that are running on the fleet. For fleets using a custom game build, this parameter is required before game sessions running on the fleet can accept connections. For Realtime Servers fleets, Amazon GameLift automatically sets TCP and UDP ranges for use by the Realtime servers. You can specify multiple permission settings or add more by updating the fleet.</p>
307 #[serde(rename = "EC2InboundPermissions")]
308 #[serde(skip_serializing_if = "Option::is_none")]
309 pub ec2_inbound_permissions: Option<Vec<IpPermission>>,
310 /// <p>The name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See <a href="http://aws.amazon.com/ec2/instance-types/">Amazon EC2 Instance Types</a> for detailed descriptions.</p>
311 #[serde(rename = "EC2InstanceType")]
312 pub ec2_instance_type: String,
313 /// <p>Indicates whether to use On-Demand instances or Spot instances for this fleet. If empty, the default is <code>ON_DEMAND</code>. Both categories of instances use identical hardware and configurations based on the instance type selected for this fleet. Learn more about <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html#gamelift-ec2-instances-spot"> On-Demand versus Spot Instances</a>. </p>
314 #[serde(rename = "FleetType")]
315 #[serde(skip_serializing_if = "Option::is_none")]
316 pub fleet_type: Option<String>,
317 /// <p>A unique identifier for an AWS IAM role that manages access to your AWS services. With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, including install scripts, server processes, and daemons (background processes). Create a role or look up a role's ARN from the <a href="https://console.aws.amazon.com/iam/">IAM dashboard</a> in the AWS Management Console. Learn more about using on-box credentials for your game servers at <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html"> Access external resources from a game server</a>.</p>
318 #[serde(rename = "InstanceRoleArn")]
319 #[serde(skip_serializing_if = "Option::is_none")]
320 pub instance_role_arn: Option<String>,
321 /// <p>This parameter is no longer used. Instead, to specify where Amazon GameLift should store log files once a server process shuts down, use the Amazon GameLift server API <code>ProcessReady()</code> and specify one or more directory paths in <code>logParameters</code>. See more information in the <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api-ref.html#gamelift-sdk-server-api-ref-dataypes-process">Server API Reference</a>. </p>
322 #[serde(rename = "LogPaths")]
323 #[serde(skip_serializing_if = "Option::is_none")]
324 pub log_paths: Option<Vec<String>>,
325 /// <p>The name of an Amazon CloudWatch metric group to add this fleet to. A metric group aggregates the metrics for all fleets in the group. Specify an existing metric group name, or provide a new name to create a new metric group. A fleet can only be included in one metric group at a time. </p>
326 #[serde(rename = "MetricGroups")]
327 #[serde(skip_serializing_if = "Option::is_none")]
328 pub metric_groups: Option<Vec<String>>,
329 /// <p>A descriptive label that is associated with a fleet. Fleet names do not need to be unique.</p>
330 #[serde(rename = "Name")]
331 pub name: String,
332 /// <p><p>A game session protection policy to apply to all instances in this fleet. If this parameter is not set, instances in this fleet default to no protection. You can change a fleet's protection policy using <a>UpdateFleetAttributes</a>, but this change will only affect sessions created after the policy change. You can also set protection for individual instances using <a>UpdateGameSession</a>.</p> <ul> <li> <p> <b>NoProtection</b> - The game session can be terminated during a scale-down event.</p> </li> <li> <p> <b>FullProtection</b> - If the game session is in an <code>ACTIVE</code> status, it cannot be terminated during a scale-down event.</p> </li> </ul></p>
333 #[serde(rename = "NewGameSessionProtectionPolicy")]
334 #[serde(skip_serializing_if = "Option::is_none")]
335 pub new_game_session_protection_policy: Option<String>,
336 /// <p>A unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift fleet with. You can find your account ID in the AWS Management Console under account settings. </p>
337 #[serde(rename = "PeerVpcAwsAccountId")]
338 #[serde(skip_serializing_if = "Option::is_none")]
339 pub peer_vpc_aws_account_id: Option<String>,
340 /// <p>A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID, use the <a href="https://console.aws.amazon.com/vpc/">VPC Dashboard</a> in the AWS Management Console. Learn more about VPC peering in <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html">VPC Peering with Amazon GameLift Fleets</a>. </p>
341 #[serde(rename = "PeerVpcId")]
342 #[serde(skip_serializing_if = "Option::is_none")]
343 pub peer_vpc_id: Option<String>,
344 /// <p>A policy that limits the number of game sessions an individual player can create over a span of time for this fleet.</p>
345 #[serde(rename = "ResourceCreationLimitPolicy")]
346 #[serde(skip_serializing_if = "Option::is_none")]
347 pub resource_creation_limit_policy: Option<ResourceCreationLimitPolicy>,
348 /// <p>Instructions for launching server processes on each instance in the fleet. Server processes run either a custom game build executable or a Realtime script. The runtime configuration defines the server executables or launch script file, launch parameters, and the number of processes to run concurrently on each instance. When creating a fleet, the runtime configuration must have at least one server process configuration; otherwise the request fails with an invalid request exception. (This parameter replaces the parameters <code>ServerLaunchPath</code> and <code>ServerLaunchParameters</code>, although requests that contain values for these parameters instead of a runtime configuration will continue to work.) This parameter is required unless the parameters <code>ServerLaunchPath</code> and <code>ServerLaunchParameters</code> are defined. Runtime configuration replaced these parameters, but fleets that use them will continue to work. </p>
349 #[serde(rename = "RuntimeConfiguration")]
350 #[serde(skip_serializing_if = "Option::is_none")]
351 pub runtime_configuration: Option<RuntimeConfiguration>,
352 /// <p>A unique identifier for a Realtime script to be deployed on the new fleet. You can use either the script ID or ARN value. The Realtime script must have been successfully uploaded to Amazon GameLift. This fleet setting cannot be changed once the fleet is created.</p>
353 #[serde(rename = "ScriptId")]
354 #[serde(skip_serializing_if = "Option::is_none")]
355 pub script_id: Option<String>,
356 /// <p>This parameter is no longer used. Instead, specify server launch parameters in the <code>RuntimeConfiguration</code> parameter. (Requests that specify a server launch path and launch parameters instead of a runtime configuration will continue to work.)</p>
357 #[serde(rename = "ServerLaunchParameters")]
358 #[serde(skip_serializing_if = "Option::is_none")]
359 pub server_launch_parameters: Option<String>,
360 /// <p>This parameter is no longer used. Instead, specify a server launch path using the <code>RuntimeConfiguration</code> parameter. Requests that specify a server launch path and launch parameters instead of a runtime configuration will continue to work.</p>
361 #[serde(rename = "ServerLaunchPath")]
362 #[serde(skip_serializing_if = "Option::is_none")]
363 pub server_launch_path: Option<String>,
364 /// <p>A list of labels to assign to the new fleet resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management and cost allocation. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"> Tagging AWS Resources</a> in the <i>AWS General Reference</i>. Once the resource is created, you can use <a>TagResource</a>, <a>UntagResource</a>, and <a>ListTagsForResource</a> to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.</p>
365 #[serde(rename = "Tags")]
366 #[serde(skip_serializing_if = "Option::is_none")]
367 pub tags: Option<Vec<Tag>>,
368}
369
370/// <p>Represents the returned data in response to a request action.</p>
371#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
372#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
373pub struct CreateFleetOutput {
374 /// <p>Properties for the newly created fleet.</p>
375 #[serde(rename = "FleetAttributes")]
376 #[serde(skip_serializing_if = "Option::is_none")]
377 pub fleet_attributes: Option<FleetAttributes>,
378}
379
380#[derive(Clone, Debug, Default, PartialEq, Serialize)]
381#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
382pub struct CreateGameServerGroupInput {
383 /// <p>Configuration settings to define a scaling policy for the Auto Scaling group that is optimized for game hosting. The scaling policy uses the metric "PercentUtilizedGameServers" to maintain a buffer of idle game servers that can immediately accommodate new games and players. Once the game server and Auto Scaling groups are created, you can update the scaling policy settings directly in Auto Scaling Groups.</p>
384 #[serde(rename = "AutoScalingPolicy")]
385 #[serde(skip_serializing_if = "Option::is_none")]
386 pub auto_scaling_policy: Option<GameServerGroupAutoScalingPolicy>,
387 /// <p><p>The fallback balancing method to use for the game server group when Spot instances in a Region become unavailable or are not viable for game hosting. Once triggered, this method remains active until Spot instances can once again be used. Method options include:</p> <ul> <li> <p>SPOT<em>ONLY -- If Spot instances are unavailable, the game server group provides no hosting capacity. No new instances are started, and the existing nonviable Spot instances are terminated (once current gameplay ends) and not replaced.</p> </li> <li> <p>SPOT</em>PREFERRED -- If Spot instances are unavailable, the game server group continues to provide hosting capacity by using On-Demand instances. Existing nonviable Spot instances are terminated (once current gameplay ends) and replaced with new On-Demand instances. </p> </li> </ul></p>
388 #[serde(rename = "BalancingStrategy")]
389 #[serde(skip_serializing_if = "Option::is_none")]
390 pub balancing_strategy: Option<String>,
391 /// <p>An identifier for the new game server group. This value is used to generate unique ARN identifiers for the EC2 Auto Scaling group and the GameLift FleetIQ game server group. The name must be unique per Region per AWS account.</p>
392 #[serde(rename = "GameServerGroupName")]
393 pub game_server_group_name: String,
394 /// <p>A flag that indicates whether instances in the game server group are protected from early termination. Unprotected instances that have active game servers running may by terminated during a scale-down event, causing players to be dropped from the game. Protected instances cannot be terminated while there are active game servers running. An exception to this is Spot Instances, which may be terminated by AWS regardless of protection status. This property is set to NO_PROTECTION by default.</p>
395 #[serde(rename = "GameServerProtectionPolicy")]
396 #[serde(skip_serializing_if = "Option::is_none")]
397 pub game_server_protection_policy: Option<String>,
398 /// <p>A set of EC2 instance types to use when creating instances in the group. The instance definitions must specify at least two different instance types that are supported by GameLift FleetIQ. For more information on instance types, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html">EC2 Instance Types</a> in the <i>Amazon EC2 User Guide</i>.</p>
399 #[serde(rename = "InstanceDefinitions")]
400 pub instance_definitions: Vec<InstanceDefinition>,
401 /// <p>The EC2 launch template that contains configuration settings and game server code to be deployed to all instances in the game server group. You can specify the template using either the template name or ID. For help with creating a launch template, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html">Creating a Launch Template for an Auto Scaling Group</a> in the <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
402 #[serde(rename = "LaunchTemplate")]
403 pub launch_template: LaunchTemplateSpecification,
404 /// <p>The maximum number of instances allowed in the EC2 Auto Scaling group. During autoscaling events, GameLift FleetIQ and EC2 do not scale up the group above this maximum.</p>
405 #[serde(rename = "MaxSize")]
406 pub max_size: i64,
407 /// <p>The minimum number of instances allowed in the EC2 Auto Scaling group. During autoscaling events, GameLift FleetIQ and EC2 do not scale down the group below this minimum. In production, this value should be set to at least 1.</p>
408 #[serde(rename = "MinSize")]
409 pub min_size: i64,
410 /// <p>The Amazon Resource Name (<a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>) for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups. The submitted role is validated to ensure that it contains the necessary permissions for game server groups.</p>
411 #[serde(rename = "RoleArn")]
412 pub role_arn: String,
413 /// <p>A list of labels to assign to the new game server group resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management, and cost allocation. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"> Tagging AWS Resources</a> in the <i>AWS General Reference</i>. Once the resource is created, you can use <a>TagResource</a>, <a>UntagResource</a>, and <a>ListTagsForResource</a> to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.</p>
414 #[serde(rename = "Tags")]
415 #[serde(skip_serializing_if = "Option::is_none")]
416 pub tags: Option<Vec<Tag>>,
417 /// <p>A list of virtual private cloud (VPC) subnets to use with instances in the game server group. By default, all GameLift FleetIQ-supported availability zones are used; this parameter allows you to specify VPCs that you've set up. </p>
418 #[serde(rename = "VpcSubnets")]
419 #[serde(skip_serializing_if = "Option::is_none")]
420 pub vpc_subnets: Option<Vec<String>>,
421}
422
423#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
424#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
425pub struct CreateGameServerGroupOutput {
426 /// <p>The newly created game server group object, including the new ARN value for the GameLift FleetIQ game server group and the object's status. The EC2 Auto Scaling group ARN is initially null, since the group has not yet been created. This value is added once the game server group status reaches ACTIVE. </p>
427 #[serde(rename = "GameServerGroup")]
428 #[serde(skip_serializing_if = "Option::is_none")]
429 pub game_server_group: Option<GameServerGroup>,
430}
431
432/// <p>Represents the input for a request action.</p>
433#[derive(Clone, Debug, Default, PartialEq, Serialize)]
434#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
435pub struct CreateGameSessionInput {
436 /// <p>A unique identifier for an alias associated with the fleet to create a game session in. You can use either the alias ID or ARN value. Each request must reference either a fleet ID or alias ID, but not both.</p>
437 #[serde(rename = "AliasId")]
438 #[serde(skip_serializing_if = "Option::is_none")]
439 pub alias_id: Option<String>,
440 /// <p>A unique identifier for a player or entity creating the game session. This ID is used to enforce a resource protection policy (if one exists) that limits the number of concurrent active game sessions one player can have.</p>
441 #[serde(rename = "CreatorId")]
442 #[serde(skip_serializing_if = "Option::is_none")]
443 pub creator_id: Option<String>,
444 /// <p>A unique identifier for a fleet to create a game session in. You can use either the fleet ID or ARN value. Each request must reference either a fleet ID or alias ID, but not both.</p>
445 #[serde(rename = "FleetId")]
446 #[serde(skip_serializing_if = "Option::is_none")]
447 pub fleet_id: Option<String>,
448 /// <p>Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the <a>GameSession</a> object with a request to start a new game session (see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start a Game Session</a>).</p>
449 #[serde(rename = "GameProperties")]
450 #[serde(skip_serializing_if = "Option::is_none")]
451 pub game_properties: Option<Vec<GameProperty>>,
452 /// <p>Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the <a>GameSession</a> object with a request to start a new game session (see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start a Game Session</a>).</p>
453 #[serde(rename = "GameSessionData")]
454 #[serde(skip_serializing_if = "Option::is_none")]
455 pub game_session_data: Option<String>,
456 /// <p> <i>This parameter is no longer preferred. Please use <code>IdempotencyToken</code> instead.</i> Custom string that uniquely identifies a request for a new game session. Maximum token length is 48 characters. If provided, this string is included in the new game session's ID. (A game session ARN has the following format: <code>arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token></code>.) </p>
457 #[serde(rename = "GameSessionId")]
458 #[serde(skip_serializing_if = "Option::is_none")]
459 pub game_session_id: Option<String>,
460 /// <p>Custom string that uniquely identifies a request for a new game session. Maximum token length is 48 characters. If provided, this string is included in the new game session's ID. (A game session ARN has the following format: <code>arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token></code>.) Idempotency tokens remain in use for 30 days after a game session has ended; game session objects are retained for this time period and then deleted.</p>
461 #[serde(rename = "IdempotencyToken")]
462 #[serde(skip_serializing_if = "Option::is_none")]
463 pub idempotency_token: Option<String>,
464 /// <p>The maximum number of players that can be connected simultaneously to the game session.</p>
465 #[serde(rename = "MaximumPlayerSessionCount")]
466 pub maximum_player_session_count: i64,
467 /// <p>A descriptive label that is associated with a game session. Session names do not need to be unique.</p>
468 #[serde(rename = "Name")]
469 #[serde(skip_serializing_if = "Option::is_none")]
470 pub name: Option<String>,
471}
472
473/// <p>Represents the returned data in response to a request action.</p>
474#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
475#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
476pub struct CreateGameSessionOutput {
477 /// <p>Object that describes the newly created game session record.</p>
478 #[serde(rename = "GameSession")]
479 #[serde(skip_serializing_if = "Option::is_none")]
480 pub game_session: Option<GameSession>,
481}
482
483/// <p>Represents the input for a request action.</p>
484#[derive(Clone, Debug, Default, PartialEq, Serialize)]
485#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
486pub struct CreateGameSessionQueueInput {
487 /// <p>A list of fleets that can be used to fulfill game session placement requests in the queue. Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order.</p>
488 #[serde(rename = "Destinations")]
489 #[serde(skip_serializing_if = "Option::is_none")]
490 pub destinations: Option<Vec<GameSessionQueueDestination>>,
491 /// <p>A descriptive label that is associated with game session queue. Queue names must be unique within each Region.</p>
492 #[serde(rename = "Name")]
493 pub name: String,
494 /// <p>A collection of latency policies to apply when processing game sessions placement requests with player latency information. Multiple policies are evaluated in order of the maximum latency value, starting with the lowest latency values. With just one policy, the policy is enforced at the start of the game session placement for the duration period. With multiple policies, each policy is enforced consecutively for its duration period. For example, a queue might enforce a 60-second policy followed by a 120-second policy, and then no policy for the remainder of the placement. A player latency policy must set a value for <code>MaximumIndividualPlayerLatencyMilliseconds</code>. If none is set, this API request fails.</p>
495 #[serde(rename = "PlayerLatencyPolicies")]
496 #[serde(skip_serializing_if = "Option::is_none")]
497 pub player_latency_policies: Option<Vec<PlayerLatencyPolicy>>,
498 /// <p>A list of labels to assign to the new game session queue resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management and cost allocation. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"> Tagging AWS Resources</a> in the <i>AWS General Reference</i>. Once the resource is created, you can use <a>TagResource</a>, <a>UntagResource</a>, and <a>ListTagsForResource</a> to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.</p>
499 #[serde(rename = "Tags")]
500 #[serde(skip_serializing_if = "Option::is_none")]
501 pub tags: Option<Vec<Tag>>,
502 /// <p>The maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a <code>TIMED_OUT</code> status.</p>
503 #[serde(rename = "TimeoutInSeconds")]
504 #[serde(skip_serializing_if = "Option::is_none")]
505 pub timeout_in_seconds: Option<i64>,
506}
507
508/// <p>Represents the returned data in response to a request action.</p>
509#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
510#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
511pub struct CreateGameSessionQueueOutput {
512 /// <p>An object that describes the newly created game session queue.</p>
513 #[serde(rename = "GameSessionQueue")]
514 #[serde(skip_serializing_if = "Option::is_none")]
515 pub game_session_queue: Option<GameSessionQueue>,
516}
517
518/// <p>Represents the input for a request action.</p>
519#[derive(Clone, Debug, Default, PartialEq, Serialize)]
520#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
521pub struct CreateMatchmakingConfigurationInput {
522 /// <p>A flag that determines whether a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to <code>TRUE</code>.</p>
523 #[serde(rename = "AcceptanceRequired")]
524 pub acceptance_required: bool,
525 /// <p>The length of time (in seconds) to wait for players to accept a proposed match. If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable match.</p>
526 #[serde(rename = "AcceptanceTimeoutSeconds")]
527 #[serde(skip_serializing_if = "Option::is_none")]
528 pub acceptance_timeout_seconds: Option<i64>,
529 /// <p>The number of player slots in a match to keep open for future players. For example, assume that the configuration's rule set specifies a match for a single 12-person team. If the additional player count is set to 2, only 10 players are initially selected for the match.</p>
530 #[serde(rename = "AdditionalPlayerCount")]
531 #[serde(skip_serializing_if = "Option::is_none")]
532 pub additional_player_count: Option<i64>,
533 /// <p>The method used to backfill game sessions that are created with this matchmaking configuration. Specify <code>MANUAL</code> when your game manages backfill requests manually or does not use the match backfill feature. Specify <code>AUTOMATIC</code> to have GameLift create a <a>StartMatchBackfill</a> request whenever a game session has one or more open slots. Learn more about manual and automatic backfill in <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-backfill.html"> Backfill Existing Games with FlexMatch</a>. </p>
534 #[serde(rename = "BackfillMode")]
535 #[serde(skip_serializing_if = "Option::is_none")]
536 pub backfill_mode: Option<String>,
537 /// <p>Information to be added to all events related to this matchmaking configuration. </p>
538 #[serde(rename = "CustomEventData")]
539 #[serde(skip_serializing_if = "Option::is_none")]
540 pub custom_event_data: Option<String>,
541 /// <p>A human-readable description of the matchmaking configuration. </p>
542 #[serde(rename = "Description")]
543 #[serde(skip_serializing_if = "Option::is_none")]
544 pub description: Option<String>,
545 /// <p>A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the <a>GameSession</a> object with a request to start a new game session (see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start a Game Session</a>). This information is added to the new <a>GameSession</a> object that is created for a successful match. </p>
546 #[serde(rename = "GameProperties")]
547 #[serde(skip_serializing_if = "Option::is_none")]
548 pub game_properties: Option<Vec<GameProperty>>,
549 /// <p>A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the <a>GameSession</a> object with a request to start a new game session (see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start a Game Session</a>). This information is added to the new <a>GameSession</a> object that is created for a successful match.</p>
550 #[serde(rename = "GameSessionData")]
551 #[serde(skip_serializing_if = "Option::is_none")]
552 pub game_session_data: Option<String>,
553 /// <p>Amazon Resource Name (<a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any Region.</p>
554 #[serde(rename = "GameSessionQueueArns")]
555 pub game_session_queue_arns: Vec<String>,
556 /// <p>A unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a matchmaking request or ticket.</p>
557 #[serde(rename = "Name")]
558 pub name: String,
559 /// <p>An SNS topic ARN that is set up to receive matchmaking notifications.</p>
560 #[serde(rename = "NotificationTarget")]
561 #[serde(skip_serializing_if = "Option::is_none")]
562 pub notification_target: Option<String>,
563 /// <p>The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that fail due to timing out can be resubmitted as needed.</p>
564 #[serde(rename = "RequestTimeoutSeconds")]
565 pub request_timeout_seconds: i64,
566 /// <p>A unique identifier for a matchmaking rule set to use with this configuration. You can use either the rule set name or ARN value. A matchmaking configuration can only use rule sets that are defined in the same Region.</p>
567 #[serde(rename = "RuleSetName")]
568 pub rule_set_name: String,
569 /// <p>A list of labels to assign to the new matchmaking configuration resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management and cost allocation. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"> Tagging AWS Resources</a> in the <i>AWS General Reference</i>. Once the resource is created, you can use <a>TagResource</a>, <a>UntagResource</a>, and <a>ListTagsForResource</a> to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.</p>
570 #[serde(rename = "Tags")]
571 #[serde(skip_serializing_if = "Option::is_none")]
572 pub tags: Option<Vec<Tag>>,
573}
574
575/// <p>Represents the returned data in response to a request action.</p>
576#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
577#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
578pub struct CreateMatchmakingConfigurationOutput {
579 /// <p>Object that describes the newly created matchmaking configuration.</p>
580 #[serde(rename = "Configuration")]
581 #[serde(skip_serializing_if = "Option::is_none")]
582 pub configuration: Option<MatchmakingConfiguration>,
583}
584
585/// <p>Represents the input for a request action.</p>
586#[derive(Clone, Debug, Default, PartialEq, Serialize)]
587#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
588pub struct CreateMatchmakingRuleSetInput {
589 /// <p>A unique identifier for a matchmaking rule set. A matchmaking configuration identifies the rule set it uses by this name value. Note that the rule set name is different from the optional <code>name</code> field in the rule set body.</p>
590 #[serde(rename = "Name")]
591 pub name: String,
592 /// <p>A collection of matchmaking rules, formatted as a JSON string. Comments are not allowed in JSON, but most elements support a description field.</p>
593 #[serde(rename = "RuleSetBody")]
594 pub rule_set_body: String,
595 /// <p>A list of labels to assign to the new matchmaking rule set resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management and cost allocation. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"> Tagging AWS Resources</a> in the <i>AWS General Reference</i>. Once the resource is created, you can use <a>TagResource</a>, <a>UntagResource</a>, and <a>ListTagsForResource</a> to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.</p>
596 #[serde(rename = "Tags")]
597 #[serde(skip_serializing_if = "Option::is_none")]
598 pub tags: Option<Vec<Tag>>,
599}
600
601/// <p>Represents the returned data in response to a request action.</p>
602#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
603#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
604pub struct CreateMatchmakingRuleSetOutput {
605 /// <p>The newly created matchmaking rule set.</p>
606 #[serde(rename = "RuleSet")]
607 pub rule_set: MatchmakingRuleSet,
608}
609
610/// <p>Represents the input for a request action.</p>
611#[derive(Clone, Debug, Default, PartialEq, Serialize)]
612#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
613pub struct CreatePlayerSessionInput {
614 /// <p>A unique identifier for the game session to add a player to.</p>
615 #[serde(rename = "GameSessionId")]
616 pub game_session_id: String,
617 /// <p>Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.</p>
618 #[serde(rename = "PlayerData")]
619 #[serde(skip_serializing_if = "Option::is_none")]
620 pub player_data: Option<String>,
621 /// <p>A unique identifier for a player. Player IDs are developer-defined.</p>
622 #[serde(rename = "PlayerId")]
623 pub player_id: String,
624}
625
626/// <p>Represents the returned data in response to a request action.</p>
627#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
628#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
629pub struct CreatePlayerSessionOutput {
630 /// <p>Object that describes the newly created player session record.</p>
631 #[serde(rename = "PlayerSession")]
632 #[serde(skip_serializing_if = "Option::is_none")]
633 pub player_session: Option<PlayerSession>,
634}
635
636/// <p>Represents the input for a request action.</p>
637#[derive(Clone, Debug, Default, PartialEq, Serialize)]
638#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
639pub struct CreatePlayerSessionsInput {
640 /// <p>A unique identifier for the game session to add players to.</p>
641 #[serde(rename = "GameSessionId")]
642 pub game_session_id: String,
643 /// <p>Map of string pairs, each specifying a player ID and a set of developer-defined information related to the player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game. Player data strings for player IDs not included in the <code>PlayerIds</code> parameter are ignored. </p>
644 #[serde(rename = "PlayerDataMap")]
645 #[serde(skip_serializing_if = "Option::is_none")]
646 pub player_data_map: Option<::std::collections::HashMap<String, String>>,
647 /// <p>List of unique identifiers for the players to be added.</p>
648 #[serde(rename = "PlayerIds")]
649 pub player_ids: Vec<String>,
650}
651
652/// <p>Represents the returned data in response to a request action.</p>
653#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
654#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
655pub struct CreatePlayerSessionsOutput {
656 /// <p>A collection of player session objects created for the added players.</p>
657 #[serde(rename = "PlayerSessions")]
658 #[serde(skip_serializing_if = "Option::is_none")]
659 pub player_sessions: Option<Vec<PlayerSession>>,
660}
661
662#[derive(Clone, Debug, Default, PartialEq, Serialize)]
663#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
664pub struct CreateScriptInput {
665 /// <p>A descriptive label that is associated with a script. Script names do not need to be unique. You can use <a>UpdateScript</a> to change this value later. </p>
666 #[serde(rename = "Name")]
667 #[serde(skip_serializing_if = "Option::is_none")]
668 pub name: Option<String>,
669 /// <p>The location of the Amazon S3 bucket where a zipped file containing your Realtime scripts is stored. The storage location must specify the Amazon S3 bucket name, the zip file name (the "key"), and a role ARN that allows Amazon GameLift to access the Amazon S3 storage location. The S3 bucket must be in the same Region where you want to create a new script. By default, Amazon GameLift uploads the latest version of the zip file; if you have S3 object versioning turned on, you can use the <code>ObjectVersion</code> parameter to specify an earlier version. </p>
670 #[serde(rename = "StorageLocation")]
671 #[serde(skip_serializing_if = "Option::is_none")]
672 pub storage_location: Option<S3Location>,
673 /// <p>A list of labels to assign to the new script resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management and cost allocation. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"> Tagging AWS Resources</a> in the <i>AWS General Reference</i>. Once the resource is created, you can use <a>TagResource</a>, <a>UntagResource</a>, and <a>ListTagsForResource</a> to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.</p>
674 #[serde(rename = "Tags")]
675 #[serde(skip_serializing_if = "Option::is_none")]
676 pub tags: Option<Vec<Tag>>,
677 /// <p>The version that is associated with a build or script. Version strings do not need to be unique. You can use <a>UpdateScript</a> to change this value later. </p>
678 #[serde(rename = "Version")]
679 #[serde(skip_serializing_if = "Option::is_none")]
680 pub version: Option<String>,
681 /// <p>A data object containing your Realtime scripts and dependencies as a zip file. The zip file can have one or multiple files. Maximum size of a zip file is 5 MB.</p> <p>When using the AWS CLI tool to create a script, this parameter is set to the zip file name. It must be prepended with the string "fileb://" to indicate that the file data is a binary object. For example: <code>--zip-file fileb://myRealtimeScript.zip</code>.</p>
682 #[serde(rename = "ZipFile")]
683 #[serde(
684 deserialize_with = "::rusoto_core::serialization::SerdeBlob::deserialize_blob",
685 serialize_with = "::rusoto_core::serialization::SerdeBlob::serialize_blob",
686 default
687 )]
688 #[serde(skip_serializing_if = "Option::is_none")]
689 pub zip_file: Option<bytes::Bytes>,
690}
691
692#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
693#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
694pub struct CreateScriptOutput {
695 /// <p>The newly created script record with a unique script ID and ARN. The new script's storage location reflects an Amazon S3 location: (1) If the script was uploaded from an S3 bucket under your account, the storage location reflects the information that was provided in the <i>CreateScript</i> request; (2) If the script file was uploaded from a local zip file, the storage location reflects an S3 location controls by the Amazon GameLift service.</p>
696 #[serde(rename = "Script")]
697 #[serde(skip_serializing_if = "Option::is_none")]
698 pub script: Option<Script>,
699}
700
701/// <p>Represents the input for a request action.</p>
702#[derive(Clone, Debug, Default, PartialEq, Serialize)]
703#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
704pub struct CreateVpcPeeringAuthorizationInput {
705 /// <p>A unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. You can find your Account ID in the AWS Management Console under account settings.</p>
706 #[serde(rename = "GameLiftAwsAccountId")]
707 pub game_lift_aws_account_id: String,
708 /// <p>A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region where your fleet is deployed. Look up a VPC ID using the <a href="https://console.aws.amazon.com/vpc/">VPC Dashboard</a> in the AWS Management Console. Learn more about VPC peering in <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html">VPC Peering with Amazon GameLift Fleets</a>.</p>
709 #[serde(rename = "PeerVpcId")]
710 pub peer_vpc_id: String,
711}
712
713/// <p>Represents the returned data in response to a request action.</p>
714#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
715#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
716pub struct CreateVpcPeeringAuthorizationOutput {
717 /// <p>Details on the requested VPC peering authorization, including expiration.</p>
718 #[serde(rename = "VpcPeeringAuthorization")]
719 #[serde(skip_serializing_if = "Option::is_none")]
720 pub vpc_peering_authorization: Option<VpcPeeringAuthorization>,
721}
722
723/// <p>Represents the input for a request action.</p>
724#[derive(Clone, Debug, Default, PartialEq, Serialize)]
725#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
726pub struct CreateVpcPeeringConnectionInput {
727 /// <p>A unique identifier for a fleet. You can use either the fleet ID or ARN value. This tells Amazon GameLift which GameLift VPC to peer with. </p>
728 #[serde(rename = "FleetId")]
729 pub fleet_id: String,
730 /// <p>A unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift fleet with. You can find your Account ID in the AWS Management Console under account settings.</p>
731 #[serde(rename = "PeerVpcAwsAccountId")]
732 pub peer_vpc_aws_account_id: String,
733 /// <p>A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region where your fleet is deployed. Look up a VPC ID using the <a href="https://console.aws.amazon.com/vpc/">VPC Dashboard</a> in the AWS Management Console. Learn more about VPC peering in <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html">VPC Peering with Amazon GameLift Fleets</a>.</p>
734 #[serde(rename = "PeerVpcId")]
735 pub peer_vpc_id: String,
736}
737
738#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
739#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
740pub struct CreateVpcPeeringConnectionOutput {}
741
742/// <p>Represents the input for a request action.</p>
743#[derive(Clone, Debug, Default, PartialEq, Serialize)]
744#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
745pub struct DeleteAliasInput {
746 /// <p>A unique identifier of the alias that you want to delete. You can use either the alias ID or ARN value.</p>
747 #[serde(rename = "AliasId")]
748 pub alias_id: String,
749}
750
751/// <p>Represents the input for a request action.</p>
752#[derive(Clone, Debug, Default, PartialEq, Serialize)]
753#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
754pub struct DeleteBuildInput {
755 /// <p>A unique identifier for a build to delete. You can use either the build ID or ARN value. </p>
756 #[serde(rename = "BuildId")]
757 pub build_id: String,
758}
759
760/// <p>Represents the input for a request action.</p>
761#[derive(Clone, Debug, Default, PartialEq, Serialize)]
762#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
763pub struct DeleteFleetInput {
764 /// <p>A unique identifier for a fleet to be deleted. You can use either the fleet ID or ARN value.</p>
765 #[serde(rename = "FleetId")]
766 pub fleet_id: String,
767}
768
769#[derive(Clone, Debug, Default, PartialEq, Serialize)]
770#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
771pub struct DeleteGameServerGroupInput {
772 /// <p><p>The type of delete to perform. Options include:</p> <ul> <li> <p>SAFE<em>DELETE – Terminates the game server group and EC2 Auto Scaling group only when it has no game servers that are in IN</em>USE status.</p> </li> <li> <p>FORCE_DELETE – Terminates the game server group, including all active game servers regardless of their utilization status, and the EC2 Auto Scaling group. </p> </li> <li> <p>RETAIN – Does a safe delete of the game server group but retains the EC2 Auto Scaling group as is.</p> </li> </ul></p>
773 #[serde(rename = "DeleteOption")]
774 #[serde(skip_serializing_if = "Option::is_none")]
775 pub delete_option: Option<String>,
776 /// <p>The unique identifier of the game server group to delete. Use either the <a>GameServerGroup</a> name or ARN value.</p>
777 #[serde(rename = "GameServerGroupName")]
778 pub game_server_group_name: String,
779}
780
781#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
782#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
783pub struct DeleteGameServerGroupOutput {
784 /// <p>An object that describes the deleted game server group resource, with status updated to DELETE_SCHEDULED. </p>
785 #[serde(rename = "GameServerGroup")]
786 #[serde(skip_serializing_if = "Option::is_none")]
787 pub game_server_group: Option<GameServerGroup>,
788}
789
790/// <p>Represents the input for a request action. </p>
791#[derive(Clone, Debug, Default, PartialEq, Serialize)]
792#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
793pub struct DeleteGameSessionQueueInput {
794 /// <p>A descriptive label that is associated with game session queue. Queue names must be unique within each Region. You can use either the queue ID or ARN value. </p>
795 #[serde(rename = "Name")]
796 pub name: String,
797}
798
799#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
800#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
801pub struct DeleteGameSessionQueueOutput {}
802
803/// <p>Represents the input for a request action.</p>
804#[derive(Clone, Debug, Default, PartialEq, Serialize)]
805#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
806pub struct DeleteMatchmakingConfigurationInput {
807 /// <p>A unique identifier for a matchmaking configuration. You can use either the configuration name or ARN value.</p>
808 #[serde(rename = "Name")]
809 pub name: String,
810}
811
812#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
813#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
814pub struct DeleteMatchmakingConfigurationOutput {}
815
816/// <p>Represents the input for a request action.</p>
817#[derive(Clone, Debug, Default, PartialEq, Serialize)]
818#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
819pub struct DeleteMatchmakingRuleSetInput {
820 /// <p>A unique identifier for a matchmaking rule set to be deleted. (Note: The rule set name is different from the optional "name" field in the rule set body.) You can use either the rule set name or ARN value.</p>
821 #[serde(rename = "Name")]
822 pub name: String,
823}
824
825/// <p>Represents the returned data in response to a request action.</p>
826#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
827#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
828pub struct DeleteMatchmakingRuleSetOutput {}
829
830/// <p>Represents the input for a request action.</p>
831#[derive(Clone, Debug, Default, PartialEq, Serialize)]
832#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
833pub struct DeleteScalingPolicyInput {
834 /// <p>A unique identifier for a fleet to be deleted. You can use either the fleet ID or ARN value.</p>
835 #[serde(rename = "FleetId")]
836 pub fleet_id: String,
837 /// <p>A descriptive label that is associated with a scaling policy. Policy names do not need to be unique.</p>
838 #[serde(rename = "Name")]
839 pub name: String,
840}
841
842#[derive(Clone, Debug, Default, PartialEq, Serialize)]
843#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
844pub struct DeleteScriptInput {
845 /// <p>A unique identifier for a Realtime script to delete. You can use either the script ID or ARN value.</p>
846 #[serde(rename = "ScriptId")]
847 pub script_id: String,
848}
849
850/// <p>Represents the input for a request action.</p>
851#[derive(Clone, Debug, Default, PartialEq, Serialize)]
852#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
853pub struct DeleteVpcPeeringAuthorizationInput {
854 /// <p>A unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. You can find your Account ID in the AWS Management Console under account settings.</p>
855 #[serde(rename = "GameLiftAwsAccountId")]
856 pub game_lift_aws_account_id: String,
857 /// <p>A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region where your fleet is deployed. Look up a VPC ID using the <a href="https://console.aws.amazon.com/vpc/">VPC Dashboard</a> in the AWS Management Console. Learn more about VPC peering in <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html">VPC Peering with Amazon GameLift Fleets</a>.</p>
858 #[serde(rename = "PeerVpcId")]
859 pub peer_vpc_id: String,
860}
861
862#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
863#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
864pub struct DeleteVpcPeeringAuthorizationOutput {}
865
866/// <p>Represents the input for a request action.</p>
867#[derive(Clone, Debug, Default, PartialEq, Serialize)]
868#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
869pub struct DeleteVpcPeeringConnectionInput {
870 /// <p>A unique identifier for a fleet. This fleet specified must match the fleet referenced in the VPC peering connection record. You can use either the fleet ID or ARN value.</p>
871 #[serde(rename = "FleetId")]
872 pub fleet_id: String,
873 /// <p>A unique identifier for a VPC peering connection. This value is included in the <a>VpcPeeringConnection</a> object, which can be retrieved by calling <a>DescribeVpcPeeringConnections</a>.</p>
874 #[serde(rename = "VpcPeeringConnectionId")]
875 pub vpc_peering_connection_id: String,
876}
877
878#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
879#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
880pub struct DeleteVpcPeeringConnectionOutput {}
881
882#[derive(Clone, Debug, Default, PartialEq, Serialize)]
883#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
884pub struct DeregisterGameServerInput {
885 /// <p>An identifier for the game server group where the game server to be de-registered is running. Use either the <a>GameServerGroup</a> name or ARN value.</p>
886 #[serde(rename = "GameServerGroupName")]
887 pub game_server_group_name: String,
888 /// <p>The identifier for the game server to be de-registered.</p>
889 #[serde(rename = "GameServerId")]
890 pub game_server_id: String,
891}
892
893/// <p>Represents the input for a request action.</p>
894#[derive(Clone, Debug, Default, PartialEq, Serialize)]
895#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
896pub struct DescribeAliasInput {
897 /// <p>The unique identifier for the fleet alias that you want to retrieve. You can use either the alias ID or ARN value. </p>
898 #[serde(rename = "AliasId")]
899 pub alias_id: String,
900}
901
902/// <p>Represents the returned data in response to a request action.</p>
903#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
904#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
905pub struct DescribeAliasOutput {
906 /// <p>The requested alias resource.</p>
907 #[serde(rename = "Alias")]
908 #[serde(skip_serializing_if = "Option::is_none")]
909 pub alias: Option<Alias>,
910}
911
912/// <p>Represents the input for a request action.</p>
913#[derive(Clone, Debug, Default, PartialEq, Serialize)]
914#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
915pub struct DescribeBuildInput {
916 /// <p>A unique identifier for a build to retrieve properties for. You can use either the build ID or ARN value. </p>
917 #[serde(rename = "BuildId")]
918 pub build_id: String,
919}
920
921/// <p>Represents the returned data in response to a request action.</p>
922#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
923#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
924pub struct DescribeBuildOutput {
925 /// <p>Set of properties describing the requested build.</p>
926 #[serde(rename = "Build")]
927 #[serde(skip_serializing_if = "Option::is_none")]
928 pub build: Option<Build>,
929}
930
931/// <p>Represents the input for a request action.</p>
932#[derive(Clone, Debug, Default, PartialEq, Serialize)]
933#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
934pub struct DescribeEC2InstanceLimitsInput {
935 /// <p>Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See <a href="http://aws.amazon.com/ec2/instance-types/">Amazon EC2 Instance Types</a> for detailed descriptions. Leave this parameter blank to retrieve limits for all types.</p>
936 #[serde(rename = "EC2InstanceType")]
937 #[serde(skip_serializing_if = "Option::is_none")]
938 pub ec2_instance_type: Option<String>,
939}
940
941/// <p>Represents the returned data in response to a request action.</p>
942#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
943#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
944pub struct DescribeEC2InstanceLimitsOutput {
945 /// <p>The maximum number of instances for the specified instance type.</p>
946 #[serde(rename = "EC2InstanceLimits")]
947 #[serde(skip_serializing_if = "Option::is_none")]
948 pub ec2_instance_limits: Option<Vec<EC2InstanceLimit>>,
949}
950
951/// <p>Represents the input for a request action.</p>
952#[derive(Clone, Debug, Default, PartialEq, Serialize)]
953#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
954pub struct DescribeFleetAttributesInput {
955 /// <p>A list of unique fleet identifiers to retrieve attributes for. You can use either the fleet ID or ARN value. To retrieve attributes for all current fleets, do not include this parameter. If the list of fleet identifiers includes fleets that don't currently exist, the request succeeds but no attributes for that fleet are returned.</p>
956 #[serde(rename = "FleetIds")]
957 #[serde(skip_serializing_if = "Option::is_none")]
958 pub fleet_ids: Option<Vec<String>>,
959 /// <p>The maximum number of results to return. Use this parameter with <code>NextToken</code> to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet IDs.</p>
960 #[serde(rename = "Limit")]
961 #[serde(skip_serializing_if = "Option::is_none")]
962 pub limit: Option<i64>,
963 /// <p>Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.</p>
964 #[serde(rename = "NextToken")]
965 #[serde(skip_serializing_if = "Option::is_none")]
966 pub next_token: Option<String>,
967}
968
969/// <p>Represents the returned data in response to a request action.</p>
970#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
971#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
972pub struct DescribeFleetAttributesOutput {
973 /// <p>A collection of objects containing attribute metadata for each requested fleet ID. Attribute objects are returned only for fleets that currently exist.</p>
974 #[serde(rename = "FleetAttributes")]
975 #[serde(skip_serializing_if = "Option::is_none")]
976 pub fleet_attributes: Option<Vec<FleetAttributes>>,
977 /// <p>Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.</p>
978 #[serde(rename = "NextToken")]
979 #[serde(skip_serializing_if = "Option::is_none")]
980 pub next_token: Option<String>,
981}
982
983/// <p>Represents the input for a request action.</p>
984#[derive(Clone, Debug, Default, PartialEq, Serialize)]
985#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
986pub struct DescribeFleetCapacityInput {
987 /// <p>A unique identifier for a fleet(s) to retrieve capacity information for. You can use either the fleet ID or ARN value.</p>
988 #[serde(rename = "FleetIds")]
989 #[serde(skip_serializing_if = "Option::is_none")]
990 pub fleet_ids: Option<Vec<String>>,
991 /// <p>The maximum number of results to return. Use this parameter with <code>NextToken</code> to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet IDs.</p>
992 #[serde(rename = "Limit")]
993 #[serde(skip_serializing_if = "Option::is_none")]
994 pub limit: Option<i64>,
995 /// <p>Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.</p>
996 #[serde(rename = "NextToken")]
997 #[serde(skip_serializing_if = "Option::is_none")]
998 pub next_token: Option<String>,
999}
1000
1001/// <p>Represents the returned data in response to a request action.</p>
1002#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1003#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1004pub struct DescribeFleetCapacityOutput {
1005 /// <p>A collection of objects containing capacity information for each requested fleet ID. Leave this parameter empty to retrieve capacity information for all fleets.</p>
1006 #[serde(rename = "FleetCapacity")]
1007 #[serde(skip_serializing_if = "Option::is_none")]
1008 pub fleet_capacity: Option<Vec<FleetCapacity>>,
1009 /// <p>Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.</p>
1010 #[serde(rename = "NextToken")]
1011 #[serde(skip_serializing_if = "Option::is_none")]
1012 pub next_token: Option<String>,
1013}
1014
1015/// <p>Represents the input for a request action.</p>
1016#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1017#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1018pub struct DescribeFleetEventsInput {
1019 /// <p>Most recent date to retrieve event logs for. If no end time is specified, this call returns entries from the specified start time up to the present. Format is a number expressed in Unix time as milliseconds (ex: "1469498468.057").</p>
1020 #[serde(rename = "EndTime")]
1021 #[serde(skip_serializing_if = "Option::is_none")]
1022 pub end_time: Option<f64>,
1023 /// <p>A unique identifier for a fleet to get event logs for. You can use either the fleet ID or ARN value.</p>
1024 #[serde(rename = "FleetId")]
1025 pub fleet_id: String,
1026 /// <p>The maximum number of results to return. Use this parameter with <code>NextToken</code> to get results as a set of sequential pages.</p>
1027 #[serde(rename = "Limit")]
1028 #[serde(skip_serializing_if = "Option::is_none")]
1029 pub limit: Option<i64>,
1030 /// <p>Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.</p>
1031 #[serde(rename = "NextToken")]
1032 #[serde(skip_serializing_if = "Option::is_none")]
1033 pub next_token: Option<String>,
1034 /// <p>Earliest date to retrieve event logs for. If no start time is specified, this call returns entries starting from when the fleet was created to the specified end time. Format is a number expressed in Unix time as milliseconds (ex: "1469498468.057").</p>
1035 #[serde(rename = "StartTime")]
1036 #[serde(skip_serializing_if = "Option::is_none")]
1037 pub start_time: Option<f64>,
1038}
1039
1040/// <p>Represents the returned data in response to a request action.</p>
1041#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1042#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1043pub struct DescribeFleetEventsOutput {
1044 /// <p>A collection of objects containing event log entries for the specified fleet.</p>
1045 #[serde(rename = "Events")]
1046 #[serde(skip_serializing_if = "Option::is_none")]
1047 pub events: Option<Vec<Event>>,
1048 /// <p>Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.</p>
1049 #[serde(rename = "NextToken")]
1050 #[serde(skip_serializing_if = "Option::is_none")]
1051 pub next_token: Option<String>,
1052}
1053
1054/// <p>Represents the input for a request action.</p>
1055#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1056#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1057pub struct DescribeFleetPortSettingsInput {
1058 /// <p>A unique identifier for a fleet to retrieve port settings for. You can use either the fleet ID or ARN value.</p>
1059 #[serde(rename = "FleetId")]
1060 pub fleet_id: String,
1061}
1062
1063/// <p>Represents the returned data in response to a request action.</p>
1064#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1065#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1066pub struct DescribeFleetPortSettingsOutput {
1067 /// <p>The port settings for the requested fleet ID.</p>
1068 #[serde(rename = "InboundPermissions")]
1069 #[serde(skip_serializing_if = "Option::is_none")]
1070 pub inbound_permissions: Option<Vec<IpPermission>>,
1071}
1072
1073/// <p>Represents the input for a request action.</p>
1074#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1075#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1076pub struct DescribeFleetUtilizationInput {
1077 /// <p>A unique identifier for a fleet(s) to retrieve utilization data for. You can use either the fleet ID or ARN value. To retrieve attributes for all current fleets, do not include this parameter. If the list of fleet identifiers includes fleets that don't currently exist, the request succeeds but no attributes for that fleet are returned.</p>
1078 #[serde(rename = "FleetIds")]
1079 #[serde(skip_serializing_if = "Option::is_none")]
1080 pub fleet_ids: Option<Vec<String>>,
1081 /// <p>The maximum number of results to return. Use this parameter with <code>NextToken</code> to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet IDs.</p>
1082 #[serde(rename = "Limit")]
1083 #[serde(skip_serializing_if = "Option::is_none")]
1084 pub limit: Option<i64>,
1085 /// <p>Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.</p>
1086 #[serde(rename = "NextToken")]
1087 #[serde(skip_serializing_if = "Option::is_none")]
1088 pub next_token: Option<String>,
1089}
1090
1091/// <p>Represents the returned data in response to a request action.</p>
1092#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1093#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1094pub struct DescribeFleetUtilizationOutput {
1095 /// <p>A collection of objects containing utilization information for each requested fleet ID.</p>
1096 #[serde(rename = "FleetUtilization")]
1097 #[serde(skip_serializing_if = "Option::is_none")]
1098 pub fleet_utilization: Option<Vec<FleetUtilization>>,
1099 /// <p>Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.</p>
1100 #[serde(rename = "NextToken")]
1101 #[serde(skip_serializing_if = "Option::is_none")]
1102 pub next_token: Option<String>,
1103}
1104
1105#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1106#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1107pub struct DescribeGameServerGroupInput {
1108 /// <p>The unique identifier for the game server group being requested. Use either the <a>GameServerGroup</a> name or ARN value.</p>
1109 #[serde(rename = "GameServerGroupName")]
1110 pub game_server_group_name: String,
1111}
1112
1113#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1114#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1115pub struct DescribeGameServerGroupOutput {
1116 /// <p>An object that describes the requested game server group resource. </p>
1117 #[serde(rename = "GameServerGroup")]
1118 #[serde(skip_serializing_if = "Option::is_none")]
1119 pub game_server_group: Option<GameServerGroup>,
1120}
1121
1122#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1123#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1124pub struct DescribeGameServerInput {
1125 /// <p>An identifier for the game server group where the game server is running. Use either the <a>GameServerGroup</a> name or ARN value.</p>
1126 #[serde(rename = "GameServerGroupName")]
1127 pub game_server_group_name: String,
1128 /// <p>The identifier for the game server to be retrieved.</p>
1129 #[serde(rename = "GameServerId")]
1130 pub game_server_id: String,
1131}
1132
1133#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1134#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1135pub struct DescribeGameServerOutput {
1136 /// <p>Object that describes the requested game server resource.</p>
1137 #[serde(rename = "GameServer")]
1138 #[serde(skip_serializing_if = "Option::is_none")]
1139 pub game_server: Option<GameServer>,
1140}
1141
1142/// <p>Represents the input for a request action.</p>
1143#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1144#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1145pub struct DescribeGameSessionDetailsInput {
1146 /// <p>A unique identifier for an alias associated with the fleet to retrieve all game sessions for. You can use either the alias ID or ARN value.</p>
1147 #[serde(rename = "AliasId")]
1148 #[serde(skip_serializing_if = "Option::is_none")]
1149 pub alias_id: Option<String>,
1150 /// <p>A unique identifier for a fleet to retrieve all game sessions active on the fleet. You can use either the fleet ID or ARN value.</p>
1151 #[serde(rename = "FleetId")]
1152 #[serde(skip_serializing_if = "Option::is_none")]
1153 pub fleet_id: Option<String>,
1154 /// <p>A unique identifier for the game session to retrieve. </p>
1155 #[serde(rename = "GameSessionId")]
1156 #[serde(skip_serializing_if = "Option::is_none")]
1157 pub game_session_id: Option<String>,
1158 /// <p>The maximum number of results to return. Use this parameter with <code>NextToken</code> to get results as a set of sequential pages.</p>
1159 #[serde(rename = "Limit")]
1160 #[serde(skip_serializing_if = "Option::is_none")]
1161 pub limit: Option<i64>,
1162 /// <p>Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.</p>
1163 #[serde(rename = "NextToken")]
1164 #[serde(skip_serializing_if = "Option::is_none")]
1165 pub next_token: Option<String>,
1166 /// <p>Game session status to filter results on. Possible game session statuses include <code>ACTIVE</code>, <code>TERMINATED</code>, <code>ACTIVATING</code> and <code>TERMINATING</code> (the last two are transitory). </p>
1167 #[serde(rename = "StatusFilter")]
1168 #[serde(skip_serializing_if = "Option::is_none")]
1169 pub status_filter: Option<String>,
1170}
1171
1172/// <p>Represents the returned data in response to a request action.</p>
1173#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1174#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1175pub struct DescribeGameSessionDetailsOutput {
1176 /// <p>A collection of objects containing game session properties and the protection policy currently in force for each session matching the request.</p>
1177 #[serde(rename = "GameSessionDetails")]
1178 #[serde(skip_serializing_if = "Option::is_none")]
1179 pub game_session_details: Option<Vec<GameSessionDetail>>,
1180 /// <p>Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.</p>
1181 #[serde(rename = "NextToken")]
1182 #[serde(skip_serializing_if = "Option::is_none")]
1183 pub next_token: Option<String>,
1184}
1185
1186/// <p>Represents the input for a request action.</p>
1187#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1188#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1189pub struct DescribeGameSessionPlacementInput {
1190 /// <p>A unique identifier for a game session placement to retrieve.</p>
1191 #[serde(rename = "PlacementId")]
1192 pub placement_id: String,
1193}
1194
1195/// <p>Represents the returned data in response to a request action.</p>
1196#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1197#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1198pub struct DescribeGameSessionPlacementOutput {
1199 /// <p>Object that describes the requested game session placement.</p>
1200 #[serde(rename = "GameSessionPlacement")]
1201 #[serde(skip_serializing_if = "Option::is_none")]
1202 pub game_session_placement: Option<GameSessionPlacement>,
1203}
1204
1205/// <p>Represents the input for a request action.</p>
1206#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1207#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1208pub struct DescribeGameSessionQueuesInput {
1209 /// <p>The maximum number of results to return. Use this parameter with <code>NextToken</code> to get results as a set of sequential pages.</p>
1210 #[serde(rename = "Limit")]
1211 #[serde(skip_serializing_if = "Option::is_none")]
1212 pub limit: Option<i64>,
1213 /// <p>A list of queue names to retrieve information for. You can use either the queue ID or ARN value. To request settings for all queues, leave this parameter empty. </p>
1214 #[serde(rename = "Names")]
1215 #[serde(skip_serializing_if = "Option::is_none")]
1216 pub names: Option<Vec<String>>,
1217 /// <p>A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.</p>
1218 #[serde(rename = "NextToken")]
1219 #[serde(skip_serializing_if = "Option::is_none")]
1220 pub next_token: Option<String>,
1221}
1222
1223/// <p>Represents the returned data in response to a request action.</p>
1224#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1225#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1226pub struct DescribeGameSessionQueuesOutput {
1227 /// <p>A collection of objects that describe the requested game session queues.</p>
1228 #[serde(rename = "GameSessionQueues")]
1229 #[serde(skip_serializing_if = "Option::is_none")]
1230 pub game_session_queues: Option<Vec<GameSessionQueue>>,
1231 /// <p>A token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.</p>
1232 #[serde(rename = "NextToken")]
1233 #[serde(skip_serializing_if = "Option::is_none")]
1234 pub next_token: Option<String>,
1235}
1236
1237/// <p>Represents the input for a request action.</p>
1238#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1239#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1240pub struct DescribeGameSessionsInput {
1241 /// <p>A unique identifier for an alias associated with the fleet to retrieve all game sessions for. You can use either the alias ID or ARN value.</p>
1242 #[serde(rename = "AliasId")]
1243 #[serde(skip_serializing_if = "Option::is_none")]
1244 pub alias_id: Option<String>,
1245 /// <p>A unique identifier for a fleet to retrieve all game sessions for. You can use either the fleet ID or ARN value. </p>
1246 #[serde(rename = "FleetId")]
1247 #[serde(skip_serializing_if = "Option::is_none")]
1248 pub fleet_id: Option<String>,
1249 /// <p>A unique identifier for the game session to retrieve. </p>
1250 #[serde(rename = "GameSessionId")]
1251 #[serde(skip_serializing_if = "Option::is_none")]
1252 pub game_session_id: Option<String>,
1253 /// <p>The maximum number of results to return. Use this parameter with <code>NextToken</code> to get results as a set of sequential pages.</p>
1254 #[serde(rename = "Limit")]
1255 #[serde(skip_serializing_if = "Option::is_none")]
1256 pub limit: Option<i64>,
1257 /// <p>Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.</p>
1258 #[serde(rename = "NextToken")]
1259 #[serde(skip_serializing_if = "Option::is_none")]
1260 pub next_token: Option<String>,
1261 /// <p>Game session status to filter results on. Possible game session statuses include <code>ACTIVE</code>, <code>TERMINATED</code>, <code>ACTIVATING</code>, and <code>TERMINATING</code> (the last two are transitory). </p>
1262 #[serde(rename = "StatusFilter")]
1263 #[serde(skip_serializing_if = "Option::is_none")]
1264 pub status_filter: Option<String>,
1265}
1266
1267/// <p>Represents the returned data in response to a request action.</p>
1268#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1269#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1270pub struct DescribeGameSessionsOutput {
1271 /// <p>A collection of objects containing game session properties for each session matching the request.</p>
1272 #[serde(rename = "GameSessions")]
1273 #[serde(skip_serializing_if = "Option::is_none")]
1274 pub game_sessions: Option<Vec<GameSession>>,
1275 /// <p>Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.</p>
1276 #[serde(rename = "NextToken")]
1277 #[serde(skip_serializing_if = "Option::is_none")]
1278 pub next_token: Option<String>,
1279}
1280
1281/// <p>Represents the input for a request action.</p>
1282#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1283#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1284pub struct DescribeInstancesInput {
1285 /// <p>A unique identifier for a fleet to retrieve instance information for. You can use either the fleet ID or ARN value.</p>
1286 #[serde(rename = "FleetId")]
1287 pub fleet_id: String,
1288 /// <p>A unique identifier for an instance to retrieve. Specify an instance ID or leave blank to retrieve all instances in the fleet.</p>
1289 #[serde(rename = "InstanceId")]
1290 #[serde(skip_serializing_if = "Option::is_none")]
1291 pub instance_id: Option<String>,
1292 /// <p>The maximum number of results to return. Use this parameter with <code>NextToken</code> to get results as a set of sequential pages.</p>
1293 #[serde(rename = "Limit")]
1294 #[serde(skip_serializing_if = "Option::is_none")]
1295 pub limit: Option<i64>,
1296 /// <p>Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.</p>
1297 #[serde(rename = "NextToken")]
1298 #[serde(skip_serializing_if = "Option::is_none")]
1299 pub next_token: Option<String>,
1300}
1301
1302/// <p>Represents the returned data in response to a request action.</p>
1303#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1304#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1305pub struct DescribeInstancesOutput {
1306 /// <p>A collection of objects containing properties for each instance returned.</p>
1307 #[serde(rename = "Instances")]
1308 #[serde(skip_serializing_if = "Option::is_none")]
1309 pub instances: Option<Vec<Instance>>,
1310 /// <p>Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.</p>
1311 #[serde(rename = "NextToken")]
1312 #[serde(skip_serializing_if = "Option::is_none")]
1313 pub next_token: Option<String>,
1314}
1315
1316/// <p>Represents the input for a request action.</p>
1317#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1318#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1319pub struct DescribeMatchmakingConfigurationsInput {
1320 /// <p>The maximum number of results to return. Use this parameter with <code>NextToken</code> to get results as a set of sequential pages. This parameter is limited to 10.</p>
1321 #[serde(rename = "Limit")]
1322 #[serde(skip_serializing_if = "Option::is_none")]
1323 pub limit: Option<i64>,
1324 /// <p>A unique identifier for a matchmaking configuration(s) to retrieve. You can use either the configuration name or ARN value. To request all existing configurations, leave this parameter empty.</p>
1325 #[serde(rename = "Names")]
1326 #[serde(skip_serializing_if = "Option::is_none")]
1327 pub names: Option<Vec<String>>,
1328 /// <p>A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.</p>
1329 #[serde(rename = "NextToken")]
1330 #[serde(skip_serializing_if = "Option::is_none")]
1331 pub next_token: Option<String>,
1332 /// <p>A unique identifier for a matchmaking rule set. You can use either the rule set name or ARN value. Use this parameter to retrieve all matchmaking configurations that use this rule set.</p>
1333 #[serde(rename = "RuleSetName")]
1334 #[serde(skip_serializing_if = "Option::is_none")]
1335 pub rule_set_name: Option<String>,
1336}
1337
1338/// <p>Represents the returned data in response to a request action.</p>
1339#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1340#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1341pub struct DescribeMatchmakingConfigurationsOutput {
1342 /// <p>A collection of requested matchmaking configurations.</p>
1343 #[serde(rename = "Configurations")]
1344 #[serde(skip_serializing_if = "Option::is_none")]
1345 pub configurations: Option<Vec<MatchmakingConfiguration>>,
1346 /// <p>A token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.</p>
1347 #[serde(rename = "NextToken")]
1348 #[serde(skip_serializing_if = "Option::is_none")]
1349 pub next_token: Option<String>,
1350}
1351
1352/// <p>Represents the input for a request action.</p>
1353#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1354#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1355pub struct DescribeMatchmakingInput {
1356 /// <p>A unique identifier for a matchmaking ticket. You can include up to 10 ID values. </p>
1357 #[serde(rename = "TicketIds")]
1358 pub ticket_ids: Vec<String>,
1359}
1360
1361/// <p>Represents the returned data in response to a request action.</p>
1362#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1363#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1364pub struct DescribeMatchmakingOutput {
1365 /// <p>A collection of existing matchmaking ticket objects matching the request.</p>
1366 #[serde(rename = "TicketList")]
1367 #[serde(skip_serializing_if = "Option::is_none")]
1368 pub ticket_list: Option<Vec<MatchmakingTicket>>,
1369}
1370
1371/// <p>Represents the input for a request action.</p>
1372#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1373#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1374pub struct DescribeMatchmakingRuleSetsInput {
1375 /// <p>The maximum number of results to return. Use this parameter with <code>NextToken</code> to get results as a set of sequential pages.</p>
1376 #[serde(rename = "Limit")]
1377 #[serde(skip_serializing_if = "Option::is_none")]
1378 pub limit: Option<i64>,
1379 /// <p>A list of one or more matchmaking rule set names to retrieve details for. (Note: The rule set name is different from the optional "name" field in the rule set body.) You can use either the rule set name or ARN value. </p>
1380 #[serde(rename = "Names")]
1381 #[serde(skip_serializing_if = "Option::is_none")]
1382 pub names: Option<Vec<String>>,
1383 /// <p>A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.</p>
1384 #[serde(rename = "NextToken")]
1385 #[serde(skip_serializing_if = "Option::is_none")]
1386 pub next_token: Option<String>,
1387}
1388
1389/// <p>Represents the returned data in response to a request action.</p>
1390#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1391#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1392pub struct DescribeMatchmakingRuleSetsOutput {
1393 /// <p>A token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.</p>
1394 #[serde(rename = "NextToken")]
1395 #[serde(skip_serializing_if = "Option::is_none")]
1396 pub next_token: Option<String>,
1397 /// <p>A collection of requested matchmaking rule set objects. </p>
1398 #[serde(rename = "RuleSets")]
1399 pub rule_sets: Vec<MatchmakingRuleSet>,
1400}
1401
1402/// <p>Represents the input for a request action.</p>
1403#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1404#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1405pub struct DescribePlayerSessionsInput {
1406 /// <p>A unique identifier for the game session to retrieve player sessions for.</p>
1407 #[serde(rename = "GameSessionId")]
1408 #[serde(skip_serializing_if = "Option::is_none")]
1409 pub game_session_id: Option<String>,
1410 /// <p>The maximum number of results to return. Use this parameter with <code>NextToken</code> to get results as a set of sequential pages. If a player session ID is specified, this parameter is ignored.</p>
1411 #[serde(rename = "Limit")]
1412 #[serde(skip_serializing_if = "Option::is_none")]
1413 pub limit: Option<i64>,
1414 /// <p>Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. If a player session ID is specified, this parameter is ignored.</p>
1415 #[serde(rename = "NextToken")]
1416 #[serde(skip_serializing_if = "Option::is_none")]
1417 pub next_token: Option<String>,
1418 /// <p>A unique identifier for a player to retrieve player sessions for.</p>
1419 #[serde(rename = "PlayerId")]
1420 #[serde(skip_serializing_if = "Option::is_none")]
1421 pub player_id: Option<String>,
1422 /// <p>A unique identifier for a player session to retrieve.</p>
1423 #[serde(rename = "PlayerSessionId")]
1424 #[serde(skip_serializing_if = "Option::is_none")]
1425 pub player_session_id: Option<String>,
1426 /// <p><p>Player session status to filter results on.</p> <p>Possible player session statuses include the following:</p> <ul> <li> <p> <b>RESERVED</b> -- The player session request has been received, but the player has not yet connected to the server process and/or been validated. </p> </li> <li> <p> <b>ACTIVE</b> -- The player has been validated by the server process and is currently connected.</p> </li> <li> <p> <b>COMPLETED</b> -- The player connection has been dropped.</p> </li> <li> <p> <b>TIMEDOUT</b> -- A player session request was received, but the player did not connect and/or was not validated within the timeout limit (60 seconds).</p> </li> </ul></p>
1427 #[serde(rename = "PlayerSessionStatusFilter")]
1428 #[serde(skip_serializing_if = "Option::is_none")]
1429 pub player_session_status_filter: Option<String>,
1430}
1431
1432/// <p>Represents the returned data in response to a request action.</p>
1433#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1434#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1435pub struct DescribePlayerSessionsOutput {
1436 /// <p>Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.</p>
1437 #[serde(rename = "NextToken")]
1438 #[serde(skip_serializing_if = "Option::is_none")]
1439 pub next_token: Option<String>,
1440 /// <p>A collection of objects containing properties for each player session that matches the request.</p>
1441 #[serde(rename = "PlayerSessions")]
1442 #[serde(skip_serializing_if = "Option::is_none")]
1443 pub player_sessions: Option<Vec<PlayerSession>>,
1444}
1445
1446/// <p>Represents the input for a request action.</p>
1447#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1448#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1449pub struct DescribeRuntimeConfigurationInput {
1450 /// <p>A unique identifier for a fleet to get the runtime configuration for. You can use either the fleet ID or ARN value.</p>
1451 #[serde(rename = "FleetId")]
1452 pub fleet_id: String,
1453}
1454
1455/// <p>Represents the returned data in response to a request action.</p>
1456#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1457#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1458pub struct DescribeRuntimeConfigurationOutput {
1459 /// <p>Instructions describing how server processes should be launched and maintained on each instance in the fleet.</p>
1460 #[serde(rename = "RuntimeConfiguration")]
1461 #[serde(skip_serializing_if = "Option::is_none")]
1462 pub runtime_configuration: Option<RuntimeConfiguration>,
1463}
1464
1465/// <p>Represents the input for a request action.</p>
1466#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1467#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1468pub struct DescribeScalingPoliciesInput {
1469 /// <p>A unique identifier for a fleet to retrieve scaling policies for. You can use either the fleet ID or ARN value.</p>
1470 #[serde(rename = "FleetId")]
1471 pub fleet_id: String,
1472 /// <p>The maximum number of results to return. Use this parameter with <code>NextToken</code> to get results as a set of sequential pages.</p>
1473 #[serde(rename = "Limit")]
1474 #[serde(skip_serializing_if = "Option::is_none")]
1475 pub limit: Option<i64>,
1476 /// <p>Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.</p>
1477 #[serde(rename = "NextToken")]
1478 #[serde(skip_serializing_if = "Option::is_none")]
1479 pub next_token: Option<String>,
1480 /// <p><p>Scaling policy status to filter results on. A scaling policy is only in force when in an <code>ACTIVE</code> status.</p> <ul> <li> <p> <b>ACTIVE</b> -- The scaling policy is currently in force.</p> </li> <li> <p> <b>UPDATEREQUESTED</b> -- A request to update the scaling policy has been received.</p> </li> <li> <p> <b>UPDATING</b> -- A change is being made to the scaling policy.</p> </li> <li> <p> <b>DELETEREQUESTED</b> -- A request to delete the scaling policy has been received.</p> </li> <li> <p> <b>DELETING</b> -- The scaling policy is being deleted.</p> </li> <li> <p> <b>DELETED</b> -- The scaling policy has been deleted.</p> </li> <li> <p> <b>ERROR</b> -- An error occurred in creating the policy. It should be removed and recreated.</p> </li> </ul></p>
1481 #[serde(rename = "StatusFilter")]
1482 #[serde(skip_serializing_if = "Option::is_none")]
1483 pub status_filter: Option<String>,
1484}
1485
1486/// <p>Represents the returned data in response to a request action.</p>
1487#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1488#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1489pub struct DescribeScalingPoliciesOutput {
1490 /// <p>Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.</p>
1491 #[serde(rename = "NextToken")]
1492 #[serde(skip_serializing_if = "Option::is_none")]
1493 pub next_token: Option<String>,
1494 /// <p>A collection of objects containing the scaling policies matching the request.</p>
1495 #[serde(rename = "ScalingPolicies")]
1496 #[serde(skip_serializing_if = "Option::is_none")]
1497 pub scaling_policies: Option<Vec<ScalingPolicy>>,
1498}
1499
1500#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1501#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1502pub struct DescribeScriptInput {
1503 /// <p>A unique identifier for a Realtime script to retrieve properties for. You can use either the script ID or ARN value.</p>
1504 #[serde(rename = "ScriptId")]
1505 pub script_id: String,
1506}
1507
1508#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1509#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1510pub struct DescribeScriptOutput {
1511 /// <p>A set of properties describing the requested script.</p>
1512 #[serde(rename = "Script")]
1513 #[serde(skip_serializing_if = "Option::is_none")]
1514 pub script: Option<Script>,
1515}
1516
1517#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1518#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1519pub struct DescribeVpcPeeringAuthorizationsInput {}
1520
1521#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1522#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1523pub struct DescribeVpcPeeringAuthorizationsOutput {
1524 /// <p>A collection of objects that describe all valid VPC peering operations for the current AWS account.</p>
1525 #[serde(rename = "VpcPeeringAuthorizations")]
1526 #[serde(skip_serializing_if = "Option::is_none")]
1527 pub vpc_peering_authorizations: Option<Vec<VpcPeeringAuthorization>>,
1528}
1529
1530/// <p>Represents the input for a request action.</p>
1531#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1532#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1533pub struct DescribeVpcPeeringConnectionsInput {
1534 /// <p>A unique identifier for a fleet. You can use either the fleet ID or ARN value.</p>
1535 #[serde(rename = "FleetId")]
1536 #[serde(skip_serializing_if = "Option::is_none")]
1537 pub fleet_id: Option<String>,
1538}
1539
1540/// <p>Represents the returned data in response to a request action.</p>
1541#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1542#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1543pub struct DescribeVpcPeeringConnectionsOutput {
1544 /// <p>A collection of VPC peering connection records that match the request.</p>
1545 #[serde(rename = "VpcPeeringConnections")]
1546 #[serde(skip_serializing_if = "Option::is_none")]
1547 pub vpc_peering_connections: Option<Vec<VpcPeeringConnection>>,
1548}
1549
1550/// <p>Player information for use when creating player sessions using a game session placement request with <a>StartGameSessionPlacement</a>.</p>
1551#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1552#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1553pub struct DesiredPlayerSession {
1554 /// <p>Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.</p>
1555 #[serde(rename = "PlayerData")]
1556 #[serde(skip_serializing_if = "Option::is_none")]
1557 pub player_data: Option<String>,
1558 /// <p>A unique identifier for a player to associate with the player session.</p>
1559 #[serde(rename = "PlayerId")]
1560 #[serde(skip_serializing_if = "Option::is_none")]
1561 pub player_id: Option<String>,
1562}
1563
1564/// <p><p>Current status of fleet capacity. The number of active instances should match or be in the process of matching the number of desired instances. Pending and terminating counts are non-zero only if fleet capacity is adjusting to an <a>UpdateFleetCapacity</a> request, or if access to resources is temporarily affected.</p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
1565#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1566#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1567pub struct EC2InstanceCounts {
1568 /// <p>Actual number of active instances in the fleet.</p>
1569 #[serde(rename = "ACTIVE")]
1570 #[serde(skip_serializing_if = "Option::is_none")]
1571 pub active: Option<i64>,
1572 /// <p>Ideal number of active instances in the fleet.</p>
1573 #[serde(rename = "DESIRED")]
1574 #[serde(skip_serializing_if = "Option::is_none")]
1575 pub desired: Option<i64>,
1576 /// <p>Number of active instances in the fleet that are not currently hosting a game session.</p>
1577 #[serde(rename = "IDLE")]
1578 #[serde(skip_serializing_if = "Option::is_none")]
1579 pub idle: Option<i64>,
1580 /// <p>The maximum value allowed for the fleet's instance count.</p>
1581 #[serde(rename = "MAXIMUM")]
1582 #[serde(skip_serializing_if = "Option::is_none")]
1583 pub maximum: Option<i64>,
1584 /// <p>The minimum value allowed for the fleet's instance count.</p>
1585 #[serde(rename = "MINIMUM")]
1586 #[serde(skip_serializing_if = "Option::is_none")]
1587 pub minimum: Option<i64>,
1588 /// <p>Number of instances in the fleet that are starting but not yet active.</p>
1589 #[serde(rename = "PENDING")]
1590 #[serde(skip_serializing_if = "Option::is_none")]
1591 pub pending: Option<i64>,
1592 /// <p>Number of instances in the fleet that are no longer active but haven't yet been terminated.</p>
1593 #[serde(rename = "TERMINATING")]
1594 #[serde(skip_serializing_if = "Option::is_none")]
1595 pub terminating: Option<i64>,
1596}
1597
1598/// <p>The maximum number of instances allowed based on the Amazon Elastic Compute Cloud (Amazon EC2) instance type. Instance limits can be retrieved by calling <a>DescribeEC2InstanceLimits</a>.</p>
1599#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1600#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1601pub struct EC2InstanceLimit {
1602 /// <p>Number of instances of the specified type that are currently in use by this AWS account.</p>
1603 #[serde(rename = "CurrentInstances")]
1604 #[serde(skip_serializing_if = "Option::is_none")]
1605 pub current_instances: Option<i64>,
1606 /// <p>Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See <a href="http://aws.amazon.com/ec2/instance-types/">Amazon EC2 Instance Types</a> for detailed descriptions.</p>
1607 #[serde(rename = "EC2InstanceType")]
1608 #[serde(skip_serializing_if = "Option::is_none")]
1609 pub ec2_instance_type: Option<String>,
1610 /// <p>Number of instances allowed.</p>
1611 #[serde(rename = "InstanceLimit")]
1612 #[serde(skip_serializing_if = "Option::is_none")]
1613 pub instance_limit: Option<i64>,
1614}
1615
1616/// <p>Log entry describing an event that involves Amazon GameLift resources (such as a fleet). In addition to tracking activity, event codes and messages can provide additional information for troubleshooting and debugging problems.</p>
1617#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1618#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1619pub struct Event {
1620 /// <p><p>The type of event being logged. </p> <p> <b>Fleet creation events (ordered by fleet creation activity):</b> </p> <ul> <li> <p>FLEET<em>CREATED -- A fleet resource was successfully created with a status of <code>NEW</code>. Event messaging includes the fleet ID.</p> </li> <li> <p>FLEET</em>STATE<em>DOWNLOADING -- Fleet status changed from <code>NEW</code> to <code>DOWNLOADING</code>. The compressed build has started downloading to a fleet instance for installation.</p> </li> <li> <p> FLEET</em>BINARY<em>DOWNLOAD</em>FAILED -- The build failed to download to the fleet instance.</p> </li> <li> <p>FLEET<em>CREATION</em>EXTRACTING<em>BUILD – The game server build was successfully downloaded to an instance, and the build files are now being extracted from the uploaded build and saved to an instance. Failure at this stage prevents a fleet from moving to <code>ACTIVE</code> status. Logs for this stage display a list of the files that are extracted and saved on the instance. Access the logs by using the URL in <i>PreSignedLogUrl</i>.</p> </li> <li> <p>FLEET</em>CREATION<em>RUNNING</em>INSTALLER – The game server build files were successfully extracted, and the Amazon GameLift is now running the build's install script (if one is included). Failure in this stage prevents a fleet from moving to <code>ACTIVE</code> status. Logs for this stage list the installation steps and whether or not the install completed successfully. Access the logs by using the URL in <i>PreSignedLogUrl</i>. </p> </li> <li> <p>FLEET<em>CREATION</em>VALIDATING<em>RUNTIME</em>CONFIG -- The build process was successful, and the Amazon GameLift is now verifying that the game server launch paths, which are specified in the fleet's runtime configuration, exist. If any listed launch path exists, Amazon GameLift tries to launch a game server process and waits for the process to report ready. Failures in this stage prevent a fleet from moving to <code>ACTIVE</code> status. Logs for this stage list the launch paths in the runtime configuration and indicate whether each is found. Access the logs by using the URL in <i>PreSignedLogUrl</i>. </p> </li> <li> <p>FLEET<em>STATE</em>VALIDATING -- Fleet status changed from <code>DOWNLOADING</code> to <code>VALIDATING</code>.</p> </li> <li> <p> FLEET<em>VALIDATION</em>LAUNCH<em>PATH</em>NOT<em>FOUND -- Validation of the runtime configuration failed because the executable specified in a launch path does not exist on the instance.</p> </li> <li> <p>FLEET</em>STATE<em>BUILDING -- Fleet status changed from <code>VALIDATING</code> to <code>BUILDING</code>.</p> </li> <li> <p>FLEET</em>VALIDATION<em>EXECUTABLE</em>RUNTIME<em>FAILURE -- Validation of the runtime configuration failed because the executable specified in a launch path failed to run on the fleet instance.</p> </li> <li> <p>FLEET</em>STATE<em>ACTIVATING -- Fleet status changed from <code>BUILDING</code> to <code>ACTIVATING</code>. </p> </li> <li> <p> FLEET</em>ACTIVATION<em>FAILED - The fleet failed to successfully complete one of the steps in the fleet activation process. This event code indicates that the game build was successfully downloaded to a fleet instance, built, and validated, but was not able to start a server process. Learn more at <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html#fleets-creating-debug-creation"> Debug Fleet Creation Issues</a> </p> </li> <li> <p>FLEET</em>STATE<em>ACTIVE -- The fleet's status changed from <code>ACTIVATING</code> to <code>ACTIVE</code>. The fleet is now ready to host game sessions.</p> </li> </ul> <p> <b>VPC peering events:</b> </p> <ul> <li> <p>FLEET</em>VPC<em>PEERING</em>SUCCEEDED -- A VPC peering connection has been established between the VPC for an Amazon GameLift fleet and a VPC in your AWS account.</p> </li> <li> <p>FLEET<em>VPC</em>PEERING<em>FAILED -- A requested VPC peering connection has failed. Event details and status information (see <a>DescribeVpcPeeringConnections</a>) provide additional detail. A common reason for peering failure is that the two VPCs have overlapping CIDR blocks of IPv4 addresses. To resolve this, change the CIDR block for the VPC in your AWS account. For more information on VPC peering failures, see <a href="https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html">https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html</a> </p> </li> <li> <p>FLEET</em>VPC<em>PEERING</em>DELETED -- A VPC peering connection has been successfully deleted.</p> </li> </ul> <p> <b>Spot instance events:</b> </p> <ul> <li> <p> INSTANCE<em>INTERRUPTED -- A spot instance was interrupted by EC2 with a two-minute notification.</p> </li> </ul> <p> <b>Other fleet events:</b> </p> <ul> <li> <p>FLEET</em>SCALING<em>EVENT -- A change was made to the fleet's capacity settings (desired instances, minimum/maximum scaling limits). Event messaging includes the new capacity settings.</p> </li> <li> <p>FLEET</em>NEW<em>GAME</em>SESSION<em>PROTECTION</em>POLICY<em>UPDATED -- A change was made to the fleet's game session protection policy setting. Event messaging includes both the old and new policy setting. </p> </li> <li> <p>FLEET</em>DELETED -- A request to delete a fleet was initiated.</p> </li> <li> <p> GENERIC_EVENT -- An unspecified event has occurred.</p> </li> </ul></p>
1621 #[serde(rename = "EventCode")]
1622 #[serde(skip_serializing_if = "Option::is_none")]
1623 pub event_code: Option<String>,
1624 /// <p>A unique identifier for a fleet event.</p>
1625 #[serde(rename = "EventId")]
1626 #[serde(skip_serializing_if = "Option::is_none")]
1627 pub event_id: Option<String>,
1628 /// <p>Time stamp indicating when this event occurred. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").</p>
1629 #[serde(rename = "EventTime")]
1630 #[serde(skip_serializing_if = "Option::is_none")]
1631 pub event_time: Option<f64>,
1632 /// <p>Additional information related to the event.</p>
1633 #[serde(rename = "Message")]
1634 #[serde(skip_serializing_if = "Option::is_none")]
1635 pub message: Option<String>,
1636 /// <p>Location of stored logs with additional detail that is related to the event. This is useful for debugging issues. The URL is valid for 15 minutes. You can also access fleet creation logs through the Amazon GameLift console.</p>
1637 #[serde(rename = "PreSignedLogUrl")]
1638 #[serde(skip_serializing_if = "Option::is_none")]
1639 pub pre_signed_log_url: Option<String>,
1640 /// <p>A unique identifier for an event resource, such as a fleet ID.</p>
1641 #[serde(rename = "ResourceId")]
1642 #[serde(skip_serializing_if = "Option::is_none")]
1643 pub resource_id: Option<String>,
1644}
1645
1646/// <p><p>General properties describing a fleet.</p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
1647#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1648#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1649pub struct FleetAttributes {
1650 /// <p> The Amazon Resource Name (<a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>) associated with the GameLift build resource that is deployed on instances in this fleet. In a GameLift build ARN, the resource ID matches the <i>BuildId</i> value.</p>
1651 #[serde(rename = "BuildArn")]
1652 #[serde(skip_serializing_if = "Option::is_none")]
1653 pub build_arn: Option<String>,
1654 /// <p>A unique identifier for a build.</p>
1655 #[serde(rename = "BuildId")]
1656 #[serde(skip_serializing_if = "Option::is_none")]
1657 pub build_id: Option<String>,
1658 /// <p>Indicates whether a TLS/SSL certificate was generated for the fleet. </p>
1659 #[serde(rename = "CertificateConfiguration")]
1660 #[serde(skip_serializing_if = "Option::is_none")]
1661 pub certificate_configuration: Option<CertificateConfiguration>,
1662 /// <p>Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").</p>
1663 #[serde(rename = "CreationTime")]
1664 #[serde(skip_serializing_if = "Option::is_none")]
1665 pub creation_time: Option<f64>,
1666 /// <p>Human-readable description of the fleet.</p>
1667 #[serde(rename = "Description")]
1668 #[serde(skip_serializing_if = "Option::is_none")]
1669 pub description: Option<String>,
1670 /// <p>The Amazon Resource Name (<a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>) that is assigned to a GameLift fleet resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift fleet ARN, the resource ID matches the <i>FleetId</i> value.</p>
1671 #[serde(rename = "FleetArn")]
1672 #[serde(skip_serializing_if = "Option::is_none")]
1673 pub fleet_arn: Option<String>,
1674 /// <p>A unique identifier for a fleet.</p>
1675 #[serde(rename = "FleetId")]
1676 #[serde(skip_serializing_if = "Option::is_none")]
1677 pub fleet_id: Option<String>,
1678 /// <p>Indicates whether the fleet uses on-demand or spot instances. A spot instance in use may be interrupted with a two-minute notification.</p>
1679 #[serde(rename = "FleetType")]
1680 #[serde(skip_serializing_if = "Option::is_none")]
1681 pub fleet_type: Option<String>,
1682 /// <p>A unique identifier for an AWS IAM role that manages access to your AWS services. With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, including install scripts, server processes, and daemons (background processes). Create a role or look up a role's ARN from the <a href="https://console.aws.amazon.com/iam/">IAM dashboard</a> in the AWS Management Console. Learn more about using on-box credentials for your game servers at <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html"> Access external resources from a game server</a>.</p>
1683 #[serde(rename = "InstanceRoleArn")]
1684 #[serde(skip_serializing_if = "Option::is_none")]
1685 pub instance_role_arn: Option<String>,
1686 /// <p>EC2 instance type indicating the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. See <a href="http://aws.amazon.com/ec2/instance-types/">Amazon EC2 Instance Types</a> for detailed descriptions.</p>
1687 #[serde(rename = "InstanceType")]
1688 #[serde(skip_serializing_if = "Option::is_none")]
1689 pub instance_type: Option<String>,
1690 /// <p>Location of default log files. When a server process is shut down, Amazon GameLift captures and stores any log files in this location. These logs are in addition to game session logs; see more on game session logs in the <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-api-server-code">Amazon GameLift Developer Guide</a>. If no default log path for a fleet is specified, Amazon GameLift automatically uploads logs that are stored on each instance at <code>C:\game\logs</code> (for Windows) or <code>/local/game/logs</code> (for Linux). Use the Amazon GameLift console to access stored logs. </p>
1691 #[serde(rename = "LogPaths")]
1692 #[serde(skip_serializing_if = "Option::is_none")]
1693 pub log_paths: Option<Vec<String>>,
1694 /// <p>Names of metric groups that this fleet is included in. In Amazon CloudWatch, you can view metrics for an individual fleet or aggregated metrics for fleets that are in a fleet metric group. A fleet can be included in only one metric group at a time.</p>
1695 #[serde(rename = "MetricGroups")]
1696 #[serde(skip_serializing_if = "Option::is_none")]
1697 pub metric_groups: Option<Vec<String>>,
1698 /// <p>A descriptive label that is associated with a fleet. Fleet names do not need to be unique.</p>
1699 #[serde(rename = "Name")]
1700 #[serde(skip_serializing_if = "Option::is_none")]
1701 pub name: Option<String>,
1702 /// <p><p>The type of game session protection to set for all new instances started in the fleet.</p> <ul> <li> <p> <b>NoProtection</b> -- The game session can be terminated during a scale-down event.</p> </li> <li> <p> <b>FullProtection</b> -- If the game session is in an <code>ACTIVE</code> status, it cannot be terminated during a scale-down event.</p> </li> </ul></p>
1703 #[serde(rename = "NewGameSessionProtectionPolicy")]
1704 #[serde(skip_serializing_if = "Option::is_none")]
1705 pub new_game_session_protection_policy: Option<String>,
1706 /// <p>Operating system of the fleet's computing resources. A fleet's operating system depends on the OS specified for the build that is deployed on this fleet.</p>
1707 #[serde(rename = "OperatingSystem")]
1708 #[serde(skip_serializing_if = "Option::is_none")]
1709 pub operating_system: Option<String>,
1710 /// <p>Fleet policy to limit the number of game sessions an individual player can create over a span of time.</p>
1711 #[serde(rename = "ResourceCreationLimitPolicy")]
1712 #[serde(skip_serializing_if = "Option::is_none")]
1713 pub resource_creation_limit_policy: Option<ResourceCreationLimitPolicy>,
1714 /// <p> The Amazon Resource Name (<a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>) associated with the GameLift script resource that is deployed on instances in this fleet. In a GameLift script ARN, the resource ID matches the <i>ScriptId</i> value.</p>
1715 #[serde(rename = "ScriptArn")]
1716 #[serde(skip_serializing_if = "Option::is_none")]
1717 pub script_arn: Option<String>,
1718 /// <p>A unique identifier for a Realtime script.</p>
1719 #[serde(rename = "ScriptId")]
1720 #[serde(skip_serializing_if = "Option::is_none")]
1721 pub script_id: Option<String>,
1722 /// <p>Game server launch parameters specified for fleets created before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch parameters for fleets created after this date are specified in the fleet's <a>RuntimeConfiguration</a>.</p>
1723 #[serde(rename = "ServerLaunchParameters")]
1724 #[serde(skip_serializing_if = "Option::is_none")]
1725 pub server_launch_parameters: Option<String>,
1726 /// <p>Path to a game server executable in the fleet's build, specified for fleets created before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch paths for fleets created after this date are specified in the fleet's <a>RuntimeConfiguration</a>.</p>
1727 #[serde(rename = "ServerLaunchPath")]
1728 #[serde(skip_serializing_if = "Option::is_none")]
1729 pub server_launch_path: Option<String>,
1730 /// <p><p>Current status of the fleet.</p> <p>Possible fleet statuses include the following:</p> <ul> <li> <p> <b>NEW</b> -- A new fleet has been defined and desired instances is set to 1. </p> </li> <li> <p> <b>DOWNLOADING/VALIDATING/BUILDING/ACTIVATING</b> -- Amazon GameLift is setting up the new fleet, creating new instances with the game build or Realtime script and starting server processes.</p> </li> <li> <p> <b>ACTIVE</b> -- Hosts can now accept game sessions.</p> </li> <li> <p> <b>ERROR</b> -- An error occurred when downloading, validating, building, or activating the fleet.</p> </li> <li> <p> <b>DELETING</b> -- Hosts are responding to a delete fleet request.</p> </li> <li> <p> <b>TERMINATED</b> -- The fleet no longer exists.</p> </li> </ul></p>
1731 #[serde(rename = "Status")]
1732 #[serde(skip_serializing_if = "Option::is_none")]
1733 pub status: Option<String>,
1734 /// <p>List of fleet actions that have been suspended using <a>StopFleetActions</a>. This includes auto-scaling.</p>
1735 #[serde(rename = "StoppedActions")]
1736 #[serde(skip_serializing_if = "Option::is_none")]
1737 pub stopped_actions: Option<Vec<String>>,
1738 /// <p>Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").</p>
1739 #[serde(rename = "TerminationTime")]
1740 #[serde(skip_serializing_if = "Option::is_none")]
1741 pub termination_time: Option<f64>,
1742}
1743
1744/// <p><p>Information about the fleet's capacity. Fleet capacity is measured in EC2 instances. By default, new fleets have a capacity of one instance, but can be updated as needed. The maximum number of instances for a fleet is determined by the fleet's instance type.</p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
1745#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1746#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1747pub struct FleetCapacity {
1748 /// <p>A unique identifier for a fleet.</p>
1749 #[serde(rename = "FleetId")]
1750 #[serde(skip_serializing_if = "Option::is_none")]
1751 pub fleet_id: Option<String>,
1752 /// <p>Current status of fleet capacity.</p>
1753 #[serde(rename = "InstanceCounts")]
1754 #[serde(skip_serializing_if = "Option::is_none")]
1755 pub instance_counts: Option<EC2InstanceCounts>,
1756 /// <p>Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See <a href="http://aws.amazon.com/ec2/instance-types/">Amazon EC2 Instance Types</a> for detailed descriptions.</p>
1757 #[serde(rename = "InstanceType")]
1758 #[serde(skip_serializing_if = "Option::is_none")]
1759 pub instance_type: Option<String>,
1760}
1761
1762/// <p><p>Current status of fleet utilization, including the number of game and player sessions being hosted.</p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
1763#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1764#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1765pub struct FleetUtilization {
1766 /// <p>Number of active game sessions currently being hosted on all instances in the fleet.</p>
1767 #[serde(rename = "ActiveGameSessionCount")]
1768 #[serde(skip_serializing_if = "Option::is_none")]
1769 pub active_game_session_count: Option<i64>,
1770 /// <p>Number of server processes in an <code>ACTIVE</code> status currently running across all instances in the fleet</p>
1771 #[serde(rename = "ActiveServerProcessCount")]
1772 #[serde(skip_serializing_if = "Option::is_none")]
1773 pub active_server_process_count: Option<i64>,
1774 /// <p>Number of active player sessions currently being hosted on all instances in the fleet.</p>
1775 #[serde(rename = "CurrentPlayerSessionCount")]
1776 #[serde(skip_serializing_if = "Option::is_none")]
1777 pub current_player_session_count: Option<i64>,
1778 /// <p>A unique identifier for a fleet.</p>
1779 #[serde(rename = "FleetId")]
1780 #[serde(skip_serializing_if = "Option::is_none")]
1781 pub fleet_id: Option<String>,
1782 /// <p>The maximum number of players allowed across all game sessions currently being hosted on all instances in the fleet.</p>
1783 #[serde(rename = "MaximumPlayerSessionCount")]
1784 #[serde(skip_serializing_if = "Option::is_none")]
1785 pub maximum_player_session_count: Option<i64>,
1786}
1787
1788/// <p>Set of key-value pairs that contain information about a game session. When included in a game session request, these properties communicate details to be used when setting up the new game session. For example, a game property might specify a game mode, level, or map. Game properties are passed to the game server process when initiating a new game session. For more information, see the <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#gamelift-sdk-client-api-create"> Amazon GameLift Developer Guide</a>.</p>
1789#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
1790pub struct GameProperty {
1791 /// <p>The game property identifier.</p>
1792 #[serde(rename = "Key")]
1793 pub key: String,
1794 /// <p>The game property value.</p>
1795 #[serde(rename = "Value")]
1796 pub value: String,
1797}
1798
1799/// <p> <b>This data type is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Properties describing a game server resource. </p> <p>A game server resource is created by a successful call to <a>RegisterGameServer</a> and deleted by calling <a>DeregisterGameServer</a>. </p>
1800#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1801#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1802pub struct GameServer {
1803 /// <p>Indicates when an available game server has been reserved but has not yet started hosting a game. Once it is claimed, game server remains in CLAIMED status for a maximum of one minute. During this time, game clients must connect to the game server and start the game, which triggers the game server to update its utilization status. After one minute, the game server claim status reverts to null.</p>
1804 #[serde(rename = "ClaimStatus")]
1805 #[serde(skip_serializing_if = "Option::is_none")]
1806 pub claim_status: Option<String>,
1807 /// <p>The port and IP address that must be used to establish a client connection to the game server.</p>
1808 #[serde(rename = "ConnectionInfo")]
1809 #[serde(skip_serializing_if = "Option::is_none")]
1810 pub connection_info: Option<String>,
1811 /// <p>A game server tag that can be used to request sorted lists of game servers when calling <a>ListGameServers</a>. Custom sort keys are developer-defined. This property can be updated using <a>UpdateGameServer</a>.</p>
1812 #[serde(rename = "CustomSortKey")]
1813 #[serde(skip_serializing_if = "Option::is_none")]
1814 pub custom_sort_key: Option<String>,
1815 /// <p>A set of custom game server properties, formatted as a single string value. This data is passed to a game client or service in response to requests <a>ListGameServers</a> or <a>ClaimGameServer</a>. This property can be updated using <a>UpdateGameServer</a>.</p>
1816 #[serde(rename = "GameServerData")]
1817 #[serde(skip_serializing_if = "Option::is_none")]
1818 pub game_server_data: Option<String>,
1819 /// <p>The ARN identifier for the game server group where the game server is located.</p>
1820 #[serde(rename = "GameServerGroupArn")]
1821 #[serde(skip_serializing_if = "Option::is_none")]
1822 pub game_server_group_arn: Option<String>,
1823 /// <p>The name identifier for the game server group where the game server is located.</p>
1824 #[serde(rename = "GameServerGroupName")]
1825 #[serde(skip_serializing_if = "Option::is_none")]
1826 pub game_server_group_name: Option<String>,
1827 /// <p>A custom string that uniquely identifies the game server. Game server IDs are developer-defined and are unique across all game server groups in an AWS account.</p>
1828 #[serde(rename = "GameServerId")]
1829 #[serde(skip_serializing_if = "Option::is_none")]
1830 pub game_server_id: Option<String>,
1831 /// <p>The unique identifier for the instance where the game server is located.</p>
1832 #[serde(rename = "InstanceId")]
1833 #[serde(skip_serializing_if = "Option::is_none")]
1834 pub instance_id: Option<String>,
1835 /// <p>Time stamp indicating the last time the game server was claimed with a <a>ClaimGameServer</a> request. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057"). This value is used to calculate when the game server's claim status.</p>
1836 #[serde(rename = "LastClaimTime")]
1837 #[serde(skip_serializing_if = "Option::is_none")]
1838 pub last_claim_time: Option<f64>,
1839 /// <p>Time stamp indicating the last time the game server was updated with health status using an <a>UpdateGameServer</a> request. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057"). After game server registration, this property is only changed when a game server update specifies a health check value.</p>
1840 #[serde(rename = "LastHealthCheckTime")]
1841 #[serde(skip_serializing_if = "Option::is_none")]
1842 pub last_health_check_time: Option<f64>,
1843 /// <p>Time stamp indicating when the game server resource was created with a <a>RegisterGameServer</a> request. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").</p>
1844 #[serde(rename = "RegistrationTime")]
1845 #[serde(skip_serializing_if = "Option::is_none")]
1846 pub registration_time: Option<f64>,
1847 /// <p><p>Indicates whether the game server is currently available for new games or is busy. Possible statuses include:</p> <ul> <li> <p>AVAILABLE - The game server is available to be claimed. A game server that has been claimed remains in this status until it reports game hosting activity. </p> </li> <li> <p>IN_USE - The game server is currently hosting a game session with players. </p> </li> </ul></p>
1848 #[serde(rename = "UtilizationStatus")]
1849 #[serde(skip_serializing_if = "Option::is_none")]
1850 pub utilization_status: Option<String>,
1851}
1852
1853/// <p> <b>This data type is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Properties describing a game server group resource. A game server group manages certain properties of a corresponding EC2 Auto Scaling group. </p> <p>A game server group is created by a successful call to <a>CreateGameServerGroup</a> and deleted by calling <a>DeleteGameServerGroup</a>. Game server group activity can be temporarily suspended and resumed by calling <a>SuspendGameServerGroup</a> and <a>ResumeGameServerGroup</a>. </p>
1854#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1855#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1856pub struct GameServerGroup {
1857 /// <p>A generated unique ID for the EC2 Auto Scaling group with is associated with this game server group.</p>
1858 #[serde(rename = "AutoScalingGroupArn")]
1859 #[serde(skip_serializing_if = "Option::is_none")]
1860 pub auto_scaling_group_arn: Option<String>,
1861 /// <p><p>The fallback balancing method to use for the game server group when Spot instances in a Region become unavailable or are not viable for game hosting. Once triggered, this method remains active until Spot instances can once again be used. Method options include:</p> <ul> <li> <p>SPOT<em>ONLY -- If Spot instances are unavailable, the game server group provides no hosting capacity. No new instances are started, and the existing nonviable Spot instances are terminated (once current gameplay ends) and not replaced.</p> </li> <li> <p>SPOT</em>PREFERRED -- If Spot instances are unavailable, the game server group continues to provide hosting capacity by using On-Demand instances. Existing nonviable Spot instances are terminated (once current gameplay ends) and replaced with new On-Demand instances. </p> </li> </ul></p>
1862 #[serde(rename = "BalancingStrategy")]
1863 #[serde(skip_serializing_if = "Option::is_none")]
1864 pub balancing_strategy: Option<String>,
1865 /// <p>A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").</p>
1866 #[serde(rename = "CreationTime")]
1867 #[serde(skip_serializing_if = "Option::is_none")]
1868 pub creation_time: Option<f64>,
1869 /// <p>A generated unique ID for the game server group.</p>
1870 #[serde(rename = "GameServerGroupArn")]
1871 #[serde(skip_serializing_if = "Option::is_none")]
1872 pub game_server_group_arn: Option<String>,
1873 /// <p>A developer-defined identifier for the game server group. The name is unique per Region per AWS account.</p>
1874 #[serde(rename = "GameServerGroupName")]
1875 #[serde(skip_serializing_if = "Option::is_none")]
1876 pub game_server_group_name: Option<String>,
1877 /// <p>A flag that indicates whether instances in the game server group are protected from early termination. Unprotected instances that have active game servers running may be terminated during a scale-down event, causing players to be dropped from the game. Protected instances cannot be terminated while there are active game servers running except in the event of a forced game server group deletion (see <a>DeleteGameServerGroup</a>). An exception to this is Spot Instances, which may be terminated by AWS regardless of protection status.</p>
1878 #[serde(rename = "GameServerProtectionPolicy")]
1879 #[serde(skip_serializing_if = "Option::is_none")]
1880 pub game_server_protection_policy: Option<String>,
1881 /// <p>The set of EC2 instance types that GameLift FleetIQ can use when rebalancing and autoscaling instances in the group. </p>
1882 #[serde(rename = "InstanceDefinitions")]
1883 #[serde(skip_serializing_if = "Option::is_none")]
1884 pub instance_definitions: Option<Vec<InstanceDefinition>>,
1885 /// <p>A time stamp indicating when this game server group was last updated.</p>
1886 #[serde(rename = "LastUpdatedTime")]
1887 #[serde(skip_serializing_if = "Option::is_none")]
1888 pub last_updated_time: Option<f64>,
1889 /// <p>The Amazon Resource Name (<a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>) for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups. The submitted role is validated to ensure that it contains the necessary permissions for game server groups.</p>
1890 #[serde(rename = "RoleArn")]
1891 #[serde(skip_serializing_if = "Option::is_none")]
1892 pub role_arn: Option<String>,
1893 /// <p><p>The current status of the game server group. Possible statuses include:</p> <ul> <li> <p> NEW - GameLift FleetIQ has validated the <code>CreateGameServerGroup()</code> request. </p> </li> <li> <p>ACTIVATING - GameLift FleetIQ is setting up a game server group, which includes creating an autoscaling group in your AWS account. </p> </li> <li> <p>ACTIVE - The game server group has been successfully created. </p> </li> <li> <p>DELETE_SCHEDULED - A request to delete the game server group has been received. </p> </li> <li> <p>DELETING - GameLift FleetIQ has received a valid <code>DeleteGameServerGroup()</code> request and is processing it. GameLift FleetIQ must first complete and release hosts before it deletes the autoscaling group and the game server group. </p> </li> <li> <p>DELETED - The game server group has been successfully deleted. </p> </li> <li> <p>ERROR - The asynchronous processes of activating or deleting a game server group has failed, resulting in an error state.</p> </li> </ul></p>
1894 #[serde(rename = "Status")]
1895 #[serde(skip_serializing_if = "Option::is_none")]
1896 pub status: Option<String>,
1897 /// <p>Additional information about the current game server group status. This information may provide additional insight on groups that in ERROR status.</p>
1898 #[serde(rename = "StatusReason")]
1899 #[serde(skip_serializing_if = "Option::is_none")]
1900 pub status_reason: Option<String>,
1901 /// <p>A list of activities that are currently suspended for this game server group. If this property is empty, all activities are occurring.</p>
1902 #[serde(rename = "SuspendedActions")]
1903 #[serde(skip_serializing_if = "Option::is_none")]
1904 pub suspended_actions: Option<Vec<String>>,
1905}
1906
1907/// <p> <b>This data type is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Configuration settings for intelligent autoscaling that uses target tracking. An autoscaling policy can be specified when a new game server group is created with <a>CreateGameServerGroup</a>. If a group has an autoscaling policy, the Auto Scaling group takes action based on this policy, in addition to (and potentially in conflict with) any other autoscaling policies that are separately applied to the Auto Scaling group. </p>
1908#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1909#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1910pub struct GameServerGroupAutoScalingPolicy {
1911 /// <p>Length of time, in seconds, it takes for a new instance to start new game server processes and register with GameLift FleetIQ. Specifying a warm-up time can be useful, particularly with game servers that take a long time to start up, because it avoids prematurely starting new instances </p>
1912 #[serde(rename = "EstimatedInstanceWarmup")]
1913 #[serde(skip_serializing_if = "Option::is_none")]
1914 pub estimated_instance_warmup: Option<i64>,
1915 /// <p>Settings for a target-based scaling policy applied to Auto Scaling group. These settings are used to create a target-based policy that tracks the GameLift FleetIQ metric "PercentUtilizedGameServers" and specifies a target value for the metric. As player usage changes, the policy triggers to adjust the game server group capacity so that the metric returns to the target value. </p>
1916 #[serde(rename = "TargetTrackingConfiguration")]
1917 pub target_tracking_configuration: TargetTrackingConfiguration,
1918}
1919
1920/// <p><p>Properties describing a game session.</p> <p>A game session in ACTIVE status can host players. When a game session ends, its status is set to <code>TERMINATED</code>. </p> <p>Once the session ends, the game session object is retained for 30 days. This means you can reuse idempotency token values after this time. Game session logs are retained for 14 days.</p> <ul> <li> <p> <a>CreateGameSession</a> </p> </li> <li> <p> <a>DescribeGameSessions</a> </p> </li> <li> <p> <a>DescribeGameSessionDetails</a> </p> </li> <li> <p> <a>SearchGameSessions</a> </p> </li> <li> <p> <a>UpdateGameSession</a> </p> </li> <li> <p> <a>GetGameSessionLogUrl</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
1921#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1922#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1923pub struct GameSession {
1924 /// <p>Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").</p>
1925 #[serde(rename = "CreationTime")]
1926 #[serde(skip_serializing_if = "Option::is_none")]
1927 pub creation_time: Option<f64>,
1928 /// <p>A unique identifier for a player. This ID is used to enforce a resource protection policy (if one exists), that limits the number of game sessions a player can create.</p>
1929 #[serde(rename = "CreatorId")]
1930 #[serde(skip_serializing_if = "Option::is_none")]
1931 pub creator_id: Option<String>,
1932 /// <p>Number of players currently in the game session.</p>
1933 #[serde(rename = "CurrentPlayerSessionCount")]
1934 #[serde(skip_serializing_if = "Option::is_none")]
1935 pub current_player_session_count: Option<i64>,
1936 /// <p>DNS identifier assigned to the instance that is running the game session. Values have the following format:</p> <ul> <li> <p>TLS-enabled fleets: <code><unique identifier>.<region identifier>.amazongamelift.com</code>.</p> </li> <li> <p>Non-TLS-enabled fleets: <code>ec2-<unique identifier>.compute.amazonaws.com</code>. (See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses">Amazon EC2 Instance IP Addressing</a>.)</p> </li> </ul> <p>When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.</p>
1937 #[serde(rename = "DnsName")]
1938 #[serde(skip_serializing_if = "Option::is_none")]
1939 pub dns_name: Option<String>,
1940 /// <p> The Amazon Resource Name (<a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>) associated with the GameLift fleet that this game session is running on. </p>
1941 #[serde(rename = "FleetArn")]
1942 #[serde(skip_serializing_if = "Option::is_none")]
1943 pub fleet_arn: Option<String>,
1944 /// <p>A unique identifier for a fleet that the game session is running on.</p>
1945 #[serde(rename = "FleetId")]
1946 #[serde(skip_serializing_if = "Option::is_none")]
1947 pub fleet_id: Option<String>,
1948 /// <p>Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the <a>GameSession</a> object with a request to start a new game session (see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start a Game Session</a>). You can search for active game sessions based on this custom data with <a>SearchGameSessions</a>.</p>
1949 #[serde(rename = "GameProperties")]
1950 #[serde(skip_serializing_if = "Option::is_none")]
1951 pub game_properties: Option<Vec<GameProperty>>,
1952 /// <p>Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the <a>GameSession</a> object with a request to start a new game session (see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start a Game Session</a>).</p>
1953 #[serde(rename = "GameSessionData")]
1954 #[serde(skip_serializing_if = "Option::is_none")]
1955 pub game_session_data: Option<String>,
1956 /// <p>A unique identifier for the game session. A game session ARN has the following format: <code>arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token></code>.</p>
1957 #[serde(rename = "GameSessionId")]
1958 #[serde(skip_serializing_if = "Option::is_none")]
1959 pub game_session_id: Option<String>,
1960 /// <p>IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number.</p>
1961 #[serde(rename = "IpAddress")]
1962 #[serde(skip_serializing_if = "Option::is_none")]
1963 pub ip_address: Option<String>,
1964 /// <p>Information about the matchmaking process that was used to create the game session. It is in JSON syntax, formatted as a string. In addition the matchmaking configuration used, it contains data on all players assigned to the match, including player attributes and team assignments. For more details on matchmaker data, see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-server.html#match-server-data">Match Data</a>. Matchmaker data is useful when requesting match backfills, and is updated whenever new players are added during a successful backfill (see <a>StartMatchBackfill</a>). </p>
1965 #[serde(rename = "MatchmakerData")]
1966 #[serde(skip_serializing_if = "Option::is_none")]
1967 pub matchmaker_data: Option<String>,
1968 /// <p>The maximum number of players that can be connected simultaneously to the game session.</p>
1969 #[serde(rename = "MaximumPlayerSessionCount")]
1970 #[serde(skip_serializing_if = "Option::is_none")]
1971 pub maximum_player_session_count: Option<i64>,
1972 /// <p>A descriptive label that is associated with a game session. Session names do not need to be unique.</p>
1973 #[serde(rename = "Name")]
1974 #[serde(skip_serializing_if = "Option::is_none")]
1975 pub name: Option<String>,
1976 /// <p>Indicates whether or not the game session is accepting new players.</p>
1977 #[serde(rename = "PlayerSessionCreationPolicy")]
1978 #[serde(skip_serializing_if = "Option::is_none")]
1979 pub player_session_creation_policy: Option<String>,
1980 /// <p>Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.</p>
1981 #[serde(rename = "Port")]
1982 #[serde(skip_serializing_if = "Option::is_none")]
1983 pub port: Option<i64>,
1984 /// <p>Current status of the game session. A game session must have an <code>ACTIVE</code> status to have player sessions.</p>
1985 #[serde(rename = "Status")]
1986 #[serde(skip_serializing_if = "Option::is_none")]
1987 pub status: Option<String>,
1988 /// <p>Provides additional information about game session status. <code>INTERRUPTED</code> indicates that the game session was hosted on a spot instance that was reclaimed, causing the active game session to be terminated.</p>
1989 #[serde(rename = "StatusReason")]
1990 #[serde(skip_serializing_if = "Option::is_none")]
1991 pub status_reason: Option<String>,
1992 /// <p>Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").</p>
1993 #[serde(rename = "TerminationTime")]
1994 #[serde(skip_serializing_if = "Option::is_none")]
1995 pub termination_time: Option<f64>,
1996}
1997
1998/// <p>Connection information for the new game session that is created with matchmaking. (with <a>StartMatchmaking</a>). Once a match is set, the FlexMatch engine places the match and creates a new game session for it. This information, including the game session endpoint and player sessions for each player in the original matchmaking request, is added to the <a>MatchmakingTicket</a>, which can be retrieved by calling <a>DescribeMatchmaking</a>.</p>
1999#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2000#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2001pub struct GameSessionConnectionInfo {
2002 /// <p>DNS identifier assigned to the instance that is running the game session. Values have the following format:</p> <ul> <li> <p>TLS-enabled fleets: <code><unique identifier>.<region identifier>.amazongamelift.com</code>.</p> </li> <li> <p>Non-TLS-enabled fleets: <code>ec2-<unique identifier>.compute.amazonaws.com</code>. (See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses">Amazon EC2 Instance IP Addressing</a>.)</p> </li> </ul> <p>When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.</p>
2003 #[serde(rename = "DnsName")]
2004 #[serde(skip_serializing_if = "Option::is_none")]
2005 pub dns_name: Option<String>,
2006 /// <p>Amazon Resource Name (<a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>) that is assigned to a game session and uniquely identifies it.</p>
2007 #[serde(rename = "GameSessionArn")]
2008 #[serde(skip_serializing_if = "Option::is_none")]
2009 pub game_session_arn: Option<String>,
2010 /// <p>IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number.</p>
2011 #[serde(rename = "IpAddress")]
2012 #[serde(skip_serializing_if = "Option::is_none")]
2013 pub ip_address: Option<String>,
2014 /// <p>A collection of player session IDs, one for each player ID that was included in the original matchmaking request. </p>
2015 #[serde(rename = "MatchedPlayerSessions")]
2016 #[serde(skip_serializing_if = "Option::is_none")]
2017 pub matched_player_sessions: Option<Vec<MatchedPlayerSession>>,
2018 /// <p>Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.</p>
2019 #[serde(rename = "Port")]
2020 #[serde(skip_serializing_if = "Option::is_none")]
2021 pub port: Option<i64>,
2022}
2023
2024/// <p>A game session's properties plus the protection policy currently in force.</p>
2025#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2026#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2027pub struct GameSessionDetail {
2028 /// <p>Object that describes a game session.</p>
2029 #[serde(rename = "GameSession")]
2030 #[serde(skip_serializing_if = "Option::is_none")]
2031 pub game_session: Option<GameSession>,
2032 /// <p><p>Current status of protection for the game session.</p> <ul> <li> <p> <b>NoProtection</b> -- The game session can be terminated during a scale-down event.</p> </li> <li> <p> <b>FullProtection</b> -- If the game session is in an <code>ACTIVE</code> status, it cannot be terminated during a scale-down event.</p> </li> </ul></p>
2033 #[serde(rename = "ProtectionPolicy")]
2034 #[serde(skip_serializing_if = "Option::is_none")]
2035 pub protection_policy: Option<String>,
2036}
2037
2038/// <p><p>Object that describes a <a>StartGameSessionPlacement</a> request. This object includes the full details of the original request plus the current status and start/end time stamps.</p> <p>Game session placement-related operations include:</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul></p>
2039#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2040#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2041pub struct GameSessionPlacement {
2042 /// <p>DNS identifier assigned to the instance that is running the game session. Values have the following format:</p> <ul> <li> <p>TLS-enabled fleets: <code><unique identifier>.<region identifier>.amazongamelift.com</code>.</p> </li> <li> <p>Non-TLS-enabled fleets: <code>ec2-<unique identifier>.compute.amazonaws.com</code>. (See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses">Amazon EC2 Instance IP Addressing</a>.)</p> </li> </ul> <p>When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.</p>
2043 #[serde(rename = "DnsName")]
2044 #[serde(skip_serializing_if = "Option::is_none")]
2045 pub dns_name: Option<String>,
2046 /// <p>Time stamp indicating when this request was completed, canceled, or timed out.</p>
2047 #[serde(rename = "EndTime")]
2048 #[serde(skip_serializing_if = "Option::is_none")]
2049 pub end_time: Option<f64>,
2050 /// <p>Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the <a>GameSession</a> object with a request to start a new game session (see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start a Game Session</a>).</p>
2051 #[serde(rename = "GameProperties")]
2052 #[serde(skip_serializing_if = "Option::is_none")]
2053 pub game_properties: Option<Vec<GameProperty>>,
2054 /// <p>Identifier for the game session created by this placement request. This value is set once the new game session is placed (placement status is <code>FULFILLED</code>). This identifier is unique across all Regions. You can use this value as a <code>GameSessionId</code> value as needed.</p>
2055 #[serde(rename = "GameSessionArn")]
2056 #[serde(skip_serializing_if = "Option::is_none")]
2057 pub game_session_arn: Option<String>,
2058 /// <p>Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the <a>GameSession</a> object with a request to start a new game session (see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start a Game Session</a>).</p>
2059 #[serde(rename = "GameSessionData")]
2060 #[serde(skip_serializing_if = "Option::is_none")]
2061 pub game_session_data: Option<String>,
2062 /// <p>A unique identifier for the game session. This value is set once the new game session is placed (placement status is <code>FULFILLED</code>).</p>
2063 #[serde(rename = "GameSessionId")]
2064 #[serde(skip_serializing_if = "Option::is_none")]
2065 pub game_session_id: Option<String>,
2066 /// <p>A descriptive label that is associated with a game session. Session names do not need to be unique.</p>
2067 #[serde(rename = "GameSessionName")]
2068 #[serde(skip_serializing_if = "Option::is_none")]
2069 pub game_session_name: Option<String>,
2070 /// <p>A descriptive label that is associated with game session queue. Queue names must be unique within each Region.</p>
2071 #[serde(rename = "GameSessionQueueName")]
2072 #[serde(skip_serializing_if = "Option::is_none")]
2073 pub game_session_queue_name: Option<String>,
2074 /// <p>Name of the Region where the game session created by this placement request is running. This value is set once the new game session is placed (placement status is <code>FULFILLED</code>).</p>
2075 #[serde(rename = "GameSessionRegion")]
2076 #[serde(skip_serializing_if = "Option::is_none")]
2077 pub game_session_region: Option<String>,
2078 /// <p>IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number. This value is set once the new game session is placed (placement status is <code>FULFILLED</code>). </p>
2079 #[serde(rename = "IpAddress")]
2080 #[serde(skip_serializing_if = "Option::is_none")]
2081 pub ip_address: Option<String>,
2082 /// <p>Information on the matchmaking process for this game. Data is in JSON syntax, formatted as a string. It identifies the matchmaking configuration used to create the match, and contains data on all players assigned to the match, including player attributes and team assignments. For more details on matchmaker data, see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-server.html#match-server-data">Match Data</a>.</p>
2083 #[serde(rename = "MatchmakerData")]
2084 #[serde(skip_serializing_if = "Option::is_none")]
2085 pub matchmaker_data: Option<String>,
2086 /// <p>The maximum number of players that can be connected simultaneously to the game session.</p>
2087 #[serde(rename = "MaximumPlayerSessionCount")]
2088 #[serde(skip_serializing_if = "Option::is_none")]
2089 pub maximum_player_session_count: Option<i64>,
2090 /// <p>A collection of information on player sessions created in response to the game session placement request. These player sessions are created only once a new game session is successfully placed (placement status is <code>FULFILLED</code>). This information includes the player ID (as provided in the placement request) and the corresponding player session ID. Retrieve full player sessions by calling <a>DescribePlayerSessions</a> with the player session ID.</p>
2091 #[serde(rename = "PlacedPlayerSessions")]
2092 #[serde(skip_serializing_if = "Option::is_none")]
2093 pub placed_player_sessions: Option<Vec<PlacedPlayerSession>>,
2094 /// <p>A unique identifier for a game session placement.</p>
2095 #[serde(rename = "PlacementId")]
2096 #[serde(skip_serializing_if = "Option::is_none")]
2097 pub placement_id: Option<String>,
2098 /// <p>Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS Regions.</p>
2099 #[serde(rename = "PlayerLatencies")]
2100 #[serde(skip_serializing_if = "Option::is_none")]
2101 pub player_latencies: Option<Vec<PlayerLatency>>,
2102 /// <p>Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. This value is set once the new game session is placed (placement status is <code>FULFILLED</code>).</p>
2103 #[serde(rename = "Port")]
2104 #[serde(skip_serializing_if = "Option::is_none")]
2105 pub port: Option<i64>,
2106 /// <p>Time stamp indicating when this request was placed in the queue. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").</p>
2107 #[serde(rename = "StartTime")]
2108 #[serde(skip_serializing_if = "Option::is_none")]
2109 pub start_time: Option<f64>,
2110 /// <p><p>Current status of the game session placement request.</p> <ul> <li> <p> <b>PENDING</b> -- The placement request is currently in the queue waiting to be processed.</p> </li> <li> <p> <b>FULFILLED</b> -- A new game session and player sessions (if requested) have been successfully created. Values for <i>GameSessionArn</i> and <i>GameSessionRegion</i> are available. </p> </li> <li> <p> <b>CANCELLED</b> -- The placement request was canceled with a call to <a>StopGameSessionPlacement</a>.</p> </li> <li> <p> <b>TIMED_OUT</b> -- A new game session was not successfully created before the time limit expired. You can resubmit the placement request as needed.</p> </li> <li> <p> <b>FAILED</b> -- GameLift is not able to complete the process of placing the game session. Common reasons are the game session terminated before the placement process was completed, or an unexpected internal error.</p> </li> </ul></p>
2111 #[serde(rename = "Status")]
2112 #[serde(skip_serializing_if = "Option::is_none")]
2113 pub status: Option<String>,
2114}
2115
2116/// <p><p>Configuration of a queue that is used to process game session placement requests. The queue configuration identifies several game features:</p> <ul> <li> <p>The destinations where a new game session can potentially be hosted. Amazon GameLift tries these destinations in an order based on either the queue's default order or player latency information, if provided in a placement request. With latency information, Amazon GameLift can place game sessions where the majority of players are reporting the lowest possible latency. </p> </li> <li> <p>The length of time that placement requests can wait in the queue before timing out. </p> </li> <li> <p>A set of optional latency policies that protect individual players from high latencies, preventing game sessions from being placed where any individual player is reporting latency higher than a policy's maximum.</p> </li> </ul> <ul> <li> <p> <a>CreateGameSessionQueue</a> </p> </li> <li> <p> <a>DescribeGameSessionQueues</a> </p> </li> <li> <p> <a>UpdateGameSessionQueue</a> </p> </li> <li> <p> <a>DeleteGameSessionQueue</a> </p> </li> </ul></p>
2117#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2118#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2119pub struct GameSessionQueue {
2120 /// <p>A list of fleets that can be used to fulfill game session placement requests in the queue. Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order.</p>
2121 #[serde(rename = "Destinations")]
2122 #[serde(skip_serializing_if = "Option::is_none")]
2123 pub destinations: Option<Vec<GameSessionQueueDestination>>,
2124 /// <p>Amazon Resource Name (<a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift game session queue ARN, the resource ID matches the <i>Name</i> value.</p>
2125 #[serde(rename = "GameSessionQueueArn")]
2126 #[serde(skip_serializing_if = "Option::is_none")]
2127 pub game_session_queue_arn: Option<String>,
2128 /// <p>A descriptive label that is associated with game session queue. Queue names must be unique within each Region.</p>
2129 #[serde(rename = "Name")]
2130 #[serde(skip_serializing_if = "Option::is_none")]
2131 pub name: Option<String>,
2132 /// <p>A collection of latency policies to apply when processing game sessions placement requests with player latency information. Multiple policies are evaluated in order of the maximum latency value, starting with the lowest latency values. With just one policy, the policy is enforced at the start of the game session placement for the duration period. With multiple policies, each policy is enforced consecutively for its duration period. For example, a queue might enforce a 60-second policy followed by a 120-second policy, and then no policy for the remainder of the placement. </p>
2133 #[serde(rename = "PlayerLatencyPolicies")]
2134 #[serde(skip_serializing_if = "Option::is_none")]
2135 pub player_latency_policies: Option<Vec<PlayerLatencyPolicy>>,
2136 /// <p>The maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a <code>TIMED_OUT</code> status.</p>
2137 #[serde(rename = "TimeoutInSeconds")]
2138 #[serde(skip_serializing_if = "Option::is_none")]
2139 pub timeout_in_seconds: Option<i64>,
2140}
2141
2142/// <p><p>Fleet designated in a game session queue. Requests for new game sessions in the queue are fulfilled by starting a new game session on any destination that is configured for a queue. </p> <ul> <li> <p> <a>CreateGameSessionQueue</a> </p> </li> <li> <p> <a>DescribeGameSessionQueues</a> </p> </li> <li> <p> <a>UpdateGameSessionQueue</a> </p> </li> <li> <p> <a>DeleteGameSessionQueue</a> </p> </li> </ul></p>
2143#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
2144pub struct GameSessionQueueDestination {
2145 /// <p>The Amazon Resource Name (ARN) that is assigned to fleet or fleet alias. ARNs, which include a fleet ID or alias ID and a Region name, provide a unique identifier across all Regions. </p>
2146 #[serde(rename = "DestinationArn")]
2147 #[serde(skip_serializing_if = "Option::is_none")]
2148 pub destination_arn: Option<String>,
2149}
2150
2151/// <p>Represents the input for a request action.</p>
2152#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2153#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2154pub struct GetGameSessionLogUrlInput {
2155 /// <p>A unique identifier for the game session to get logs for. </p>
2156 #[serde(rename = "GameSessionId")]
2157 pub game_session_id: String,
2158}
2159
2160/// <p>Represents the returned data in response to a request action.</p>
2161#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2162#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2163pub struct GetGameSessionLogUrlOutput {
2164 /// <p>Location of the requested game session logs, available for download. This URL is valid for 15 minutes, after which S3 will reject any download request using this URL. You can request a new URL any time within the 14-day period that the logs are retained.</p>
2165 #[serde(rename = "PreSignedUrl")]
2166 #[serde(skip_serializing_if = "Option::is_none")]
2167 pub pre_signed_url: Option<String>,
2168}
2169
2170/// <p>Represents the input for a request action.</p>
2171#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2172#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2173pub struct GetInstanceAccessInput {
2174 /// <p>A unique identifier for a fleet that contains the instance you want access to. You can use either the fleet ID or ARN value. The fleet can be in any of the following statuses: <code>ACTIVATING</code>, <code>ACTIVE</code>, or <code>ERROR</code>. Fleets with an <code>ERROR</code> status may be accessible for a short time before they are deleted.</p>
2175 #[serde(rename = "FleetId")]
2176 pub fleet_id: String,
2177 /// <p>A unique identifier for an instance you want to get access to. You can access an instance in any status.</p>
2178 #[serde(rename = "InstanceId")]
2179 pub instance_id: String,
2180}
2181
2182/// <p>Represents the returned data in response to a request action.</p>
2183#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2184#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2185pub struct GetInstanceAccessOutput {
2186 /// <p>The connection information for a fleet instance, including IP address and access credentials.</p>
2187 #[serde(rename = "InstanceAccess")]
2188 #[serde(skip_serializing_if = "Option::is_none")]
2189 pub instance_access: Option<InstanceAccess>,
2190}
2191
2192/// <p>Properties that describe an instance of a virtual computing resource that hosts one or more game servers. A fleet may contain zero or more instances.</p>
2193#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2194#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2195pub struct Instance {
2196 /// <p>Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").</p>
2197 #[serde(rename = "CreationTime")]
2198 #[serde(skip_serializing_if = "Option::is_none")]
2199 pub creation_time: Option<f64>,
2200 /// <p>DNS identifier assigned to the instance that is running the game session. Values have the following format:</p> <ul> <li> <p>TLS-enabled fleets: <code><unique identifier>.<region identifier>.amazongamelift.com</code>.</p> </li> <li> <p>Non-TLS-enabled fleets: <code>ec2-<unique identifier>.compute.amazonaws.com</code>. (See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses">Amazon EC2 Instance IP Addressing</a>.)</p> </li> </ul> <p>When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.</p>
2201 #[serde(rename = "DnsName")]
2202 #[serde(skip_serializing_if = "Option::is_none")]
2203 pub dns_name: Option<String>,
2204 /// <p>A unique identifier for a fleet that the instance is in.</p>
2205 #[serde(rename = "FleetId")]
2206 #[serde(skip_serializing_if = "Option::is_none")]
2207 pub fleet_id: Option<String>,
2208 /// <p>A unique identifier for an instance.</p>
2209 #[serde(rename = "InstanceId")]
2210 #[serde(skip_serializing_if = "Option::is_none")]
2211 pub instance_id: Option<String>,
2212 /// <p>IP address that is assigned to the instance.</p>
2213 #[serde(rename = "IpAddress")]
2214 #[serde(skip_serializing_if = "Option::is_none")]
2215 pub ip_address: Option<String>,
2216 /// <p>Operating system that is running on this instance. </p>
2217 #[serde(rename = "OperatingSystem")]
2218 #[serde(skip_serializing_if = "Option::is_none")]
2219 pub operating_system: Option<String>,
2220 /// <p><p>Current status of the instance. Possible statuses include the following:</p> <ul> <li> <p> <b>PENDING</b> -- The instance is in the process of being created and launching server processes as defined in the fleet's run-time configuration. </p> </li> <li> <p> <b>ACTIVE</b> -- The instance has been successfully created and at least one server process has successfully launched and reported back to Amazon GameLift that it is ready to host a game session. The instance is now considered ready to host game sessions. </p> </li> <li> <p> <b>TERMINATING</b> -- The instance is in the process of shutting down. This may happen to reduce capacity during a scaling down event or to recycle resources in the event of a problem.</p> </li> </ul></p>
2221 #[serde(rename = "Status")]
2222 #[serde(skip_serializing_if = "Option::is_none")]
2223 pub status: Option<String>,
2224 /// <p>EC2 instance type that defines the computing resources of this instance. </p>
2225 #[serde(rename = "Type")]
2226 #[serde(skip_serializing_if = "Option::is_none")]
2227 pub type_: Option<String>,
2228}
2229
2230/// <p>Information required to remotely connect to a fleet instance. Access is requested by calling <a>GetInstanceAccess</a>. </p>
2231#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2232#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2233pub struct InstanceAccess {
2234 /// <p>Credentials required to access the instance.</p>
2235 #[serde(rename = "Credentials")]
2236 #[serde(skip_serializing_if = "Option::is_none")]
2237 pub credentials: Option<InstanceCredentials>,
2238 /// <p>A unique identifier for a fleet containing the instance being accessed.</p>
2239 #[serde(rename = "FleetId")]
2240 #[serde(skip_serializing_if = "Option::is_none")]
2241 pub fleet_id: Option<String>,
2242 /// <p>A unique identifier for an instance being accessed.</p>
2243 #[serde(rename = "InstanceId")]
2244 #[serde(skip_serializing_if = "Option::is_none")]
2245 pub instance_id: Option<String>,
2246 /// <p>IP address that is assigned to the instance.</p>
2247 #[serde(rename = "IpAddress")]
2248 #[serde(skip_serializing_if = "Option::is_none")]
2249 pub ip_address: Option<String>,
2250 /// <p>Operating system that is running on the instance.</p>
2251 #[serde(rename = "OperatingSystem")]
2252 #[serde(skip_serializing_if = "Option::is_none")]
2253 pub operating_system: Option<String>,
2254}
2255
2256/// <p>Set of credentials required to remotely access a fleet instance. Access credentials are requested by calling <a>GetInstanceAccess</a> and returned in an <a>InstanceAccess</a> object.</p>
2257#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2258#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2259pub struct InstanceCredentials {
2260 /// <p>Secret string. For Windows instances, the secret is a password for use with Windows Remote Desktop. For Linux instances, it is a private key (which must be saved as a <code>.pem</code> file) for use with SSH.</p>
2261 #[serde(rename = "Secret")]
2262 #[serde(skip_serializing_if = "Option::is_none")]
2263 pub secret: Option<String>,
2264 /// <p>User login string.</p>
2265 #[serde(rename = "UserName")]
2266 #[serde(skip_serializing_if = "Option::is_none")]
2267 pub user_name: Option<String>,
2268}
2269
2270/// <p> <b>This data type is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>An allowed instance type for your game server group. GameLift FleetIQ periodically evaluates each defined instance type for viability. It then updates the Auto Scaling group with the list of viable instance types.</p>
2271#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
2272pub struct InstanceDefinition {
2273 /// <p>An EC2 instance type designation.</p>
2274 #[serde(rename = "InstanceType")]
2275 pub instance_type: String,
2276 /// <p>Instance weighting that indicates how much this instance type contributes to the total capacity of a game server group. Instance weights are used by GameLift FleetIQ to calculate the instance type's cost per unit hour and better identify the most cost-effective options. For detailed information on weighting instance capacity, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-weighting.html">Instance Weighting</a> in the <i>Amazon EC2 Auto Scaling User Guide</i>. Default value is "1".</p>
2277 #[serde(rename = "WeightedCapacity")]
2278 #[serde(skip_serializing_if = "Option::is_none")]
2279 pub weighted_capacity: Option<String>,
2280}
2281
2282/// <p>A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift hosting resource. New game sessions that are started on the fleet are assigned an IP address/port number combination, which must fall into the fleet's allowed ranges. For fleets created with a custom game server, the ranges reflect the server's game session assignments. For Realtime Servers fleets, Amazon GameLift automatically opens two port ranges, one for TCP messaging and one for UDP for use by the Realtime servers.</p>
2283#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
2284pub struct IpPermission {
2285 /// <p>A starting value for a range of allowed port numbers.</p>
2286 #[serde(rename = "FromPort")]
2287 pub from_port: i64,
2288 /// <p>A range of allowed IP addresses. This value must be expressed in CIDR notation. Example: "<code>000.000.000.000/[subnet mask]</code>" or optionally the shortened version "<code>0.0.0.0/[subnet mask]</code>".</p>
2289 #[serde(rename = "IpRange")]
2290 pub ip_range: String,
2291 /// <p>The network communication protocol used by the fleet.</p>
2292 #[serde(rename = "Protocol")]
2293 pub protocol: String,
2294 /// <p>An ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than <code>FromPort</code>.</p>
2295 #[serde(rename = "ToPort")]
2296 pub to_port: i64,
2297}
2298
2299/// <p> <b>This data type is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>An EC2 launch template that contains configuration settings and game server code to be deployed to all instances in a game server group. </p>
2300#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2301#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2302pub struct LaunchTemplateSpecification {
2303 /// <p>A unique identifier for an existing EC2 launch template.</p>
2304 #[serde(rename = "LaunchTemplateId")]
2305 #[serde(skip_serializing_if = "Option::is_none")]
2306 pub launch_template_id: Option<String>,
2307 /// <p>A readable identifier for an existing EC2 launch template. </p>
2308 #[serde(rename = "LaunchTemplateName")]
2309 #[serde(skip_serializing_if = "Option::is_none")]
2310 pub launch_template_name: Option<String>,
2311 /// <p>The version of the EC2 launch template to use. If no version is specified, the default version will be used. EC2 allows you to specify a default version for a launch template, if none is set, the default is the first version created.</p>
2312 #[serde(rename = "Version")]
2313 #[serde(skip_serializing_if = "Option::is_none")]
2314 pub version: Option<String>,
2315}
2316
2317/// <p>Represents the input for a request action.</p>
2318#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2319#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2320pub struct ListAliasesInput {
2321 /// <p>The maximum number of results to return. Use this parameter with <code>NextToken</code> to get results as a set of sequential pages.</p>
2322 #[serde(rename = "Limit")]
2323 #[serde(skip_serializing_if = "Option::is_none")]
2324 pub limit: Option<i64>,
2325 /// <p>A descriptive label that is associated with an alias. Alias names do not need to be unique.</p>
2326 #[serde(rename = "Name")]
2327 #[serde(skip_serializing_if = "Option::is_none")]
2328 pub name: Option<String>,
2329 /// <p>A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.</p>
2330 #[serde(rename = "NextToken")]
2331 #[serde(skip_serializing_if = "Option::is_none")]
2332 pub next_token: Option<String>,
2333 /// <p><p>The routing type to filter results on. Use this parameter to retrieve only aliases with a certain routing type. To retrieve all aliases, leave this parameter empty.</p> <p>Possible routing types include the following:</p> <ul> <li> <p> <b>SIMPLE</b> -- The alias resolves to one specific fleet. Use this type when routing to active fleets.</p> </li> <li> <p> <b>TERMINAL</b> -- The alias does not resolve to a fleet but instead can be used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException with the <a>RoutingStrategy</a> message embedded.</p> </li> </ul></p>
2334 #[serde(rename = "RoutingStrategyType")]
2335 #[serde(skip_serializing_if = "Option::is_none")]
2336 pub routing_strategy_type: Option<String>,
2337}
2338
2339/// <p>Represents the returned data in response to a request action.</p>
2340#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2341#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2342pub struct ListAliasesOutput {
2343 /// <p>A collection of alias resources that match the request parameters.</p>
2344 #[serde(rename = "Aliases")]
2345 #[serde(skip_serializing_if = "Option::is_none")]
2346 pub aliases: Option<Vec<Alias>>,
2347 /// <p>A token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.</p>
2348 #[serde(rename = "NextToken")]
2349 #[serde(skip_serializing_if = "Option::is_none")]
2350 pub next_token: Option<String>,
2351}
2352
2353/// <p>Represents the input for a request action.</p>
2354#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2355#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2356pub struct ListBuildsInput {
2357 /// <p>The maximum number of results to return. Use this parameter with <code>NextToken</code> to get results as a set of sequential pages.</p>
2358 #[serde(rename = "Limit")]
2359 #[serde(skip_serializing_if = "Option::is_none")]
2360 pub limit: Option<i64>,
2361 /// <p>Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.</p>
2362 #[serde(rename = "NextToken")]
2363 #[serde(skip_serializing_if = "Option::is_none")]
2364 pub next_token: Option<String>,
2365 /// <p><p>Build status to filter results by. To retrieve all builds, leave this parameter empty.</p> <p>Possible build statuses include the following:</p> <ul> <li> <p> <b>INITIALIZED</b> -- A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this status. When a build is successfully created, the build status is set to this value. </p> </li> <li> <p> <b>READY</b> -- The game build has been successfully uploaded. You can now create new fleets for this build.</p> </li> <li> <p> <b>FAILED</b> -- The game build upload failed. You cannot create new fleets for this build. </p> </li> </ul></p>
2366 #[serde(rename = "Status")]
2367 #[serde(skip_serializing_if = "Option::is_none")]
2368 pub status: Option<String>,
2369}
2370
2371/// <p>Represents the returned data in response to a request action.</p>
2372#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2373#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2374pub struct ListBuildsOutput {
2375 /// <p>A collection of build resources that match the request.</p>
2376 #[serde(rename = "Builds")]
2377 #[serde(skip_serializing_if = "Option::is_none")]
2378 pub builds: Option<Vec<Build>>,
2379 /// <p>Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.</p>
2380 #[serde(rename = "NextToken")]
2381 #[serde(skip_serializing_if = "Option::is_none")]
2382 pub next_token: Option<String>,
2383}
2384
2385/// <p>Represents the input for a request action.</p>
2386#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2387#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2388pub struct ListFleetsInput {
2389 /// <p>A unique identifier for a build to return fleets for. Use this parameter to return only fleets using a specified build. Use either the build ID or ARN value. To retrieve all fleets, do not include either a BuildId and ScriptID parameter.</p>
2390 #[serde(rename = "BuildId")]
2391 #[serde(skip_serializing_if = "Option::is_none")]
2392 pub build_id: Option<String>,
2393 /// <p>The maximum number of results to return. Use this parameter with <code>NextToken</code> to get results as a set of sequential pages.</p>
2394 #[serde(rename = "Limit")]
2395 #[serde(skip_serializing_if = "Option::is_none")]
2396 pub limit: Option<i64>,
2397 /// <p>Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.</p>
2398 #[serde(rename = "NextToken")]
2399 #[serde(skip_serializing_if = "Option::is_none")]
2400 pub next_token: Option<String>,
2401 /// <p>A unique identifier for a Realtime script to return fleets for. Use this parameter to return only fleets using a specified script. Use either the script ID or ARN value. To retrieve all fleets, leave this parameter empty.</p>
2402 #[serde(rename = "ScriptId")]
2403 #[serde(skip_serializing_if = "Option::is_none")]
2404 pub script_id: Option<String>,
2405}
2406
2407/// <p>Represents the returned data in response to a request action.</p>
2408#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2409#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2410pub struct ListFleetsOutput {
2411 /// <p>Set of fleet IDs matching the list request. You can retrieve additional information about all returned fleets by passing this result set to a call to <a>DescribeFleetAttributes</a>, <a>DescribeFleetCapacity</a>, or <a>DescribeFleetUtilization</a>.</p>
2412 #[serde(rename = "FleetIds")]
2413 #[serde(skip_serializing_if = "Option::is_none")]
2414 pub fleet_ids: Option<Vec<String>>,
2415 /// <p>Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.</p>
2416 #[serde(rename = "NextToken")]
2417 #[serde(skip_serializing_if = "Option::is_none")]
2418 pub next_token: Option<String>,
2419}
2420
2421#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2422#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2423pub struct ListGameServerGroupsInput {
2424 /// <p>The maximum number of results to return. Use this parameter with <code>NextToken</code> to get results as a set of sequential pages.</p>
2425 #[serde(rename = "Limit")]
2426 #[serde(skip_serializing_if = "Option::is_none")]
2427 pub limit: Option<i64>,
2428 /// <p>A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.</p>
2429 #[serde(rename = "NextToken")]
2430 #[serde(skip_serializing_if = "Option::is_none")]
2431 pub next_token: Option<String>,
2432}
2433
2434#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2435#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2436pub struct ListGameServerGroupsOutput {
2437 /// <p>A collection of game server group objects that match the request.</p>
2438 #[serde(rename = "GameServerGroups")]
2439 #[serde(skip_serializing_if = "Option::is_none")]
2440 pub game_server_groups: Option<Vec<GameServerGroup>>,
2441 /// <p>A token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.</p>
2442 #[serde(rename = "NextToken")]
2443 #[serde(skip_serializing_if = "Option::is_none")]
2444 pub next_token: Option<String>,
2445}
2446
2447#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2448#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2449pub struct ListGameServersInput {
2450 /// <p>An identifier for the game server group for the game server you want to list. Use either the <a>GameServerGroup</a> name or ARN value.</p>
2451 #[serde(rename = "GameServerGroupName")]
2452 pub game_server_group_name: String,
2453 /// <p>The maximum number of results to return. Use this parameter with <code>NextToken</code> to get results as a set of sequential pages.</p>
2454 #[serde(rename = "Limit")]
2455 #[serde(skip_serializing_if = "Option::is_none")]
2456 pub limit: Option<i64>,
2457 /// <p>A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.</p>
2458 #[serde(rename = "NextToken")]
2459 #[serde(skip_serializing_if = "Option::is_none")]
2460 pub next_token: Option<String>,
2461 /// <p>Indicates how to sort the returned data based on the game servers' custom key sort value. If this parameter is left empty, the list of game servers is returned in no particular order.</p>
2462 #[serde(rename = "SortOrder")]
2463 #[serde(skip_serializing_if = "Option::is_none")]
2464 pub sort_order: Option<String>,
2465}
2466
2467#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2468#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2469pub struct ListGameServersOutput {
2470 /// <p>A collection of game server objects that match the request.</p>
2471 #[serde(rename = "GameServers")]
2472 #[serde(skip_serializing_if = "Option::is_none")]
2473 pub game_servers: Option<Vec<GameServer>>,
2474 /// <p>A token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.</p>
2475 #[serde(rename = "NextToken")]
2476 #[serde(skip_serializing_if = "Option::is_none")]
2477 pub next_token: Option<String>,
2478}
2479
2480#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2481#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2482pub struct ListScriptsInput {
2483 /// <p>The maximum number of results to return. Use this parameter with <code>NextToken</code> to get results as a set of sequential pages.</p>
2484 #[serde(rename = "Limit")]
2485 #[serde(skip_serializing_if = "Option::is_none")]
2486 pub limit: Option<i64>,
2487 /// <p>A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.</p>
2488 #[serde(rename = "NextToken")]
2489 #[serde(skip_serializing_if = "Option::is_none")]
2490 pub next_token: Option<String>,
2491}
2492
2493#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2494#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2495pub struct ListScriptsOutput {
2496 /// <p>A token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.</p>
2497 #[serde(rename = "NextToken")]
2498 #[serde(skip_serializing_if = "Option::is_none")]
2499 pub next_token: Option<String>,
2500 /// <p>A set of properties describing the requested script.</p>
2501 #[serde(rename = "Scripts")]
2502 #[serde(skip_serializing_if = "Option::is_none")]
2503 pub scripts: Option<Vec<Script>>,
2504}
2505
2506#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2507#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2508pub struct ListTagsForResourceRequest {
2509 /// <p> The Amazon Resource Name (<a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>) that is assigned to and uniquely identifies the GameLift resource that you want to retrieve tags for. GameLift resource ARNs are included in the data object for the resource, which can be retrieved by calling a List or Describe action for the resource type. </p>
2510 #[serde(rename = "ResourceARN")]
2511 pub resource_arn: String,
2512}
2513
2514#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2515#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2516pub struct ListTagsForResourceResponse {
2517 /// <p> The collection of tags that have been assigned to the specified resource. </p>
2518 #[serde(rename = "Tags")]
2519 #[serde(skip_serializing_if = "Option::is_none")]
2520 pub tags: Option<Vec<Tag>>,
2521}
2522
2523/// <p>Represents a new player session that is created as a result of a successful FlexMatch match. A successful match automatically creates new player sessions for every player ID in the original matchmaking request. </p> <p>When players connect to the match's game session, they must include both player ID and player session ID in order to claim their assigned player slot.</p>
2524#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2525#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2526pub struct MatchedPlayerSession {
2527 /// <p>A unique identifier for a player </p>
2528 #[serde(rename = "PlayerId")]
2529 #[serde(skip_serializing_if = "Option::is_none")]
2530 pub player_id: Option<String>,
2531 /// <p>A unique identifier for a player session</p>
2532 #[serde(rename = "PlayerSessionId")]
2533 #[serde(skip_serializing_if = "Option::is_none")]
2534 pub player_session_id: Option<String>,
2535}
2536
2537/// <p>Guidelines for use with FlexMatch to match players into games. All matchmaking requests must specify a matchmaking configuration.</p>
2538#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2539#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2540pub struct MatchmakingConfiguration {
2541 /// <p>A flag that indicates whether a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE.</p>
2542 #[serde(rename = "AcceptanceRequired")]
2543 #[serde(skip_serializing_if = "Option::is_none")]
2544 pub acceptance_required: Option<bool>,
2545 /// <p>The length of time (in seconds) to wait for players to accept a proposed match. If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable match.</p>
2546 #[serde(rename = "AcceptanceTimeoutSeconds")]
2547 #[serde(skip_serializing_if = "Option::is_none")]
2548 pub acceptance_timeout_seconds: Option<i64>,
2549 /// <p>The number of player slots in a match to keep open for future players. For example, assume that the configuration's rule set specifies a match for a single 12-person team. If the additional player count is set to 2, only 10 players are initially selected for the match.</p>
2550 #[serde(rename = "AdditionalPlayerCount")]
2551 #[serde(skip_serializing_if = "Option::is_none")]
2552 pub additional_player_count: Option<i64>,
2553 /// <p>The method used to backfill game sessions created with this matchmaking configuration. MANUAL indicates that the game makes backfill requests or does not use the match backfill feature. AUTOMATIC indicates that GameLift creates <a>StartMatchBackfill</a> requests whenever a game session has one or more open slots. Learn more about manual and automatic backfill in <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-backfill.html">Backfill Existing Games with FlexMatch</a>.</p>
2554 #[serde(rename = "BackfillMode")]
2555 #[serde(skip_serializing_if = "Option::is_none")]
2556 pub backfill_mode: Option<String>,
2557 /// <p>Amazon Resource Name (<a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>) that is assigned to a GameLift matchmaking configuration resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift configuration ARN, the resource ID matches the <i>Name</i> value.</p>
2558 #[serde(rename = "ConfigurationArn")]
2559 #[serde(skip_serializing_if = "Option::is_none")]
2560 pub configuration_arn: Option<String>,
2561 /// <p>The time stamp indicating when this data object was created. The format is a number expressed in Unix time as milliseconds (for example "1469498468.057").</p>
2562 #[serde(rename = "CreationTime")]
2563 #[serde(skip_serializing_if = "Option::is_none")]
2564 pub creation_time: Option<f64>,
2565 /// <p>Information to attach to all events related to the matchmaking configuration. </p>
2566 #[serde(rename = "CustomEventData")]
2567 #[serde(skip_serializing_if = "Option::is_none")]
2568 pub custom_event_data: Option<String>,
2569 /// <p>A descriptive label that is associated with matchmaking configuration.</p>
2570 #[serde(rename = "Description")]
2571 #[serde(skip_serializing_if = "Option::is_none")]
2572 pub description: Option<String>,
2573 /// <p>A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the <a>GameSession</a> object with a request to start a new game session (see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start a Game Session</a>). This information is added to the new <a>GameSession</a> object that is created for a successful match. </p>
2574 #[serde(rename = "GameProperties")]
2575 #[serde(skip_serializing_if = "Option::is_none")]
2576 pub game_properties: Option<Vec<GameProperty>>,
2577 /// <p>A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the <a>GameSession</a> object with a request to start a new game session (see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start a Game Session</a>). This information is added to the new <a>GameSession</a> object that is created for a successful match. </p>
2578 #[serde(rename = "GameSessionData")]
2579 #[serde(skip_serializing_if = "Option::is_none")]
2580 pub game_session_data: Option<String>,
2581 /// <p>Amazon Resource Name (<a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. GameLift uses the listed queues when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any Region.</p>
2582 #[serde(rename = "GameSessionQueueArns")]
2583 #[serde(skip_serializing_if = "Option::is_none")]
2584 pub game_session_queue_arns: Option<Vec<String>>,
2585 /// <p>A unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a matchmaking request or ticket.</p>
2586 #[serde(rename = "Name")]
2587 #[serde(skip_serializing_if = "Option::is_none")]
2588 pub name: Option<String>,
2589 /// <p>An SNS topic ARN that is set up to receive matchmaking notifications.</p>
2590 #[serde(rename = "NotificationTarget")]
2591 #[serde(skip_serializing_if = "Option::is_none")]
2592 pub notification_target: Option<String>,
2593 /// <p>The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that fail due to timing out can be resubmitted as needed.</p>
2594 #[serde(rename = "RequestTimeoutSeconds")]
2595 #[serde(skip_serializing_if = "Option::is_none")]
2596 pub request_timeout_seconds: Option<i64>,
2597 /// <p>The Amazon Resource Name (<a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>) associated with the GameLift matchmaking rule set resource that this configuration uses.</p>
2598 #[serde(rename = "RuleSetArn")]
2599 #[serde(skip_serializing_if = "Option::is_none")]
2600 pub rule_set_arn: Option<String>,
2601 /// <p>A unique identifier for a matchmaking rule set to use with this configuration. A matchmaking configuration can only use rule sets that are defined in the same Region.</p>
2602 #[serde(rename = "RuleSetName")]
2603 #[serde(skip_serializing_if = "Option::is_none")]
2604 pub rule_set_name: Option<String>,
2605}
2606
2607/// <p><p>Set of rule statements, used with FlexMatch, that determine how to build your player matches. Each rule set describes a type of group to be created and defines the parameters for acceptable player matches. Rule sets are used in <a>MatchmakingConfiguration</a> objects.</p> <p>A rule set may define the following elements for a match. For detailed information and examples showing how to construct a rule set, see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-rulesets.html">Build a FlexMatch Rule Set</a>. </p> <ul> <li> <p>Teams -- Required. A rule set must define one or multiple teams for the match and set minimum and maximum team sizes. For example, a rule set might describe a 4x4 match that requires all eight slots to be filled. </p> </li> <li> <p>Player attributes -- Optional. These attributes specify a set of player characteristics to evaluate when looking for a match. Matchmaking requests that use a rule set with player attributes must provide the corresponding attribute values. For example, an attribute might specify a player's skill or level.</p> </li> <li> <p>Rules -- Optional. Rules define how to evaluate potential players for a match based on player attributes. A rule might specify minimum requirements for individual players, teams, or entire matches. For example, a rule might require each player to meet a certain skill level, each team to have at least one player in a certain role, or the match to have a minimum average skill level. or may describe an entire group--such as all teams must be evenly matched or have at least one player in a certain role. </p> </li> <li> <p>Expansions -- Optional. Expansions allow you to relax the rules after a period of time when no acceptable matches are found. This feature lets you balance getting players into games in a reasonable amount of time instead of making them wait indefinitely for the best possible match. For example, you might use an expansion to increase the maximum skill variance between players after 30 seconds.</p> </li> </ul></p>
2608#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2609#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2610pub struct MatchmakingRuleSet {
2611 /// <p>The time stamp indicating when this data object was created. The format is a number expressed in Unix time as milliseconds (for example "1469498468.057").</p>
2612 #[serde(rename = "CreationTime")]
2613 #[serde(skip_serializing_if = "Option::is_none")]
2614 pub creation_time: Option<f64>,
2615 /// <p>Amazon Resource Name (<a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>) that is assigned to a GameLift matchmaking rule set resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift rule set ARN, the resource ID matches the <i>RuleSetName</i> value.</p>
2616 #[serde(rename = "RuleSetArn")]
2617 #[serde(skip_serializing_if = "Option::is_none")]
2618 pub rule_set_arn: Option<String>,
2619 /// <p>A collection of matchmaking rules, formatted as a JSON string. Comments are not allowed in JSON, but most elements support a description field.</p>
2620 #[serde(rename = "RuleSetBody")]
2621 pub rule_set_body: String,
2622 /// <p>A unique identifier for a matchmaking rule set</p>
2623 #[serde(rename = "RuleSetName")]
2624 #[serde(skip_serializing_if = "Option::is_none")]
2625 pub rule_set_name: Option<String>,
2626}
2627
2628/// <p>Ticket generated to track the progress of a matchmaking request. Each ticket is uniquely identified by a ticket ID, supplied by the requester, when creating a matchmaking request with <a>StartMatchmaking</a>. Tickets can be retrieved by calling <a>DescribeMatchmaking</a> with the ticket ID.</p>
2629#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2630#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2631pub struct MatchmakingTicket {
2632 /// <p>The Amazon Resource Name (<a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>) associated with the GameLift matchmaking configuration resource that is used with this ticket.</p>
2633 #[serde(rename = "ConfigurationArn")]
2634 #[serde(skip_serializing_if = "Option::is_none")]
2635 pub configuration_arn: Option<String>,
2636 /// <p>Name of the <a>MatchmakingConfiguration</a> that is used with this ticket. Matchmaking configurations determine how players are grouped into a match and how a new game session is created for the match.</p>
2637 #[serde(rename = "ConfigurationName")]
2638 #[serde(skip_serializing_if = "Option::is_none")]
2639 pub configuration_name: Option<String>,
2640 /// <p>Time stamp indicating when this matchmaking request stopped being processed due to success, failure, or cancellation. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").</p>
2641 #[serde(rename = "EndTime")]
2642 #[serde(skip_serializing_if = "Option::is_none")]
2643 pub end_time: Option<f64>,
2644 /// <p>Average amount of time (in seconds) that players are currently waiting for a match. If there is not enough recent data, this property may be empty.</p>
2645 #[serde(rename = "EstimatedWaitTime")]
2646 #[serde(skip_serializing_if = "Option::is_none")]
2647 pub estimated_wait_time: Option<i64>,
2648 /// <p>Identifier and connection information of the game session created for the match. This information is added to the ticket only after the matchmaking request has been successfully completed.</p>
2649 #[serde(rename = "GameSessionConnectionInfo")]
2650 #[serde(skip_serializing_if = "Option::is_none")]
2651 pub game_session_connection_info: Option<GameSessionConnectionInfo>,
2652 /// <p>A set of <code>Player</code> objects, each representing a player to find matches for. Players are identified by a unique player ID and may include latency data for use during matchmaking. If the ticket is in status <code>COMPLETED</code>, the <code>Player</code> objects include the team the players were assigned to in the resulting match.</p>
2653 #[serde(rename = "Players")]
2654 #[serde(skip_serializing_if = "Option::is_none")]
2655 pub players: Option<Vec<Player>>,
2656 /// <p>Time stamp indicating when this matchmaking request was received. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").</p>
2657 #[serde(rename = "StartTime")]
2658 #[serde(skip_serializing_if = "Option::is_none")]
2659 pub start_time: Option<f64>,
2660 /// <p><p>Current status of the matchmaking request.</p> <ul> <li> <p> <b>QUEUED</b> -- The matchmaking request has been received and is currently waiting to be processed.</p> </li> <li> <p> <b>SEARCHING</b> -- The matchmaking request is currently being processed. </p> </li> <li> <p> <b>REQUIRES<em>ACCEPTANCE</b> -- A match has been proposed and the players must accept the match (see <a>AcceptMatch</a>). This status is used only with requests that use a matchmaking configuration with a player acceptance requirement.</p> </li> <li> <p> <b>PLACING</b> -- The FlexMatch engine has matched players and is in the process of placing a new game session for the match.</p> </li> <li> <p> <b>COMPLETED</b> -- Players have been matched and a game session is ready to host the players. A ticket in this state contains the necessary connection information for players.</p> </li> <li> <p> <b>FAILED</b> -- The matchmaking request was not completed.</p> </li> <li> <p> <b>CANCELLED</b> -- The matchmaking request was canceled. This may be the result of a call to <a>StopMatchmaking</a> or a proposed match that one or more players failed to accept.</p> </li> <li> <p> <b>TIMED</em>OUT</b> -- The matchmaking request was not successful within the duration specified in the matchmaking configuration. </p> </li> </ul> <note> <p>Matchmaking requests that fail to successfully complete (statuses FAILED, CANCELLED, TIMED_OUT) can be resubmitted as new requests with new ticket IDs.</p> </note></p>
2661 #[serde(rename = "Status")]
2662 #[serde(skip_serializing_if = "Option::is_none")]
2663 pub status: Option<String>,
2664 /// <p>Additional information about the current status.</p>
2665 #[serde(rename = "StatusMessage")]
2666 #[serde(skip_serializing_if = "Option::is_none")]
2667 pub status_message: Option<String>,
2668 /// <p>Code to explain the current status. For example, a status reason may indicate when a ticket has returned to <code>SEARCHING</code> status after a proposed match fails to receive player acceptances.</p>
2669 #[serde(rename = "StatusReason")]
2670 #[serde(skip_serializing_if = "Option::is_none")]
2671 pub status_reason: Option<String>,
2672 /// <p>A unique identifier for a matchmaking ticket.</p>
2673 #[serde(rename = "TicketId")]
2674 #[serde(skip_serializing_if = "Option::is_none")]
2675 pub ticket_id: Option<String>,
2676}
2677
2678/// <p><p>Information about a player session that was created as part of a <a>StartGameSessionPlacement</a> request. This object contains only the player ID and player session ID. To retrieve full details on a player session, call <a>DescribePlayerSessions</a> with the player session ID.</p> <ul> <li> <p> <a>CreatePlayerSession</a> </p> </li> <li> <p> <a>CreatePlayerSessions</a> </p> </li> <li> <p> <a>DescribePlayerSessions</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
2679#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2680#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2681pub struct PlacedPlayerSession {
2682 /// <p>A unique identifier for a player that is associated with this player session.</p>
2683 #[serde(rename = "PlayerId")]
2684 #[serde(skip_serializing_if = "Option::is_none")]
2685 pub player_id: Option<String>,
2686 /// <p>A unique identifier for a player session.</p>
2687 #[serde(rename = "PlayerSessionId")]
2688 #[serde(skip_serializing_if = "Option::is_none")]
2689 pub player_session_id: Option<String>,
2690}
2691
2692/// <p>Represents a player in matchmaking. When starting a matchmaking request, a player has a player ID, attributes, and may have latency data. Team information is added after a match has been successfully completed.</p>
2693#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
2694pub struct Player {
2695 /// <p>Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS Regions. If this property is present, FlexMatch considers placing the match only in Regions for which latency is reported. </p> <p>If a matchmaker has a rule that evaluates player latency, players must report latency in order to be matched. If no latency is reported in this scenario, FlexMatch assumes that no Regions are available to the player and the ticket is not matchable. </p>
2696 #[serde(rename = "LatencyInMs")]
2697 #[serde(skip_serializing_if = "Option::is_none")]
2698 pub latency_in_ms: Option<::std::collections::HashMap<String, i64>>,
2699 /// <p>A collection of key:value pairs containing player information for use in matchmaking. Player attribute keys must match the <i>playerAttributes</i> used in a matchmaking rule set. Example: <code>"PlayerAttributes": {"skill": {"N": "23"}, "gameMode": {"S": "deathmatch"}}</code>.</p>
2700 #[serde(rename = "PlayerAttributes")]
2701 #[serde(skip_serializing_if = "Option::is_none")]
2702 pub player_attributes: Option<::std::collections::HashMap<String, AttributeValue>>,
2703 /// <p>A unique identifier for a player</p>
2704 #[serde(rename = "PlayerId")]
2705 #[serde(skip_serializing_if = "Option::is_none")]
2706 pub player_id: Option<String>,
2707 /// <p>Name of the team that the player is assigned to in a match. Team names are defined in a matchmaking rule set.</p>
2708 #[serde(rename = "Team")]
2709 #[serde(skip_serializing_if = "Option::is_none")]
2710 pub team: Option<String>,
2711}
2712
2713/// <p>Regional latency information for a player, used when requesting a new game session with <a>StartGameSessionPlacement</a>. This value indicates the amount of time lag that exists when the player is connected to a fleet in the specified Region. The relative difference between a player's latency values for multiple Regions are used to determine which fleets are best suited to place a new game session for the player. </p>
2714#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
2715pub struct PlayerLatency {
2716 /// <p>Amount of time that represents the time lag experienced by the player when connected to the specified Region.</p>
2717 #[serde(rename = "LatencyInMilliseconds")]
2718 #[serde(skip_serializing_if = "Option::is_none")]
2719 pub latency_in_milliseconds: Option<f32>,
2720 /// <p>A unique identifier for a player associated with the latency data.</p>
2721 #[serde(rename = "PlayerId")]
2722 #[serde(skip_serializing_if = "Option::is_none")]
2723 pub player_id: Option<String>,
2724 /// <p>Name of the Region that is associated with the latency value.</p>
2725 #[serde(rename = "RegionIdentifier")]
2726 #[serde(skip_serializing_if = "Option::is_none")]
2727 pub region_identifier: Option<String>,
2728}
2729
2730/// <p><p>Queue setting that determines the highest latency allowed for individual players when placing a game session. When a latency policy is in force, a game session cannot be placed with any fleet in a Region where a player reports latency higher than the cap. Latency policies are only enforced when the placement request contains player latency information.</p> <ul> <li> <p> <a>CreateGameSessionQueue</a> </p> </li> <li> <p> <a>DescribeGameSessionQueues</a> </p> </li> <li> <p> <a>UpdateGameSessionQueue</a> </p> </li> <li> <p> <a>DeleteGameSessionQueue</a> </p> </li> </ul></p>
2731#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
2732pub struct PlayerLatencyPolicy {
2733 /// <p>The maximum latency value that is allowed for any player, in milliseconds. All policies must have a value set for this property.</p>
2734 #[serde(rename = "MaximumIndividualPlayerLatencyMilliseconds")]
2735 #[serde(skip_serializing_if = "Option::is_none")]
2736 pub maximum_individual_player_latency_milliseconds: Option<i64>,
2737 /// <p>The length of time, in seconds, that the policy is enforced while placing a new game session. A null value for this property means that the policy is enforced until the queue times out.</p>
2738 #[serde(rename = "PolicyDurationSeconds")]
2739 #[serde(skip_serializing_if = "Option::is_none")]
2740 pub policy_duration_seconds: Option<i64>,
2741}
2742
2743/// <p><p>Properties describing a player session. Player session objects are created either by creating a player session for a specific game session, or as part of a game session placement. A player session represents either a player reservation for a game session (status <code>RESERVED</code>) or actual player activity in a game session (status <code>ACTIVE</code>). A player session object (including player data) is automatically passed to a game session when the player connects to the game session and is validated.</p> <p>When a player disconnects, the player session status changes to <code>COMPLETED</code>. Once the session ends, the player session object is retained for 30 days and then removed.</p> <ul> <li> <p> <a>CreatePlayerSession</a> </p> </li> <li> <p> <a>CreatePlayerSessions</a> </p> </li> <li> <p> <a>DescribePlayerSessions</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
2744#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2745#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2746pub struct PlayerSession {
2747 /// <p>Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").</p>
2748 #[serde(rename = "CreationTime")]
2749 #[serde(skip_serializing_if = "Option::is_none")]
2750 pub creation_time: Option<f64>,
2751 /// <p>DNS identifier assigned to the instance that is running the game session. Values have the following format:</p> <ul> <li> <p>TLS-enabled fleets: <code><unique identifier>.<region identifier>.amazongamelift.com</code>.</p> </li> <li> <p>Non-TLS-enabled fleets: <code>ec2-<unique identifier>.compute.amazonaws.com</code>. (See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses">Amazon EC2 Instance IP Addressing</a>.)</p> </li> </ul> <p>When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.</p>
2752 #[serde(rename = "DnsName")]
2753 #[serde(skip_serializing_if = "Option::is_none")]
2754 pub dns_name: Option<String>,
2755 /// <p> The Amazon Resource Name (<a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>) associated with the GameLift fleet that the player's game session is running on. </p>
2756 #[serde(rename = "FleetArn")]
2757 #[serde(skip_serializing_if = "Option::is_none")]
2758 pub fleet_arn: Option<String>,
2759 /// <p>A unique identifier for a fleet that the player's game session is running on.</p>
2760 #[serde(rename = "FleetId")]
2761 #[serde(skip_serializing_if = "Option::is_none")]
2762 pub fleet_id: Option<String>,
2763 /// <p>A unique identifier for the game session that the player session is connected to.</p>
2764 #[serde(rename = "GameSessionId")]
2765 #[serde(skip_serializing_if = "Option::is_none")]
2766 pub game_session_id: Option<String>,
2767 /// <p>IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number.</p>
2768 #[serde(rename = "IpAddress")]
2769 #[serde(skip_serializing_if = "Option::is_none")]
2770 pub ip_address: Option<String>,
2771 /// <p>Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game. </p>
2772 #[serde(rename = "PlayerData")]
2773 #[serde(skip_serializing_if = "Option::is_none")]
2774 pub player_data: Option<String>,
2775 /// <p>A unique identifier for a player that is associated with this player session.</p>
2776 #[serde(rename = "PlayerId")]
2777 #[serde(skip_serializing_if = "Option::is_none")]
2778 pub player_id: Option<String>,
2779 /// <p>A unique identifier for a player session.</p>
2780 #[serde(rename = "PlayerSessionId")]
2781 #[serde(skip_serializing_if = "Option::is_none")]
2782 pub player_session_id: Option<String>,
2783 /// <p>Port number for the game session. To connect to a Amazon GameLift server process, an app needs both the IP address and port number.</p>
2784 #[serde(rename = "Port")]
2785 #[serde(skip_serializing_if = "Option::is_none")]
2786 pub port: Option<i64>,
2787 /// <p><p>Current status of the player session.</p> <p>Possible player session statuses include the following:</p> <ul> <li> <p> <b>RESERVED</b> -- The player session request has been received, but the player has not yet connected to the server process and/or been validated. </p> </li> <li> <p> <b>ACTIVE</b> -- The player has been validated by the server process and is currently connected.</p> </li> <li> <p> <b>COMPLETED</b> -- The player connection has been dropped.</p> </li> <li> <p> <b>TIMEDOUT</b> -- A player session request was received, but the player did not connect and/or was not validated within the timeout limit (60 seconds).</p> </li> </ul></p>
2788 #[serde(rename = "Status")]
2789 #[serde(skip_serializing_if = "Option::is_none")]
2790 pub status: Option<String>,
2791 /// <p>Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").</p>
2792 #[serde(rename = "TerminationTime")]
2793 #[serde(skip_serializing_if = "Option::is_none")]
2794 pub termination_time: Option<f64>,
2795}
2796
2797/// <p>Represents the input for a request action.</p>
2798#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2799#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2800pub struct PutScalingPolicyInput {
2801 /// <p>Comparison operator to use when measuring the metric against the threshold value.</p>
2802 #[serde(rename = "ComparisonOperator")]
2803 #[serde(skip_serializing_if = "Option::is_none")]
2804 pub comparison_operator: Option<String>,
2805 /// <p>Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.</p>
2806 #[serde(rename = "EvaluationPeriods")]
2807 #[serde(skip_serializing_if = "Option::is_none")]
2808 pub evaluation_periods: Option<i64>,
2809 /// <p>A unique identifier for a fleet to apply this policy to. You can use either the fleet ID or ARN value. The fleet cannot be in any of the following statuses: ERROR or DELETING.</p>
2810 #[serde(rename = "FleetId")]
2811 pub fleet_id: String,
2812 /// <p><p>Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For detailed descriptions of fleet metrics, see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html">Monitor Amazon GameLift with Amazon CloudWatch</a>. </p> <ul> <li> <p> <b>ActivatingGameSessions</b> -- Game sessions in the process of being created.</p> </li> <li> <p> <b>ActiveGameSessions</b> -- Game sessions that are currently running.</p> </li> <li> <p> <b>ActiveInstances</b> -- Fleet instances that are currently running at least one game session.</p> </li> <li> <p> <b>AvailableGameSessions</b> -- Additional game sessions that fleet could host simultaneously, given current capacity.</p> </li> <li> <p> <b>AvailablePlayerSessions</b> -- Empty player slots in currently active game sessions. This includes game sessions that are not currently accepting players. Reserved player slots are not included.</p> </li> <li> <p> <b>CurrentPlayerSessions</b> -- Player slots in active game sessions that are being used by a player or are reserved for a player. </p> </li> <li> <p> <b>IdleInstances</b> -- Active instances that are currently hosting zero game sessions. </p> </li> <li> <p> <b>PercentAvailableGameSessions</b> -- Unused percentage of the total number of game sessions that a fleet could host simultaneously, given current capacity. Use this metric for a target-based scaling policy.</p> </li> <li> <p> <b>PercentIdleInstances</b> -- Percentage of the total number of active instances that are hosting zero game sessions.</p> </li> <li> <p> <b>QueueDepth</b> -- Pending game session placement requests, in any queue, where the current fleet is the top-priority destination.</p> </li> <li> <p> <b>WaitTime</b> -- Current wait time for pending game session placement requests, in any queue, where the current fleet is the top-priority destination. </p> </li> </ul></p>
2813 #[serde(rename = "MetricName")]
2814 pub metric_name: String,
2815 /// <p>A descriptive label that is associated with a scaling policy. Policy names do not need to be unique. A fleet can have only one scaling policy with the same name.</p>
2816 #[serde(rename = "Name")]
2817 pub name: String,
2818 /// <p>The type of scaling policy to create. For a target-based policy, set the parameter <i>MetricName</i> to 'PercentAvailableGameSessions' and specify a <i>TargetConfiguration</i>. For a rule-based policy set the following parameters: <i>MetricName</i>, <i>ComparisonOperator</i>, <i>Threshold</i>, <i>EvaluationPeriods</i>, <i>ScalingAdjustmentType</i>, and <i>ScalingAdjustment</i>.</p>
2819 #[serde(rename = "PolicyType")]
2820 #[serde(skip_serializing_if = "Option::is_none")]
2821 pub policy_type: Option<String>,
2822 /// <p>Amount of adjustment to make, based on the scaling adjustment type.</p>
2823 #[serde(rename = "ScalingAdjustment")]
2824 #[serde(skip_serializing_if = "Option::is_none")]
2825 pub scaling_adjustment: Option<i64>,
2826 /// <p><p>The type of adjustment to make to a fleet's instance count (see <a>FleetCapacity</a>):</p> <ul> <li> <p> <b>ChangeInCapacity</b> -- add (or subtract) the scaling adjustment value from the current instance count. Positive values scale up while negative values scale down.</p> </li> <li> <p> <b>ExactCapacity</b> -- set the instance count to the scaling adjustment value.</p> </li> <li> <p> <b>PercentChangeInCapacity</b> -- increase or reduce the current instance count by the scaling adjustment, read as a percentage. Positive values scale up while negative values scale down; for example, a value of "-10" scales the fleet down by 10%.</p> </li> </ul></p>
2827 #[serde(rename = "ScalingAdjustmentType")]
2828 #[serde(skip_serializing_if = "Option::is_none")]
2829 pub scaling_adjustment_type: Option<String>,
2830 /// <p>The settings for a target-based scaling policy.</p>
2831 #[serde(rename = "TargetConfiguration")]
2832 #[serde(skip_serializing_if = "Option::is_none")]
2833 pub target_configuration: Option<TargetConfiguration>,
2834 /// <p>Metric value used to trigger a scaling event.</p>
2835 #[serde(rename = "Threshold")]
2836 #[serde(skip_serializing_if = "Option::is_none")]
2837 pub threshold: Option<f64>,
2838}
2839
2840/// <p>Represents the returned data in response to a request action.</p>
2841#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2842#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2843pub struct PutScalingPolicyOutput {
2844 /// <p>A descriptive label that is associated with a scaling policy. Policy names do not need to be unique.</p>
2845 #[serde(rename = "Name")]
2846 #[serde(skip_serializing_if = "Option::is_none")]
2847 pub name: Option<String>,
2848}
2849
2850#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2851#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2852pub struct RegisterGameServerInput {
2853 /// <p>Information needed to make inbound client connections to the game server. This might include IP address and port, DNS name, etc.</p>
2854 #[serde(rename = "ConnectionInfo")]
2855 #[serde(skip_serializing_if = "Option::is_none")]
2856 pub connection_info: Option<String>,
2857 /// <p>A game server tag that can be used to request sorted lists of game servers using <a>ListGameServers</a>. Custom sort keys are developer-defined based on how you want to organize the retrieved game server information.</p>
2858 #[serde(rename = "CustomSortKey")]
2859 #[serde(skip_serializing_if = "Option::is_none")]
2860 pub custom_sort_key: Option<String>,
2861 /// <p>A set of custom game server properties, formatted as a single string value. This data is passed to a game client or service when it requests information on a game servers using <a>ListGameServers</a> or <a>ClaimGameServer</a>. </p>
2862 #[serde(rename = "GameServerData")]
2863 #[serde(skip_serializing_if = "Option::is_none")]
2864 pub game_server_data: Option<String>,
2865 /// <p>An identifier for the game server group where the game server is running. You can use either the <a>GameServerGroup</a> name or ARN value.</p>
2866 #[serde(rename = "GameServerGroupName")]
2867 pub game_server_group_name: String,
2868 /// <p>A custom string that uniquely identifies the new game server. Game server IDs are developer-defined and must be unique across all game server groups in your AWS account.</p>
2869 #[serde(rename = "GameServerId")]
2870 pub game_server_id: String,
2871 /// <p>The unique identifier for the instance where the game server is running. This ID is available in the instance metadata.</p>
2872 #[serde(rename = "InstanceId")]
2873 pub instance_id: String,
2874 /// <p>A list of labels to assign to the new game server resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management, and cost allocation. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"> Tagging AWS Resources</a> in the <i>AWS General Reference</i>. Once the resource is created, you can use <a>TagResource</a>, <a>UntagResource</a>, and <a>ListTagsForResource</a> to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.</p>
2875 #[serde(rename = "Tags")]
2876 #[serde(skip_serializing_if = "Option::is_none")]
2877 pub tags: Option<Vec<Tag>>,
2878}
2879
2880#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2881#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2882pub struct RegisterGameServerOutput {
2883 /// <p>Object that describes the newly created game server resource.</p>
2884 #[serde(rename = "GameServer")]
2885 #[serde(skip_serializing_if = "Option::is_none")]
2886 pub game_server: Option<GameServer>,
2887}
2888
2889/// <p>Represents the input for a request action.</p>
2890#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2891#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2892pub struct RequestUploadCredentialsInput {
2893 /// <p>A unique identifier for a build to get credentials for. You can use either the build ID or ARN value. </p>
2894 #[serde(rename = "BuildId")]
2895 pub build_id: String,
2896}
2897
2898/// <p>Represents the returned data in response to a request action.</p>
2899#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2900#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2901pub struct RequestUploadCredentialsOutput {
2902 /// <p>Amazon S3 path and key, identifying where the game build files are stored.</p>
2903 #[serde(rename = "StorageLocation")]
2904 #[serde(skip_serializing_if = "Option::is_none")]
2905 pub storage_location: Option<S3Location>,
2906 /// <p>AWS credentials required when uploading a game build to the storage location. These credentials have a limited lifespan and are valid only for the build they were issued for.</p>
2907 #[serde(rename = "UploadCredentials")]
2908 #[serde(skip_serializing_if = "Option::is_none")]
2909 pub upload_credentials: Option<AwsCredentials>,
2910}
2911
2912/// <p>Represents the input for a request action.</p>
2913#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2914#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2915pub struct ResolveAliasInput {
2916 /// <p>The unique identifier of the alias that you want to retrieve a fleet ID for. You can use either the alias ID or ARN value.</p>
2917 #[serde(rename = "AliasId")]
2918 pub alias_id: String,
2919}
2920
2921/// <p>Represents the returned data in response to a request action.</p>
2922#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2923#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2924pub struct ResolveAliasOutput {
2925 /// <p> The Amazon Resource Name (<a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>) associated with the GameLift fleet resource that this alias points to. </p>
2926 #[serde(rename = "FleetArn")]
2927 #[serde(skip_serializing_if = "Option::is_none")]
2928 pub fleet_arn: Option<String>,
2929 /// <p>The fleet identifier that the alias is pointing to.</p>
2930 #[serde(rename = "FleetId")]
2931 #[serde(skip_serializing_if = "Option::is_none")]
2932 pub fleet_id: Option<String>,
2933}
2934
2935/// <p>A policy that limits the number of game sessions a player can create on the same fleet. This optional policy gives game owners control over how players can consume available game server resources. A resource creation policy makes the following statement: "An individual player can create a maximum number of new game sessions within a specified time period".</p> <p>The policy is evaluated when a player tries to create a new game session. For example: Assume you have a policy of 10 new game sessions and a time period of 60 minutes. On receiving a <code>CreateGameSession</code> request, Amazon GameLift checks that the player (identified by <code>CreatorId</code>) has created fewer than 10 game sessions in the past 60 minutes.</p>
2936#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
2937pub struct ResourceCreationLimitPolicy {
2938 /// <p>The maximum number of game sessions that an individual can create during the policy period. </p>
2939 #[serde(rename = "NewGameSessionsPerCreator")]
2940 #[serde(skip_serializing_if = "Option::is_none")]
2941 pub new_game_sessions_per_creator: Option<i64>,
2942 /// <p>The time span used in evaluating the resource creation limit policy. </p>
2943 #[serde(rename = "PolicyPeriodInMinutes")]
2944 #[serde(skip_serializing_if = "Option::is_none")]
2945 pub policy_period_in_minutes: Option<i64>,
2946}
2947
2948#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2949#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2950pub struct ResumeGameServerGroupInput {
2951 /// <p>The unique identifier of the game server group to resume activity on. Use either the <a>GameServerGroup</a> name or ARN value.</p>
2952 #[serde(rename = "GameServerGroupName")]
2953 pub game_server_group_name: String,
2954 /// <p>The action to resume for this game server group.</p>
2955 #[serde(rename = "ResumeActions")]
2956 pub resume_actions: Vec<String>,
2957}
2958
2959#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2960#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2961pub struct ResumeGameServerGroupOutput {
2962 /// <p>An object that describes the game server group resource, with the <i>SuspendedActions</i> property updated to reflect the resumed activity.</p>
2963 #[serde(rename = "GameServerGroup")]
2964 #[serde(skip_serializing_if = "Option::is_none")]
2965 pub game_server_group: Option<GameServerGroup>,
2966}
2967
2968/// <p><p>The routing configuration for a fleet alias.</p> <ul> <li> <p> <a>CreateAlias</a> </p> </li> <li> <p> <a>ListAliases</a> </p> </li> <li> <p> <a>DescribeAlias</a> </p> </li> <li> <p> <a>UpdateAlias</a> </p> </li> <li> <p> <a>DeleteAlias</a> </p> </li> <li> <p> <a>ResolveAlias</a> </p> </li> </ul></p>
2969#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
2970pub struct RoutingStrategy {
2971 /// <p>The unique identifier for a fleet that the alias points to. This value is the fleet ID, not the fleet ARN.</p>
2972 #[serde(rename = "FleetId")]
2973 #[serde(skip_serializing_if = "Option::is_none")]
2974 pub fleet_id: Option<String>,
2975 /// <p>The message text to be used with a terminal routing strategy.</p>
2976 #[serde(rename = "Message")]
2977 #[serde(skip_serializing_if = "Option::is_none")]
2978 pub message: Option<String>,
2979 /// <p><p>The type of routing strategy for the alias.</p> <p>Possible routing types include the following:</p> <ul> <li> <p> <b>SIMPLE</b> - The alias resolves to one specific fleet. Use this type when routing to active fleets.</p> </li> <li> <p> <b>TERMINAL</b> - The alias does not resolve to a fleet but instead can be used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException with the <a>RoutingStrategy</a> message embedded.</p> </li> </ul></p>
2980 #[serde(rename = "Type")]
2981 #[serde(skip_serializing_if = "Option::is_none")]
2982 pub type_: Option<String>,
2983}
2984
2985/// <p><p>A collection of server process configurations that describe what processes to run on each instance in a fleet. Server processes run either a custom game build executable or a Realtime Servers script. Each instance in the fleet starts the specified server processes and continues to start new processes as existing processes end. Each instance regularly checks for an updated runtime configuration. </p> <p>The runtime configuration enables the instances in a fleet to run multiple processes simultaneously. Learn more about <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-multiprocess.html"> Running Multiple Processes on a Fleet </a>.</p> <p>A Amazon GameLift instance is limited to 50 processes running simultaneously. To calculate the total number of processes in a runtime configuration, add the values of the <code>ConcurrentExecutions</code> parameter for each <a>ServerProcess</a> object.</p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
2986#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
2987pub struct RuntimeConfiguration {
2988 /// <p>The maximum amount of time (in seconds) that a game session can remain in status <code>ACTIVATING</code>. If the game session is not active before the timeout, activation is terminated and the game session status is changed to <code>TERMINATED</code>.</p>
2989 #[serde(rename = "GameSessionActivationTimeoutSeconds")]
2990 #[serde(skip_serializing_if = "Option::is_none")]
2991 pub game_session_activation_timeout_seconds: Option<i64>,
2992 /// <p>The maximum number of game sessions with status <code>ACTIVATING</code> to allow on an instance simultaneously. This setting limits the amount of instance resources that can be used for new game activations at any one time.</p>
2993 #[serde(rename = "MaxConcurrentGameSessionActivations")]
2994 #[serde(skip_serializing_if = "Option::is_none")]
2995 pub max_concurrent_game_session_activations: Option<i64>,
2996 /// <p>A collection of server process configurations that describe which server processes to run on each instance in a fleet.</p>
2997 #[serde(rename = "ServerProcesses")]
2998 #[serde(skip_serializing_if = "Option::is_none")]
2999 pub server_processes: Option<Vec<ServerProcess>>,
3000}
3001
3002/// <p>The location in S3 where build or script files are stored for access by Amazon GameLift. This location is specified in <a>CreateBuild</a>, <a>CreateScript</a>, and <a>UpdateScript</a> requests. </p>
3003#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
3004pub struct S3Location {
3005 /// <p>An S3 bucket identifier. This is the name of the S3 bucket.</p>
3006 #[serde(rename = "Bucket")]
3007 #[serde(skip_serializing_if = "Option::is_none")]
3008 pub bucket: Option<String>,
3009 /// <p>The name of the zip file that contains the build files or script files. </p>
3010 #[serde(rename = "Key")]
3011 #[serde(skip_serializing_if = "Option::is_none")]
3012 pub key: Option<String>,
3013 /// <p>The version of the file, if object versioning is turned on for the bucket. Amazon GameLift uses this information when retrieving files from an S3 bucket that you own. Use this parameter to specify a specific version of the file. If not set, the latest version of the file is retrieved. </p>
3014 #[serde(rename = "ObjectVersion")]
3015 #[serde(skip_serializing_if = "Option::is_none")]
3016 pub object_version: Option<String>,
3017 /// <p>The Amazon Resource Name (<a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>) for an IAM role that allows Amazon GameLift to access the S3 bucket.</p>
3018 #[serde(rename = "RoleArn")]
3019 #[serde(skip_serializing_if = "Option::is_none")]
3020 pub role_arn: Option<String>,
3021}
3022
3023/// <p><p>Rule that controls how a fleet is scaled. Scaling policies are uniquely identified by the combination of name and fleet ID.</p> <ul> <li> <p> <a>DescribeFleetCapacity</a> </p> </li> <li> <p> <a>UpdateFleetCapacity</a> </p> </li> <li> <p> <a>DescribeEC2InstanceLimits</a> </p> </li> <li> <p>Manage scaling policies:</p> <ul> <li> <p> <a>PutScalingPolicy</a> (auto-scaling)</p> </li> <li> <p> <a>DescribeScalingPolicies</a> (auto-scaling)</p> </li> <li> <p> <a>DeleteScalingPolicy</a> (auto-scaling)</p> </li> </ul> </li> <li> <p>Manage fleet actions:</p> <ul> <li> <p> <a>StartFleetActions</a> </p> </li> <li> <p> <a>StopFleetActions</a> </p> </li> </ul> </li> </ul></p>
3024#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3025#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3026pub struct ScalingPolicy {
3027 /// <p>Comparison operator to use when measuring a metric against the threshold value.</p>
3028 #[serde(rename = "ComparisonOperator")]
3029 #[serde(skip_serializing_if = "Option::is_none")]
3030 pub comparison_operator: Option<String>,
3031 /// <p>Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.</p>
3032 #[serde(rename = "EvaluationPeriods")]
3033 #[serde(skip_serializing_if = "Option::is_none")]
3034 pub evaluation_periods: Option<i64>,
3035 /// <p>A unique identifier for a fleet that is associated with this scaling policy.</p>
3036 #[serde(rename = "FleetId")]
3037 #[serde(skip_serializing_if = "Option::is_none")]
3038 pub fleet_id: Option<String>,
3039 /// <p><p>Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For detailed descriptions of fleet metrics, see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html">Monitor Amazon GameLift with Amazon CloudWatch</a>. </p> <ul> <li> <p> <b>ActivatingGameSessions</b> -- Game sessions in the process of being created.</p> </li> <li> <p> <b>ActiveGameSessions</b> -- Game sessions that are currently running.</p> </li> <li> <p> <b>ActiveInstances</b> -- Fleet instances that are currently running at least one game session.</p> </li> <li> <p> <b>AvailableGameSessions</b> -- Additional game sessions that fleet could host simultaneously, given current capacity.</p> </li> <li> <p> <b>AvailablePlayerSessions</b> -- Empty player slots in currently active game sessions. This includes game sessions that are not currently accepting players. Reserved player slots are not included.</p> </li> <li> <p> <b>CurrentPlayerSessions</b> -- Player slots in active game sessions that are being used by a player or are reserved for a player. </p> </li> <li> <p> <b>IdleInstances</b> -- Active instances that are currently hosting zero game sessions. </p> </li> <li> <p> <b>PercentAvailableGameSessions</b> -- Unused percentage of the total number of game sessions that a fleet could host simultaneously, given current capacity. Use this metric for a target-based scaling policy.</p> </li> <li> <p> <b>PercentIdleInstances</b> -- Percentage of the total number of active instances that are hosting zero game sessions.</p> </li> <li> <p> <b>QueueDepth</b> -- Pending game session placement requests, in any queue, where the current fleet is the top-priority destination.</p> </li> <li> <p> <b>WaitTime</b> -- Current wait time for pending game session placement requests, in any queue, where the current fleet is the top-priority destination. </p> </li> </ul></p>
3040 #[serde(rename = "MetricName")]
3041 #[serde(skip_serializing_if = "Option::is_none")]
3042 pub metric_name: Option<String>,
3043 /// <p>A descriptive label that is associated with a scaling policy. Policy names do not need to be unique.</p>
3044 #[serde(rename = "Name")]
3045 #[serde(skip_serializing_if = "Option::is_none")]
3046 pub name: Option<String>,
3047 /// <p>The type of scaling policy to create. For a target-based policy, set the parameter <i>MetricName</i> to 'PercentAvailableGameSessions' and specify a <i>TargetConfiguration</i>. For a rule-based policy set the following parameters: <i>MetricName</i>, <i>ComparisonOperator</i>, <i>Threshold</i>, <i>EvaluationPeriods</i>, <i>ScalingAdjustmentType</i>, and <i>ScalingAdjustment</i>.</p>
3048 #[serde(rename = "PolicyType")]
3049 #[serde(skip_serializing_if = "Option::is_none")]
3050 pub policy_type: Option<String>,
3051 /// <p>Amount of adjustment to make, based on the scaling adjustment type.</p>
3052 #[serde(rename = "ScalingAdjustment")]
3053 #[serde(skip_serializing_if = "Option::is_none")]
3054 pub scaling_adjustment: Option<i64>,
3055 /// <p><p>The type of adjustment to make to a fleet's instance count (see <a>FleetCapacity</a>):</p> <ul> <li> <p> <b>ChangeInCapacity</b> -- add (or subtract) the scaling adjustment value from the current instance count. Positive values scale up while negative values scale down.</p> </li> <li> <p> <b>ExactCapacity</b> -- set the instance count to the scaling adjustment value.</p> </li> <li> <p> <b>PercentChangeInCapacity</b> -- increase or reduce the current instance count by the scaling adjustment, read as a percentage. Positive values scale up while negative values scale down.</p> </li> </ul></p>
3056 #[serde(rename = "ScalingAdjustmentType")]
3057 #[serde(skip_serializing_if = "Option::is_none")]
3058 pub scaling_adjustment_type: Option<String>,
3059 /// <p><p>Current status of the scaling policy. The scaling policy can be in force only when in an <code>ACTIVE</code> status. Scaling policies can be suspended for individual fleets (see <a>StopFleetActions</a>; if suspended for a fleet, the policy status does not change. View a fleet's stopped actions by calling <a>DescribeFleetCapacity</a>.</p> <ul> <li> <p> <b>ACTIVE</b> -- The scaling policy can be used for auto-scaling a fleet.</p> </li> <li> <p> <b>UPDATE<em>REQUESTED</b> -- A request to update the scaling policy has been received.</p> </li> <li> <p> <b>UPDATING</b> -- A change is being made to the scaling policy.</p> </li> <li> <p> <b>DELETE</em>REQUESTED</b> -- A request to delete the scaling policy has been received.</p> </li> <li> <p> <b>DELETING</b> -- The scaling policy is being deleted.</p> </li> <li> <p> <b>DELETED</b> -- The scaling policy has been deleted.</p> </li> <li> <p> <b>ERROR</b> -- An error occurred in creating the policy. It should be removed and recreated.</p> </li> </ul></p>
3060 #[serde(rename = "Status")]
3061 #[serde(skip_serializing_if = "Option::is_none")]
3062 pub status: Option<String>,
3063 /// <p>The settings for a target-based scaling policy.</p>
3064 #[serde(rename = "TargetConfiguration")]
3065 #[serde(skip_serializing_if = "Option::is_none")]
3066 pub target_configuration: Option<TargetConfiguration>,
3067 /// <p>Metric value used to trigger a scaling event.</p>
3068 #[serde(rename = "Threshold")]
3069 #[serde(skip_serializing_if = "Option::is_none")]
3070 pub threshold: Option<f64>,
3071}
3072
3073/// <p><p>Properties describing a Realtime script.</p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateScript</a> </p> </li> <li> <p> <a>ListScripts</a> </p> </li> <li> <p> <a>DescribeScript</a> </p> </li> <li> <p> <a>UpdateScript</a> </p> </li> <li> <p> <a>DeleteScript</a> </p> </li> </ul></p>
3074#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3075#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3076pub struct Script {
3077 /// <p>A time stamp indicating when this data object was created. The format is a number expressed in Unix time as milliseconds (for example "1469498468.057").</p>
3078 #[serde(rename = "CreationTime")]
3079 #[serde(skip_serializing_if = "Option::is_none")]
3080 pub creation_time: Option<f64>,
3081 /// <p>A descriptive label that is associated with a script. Script names do not need to be unique.</p>
3082 #[serde(rename = "Name")]
3083 #[serde(skip_serializing_if = "Option::is_none")]
3084 pub name: Option<String>,
3085 /// <p>Amazon Resource Name (<a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>) that is assigned to a GameLift script resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift script ARN, the resource ID matches the <i>ScriptId</i> value.</p>
3086 #[serde(rename = "ScriptArn")]
3087 #[serde(skip_serializing_if = "Option::is_none")]
3088 pub script_arn: Option<String>,
3089 /// <p>A unique identifier for a Realtime script</p>
3090 #[serde(rename = "ScriptId")]
3091 #[serde(skip_serializing_if = "Option::is_none")]
3092 pub script_id: Option<String>,
3093 /// <p>The file size of the uploaded Realtime script, expressed in bytes. When files are uploaded from an S3 location, this value remains at "0".</p>
3094 #[serde(rename = "SizeOnDisk")]
3095 #[serde(skip_serializing_if = "Option::is_none")]
3096 pub size_on_disk: Option<i64>,
3097 #[serde(rename = "StorageLocation")]
3098 #[serde(skip_serializing_if = "Option::is_none")]
3099 pub storage_location: Option<S3Location>,
3100 /// <p>The version that is associated with a build or script. Version strings do not need to be unique.</p>
3101 #[serde(rename = "Version")]
3102 #[serde(skip_serializing_if = "Option::is_none")]
3103 pub version: Option<String>,
3104}
3105
3106/// <p>Represents the input for a request action.</p>
3107#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3108#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3109pub struct SearchGameSessionsInput {
3110 /// <p>A unique identifier for an alias associated with the fleet to search for active game sessions. You can use either the alias ID or ARN value. Each request must reference either a fleet ID or alias ID, but not both.</p>
3111 #[serde(rename = "AliasId")]
3112 #[serde(skip_serializing_if = "Option::is_none")]
3113 pub alias_id: Option<String>,
3114 /// <p>String containing the search criteria for the session search. If no filter expression is included, the request returns results for all game sessions in the fleet that are in <code>ACTIVE</code> status.</p> <p>A filter expression can contain one or multiple conditions. Each condition consists of the following:</p> <ul> <li> <p> <b>Operand</b> -- Name of a game session attribute. Valid values are <code>gameSessionName</code>, <code>gameSessionId</code>, <code>gameSessionProperties</code>, <code>maximumSessions</code>, <code>creationTimeMillis</code>, <code>playerSessionCount</code>, <code>hasAvailablePlayerSessions</code>.</p> </li> <li> <p> <b>Comparator</b> -- Valid comparators are: <code>=</code>, <code><></code>, <code><</code>, <code>></code>, <code><=</code>, <code>>=</code>. </p> </li> <li> <p> <b>Value</b> -- Value to be searched for. Values may be numbers, boolean values (true/false) or strings depending on the operand. String values are case sensitive and must be enclosed in single quotes. Special characters must be escaped. Boolean and string values can only be used with the comparators <code>=</code> and <code><></code>. For example, the following filter expression searches on <code>gameSessionName</code>: "<code>FilterExpression": "gameSessionName = 'Matt\\'s Awesome Game 1'"</code>. </p> </li> </ul> <p>To chain multiple conditions in a single expression, use the logical keywords <code>AND</code>, <code>OR</code>, and <code>NOT</code> and parentheses as needed. For example: <code>x AND y AND NOT z</code>, <code>NOT (x OR y)</code>.</p> <p>Session search evaluates conditions from left to right using the following precedence rules:</p> <ol> <li> <p> <code>=</code>, <code><></code>, <code><</code>, <code>></code>, <code><=</code>, <code>>=</code> </p> </li> <li> <p>Parentheses</p> </li> <li> <p>NOT</p> </li> <li> <p>AND</p> </li> <li> <p>OR</p> </li> </ol> <p>For example, this filter expression retrieves game sessions hosting at least ten players that have an open player slot: <code>"maximumSessions>=10 AND hasAvailablePlayerSessions=true"</code>. </p>
3115 #[serde(rename = "FilterExpression")]
3116 #[serde(skip_serializing_if = "Option::is_none")]
3117 pub filter_expression: Option<String>,
3118 /// <p>A unique identifier for a fleet to search for active game sessions. You can use either the fleet ID or ARN value. Each request must reference either a fleet ID or alias ID, but not both.</p>
3119 #[serde(rename = "FleetId")]
3120 #[serde(skip_serializing_if = "Option::is_none")]
3121 pub fleet_id: Option<String>,
3122 /// <p>The maximum number of results to return. Use this parameter with <code>NextToken</code> to get results as a set of sequential pages. The maximum number of results returned is 20, even if this value is not set or is set higher than 20. </p>
3123 #[serde(rename = "Limit")]
3124 #[serde(skip_serializing_if = "Option::is_none")]
3125 pub limit: Option<i64>,
3126 /// <p>Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.</p>
3127 #[serde(rename = "NextToken")]
3128 #[serde(skip_serializing_if = "Option::is_none")]
3129 pub next_token: Option<String>,
3130 /// <p>Instructions on how to sort the search results. If no sort expression is included, the request returns results in random order. A sort expression consists of the following elements:</p> <ul> <li> <p> <b>Operand</b> -- Name of a game session attribute. Valid values are <code>gameSessionName</code>, <code>gameSessionId</code>, <code>gameSessionProperties</code>, <code>maximumSessions</code>, <code>creationTimeMillis</code>, <code>playerSessionCount</code>, <code>hasAvailablePlayerSessions</code>.</p> </li> <li> <p> <b>Order</b> -- Valid sort orders are <code>ASC</code> (ascending) and <code>DESC</code> (descending).</p> </li> </ul> <p>For example, this sort expression returns the oldest active sessions first: <code>"SortExpression": "creationTimeMillis ASC"</code>. Results with a null value for the sort operand are returned at the end of the list.</p>
3131 #[serde(rename = "SortExpression")]
3132 #[serde(skip_serializing_if = "Option::is_none")]
3133 pub sort_expression: Option<String>,
3134}
3135
3136/// <p>Represents the returned data in response to a request action.</p>
3137#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3138#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3139pub struct SearchGameSessionsOutput {
3140 /// <p>A collection of objects containing game session properties for each session matching the request.</p>
3141 #[serde(rename = "GameSessions")]
3142 #[serde(skip_serializing_if = "Option::is_none")]
3143 pub game_sessions: Option<Vec<GameSession>>,
3144 /// <p>Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.</p>
3145 #[serde(rename = "NextToken")]
3146 #[serde(skip_serializing_if = "Option::is_none")]
3147 pub next_token: Option<String>,
3148}
3149
3150/// <p>A set of instructions for launching server processes on each instance in a fleet. Server processes run either a custom game build executable or a Realtime Servers script. Each instruction set identifies the location of the custom game build executable or Realtime launch script, optional launch parameters, and the number of server processes with this configuration to maintain concurrently on the instance. Server process configurations make up a fleet's <code> <a>RuntimeConfiguration</a> </code>.</p>
3151#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
3152pub struct ServerProcess {
3153 /// <p>The number of server processes that use this configuration to run concurrently on an instance.</p>
3154 #[serde(rename = "ConcurrentExecutions")]
3155 pub concurrent_executions: i64,
3156 /// <p><p>The location of the server executable in a custom game build or the name of the Realtime script file that contains the <code>Init()</code> function. Game builds and Realtime scripts are installed on instances at the root: </p> <ul> <li> <p>Windows (for custom game builds only): <code>C:\game</code>. Example: "<code>C:\game\MyGame\server.exe</code>" </p> </li> <li> <p>Linux: <code>/local/game</code>. Examples: "<code>/local/game/MyGame/server.exe</code>" or "<code>/local/game/MyRealtimeScript.js</code>"</p> </li> </ul></p>
3157 #[serde(rename = "LaunchPath")]
3158 pub launch_path: String,
3159 /// <p>An optional list of parameters to pass to the server executable or Realtime script on launch.</p>
3160 #[serde(rename = "Parameters")]
3161 #[serde(skip_serializing_if = "Option::is_none")]
3162 pub parameters: Option<String>,
3163}
3164
3165#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3166#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3167pub struct StartFleetActionsInput {
3168 /// <p>List of actions to restart on the fleet.</p>
3169 #[serde(rename = "Actions")]
3170 pub actions: Vec<String>,
3171 /// <p>A unique identifier for a fleet to start actions on. You can use either the fleet ID or ARN value.</p>
3172 #[serde(rename = "FleetId")]
3173 pub fleet_id: String,
3174}
3175
3176#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3177#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3178pub struct StartFleetActionsOutput {}
3179
3180/// <p>Represents the input for a request action.</p>
3181#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3182#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3183pub struct StartGameSessionPlacementInput {
3184 /// <p>Set of information on each player to create a player session for.</p>
3185 #[serde(rename = "DesiredPlayerSessions")]
3186 #[serde(skip_serializing_if = "Option::is_none")]
3187 pub desired_player_sessions: Option<Vec<DesiredPlayerSession>>,
3188 /// <p>Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the <a>GameSession</a> object with a request to start a new game session (see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start a Game Session</a>).</p>
3189 #[serde(rename = "GameProperties")]
3190 #[serde(skip_serializing_if = "Option::is_none")]
3191 pub game_properties: Option<Vec<GameProperty>>,
3192 /// <p>Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the <a>GameSession</a> object with a request to start a new game session (see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start a Game Session</a>).</p>
3193 #[serde(rename = "GameSessionData")]
3194 #[serde(skip_serializing_if = "Option::is_none")]
3195 pub game_session_data: Option<String>,
3196 /// <p>A descriptive label that is associated with a game session. Session names do not need to be unique.</p>
3197 #[serde(rename = "GameSessionName")]
3198 #[serde(skip_serializing_if = "Option::is_none")]
3199 pub game_session_name: Option<String>,
3200 /// <p>Name of the queue to use to place the new game session. You can use either the queue name or ARN value. </p>
3201 #[serde(rename = "GameSessionQueueName")]
3202 pub game_session_queue_name: String,
3203 /// <p>The maximum number of players that can be connected simultaneously to the game session.</p>
3204 #[serde(rename = "MaximumPlayerSessionCount")]
3205 pub maximum_player_session_count: i64,
3206 /// <p>A unique identifier to assign to the new game session placement. This value is developer-defined. The value must be unique across all Regions and cannot be reused unless you are resubmitting a canceled or timed-out placement request.</p>
3207 #[serde(rename = "PlacementId")]
3208 pub placement_id: String,
3209 /// <p>Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS Regions. This information is used to try to place the new game session where it can offer the best possible gameplay experience for the players. </p>
3210 #[serde(rename = "PlayerLatencies")]
3211 #[serde(skip_serializing_if = "Option::is_none")]
3212 pub player_latencies: Option<Vec<PlayerLatency>>,
3213}
3214
3215/// <p>Represents the returned data in response to a request action.</p>
3216#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3217#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3218pub struct StartGameSessionPlacementOutput {
3219 /// <p>Object that describes the newly created game session placement. This object includes all the information provided in the request, as well as start/end time stamps and placement status. </p>
3220 #[serde(rename = "GameSessionPlacement")]
3221 #[serde(skip_serializing_if = "Option::is_none")]
3222 pub game_session_placement: Option<GameSessionPlacement>,
3223}
3224
3225/// <p>Represents the input for a request action.</p>
3226#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3227#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3228pub struct StartMatchBackfillInput {
3229 /// <p>Name of the matchmaker to use for this request. You can use either the configuration name or ARN value. The ARN of the matchmaker that was used with the original game session is listed in the <a>GameSession</a> object, <code>MatchmakerData</code> property.</p>
3230 #[serde(rename = "ConfigurationName")]
3231 pub configuration_name: String,
3232 /// <p>Amazon Resource Name (<a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>) that is assigned to a game session and uniquely identifies it. This is the same as the game session ID.</p>
3233 #[serde(rename = "GameSessionArn")]
3234 pub game_session_arn: String,
3235 /// <p><p>Match information on all players that are currently assigned to the game session. This information is used by the matchmaker to find new players and add them to the existing game.</p> <ul> <li> <p>PlayerID, PlayerAttributes, Team -\- This information is maintained in the <a>GameSession</a> object, <code>MatchmakerData</code> property, for all players who are currently assigned to the game session. The matchmaker data is in JSON syntax, formatted as a string. For more details, see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-server.html#match-server-data"> Match Data</a>. </p> </li> <li> <p>LatencyInMs -\- If the matchmaker uses player latency, include a latency value, in milliseconds, for the Region that the game session is currently in. Do not include latency values for any other Region.</p> </li> </ul></p>
3236 #[serde(rename = "Players")]
3237 pub players: Vec<Player>,
3238 /// <p>A unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of a UUID. Use this identifier to track the match backfill ticket status and retrieve match results.</p>
3239 #[serde(rename = "TicketId")]
3240 #[serde(skip_serializing_if = "Option::is_none")]
3241 pub ticket_id: Option<String>,
3242}
3243
3244/// <p>Represents the returned data in response to a request action.</p>
3245#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3246#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3247pub struct StartMatchBackfillOutput {
3248 /// <p>Ticket representing the backfill matchmaking request. This object includes the information in the request, ticket status, and match results as generated during the matchmaking process.</p>
3249 #[serde(rename = "MatchmakingTicket")]
3250 #[serde(skip_serializing_if = "Option::is_none")]
3251 pub matchmaking_ticket: Option<MatchmakingTicket>,
3252}
3253
3254/// <p>Represents the input for a request action.</p>
3255#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3256#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3257pub struct StartMatchmakingInput {
3258 /// <p>Name of the matchmaking configuration to use for this request. Matchmaking configurations must exist in the same Region as this request. You can use either the configuration name or ARN value.</p>
3259 #[serde(rename = "ConfigurationName")]
3260 pub configuration_name: String,
3261 /// <p>Information on each player to be matched. This information must include a player ID, and may contain player attributes and latency data to be used in the matchmaking process. After a successful match, <code>Player</code> objects contain the name of the team the player is assigned to.</p>
3262 #[serde(rename = "Players")]
3263 pub players: Vec<Player>,
3264 /// <p>A unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of a UUID. Use this identifier to track the matchmaking ticket status and retrieve match results.</p>
3265 #[serde(rename = "TicketId")]
3266 #[serde(skip_serializing_if = "Option::is_none")]
3267 pub ticket_id: Option<String>,
3268}
3269
3270/// <p>Represents the returned data in response to a request action.</p>
3271#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3272#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3273pub struct StartMatchmakingOutput {
3274 /// <p>Ticket representing the matchmaking request. This object include the information included in the request, ticket status, and match results as generated during the matchmaking process.</p>
3275 #[serde(rename = "MatchmakingTicket")]
3276 #[serde(skip_serializing_if = "Option::is_none")]
3277 pub matchmaking_ticket: Option<MatchmakingTicket>,
3278}
3279
3280#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3281#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3282pub struct StopFleetActionsInput {
3283 /// <p>List of actions to suspend on the fleet. </p>
3284 #[serde(rename = "Actions")]
3285 pub actions: Vec<String>,
3286 /// <p>A unique identifier for a fleet to stop actions on. You can use either the fleet ID or ARN value.</p>
3287 #[serde(rename = "FleetId")]
3288 pub fleet_id: String,
3289}
3290
3291#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3292#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3293pub struct StopFleetActionsOutput {}
3294
3295/// <p>Represents the input for a request action.</p>
3296#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3297#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3298pub struct StopGameSessionPlacementInput {
3299 /// <p>A unique identifier for a game session placement to cancel.</p>
3300 #[serde(rename = "PlacementId")]
3301 pub placement_id: String,
3302}
3303
3304/// <p>Represents the returned data in response to a request action.</p>
3305#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3306#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3307pub struct StopGameSessionPlacementOutput {
3308 /// <p>Object that describes the canceled game session placement, with <code>CANCELLED</code> status and an end time stamp. </p>
3309 #[serde(rename = "GameSessionPlacement")]
3310 #[serde(skip_serializing_if = "Option::is_none")]
3311 pub game_session_placement: Option<GameSessionPlacement>,
3312}
3313
3314/// <p>Represents the input for a request action.</p>
3315#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3316#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3317pub struct StopMatchmakingInput {
3318 /// <p>A unique identifier for a matchmaking ticket.</p>
3319 #[serde(rename = "TicketId")]
3320 pub ticket_id: String,
3321}
3322
3323#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3324#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3325pub struct StopMatchmakingOutput {}
3326
3327#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3328#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3329pub struct SuspendGameServerGroupInput {
3330 /// <p>The unique identifier of the game server group to stop activity on. Use either the <a>GameServerGroup</a> name or ARN value.</p>
3331 #[serde(rename = "GameServerGroupName")]
3332 pub game_server_group_name: String,
3333 /// <p>The action to suspend for this game server group.</p>
3334 #[serde(rename = "SuspendActions")]
3335 pub suspend_actions: Vec<String>,
3336}
3337
3338#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3339#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3340pub struct SuspendGameServerGroupOutput {
3341 /// <p>An object that describes the game server group resource, with the <i>SuspendedActions</i> property updated to reflect the suspended activity.</p>
3342 #[serde(rename = "GameServerGroup")]
3343 #[serde(skip_serializing_if = "Option::is_none")]
3344 pub game_server_group: Option<GameServerGroup>,
3345}
3346
3347/// <p><p> A label that can be assigned to a GameLift resource. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging AWS Resources</a> in the <i>AWS General Reference</i> </p> <p> <a href="http://aws.amazon.com/answers/account-management/aws-tagging-strategies/"> AWS Tagging Strategies</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>TagResource</a> </p> </li> <li> <p> <a>UntagResource</a> </p> </li> <li> <p> <a>ListTagsForResource</a> </p> </li> </ul></p>
3348#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
3349pub struct Tag {
3350 /// <p> The key for a developer-defined key:value pair for tagging an AWS resource. </p>
3351 #[serde(rename = "Key")]
3352 pub key: String,
3353 /// <p> The value for a developer-defined key:value pair for tagging an AWS resource. </p>
3354 #[serde(rename = "Value")]
3355 pub value: String,
3356}
3357
3358#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3359#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3360pub struct TagResourceRequest {
3361 /// <p> The Amazon Resource Name (<a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>) that is assigned to and uniquely identifies the GameLift resource that you want to assign tags to. GameLift resource ARNs are included in the data object for the resource, which can be retrieved by calling a List or Describe action for the resource type. </p>
3362 #[serde(rename = "ResourceARN")]
3363 pub resource_arn: String,
3364 /// <p>A list of one or more tags to assign to the specified GameLift resource. Tags are developer-defined and structured as key-value pairs. The maximum tag limit may be lower than stated. See <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"> Tagging AWS Resources</a> for actual tagging limits.</p>
3365 #[serde(rename = "Tags")]
3366 pub tags: Vec<Tag>,
3367}
3368
3369#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3370#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3371pub struct TagResourceResponse {}
3372
3373/// <p><p>Settings for a target-based scaling policy (see <a>ScalingPolicy</a>. A target-based policy tracks a particular fleet metric specifies a target value for the metric. As player usage changes, the policy triggers Amazon GameLift to adjust capacity so that the metric returns to the target value. The target configuration specifies settings as needed for the target based policy, including the target value. </p> <ul> <li> <p> <a>DescribeFleetCapacity</a> </p> </li> <li> <p> <a>UpdateFleetCapacity</a> </p> </li> <li> <p> <a>DescribeEC2InstanceLimits</a> </p> </li> <li> <p>Manage scaling policies:</p> <ul> <li> <p> <a>PutScalingPolicy</a> (auto-scaling)</p> </li> <li> <p> <a>DescribeScalingPolicies</a> (auto-scaling)</p> </li> <li> <p> <a>DeleteScalingPolicy</a> (auto-scaling)</p> </li> </ul> </li> <li> <p>Manage fleet actions:</p> <ul> <li> <p> <a>StartFleetActions</a> </p> </li> <li> <p> <a>StopFleetActions</a> </p> </li> </ul> </li> </ul></p>
3374#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
3375pub struct TargetConfiguration {
3376 /// <p>Desired value to use with a target-based scaling policy. The value must be relevant for whatever metric the scaling policy is using. For example, in a policy using the metric PercentAvailableGameSessions, the target value should be the preferred size of the fleet's buffer (the percent of capacity that should be idle and ready for new game sessions).</p>
3377 #[serde(rename = "TargetValue")]
3378 pub target_value: f64,
3379}
3380
3381/// <p> <b>This data type is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Settings for a target-based scaling policy applied to Auto Scaling group. These settings are used to create a target-based policy that tracks the GameLift FleetIQ metric "PercentUtilizedGameServers" and specifies a target value for the metric. As player usage changes, the policy triggers to adjust the game server group capacity so that the metric returns to the target value. </p>
3382#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3383#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3384pub struct TargetTrackingConfiguration {
3385 /// <p>Desired value to use with a game server group target-based scaling policy. </p>
3386 #[serde(rename = "TargetValue")]
3387 pub target_value: f64,
3388}
3389
3390#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3391#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3392pub struct UntagResourceRequest {
3393 /// <p>The Amazon Resource Name (<a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>) that is assigned to and uniquely identifies the GameLift resource that you want to remove tags from. GameLift resource ARNs are included in the data object for the resource, which can be retrieved by calling a List or Describe action for the resource type. </p>
3394 #[serde(rename = "ResourceARN")]
3395 pub resource_arn: String,
3396 /// <p>A list of one or more tag keys to remove from the specified GameLift resource. An AWS resource can have only one tag with a specific tag key, so specifying the tag key identifies which tag to remove. </p>
3397 #[serde(rename = "TagKeys")]
3398 pub tag_keys: Vec<String>,
3399}
3400
3401#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3402#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3403pub struct UntagResourceResponse {}
3404
3405/// <p>Represents the input for a request action.</p>
3406#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3407#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3408pub struct UpdateAliasInput {
3409 /// <p>A unique identifier for the alias that you want to update. You can use either the alias ID or ARN value.</p>
3410 #[serde(rename = "AliasId")]
3411 pub alias_id: String,
3412 /// <p>A human-readable description of the alias.</p>
3413 #[serde(rename = "Description")]
3414 #[serde(skip_serializing_if = "Option::is_none")]
3415 pub description: Option<String>,
3416 /// <p>A descriptive label that is associated with an alias. Alias names do not need to be unique.</p>
3417 #[serde(rename = "Name")]
3418 #[serde(skip_serializing_if = "Option::is_none")]
3419 pub name: Option<String>,
3420 /// <p>The routing configuration, including routing type and fleet target, for the alias.</p>
3421 #[serde(rename = "RoutingStrategy")]
3422 #[serde(skip_serializing_if = "Option::is_none")]
3423 pub routing_strategy: Option<RoutingStrategy>,
3424}
3425
3426/// <p>Represents the returned data in response to a request action.</p>
3427#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3428#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3429pub struct UpdateAliasOutput {
3430 /// <p>The updated alias resource.</p>
3431 #[serde(rename = "Alias")]
3432 #[serde(skip_serializing_if = "Option::is_none")]
3433 pub alias: Option<Alias>,
3434}
3435
3436/// <p>Represents the input for a request action.</p>
3437#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3438#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3439pub struct UpdateBuildInput {
3440 /// <p>A unique identifier for a build to update. You can use either the build ID or ARN value. </p>
3441 #[serde(rename = "BuildId")]
3442 pub build_id: String,
3443 /// <p>A descriptive label that is associated with a build. Build names do not need to be unique. </p>
3444 #[serde(rename = "Name")]
3445 #[serde(skip_serializing_if = "Option::is_none")]
3446 pub name: Option<String>,
3447 /// <p>Version information that is associated with a build or script. Version strings do not need to be unique.</p>
3448 #[serde(rename = "Version")]
3449 #[serde(skip_serializing_if = "Option::is_none")]
3450 pub version: Option<String>,
3451}
3452
3453/// <p>Represents the returned data in response to a request action.</p>
3454#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3455#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3456pub struct UpdateBuildOutput {
3457 /// <p>The updated build resource.</p>
3458 #[serde(rename = "Build")]
3459 #[serde(skip_serializing_if = "Option::is_none")]
3460 pub build: Option<Build>,
3461}
3462
3463/// <p>Represents the input for a request action.</p>
3464#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3465#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3466pub struct UpdateFleetAttributesInput {
3467 /// <p>Human-readable description of a fleet.</p>
3468 #[serde(rename = "Description")]
3469 #[serde(skip_serializing_if = "Option::is_none")]
3470 pub description: Option<String>,
3471 /// <p>A unique identifier for a fleet to update attribute metadata for. You can use either the fleet ID or ARN value.</p>
3472 #[serde(rename = "FleetId")]
3473 pub fleet_id: String,
3474 /// <p>Names of metric groups to include this fleet in. Amazon CloudWatch uses a fleet metric group is to aggregate metrics from multiple fleets. Use an existing metric group name to add this fleet to the group. Or use a new name to create a new metric group. A fleet can only be included in one metric group at a time.</p>
3475 #[serde(rename = "MetricGroups")]
3476 #[serde(skip_serializing_if = "Option::is_none")]
3477 pub metric_groups: Option<Vec<String>>,
3478 /// <p>A descriptive label that is associated with a fleet. Fleet names do not need to be unique.</p>
3479 #[serde(rename = "Name")]
3480 #[serde(skip_serializing_if = "Option::is_none")]
3481 pub name: Option<String>,
3482 /// <p><p>Game session protection policy to apply to all new instances created in this fleet. Instances that already exist are not affected. You can set protection for individual instances using <a>UpdateGameSession</a>.</p> <ul> <li> <p> <b>NoProtection</b> -- The game session can be terminated during a scale-down event.</p> </li> <li> <p> <b>FullProtection</b> -- If the game session is in an <code>ACTIVE</code> status, it cannot be terminated during a scale-down event.</p> </li> </ul></p>
3483 #[serde(rename = "NewGameSessionProtectionPolicy")]
3484 #[serde(skip_serializing_if = "Option::is_none")]
3485 pub new_game_session_protection_policy: Option<String>,
3486 /// <p>Policy that limits the number of game sessions an individual player can create over a span of time. </p>
3487 #[serde(rename = "ResourceCreationLimitPolicy")]
3488 #[serde(skip_serializing_if = "Option::is_none")]
3489 pub resource_creation_limit_policy: Option<ResourceCreationLimitPolicy>,
3490}
3491
3492/// <p>Represents the returned data in response to a request action.</p>
3493#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3494#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3495pub struct UpdateFleetAttributesOutput {
3496 /// <p>A unique identifier for a fleet that was updated. Use either the fleet ID or ARN value.</p>
3497 #[serde(rename = "FleetId")]
3498 #[serde(skip_serializing_if = "Option::is_none")]
3499 pub fleet_id: Option<String>,
3500}
3501
3502/// <p>Represents the input for a request action.</p>
3503#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3504#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3505pub struct UpdateFleetCapacityInput {
3506 /// <p>Number of EC2 instances you want this fleet to host.</p>
3507 #[serde(rename = "DesiredInstances")]
3508 #[serde(skip_serializing_if = "Option::is_none")]
3509 pub desired_instances: Option<i64>,
3510 /// <p>A unique identifier for a fleet to update capacity for. You can use either the fleet ID or ARN value.</p>
3511 #[serde(rename = "FleetId")]
3512 pub fleet_id: String,
3513 /// <p>The maximum value allowed for the fleet's instance count. Default if not set is 1.</p>
3514 #[serde(rename = "MaxSize")]
3515 #[serde(skip_serializing_if = "Option::is_none")]
3516 pub max_size: Option<i64>,
3517 /// <p>The minimum value allowed for the fleet's instance count. Default if not set is 0.</p>
3518 #[serde(rename = "MinSize")]
3519 #[serde(skip_serializing_if = "Option::is_none")]
3520 pub min_size: Option<i64>,
3521}
3522
3523/// <p>Represents the returned data in response to a request action.</p>
3524#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3525#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3526pub struct UpdateFleetCapacityOutput {
3527 /// <p>A unique identifier for a fleet that was updated.</p>
3528 #[serde(rename = "FleetId")]
3529 #[serde(skip_serializing_if = "Option::is_none")]
3530 pub fleet_id: Option<String>,
3531}
3532
3533/// <p>Represents the input for a request action.</p>
3534#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3535#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3536pub struct UpdateFleetPortSettingsInput {
3537 /// <p>A unique identifier for a fleet to update port settings for. You can use either the fleet ID or ARN value.</p>
3538 #[serde(rename = "FleetId")]
3539 pub fleet_id: String,
3540 /// <p>A collection of port settings to be added to the fleet resource.</p>
3541 #[serde(rename = "InboundPermissionAuthorizations")]
3542 #[serde(skip_serializing_if = "Option::is_none")]
3543 pub inbound_permission_authorizations: Option<Vec<IpPermission>>,
3544 /// <p>A collection of port settings to be removed from the fleet resource.</p>
3545 #[serde(rename = "InboundPermissionRevocations")]
3546 #[serde(skip_serializing_if = "Option::is_none")]
3547 pub inbound_permission_revocations: Option<Vec<IpPermission>>,
3548}
3549
3550/// <p>Represents the returned data in response to a request action.</p>
3551#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3552#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3553pub struct UpdateFleetPortSettingsOutput {
3554 /// <p>A unique identifier for a fleet that was updated.</p>
3555 #[serde(rename = "FleetId")]
3556 #[serde(skip_serializing_if = "Option::is_none")]
3557 pub fleet_id: Option<String>,
3558}
3559
3560#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3561#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3562pub struct UpdateGameServerGroupInput {
3563 /// <p><p>The fallback balancing method to use for the game server group when Spot instances in a Region become unavailable or are not viable for game hosting. Once triggered, this method remains active until Spot instances can once again be used. Method options include:</p> <ul> <li> <p>SPOT<em>ONLY -- If Spot instances are unavailable, the game server group provides no hosting capacity. No new instances are started, and the existing nonviable Spot instances are terminated (once current gameplay ends) and not replaced.</p> </li> <li> <p>SPOT</em>PREFERRED -- If Spot instances are unavailable, the game server group continues to provide hosting capacity by using On-Demand instances. Existing nonviable Spot instances are terminated (once current gameplay ends) and replaced with new On-Demand instances. </p> </li> </ul></p>
3564 #[serde(rename = "BalancingStrategy")]
3565 #[serde(skip_serializing_if = "Option::is_none")]
3566 pub balancing_strategy: Option<String>,
3567 /// <p>The unique identifier of the game server group to update. Use either the <a>GameServerGroup</a> name or ARN value.</p>
3568 #[serde(rename = "GameServerGroupName")]
3569 pub game_server_group_name: String,
3570 /// <p>A flag that indicates whether instances in the game server group are protected from early termination. Unprotected instances that have active game servers running may by terminated during a scale-down event, causing players to be dropped from the game. Protected instances cannot be terminated while there are active game servers running. An exception to this is Spot Instances, which may be terminated by AWS regardless of protection status. This property is set to NO_PROTECTION by default.</p>
3571 #[serde(rename = "GameServerProtectionPolicy")]
3572 #[serde(skip_serializing_if = "Option::is_none")]
3573 pub game_server_protection_policy: Option<String>,
3574 /// <p>An updated list of EC2 instance types to use when creating instances in the group. The instance definition must specify instance types that are supported by GameLift FleetIQ, and must include at least two instance types. This updated list replaces the entire current list of instance definitions for the game server group. For more information on instance types, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html">EC2 Instance Types</a> in the <i>Amazon EC2 User Guide</i>..</p>
3575 #[serde(rename = "InstanceDefinitions")]
3576 #[serde(skip_serializing_if = "Option::is_none")]
3577 pub instance_definitions: Option<Vec<InstanceDefinition>>,
3578 /// <p>The Amazon Resource Name (<a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>) for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups. The submitted role is validated to ensure that it contains the necessary permissions for game server groups.</p>
3579 #[serde(rename = "RoleArn")]
3580 #[serde(skip_serializing_if = "Option::is_none")]
3581 pub role_arn: Option<String>,
3582}
3583
3584#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3585#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3586pub struct UpdateGameServerGroupOutput {
3587 /// <p>An object that describes the game server group resource with updated properties. </p>
3588 #[serde(rename = "GameServerGroup")]
3589 #[serde(skip_serializing_if = "Option::is_none")]
3590 pub game_server_group: Option<GameServerGroup>,
3591}
3592
3593#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3594#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3595pub struct UpdateGameServerInput {
3596 /// <p>A game server tag that can be used to request sorted lists of game servers using <a>ListGameServers</a>. Custom sort keys are developer-defined based on how you want to organize the retrieved game server information.</p>
3597 #[serde(rename = "CustomSortKey")]
3598 #[serde(skip_serializing_if = "Option::is_none")]
3599 pub custom_sort_key: Option<String>,
3600 /// <p>A set of custom game server properties, formatted as a single string value. This data is passed to a game client or service when it requests information on a game servers using <a>DescribeGameServer</a> or <a>ClaimGameServer</a>. </p>
3601 #[serde(rename = "GameServerData")]
3602 #[serde(skip_serializing_if = "Option::is_none")]
3603 pub game_server_data: Option<String>,
3604 /// <p>An identifier for the game server group where the game server is running. Use either the <a>GameServerGroup</a> name or ARN value.</p>
3605 #[serde(rename = "GameServerGroupName")]
3606 pub game_server_group_name: String,
3607 /// <p>The identifier for the game server to be updated.</p>
3608 #[serde(rename = "GameServerId")]
3609 pub game_server_id: String,
3610 /// <p>Indicates health status of the game server. An update that explicitly includes this parameter updates the game server's <i>LastHealthCheckTime</i> time stamp. </p>
3611 #[serde(rename = "HealthCheck")]
3612 #[serde(skip_serializing_if = "Option::is_none")]
3613 pub health_check: Option<String>,
3614 /// <p>Indicates whether the game server is available or is currently hosting gameplay.</p>
3615 #[serde(rename = "UtilizationStatus")]
3616 #[serde(skip_serializing_if = "Option::is_none")]
3617 pub utilization_status: Option<String>,
3618}
3619
3620#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3621#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3622pub struct UpdateGameServerOutput {
3623 /// <p>Object that describes the newly updated game server resource.</p>
3624 #[serde(rename = "GameServer")]
3625 #[serde(skip_serializing_if = "Option::is_none")]
3626 pub game_server: Option<GameServer>,
3627}
3628
3629/// <p>Represents the input for a request action.</p>
3630#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3631#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3632pub struct UpdateGameSessionInput {
3633 /// <p>A unique identifier for the game session to update. </p>
3634 #[serde(rename = "GameSessionId")]
3635 pub game_session_id: String,
3636 /// <p>The maximum number of players that can be connected simultaneously to the game session.</p>
3637 #[serde(rename = "MaximumPlayerSessionCount")]
3638 #[serde(skip_serializing_if = "Option::is_none")]
3639 pub maximum_player_session_count: Option<i64>,
3640 /// <p>A descriptive label that is associated with a game session. Session names do not need to be unique.</p>
3641 #[serde(rename = "Name")]
3642 #[serde(skip_serializing_if = "Option::is_none")]
3643 pub name: Option<String>,
3644 /// <p>Policy determining whether or not the game session accepts new players.</p>
3645 #[serde(rename = "PlayerSessionCreationPolicy")]
3646 #[serde(skip_serializing_if = "Option::is_none")]
3647 pub player_session_creation_policy: Option<String>,
3648 /// <p><p>Game session protection policy to apply to this game session only.</p> <ul> <li> <p> <b>NoProtection</b> -- The game session can be terminated during a scale-down event.</p> </li> <li> <p> <b>FullProtection</b> -- If the game session is in an <code>ACTIVE</code> status, it cannot be terminated during a scale-down event.</p> </li> </ul></p>
3649 #[serde(rename = "ProtectionPolicy")]
3650 #[serde(skip_serializing_if = "Option::is_none")]
3651 pub protection_policy: Option<String>,
3652}
3653
3654/// <p>Represents the returned data in response to a request action.</p>
3655#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3656#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3657pub struct UpdateGameSessionOutput {
3658 /// <p>The updated game session metadata.</p>
3659 #[serde(rename = "GameSession")]
3660 #[serde(skip_serializing_if = "Option::is_none")]
3661 pub game_session: Option<GameSession>,
3662}
3663
3664/// <p>Represents the input for a request action.</p>
3665#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3666#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3667pub struct UpdateGameSessionQueueInput {
3668 /// <p>A list of fleets that can be used to fulfill game session placement requests in the queue. Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order. When updating this list, provide a complete list of destinations.</p>
3669 #[serde(rename = "Destinations")]
3670 #[serde(skip_serializing_if = "Option::is_none")]
3671 pub destinations: Option<Vec<GameSessionQueueDestination>>,
3672 /// <p>A descriptive label that is associated with game session queue. Queue names must be unique within each Region. You can use either the queue ID or ARN value. </p>
3673 #[serde(rename = "Name")]
3674 pub name: String,
3675 /// <p>A collection of latency policies to apply when processing game sessions placement requests with player latency information. Multiple policies are evaluated in order of the maximum latency value, starting with the lowest latency values. With just one policy, the policy is enforced at the start of the game session placement for the duration period. With multiple policies, each policy is enforced consecutively for its duration period. For example, a queue might enforce a 60-second policy followed by a 120-second policy, and then no policy for the remainder of the placement. When updating policies, provide a complete collection of policies.</p>
3676 #[serde(rename = "PlayerLatencyPolicies")]
3677 #[serde(skip_serializing_if = "Option::is_none")]
3678 pub player_latency_policies: Option<Vec<PlayerLatencyPolicy>>,
3679 /// <p>The maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a <code>TIMED_OUT</code> status.</p>
3680 #[serde(rename = "TimeoutInSeconds")]
3681 #[serde(skip_serializing_if = "Option::is_none")]
3682 pub timeout_in_seconds: Option<i64>,
3683}
3684
3685/// <p>Represents the returned data in response to a request action.</p>
3686#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3687#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3688pub struct UpdateGameSessionQueueOutput {
3689 /// <p>An object that describes the newly updated game session queue.</p>
3690 #[serde(rename = "GameSessionQueue")]
3691 #[serde(skip_serializing_if = "Option::is_none")]
3692 pub game_session_queue: Option<GameSessionQueue>,
3693}
3694
3695/// <p>Represents the input for a request action.</p>
3696#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3697#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3698pub struct UpdateMatchmakingConfigurationInput {
3699 /// <p>A flag that indicates whether a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE.</p>
3700 #[serde(rename = "AcceptanceRequired")]
3701 #[serde(skip_serializing_if = "Option::is_none")]
3702 pub acceptance_required: Option<bool>,
3703 /// <p>The length of time (in seconds) to wait for players to accept a proposed match. If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable match.</p>
3704 #[serde(rename = "AcceptanceTimeoutSeconds")]
3705 #[serde(skip_serializing_if = "Option::is_none")]
3706 pub acceptance_timeout_seconds: Option<i64>,
3707 /// <p>The number of player slots in a match to keep open for future players. For example, assume that the configuration's rule set specifies a match for a single 12-person team. If the additional player count is set to 2, only 10 players are initially selected for the match.</p>
3708 #[serde(rename = "AdditionalPlayerCount")]
3709 #[serde(skip_serializing_if = "Option::is_none")]
3710 pub additional_player_count: Option<i64>,
3711 /// <p>The method that is used to backfill game sessions created with this matchmaking configuration. Specify MANUAL when your game manages backfill requests manually or does not use the match backfill feature. Specify AUTOMATIC to have GameLift create a <a>StartMatchBackfill</a> request whenever a game session has one or more open slots. Learn more about manual and automatic backfill in <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-backfill.html">Backfill Existing Games with FlexMatch</a>.</p>
3712 #[serde(rename = "BackfillMode")]
3713 #[serde(skip_serializing_if = "Option::is_none")]
3714 pub backfill_mode: Option<String>,
3715 /// <p>Information to add to all events related to the matchmaking configuration. </p>
3716 #[serde(rename = "CustomEventData")]
3717 #[serde(skip_serializing_if = "Option::is_none")]
3718 pub custom_event_data: Option<String>,
3719 /// <p>A descriptive label that is associated with matchmaking configuration.</p>
3720 #[serde(rename = "Description")]
3721 #[serde(skip_serializing_if = "Option::is_none")]
3722 pub description: Option<String>,
3723 /// <p>A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the <a>GameSession</a> object with a request to start a new game session (see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start a Game Session</a>). This information is added to the new <a>GameSession</a> object that is created for a successful match. </p>
3724 #[serde(rename = "GameProperties")]
3725 #[serde(skip_serializing_if = "Option::is_none")]
3726 pub game_properties: Option<Vec<GameProperty>>,
3727 /// <p>A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the <a>GameSession</a> object with a request to start a new game session (see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start a Game Session</a>). This information is added to the new <a>GameSession</a> object that is created for a successful match. </p>
3728 #[serde(rename = "GameSessionData")]
3729 #[serde(skip_serializing_if = "Option::is_none")]
3730 pub game_session_data: Option<String>,
3731 /// <p>Amazon Resource Name (<a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any Region.</p>
3732 #[serde(rename = "GameSessionQueueArns")]
3733 #[serde(skip_serializing_if = "Option::is_none")]
3734 pub game_session_queue_arns: Option<Vec<String>>,
3735 /// <p>A unique identifier for a matchmaking configuration to update. You can use either the configuration name or ARN value. </p>
3736 #[serde(rename = "Name")]
3737 pub name: String,
3738 /// <p>An SNS topic ARN that is set up to receive matchmaking notifications. See <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-notification.html"> Setting up Notifications for Matchmaking</a> for more information.</p>
3739 #[serde(rename = "NotificationTarget")]
3740 #[serde(skip_serializing_if = "Option::is_none")]
3741 pub notification_target: Option<String>,
3742 /// <p>The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that fail due to timing out can be resubmitted as needed.</p>
3743 #[serde(rename = "RequestTimeoutSeconds")]
3744 #[serde(skip_serializing_if = "Option::is_none")]
3745 pub request_timeout_seconds: Option<i64>,
3746 /// <p>A unique identifier for a matchmaking rule set to use with this configuration. You can use either the rule set name or ARN value. A matchmaking configuration can only use rule sets that are defined in the same Region.</p>
3747 #[serde(rename = "RuleSetName")]
3748 #[serde(skip_serializing_if = "Option::is_none")]
3749 pub rule_set_name: Option<String>,
3750}
3751
3752/// <p>Represents the returned data in response to a request action.</p>
3753#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3754#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3755pub struct UpdateMatchmakingConfigurationOutput {
3756 /// <p>The updated matchmaking configuration.</p>
3757 #[serde(rename = "Configuration")]
3758 #[serde(skip_serializing_if = "Option::is_none")]
3759 pub configuration: Option<MatchmakingConfiguration>,
3760}
3761
3762/// <p>Represents the input for a request action.</p>
3763#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3764#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3765pub struct UpdateRuntimeConfigurationInput {
3766 /// <p>A unique identifier for a fleet to update runtime configuration for. You can use either the fleet ID or ARN value.</p>
3767 #[serde(rename = "FleetId")]
3768 pub fleet_id: String,
3769 /// <p>Instructions for launching server processes on each instance in the fleet. Server processes run either a custom game build executable or a Realtime Servers script. The runtime configuration lists the types of server processes to run on an instance and includes the following configuration settings: the server executable or launch script file, launch parameters, and the number of processes to run concurrently on each instance. A CreateFleet request must include a runtime configuration with at least one server process configuration.</p>
3770 #[serde(rename = "RuntimeConfiguration")]
3771 pub runtime_configuration: RuntimeConfiguration,
3772}
3773
3774/// <p>Represents the returned data in response to a request action.</p>
3775#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3776#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3777pub struct UpdateRuntimeConfigurationOutput {
3778 /// <p>The runtime configuration currently in force. If the update was successful, this object matches the one in the request.</p>
3779 #[serde(rename = "RuntimeConfiguration")]
3780 #[serde(skip_serializing_if = "Option::is_none")]
3781 pub runtime_configuration: Option<RuntimeConfiguration>,
3782}
3783
3784#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3785#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3786pub struct UpdateScriptInput {
3787 /// <p>A descriptive label that is associated with a script. Script names do not need to be unique.</p>
3788 #[serde(rename = "Name")]
3789 #[serde(skip_serializing_if = "Option::is_none")]
3790 pub name: Option<String>,
3791 /// <p>A unique identifier for a Realtime script to update. You can use either the script ID or ARN value.</p>
3792 #[serde(rename = "ScriptId")]
3793 pub script_id: String,
3794 /// <p>The location of the Amazon S3 bucket where a zipped file containing your Realtime scripts is stored. The storage location must specify the Amazon S3 bucket name, the zip file name (the "key"), and a role ARN that allows Amazon GameLift to access the Amazon S3 storage location. The S3 bucket must be in the same Region where you want to create a new script. By default, Amazon GameLift uploads the latest version of the zip file; if you have S3 object versioning turned on, you can use the <code>ObjectVersion</code> parameter to specify an earlier version. </p>
3795 #[serde(rename = "StorageLocation")]
3796 #[serde(skip_serializing_if = "Option::is_none")]
3797 pub storage_location: Option<S3Location>,
3798 /// <p>The version that is associated with a build or script. Version strings do not need to be unique.</p>
3799 #[serde(rename = "Version")]
3800 #[serde(skip_serializing_if = "Option::is_none")]
3801 pub version: Option<String>,
3802 /// <p>A data object containing your Realtime scripts and dependencies as a zip file. The zip file can have one or multiple files. Maximum size of a zip file is 5 MB.</p> <p>When using the AWS CLI tool to create a script, this parameter is set to the zip file name. It must be prepended with the string "fileb://" to indicate that the file data is a binary object. For example: <code>--zip-file fileb://myRealtimeScript.zip</code>.</p>
3803 #[serde(rename = "ZipFile")]
3804 #[serde(
3805 deserialize_with = "::rusoto_core::serialization::SerdeBlob::deserialize_blob",
3806 serialize_with = "::rusoto_core::serialization::SerdeBlob::serialize_blob",
3807 default
3808 )]
3809 #[serde(skip_serializing_if = "Option::is_none")]
3810 pub zip_file: Option<bytes::Bytes>,
3811}
3812
3813#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3814#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3815pub struct UpdateScriptOutput {
3816 /// <p>The newly created script record with a unique script ID. The new script's storage location reflects an Amazon S3 location: (1) If the script was uploaded from an S3 bucket under your account, the storage location reflects the information that was provided in the <i>CreateScript</i> request; (2) If the script file was uploaded from a local zip file, the storage location reflects an S3 location controls by the Amazon GameLift service.</p>
3817 #[serde(rename = "Script")]
3818 #[serde(skip_serializing_if = "Option::is_none")]
3819 pub script: Option<Script>,
3820}
3821
3822/// <p>Represents the input for a request action.</p>
3823#[derive(Clone, Debug, Default, PartialEq, Serialize)]
3824#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
3825pub struct ValidateMatchmakingRuleSetInput {
3826 /// <p>A collection of matchmaking rules to validate, formatted as a JSON string.</p>
3827 #[serde(rename = "RuleSetBody")]
3828 pub rule_set_body: String,
3829}
3830
3831/// <p>Represents the returned data in response to a request action.</p>
3832#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3833#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3834pub struct ValidateMatchmakingRuleSetOutput {
3835 /// <p>A response indicating whether the rule set is valid.</p>
3836 #[serde(rename = "Valid")]
3837 #[serde(skip_serializing_if = "Option::is_none")]
3838 pub valid: Option<bool>,
3839}
3840
3841/// <p><p>Represents an authorization for a VPC peering connection between the VPC for an Amazon GameLift fleet and another VPC on an account you have access to. This authorization must exist and be valid for the peering connection to be established. Authorizations are valid for 24 hours after they are issued.</p> <ul> <li> <p> <a>CreateVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>DescribeVpcPeeringAuthorizations</a> </p> </li> <li> <p> <a>DeleteVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>CreateVpcPeeringConnection</a> </p> </li> <li> <p> <a>DescribeVpcPeeringConnections</a> </p> </li> <li> <p> <a>DeleteVpcPeeringConnection</a> </p> </li> </ul></p>
3842#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3843#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3844pub struct VpcPeeringAuthorization {
3845 /// <p>Time stamp indicating when this authorization was issued. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").</p>
3846 #[serde(rename = "CreationTime")]
3847 #[serde(skip_serializing_if = "Option::is_none")]
3848 pub creation_time: Option<f64>,
3849 /// <p>Time stamp indicating when this authorization expires (24 hours after issuance). Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").</p>
3850 #[serde(rename = "ExpirationTime")]
3851 #[serde(skip_serializing_if = "Option::is_none")]
3852 pub expiration_time: Option<f64>,
3853 /// <p>A unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. You can find your Account ID in the AWS Management Console under account settings.</p>
3854 #[serde(rename = "GameLiftAwsAccountId")]
3855 #[serde(skip_serializing_if = "Option::is_none")]
3856 pub game_lift_aws_account_id: Option<String>,
3857 /// <p><p/></p>
3858 #[serde(rename = "PeerVpcAwsAccountId")]
3859 #[serde(skip_serializing_if = "Option::is_none")]
3860 pub peer_vpc_aws_account_id: Option<String>,
3861 /// <p>A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region where your fleet is deployed. Look up a VPC ID using the <a href="https://console.aws.amazon.com/vpc/">VPC Dashboard</a> in the AWS Management Console. Learn more about VPC peering in <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html">VPC Peering with Amazon GameLift Fleets</a>.</p>
3862 #[serde(rename = "PeerVpcId")]
3863 #[serde(skip_serializing_if = "Option::is_none")]
3864 pub peer_vpc_id: Option<String>,
3865}
3866
3867/// <p><p>Represents a peering connection between a VPC on one of your AWS accounts and the VPC for your Amazon GameLift fleets. This record may be for an active peering connection or a pending connection that has not yet been established.</p> <ul> <li> <p> <a>CreateVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>DescribeVpcPeeringAuthorizations</a> </p> </li> <li> <p> <a>DeleteVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>CreateVpcPeeringConnection</a> </p> </li> <li> <p> <a>DescribeVpcPeeringConnections</a> </p> </li> <li> <p> <a>DeleteVpcPeeringConnection</a> </p> </li> </ul></p>
3868#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3869#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3870pub struct VpcPeeringConnection {
3871 /// <p> The Amazon Resource Name (<a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>) associated with the GameLift fleet resource for this connection. </p>
3872 #[serde(rename = "FleetArn")]
3873 #[serde(skip_serializing_if = "Option::is_none")]
3874 pub fleet_arn: Option<String>,
3875 /// <p>A unique identifier for a fleet. This ID determines the ID of the Amazon GameLift VPC for your fleet.</p>
3876 #[serde(rename = "FleetId")]
3877 #[serde(skip_serializing_if = "Option::is_none")]
3878 pub fleet_id: Option<String>,
3879 /// <p>A unique identifier for the VPC that contains the Amazon GameLift fleet for this connection. This VPC is managed by Amazon GameLift and does not appear in your AWS account. </p>
3880 #[serde(rename = "GameLiftVpcId")]
3881 #[serde(skip_serializing_if = "Option::is_none")]
3882 pub game_lift_vpc_id: Option<String>,
3883 /// <p>CIDR block of IPv4 addresses assigned to the VPC peering connection for the GameLift VPC. The peered VPC also has an IPv4 CIDR block associated with it; these blocks cannot overlap or the peering connection cannot be created. </p>
3884 #[serde(rename = "IpV4CidrBlock")]
3885 #[serde(skip_serializing_if = "Option::is_none")]
3886 pub ip_v4_cidr_block: Option<String>,
3887 /// <p>A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region where your fleet is deployed. Look up a VPC ID using the <a href="https://console.aws.amazon.com/vpc/">VPC Dashboard</a> in the AWS Management Console. Learn more about VPC peering in <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html">VPC Peering with Amazon GameLift Fleets</a>.</p>
3888 #[serde(rename = "PeerVpcId")]
3889 #[serde(skip_serializing_if = "Option::is_none")]
3890 pub peer_vpc_id: Option<String>,
3891 /// <p>The status information about the connection. Status indicates if a connection is pending, successful, or failed.</p>
3892 #[serde(rename = "Status")]
3893 #[serde(skip_serializing_if = "Option::is_none")]
3894 pub status: Option<VpcPeeringConnectionStatus>,
3895 /// <p>A unique identifier that is automatically assigned to the connection record. This ID is referenced in VPC peering connection events, and is used when deleting a connection with <a>DeleteVpcPeeringConnection</a>. </p>
3896 #[serde(rename = "VpcPeeringConnectionId")]
3897 #[serde(skip_serializing_if = "Option::is_none")]
3898 pub vpc_peering_connection_id: Option<String>,
3899}
3900
3901/// <p>Represents status information for a VPC peering connection. Status is associated with a <a>VpcPeeringConnection</a> object. Status codes and messages are provided from EC2 (see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_VpcPeeringConnectionStateReason.html">VpcPeeringConnectionStateReason</a>). Connection status information is also communicated as a fleet <a>Event</a>.</p>
3902#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
3903#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
3904pub struct VpcPeeringConnectionStatus {
3905 /// <p>Code indicating the status of a VPC peering connection.</p>
3906 #[serde(rename = "Code")]
3907 #[serde(skip_serializing_if = "Option::is_none")]
3908 pub code: Option<String>,
3909 /// <p>Additional messaging associated with the connection status. </p>
3910 #[serde(rename = "Message")]
3911 #[serde(skip_serializing_if = "Option::is_none")]
3912 pub message: Option<String>,
3913}
3914
3915/// Errors returned by AcceptMatch
3916#[derive(Debug, PartialEq)]
3917pub enum AcceptMatchError {
3918 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
3919 InternalService(String),
3920 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
3921 InvalidRequest(String),
3922 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
3923 NotFound(String),
3924 /// <p>The requested operation is not supported in the Region specified.</p>
3925 UnsupportedRegion(String),
3926}
3927
3928impl AcceptMatchError {
3929 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<AcceptMatchError> {
3930 if let Some(err) = proto::json::Error::parse(&res) {
3931 match err.typ.as_str() {
3932 "InternalServiceException" => {
3933 return RusotoError::Service(AcceptMatchError::InternalService(err.msg))
3934 }
3935 "InvalidRequestException" => {
3936 return RusotoError::Service(AcceptMatchError::InvalidRequest(err.msg))
3937 }
3938 "NotFoundException" => {
3939 return RusotoError::Service(AcceptMatchError::NotFound(err.msg))
3940 }
3941 "UnsupportedRegionException" => {
3942 return RusotoError::Service(AcceptMatchError::UnsupportedRegion(err.msg))
3943 }
3944 "ValidationException" => return RusotoError::Validation(err.msg),
3945 _ => {}
3946 }
3947 }
3948 RusotoError::Unknown(res)
3949 }
3950}
3951impl fmt::Display for AcceptMatchError {
3952 #[allow(unused_variables)]
3953 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3954 match *self {
3955 AcceptMatchError::InternalService(ref cause) => write!(f, "{}", cause),
3956 AcceptMatchError::InvalidRequest(ref cause) => write!(f, "{}", cause),
3957 AcceptMatchError::NotFound(ref cause) => write!(f, "{}", cause),
3958 AcceptMatchError::UnsupportedRegion(ref cause) => write!(f, "{}", cause),
3959 }
3960 }
3961}
3962impl Error for AcceptMatchError {}
3963/// Errors returned by ClaimGameServer
3964#[derive(Debug, PartialEq)]
3965pub enum ClaimGameServerError {
3966 /// <p>The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.</p>
3967 Conflict(String),
3968 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
3969 InternalService(String),
3970 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
3971 InvalidRequest(String),
3972 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
3973 NotFound(String),
3974 /// <p>The specified game server group has no available game servers to fulfill a <code>ClaimGameServer</code> request. Clients can retry such requests immediately or after a waiting period. </p>
3975 OutOfCapacity(String),
3976 /// <p>The client failed authentication. Clients should not retry such requests.</p>
3977 Unauthorized(String),
3978}
3979
3980impl ClaimGameServerError {
3981 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ClaimGameServerError> {
3982 if let Some(err) = proto::json::Error::parse(&res) {
3983 match err.typ.as_str() {
3984 "ConflictException" => {
3985 return RusotoError::Service(ClaimGameServerError::Conflict(err.msg))
3986 }
3987 "InternalServiceException" => {
3988 return RusotoError::Service(ClaimGameServerError::InternalService(err.msg))
3989 }
3990 "InvalidRequestException" => {
3991 return RusotoError::Service(ClaimGameServerError::InvalidRequest(err.msg))
3992 }
3993 "NotFoundException" => {
3994 return RusotoError::Service(ClaimGameServerError::NotFound(err.msg))
3995 }
3996 "OutOfCapacityException" => {
3997 return RusotoError::Service(ClaimGameServerError::OutOfCapacity(err.msg))
3998 }
3999 "UnauthorizedException" => {
4000 return RusotoError::Service(ClaimGameServerError::Unauthorized(err.msg))
4001 }
4002 "ValidationException" => return RusotoError::Validation(err.msg),
4003 _ => {}
4004 }
4005 }
4006 RusotoError::Unknown(res)
4007 }
4008}
4009impl fmt::Display for ClaimGameServerError {
4010 #[allow(unused_variables)]
4011 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4012 match *self {
4013 ClaimGameServerError::Conflict(ref cause) => write!(f, "{}", cause),
4014 ClaimGameServerError::InternalService(ref cause) => write!(f, "{}", cause),
4015 ClaimGameServerError::InvalidRequest(ref cause) => write!(f, "{}", cause),
4016 ClaimGameServerError::NotFound(ref cause) => write!(f, "{}", cause),
4017 ClaimGameServerError::OutOfCapacity(ref cause) => write!(f, "{}", cause),
4018 ClaimGameServerError::Unauthorized(ref cause) => write!(f, "{}", cause),
4019 }
4020 }
4021}
4022impl Error for ClaimGameServerError {}
4023/// Errors returned by CreateAlias
4024#[derive(Debug, PartialEq)]
4025pub enum CreateAliasError {
4026 /// <p>The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.</p>
4027 Conflict(String),
4028 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
4029 InternalService(String),
4030 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
4031 InvalidRequest(String),
4032 /// <p>The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue before retrying.</p>
4033 LimitExceeded(String),
4034 /// <p> The requested tagging operation did not succeed. This may be due to invalid tag format or the maximum tag limit may have been exceeded. Resolve the issue before retrying. </p>
4035 TaggingFailed(String),
4036 /// <p>The client failed authentication. Clients should not retry such requests.</p>
4037 Unauthorized(String),
4038}
4039
4040impl CreateAliasError {
4041 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateAliasError> {
4042 if let Some(err) = proto::json::Error::parse(&res) {
4043 match err.typ.as_str() {
4044 "ConflictException" => {
4045 return RusotoError::Service(CreateAliasError::Conflict(err.msg))
4046 }
4047 "InternalServiceException" => {
4048 return RusotoError::Service(CreateAliasError::InternalService(err.msg))
4049 }
4050 "InvalidRequestException" => {
4051 return RusotoError::Service(CreateAliasError::InvalidRequest(err.msg))
4052 }
4053 "LimitExceededException" => {
4054 return RusotoError::Service(CreateAliasError::LimitExceeded(err.msg))
4055 }
4056 "TaggingFailedException" => {
4057 return RusotoError::Service(CreateAliasError::TaggingFailed(err.msg))
4058 }
4059 "UnauthorizedException" => {
4060 return RusotoError::Service(CreateAliasError::Unauthorized(err.msg))
4061 }
4062 "ValidationException" => return RusotoError::Validation(err.msg),
4063 _ => {}
4064 }
4065 }
4066 RusotoError::Unknown(res)
4067 }
4068}
4069impl fmt::Display for CreateAliasError {
4070 #[allow(unused_variables)]
4071 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4072 match *self {
4073 CreateAliasError::Conflict(ref cause) => write!(f, "{}", cause),
4074 CreateAliasError::InternalService(ref cause) => write!(f, "{}", cause),
4075 CreateAliasError::InvalidRequest(ref cause) => write!(f, "{}", cause),
4076 CreateAliasError::LimitExceeded(ref cause) => write!(f, "{}", cause),
4077 CreateAliasError::TaggingFailed(ref cause) => write!(f, "{}", cause),
4078 CreateAliasError::Unauthorized(ref cause) => write!(f, "{}", cause),
4079 }
4080 }
4081}
4082impl Error for CreateAliasError {}
4083/// Errors returned by CreateBuild
4084#[derive(Debug, PartialEq)]
4085pub enum CreateBuildError {
4086 /// <p>The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.</p>
4087 Conflict(String),
4088 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
4089 InternalService(String),
4090 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
4091 InvalidRequest(String),
4092 /// <p> The requested tagging operation did not succeed. This may be due to invalid tag format or the maximum tag limit may have been exceeded. Resolve the issue before retrying. </p>
4093 TaggingFailed(String),
4094 /// <p>The client failed authentication. Clients should not retry such requests.</p>
4095 Unauthorized(String),
4096}
4097
4098impl CreateBuildError {
4099 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateBuildError> {
4100 if let Some(err) = proto::json::Error::parse(&res) {
4101 match err.typ.as_str() {
4102 "ConflictException" => {
4103 return RusotoError::Service(CreateBuildError::Conflict(err.msg))
4104 }
4105 "InternalServiceException" => {
4106 return RusotoError::Service(CreateBuildError::InternalService(err.msg))
4107 }
4108 "InvalidRequestException" => {
4109 return RusotoError::Service(CreateBuildError::InvalidRequest(err.msg))
4110 }
4111 "TaggingFailedException" => {
4112 return RusotoError::Service(CreateBuildError::TaggingFailed(err.msg))
4113 }
4114 "UnauthorizedException" => {
4115 return RusotoError::Service(CreateBuildError::Unauthorized(err.msg))
4116 }
4117 "ValidationException" => return RusotoError::Validation(err.msg),
4118 _ => {}
4119 }
4120 }
4121 RusotoError::Unknown(res)
4122 }
4123}
4124impl fmt::Display for CreateBuildError {
4125 #[allow(unused_variables)]
4126 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4127 match *self {
4128 CreateBuildError::Conflict(ref cause) => write!(f, "{}", cause),
4129 CreateBuildError::InternalService(ref cause) => write!(f, "{}", cause),
4130 CreateBuildError::InvalidRequest(ref cause) => write!(f, "{}", cause),
4131 CreateBuildError::TaggingFailed(ref cause) => write!(f, "{}", cause),
4132 CreateBuildError::Unauthorized(ref cause) => write!(f, "{}", cause),
4133 }
4134 }
4135}
4136impl Error for CreateBuildError {}
4137/// Errors returned by CreateFleet
4138#[derive(Debug, PartialEq)]
4139pub enum CreateFleetError {
4140 /// <p>The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.</p>
4141 Conflict(String),
4142 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
4143 InternalService(String),
4144 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
4145 InvalidRequest(String),
4146 /// <p>The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue before retrying.</p>
4147 LimitExceeded(String),
4148 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
4149 NotFound(String),
4150 /// <p> The requested tagging operation did not succeed. This may be due to invalid tag format or the maximum tag limit may have been exceeded. Resolve the issue before retrying. </p>
4151 TaggingFailed(String),
4152 /// <p>The client failed authentication. Clients should not retry such requests.</p>
4153 Unauthorized(String),
4154}
4155
4156impl CreateFleetError {
4157 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateFleetError> {
4158 if let Some(err) = proto::json::Error::parse(&res) {
4159 match err.typ.as_str() {
4160 "ConflictException" => {
4161 return RusotoError::Service(CreateFleetError::Conflict(err.msg))
4162 }
4163 "InternalServiceException" => {
4164 return RusotoError::Service(CreateFleetError::InternalService(err.msg))
4165 }
4166 "InvalidRequestException" => {
4167 return RusotoError::Service(CreateFleetError::InvalidRequest(err.msg))
4168 }
4169 "LimitExceededException" => {
4170 return RusotoError::Service(CreateFleetError::LimitExceeded(err.msg))
4171 }
4172 "NotFoundException" => {
4173 return RusotoError::Service(CreateFleetError::NotFound(err.msg))
4174 }
4175 "TaggingFailedException" => {
4176 return RusotoError::Service(CreateFleetError::TaggingFailed(err.msg))
4177 }
4178 "UnauthorizedException" => {
4179 return RusotoError::Service(CreateFleetError::Unauthorized(err.msg))
4180 }
4181 "ValidationException" => return RusotoError::Validation(err.msg),
4182 _ => {}
4183 }
4184 }
4185 RusotoError::Unknown(res)
4186 }
4187}
4188impl fmt::Display for CreateFleetError {
4189 #[allow(unused_variables)]
4190 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4191 match *self {
4192 CreateFleetError::Conflict(ref cause) => write!(f, "{}", cause),
4193 CreateFleetError::InternalService(ref cause) => write!(f, "{}", cause),
4194 CreateFleetError::InvalidRequest(ref cause) => write!(f, "{}", cause),
4195 CreateFleetError::LimitExceeded(ref cause) => write!(f, "{}", cause),
4196 CreateFleetError::NotFound(ref cause) => write!(f, "{}", cause),
4197 CreateFleetError::TaggingFailed(ref cause) => write!(f, "{}", cause),
4198 CreateFleetError::Unauthorized(ref cause) => write!(f, "{}", cause),
4199 }
4200 }
4201}
4202impl Error for CreateFleetError {}
4203/// Errors returned by CreateGameServerGroup
4204#[derive(Debug, PartialEq)]
4205pub enum CreateGameServerGroupError {
4206 /// <p>The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.</p>
4207 Conflict(String),
4208 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
4209 InternalService(String),
4210 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
4211 InvalidRequest(String),
4212 /// <p>The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue before retrying.</p>
4213 LimitExceeded(String),
4214 /// <p>The client failed authentication. Clients should not retry such requests.</p>
4215 Unauthorized(String),
4216}
4217
4218impl CreateGameServerGroupError {
4219 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateGameServerGroupError> {
4220 if let Some(err) = proto::json::Error::parse(&res) {
4221 match err.typ.as_str() {
4222 "ConflictException" => {
4223 return RusotoError::Service(CreateGameServerGroupError::Conflict(err.msg))
4224 }
4225 "InternalServiceException" => {
4226 return RusotoError::Service(CreateGameServerGroupError::InternalService(
4227 err.msg,
4228 ))
4229 }
4230 "InvalidRequestException" => {
4231 return RusotoError::Service(CreateGameServerGroupError::InvalidRequest(
4232 err.msg,
4233 ))
4234 }
4235 "LimitExceededException" => {
4236 return RusotoError::Service(CreateGameServerGroupError::LimitExceeded(err.msg))
4237 }
4238 "UnauthorizedException" => {
4239 return RusotoError::Service(CreateGameServerGroupError::Unauthorized(err.msg))
4240 }
4241 "ValidationException" => return RusotoError::Validation(err.msg),
4242 _ => {}
4243 }
4244 }
4245 RusotoError::Unknown(res)
4246 }
4247}
4248impl fmt::Display for CreateGameServerGroupError {
4249 #[allow(unused_variables)]
4250 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4251 match *self {
4252 CreateGameServerGroupError::Conflict(ref cause) => write!(f, "{}", cause),
4253 CreateGameServerGroupError::InternalService(ref cause) => write!(f, "{}", cause),
4254 CreateGameServerGroupError::InvalidRequest(ref cause) => write!(f, "{}", cause),
4255 CreateGameServerGroupError::LimitExceeded(ref cause) => write!(f, "{}", cause),
4256 CreateGameServerGroupError::Unauthorized(ref cause) => write!(f, "{}", cause),
4257 }
4258 }
4259}
4260impl Error for CreateGameServerGroupError {}
4261/// Errors returned by CreateGameSession
4262#[derive(Debug, PartialEq)]
4263pub enum CreateGameSessionError {
4264 /// <p>The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.</p>
4265 Conflict(String),
4266 /// <p>The specified fleet has no available instances to fulfill a <code>CreateGameSession</code> request. Clients can retry such requests immediately or after a waiting period.</p>
4267 FleetCapacityExceeded(String),
4268 /// <p>A game session with this custom ID string already exists in this fleet. Resolve this conflict before retrying this request.</p>
4269 IdempotentParameterMismatch(String),
4270 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
4271 InternalService(String),
4272 /// <p>The requested operation would cause a conflict with the current state of a resource associated with the request and/or the fleet. Resolve the conflict before retrying.</p>
4273 InvalidFleetStatus(String),
4274 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
4275 InvalidRequest(String),
4276 /// <p>The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue before retrying.</p>
4277 LimitExceeded(String),
4278 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
4279 NotFound(String),
4280 /// <p>The service is unable to resolve the routing for a particular alias because it has a terminal <a>RoutingStrategy</a> associated with it. The message returned in this exception is the message defined in the routing strategy itself. Such requests should only be retried if the routing strategy for the specified alias is modified. </p>
4281 TerminalRoutingStrategy(String),
4282 /// <p>The client failed authentication. Clients should not retry such requests.</p>
4283 Unauthorized(String),
4284}
4285
4286impl CreateGameSessionError {
4287 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateGameSessionError> {
4288 if let Some(err) = proto::json::Error::parse(&res) {
4289 match err.typ.as_str() {
4290 "ConflictException" => {
4291 return RusotoError::Service(CreateGameSessionError::Conflict(err.msg))
4292 }
4293 "FleetCapacityExceededException" => {
4294 return RusotoError::Service(CreateGameSessionError::FleetCapacityExceeded(
4295 err.msg,
4296 ))
4297 }
4298 "IdempotentParameterMismatchException" => {
4299 return RusotoError::Service(
4300 CreateGameSessionError::IdempotentParameterMismatch(err.msg),
4301 )
4302 }
4303 "InternalServiceException" => {
4304 return RusotoError::Service(CreateGameSessionError::InternalService(err.msg))
4305 }
4306 "InvalidFleetStatusException" => {
4307 return RusotoError::Service(CreateGameSessionError::InvalidFleetStatus(
4308 err.msg,
4309 ))
4310 }
4311 "InvalidRequestException" => {
4312 return RusotoError::Service(CreateGameSessionError::InvalidRequest(err.msg))
4313 }
4314 "LimitExceededException" => {
4315 return RusotoError::Service(CreateGameSessionError::LimitExceeded(err.msg))
4316 }
4317 "NotFoundException" => {
4318 return RusotoError::Service(CreateGameSessionError::NotFound(err.msg))
4319 }
4320 "TerminalRoutingStrategyException" => {
4321 return RusotoError::Service(CreateGameSessionError::TerminalRoutingStrategy(
4322 err.msg,
4323 ))
4324 }
4325 "UnauthorizedException" => {
4326 return RusotoError::Service(CreateGameSessionError::Unauthorized(err.msg))
4327 }
4328 "ValidationException" => return RusotoError::Validation(err.msg),
4329 _ => {}
4330 }
4331 }
4332 RusotoError::Unknown(res)
4333 }
4334}
4335impl fmt::Display for CreateGameSessionError {
4336 #[allow(unused_variables)]
4337 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4338 match *self {
4339 CreateGameSessionError::Conflict(ref cause) => write!(f, "{}", cause),
4340 CreateGameSessionError::FleetCapacityExceeded(ref cause) => write!(f, "{}", cause),
4341 CreateGameSessionError::IdempotentParameterMismatch(ref cause) => {
4342 write!(f, "{}", cause)
4343 }
4344 CreateGameSessionError::InternalService(ref cause) => write!(f, "{}", cause),
4345 CreateGameSessionError::InvalidFleetStatus(ref cause) => write!(f, "{}", cause),
4346 CreateGameSessionError::InvalidRequest(ref cause) => write!(f, "{}", cause),
4347 CreateGameSessionError::LimitExceeded(ref cause) => write!(f, "{}", cause),
4348 CreateGameSessionError::NotFound(ref cause) => write!(f, "{}", cause),
4349 CreateGameSessionError::TerminalRoutingStrategy(ref cause) => write!(f, "{}", cause),
4350 CreateGameSessionError::Unauthorized(ref cause) => write!(f, "{}", cause),
4351 }
4352 }
4353}
4354impl Error for CreateGameSessionError {}
4355/// Errors returned by CreateGameSessionQueue
4356#[derive(Debug, PartialEq)]
4357pub enum CreateGameSessionQueueError {
4358 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
4359 InternalService(String),
4360 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
4361 InvalidRequest(String),
4362 /// <p>The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue before retrying.</p>
4363 LimitExceeded(String),
4364 /// <p> The requested tagging operation did not succeed. This may be due to invalid tag format or the maximum tag limit may have been exceeded. Resolve the issue before retrying. </p>
4365 TaggingFailed(String),
4366 /// <p>The client failed authentication. Clients should not retry such requests.</p>
4367 Unauthorized(String),
4368}
4369
4370impl CreateGameSessionQueueError {
4371 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateGameSessionQueueError> {
4372 if let Some(err) = proto::json::Error::parse(&res) {
4373 match err.typ.as_str() {
4374 "InternalServiceException" => {
4375 return RusotoError::Service(CreateGameSessionQueueError::InternalService(
4376 err.msg,
4377 ))
4378 }
4379 "InvalidRequestException" => {
4380 return RusotoError::Service(CreateGameSessionQueueError::InvalidRequest(
4381 err.msg,
4382 ))
4383 }
4384 "LimitExceededException" => {
4385 return RusotoError::Service(CreateGameSessionQueueError::LimitExceeded(
4386 err.msg,
4387 ))
4388 }
4389 "TaggingFailedException" => {
4390 return RusotoError::Service(CreateGameSessionQueueError::TaggingFailed(
4391 err.msg,
4392 ))
4393 }
4394 "UnauthorizedException" => {
4395 return RusotoError::Service(CreateGameSessionQueueError::Unauthorized(err.msg))
4396 }
4397 "ValidationException" => return RusotoError::Validation(err.msg),
4398 _ => {}
4399 }
4400 }
4401 RusotoError::Unknown(res)
4402 }
4403}
4404impl fmt::Display for CreateGameSessionQueueError {
4405 #[allow(unused_variables)]
4406 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4407 match *self {
4408 CreateGameSessionQueueError::InternalService(ref cause) => write!(f, "{}", cause),
4409 CreateGameSessionQueueError::InvalidRequest(ref cause) => write!(f, "{}", cause),
4410 CreateGameSessionQueueError::LimitExceeded(ref cause) => write!(f, "{}", cause),
4411 CreateGameSessionQueueError::TaggingFailed(ref cause) => write!(f, "{}", cause),
4412 CreateGameSessionQueueError::Unauthorized(ref cause) => write!(f, "{}", cause),
4413 }
4414 }
4415}
4416impl Error for CreateGameSessionQueueError {}
4417/// Errors returned by CreateMatchmakingConfiguration
4418#[derive(Debug, PartialEq)]
4419pub enum CreateMatchmakingConfigurationError {
4420 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
4421 InternalService(String),
4422 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
4423 InvalidRequest(String),
4424 /// <p>The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue before retrying.</p>
4425 LimitExceeded(String),
4426 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
4427 NotFound(String),
4428 /// <p> The requested tagging operation did not succeed. This may be due to invalid tag format or the maximum tag limit may have been exceeded. Resolve the issue before retrying. </p>
4429 TaggingFailed(String),
4430 /// <p>The requested operation is not supported in the Region specified.</p>
4431 UnsupportedRegion(String),
4432}
4433
4434impl CreateMatchmakingConfigurationError {
4435 pub fn from_response(
4436 res: BufferedHttpResponse,
4437 ) -> RusotoError<CreateMatchmakingConfigurationError> {
4438 if let Some(err) = proto::json::Error::parse(&res) {
4439 match err.typ.as_str() {
4440 "InternalServiceException" => {
4441 return RusotoError::Service(
4442 CreateMatchmakingConfigurationError::InternalService(err.msg),
4443 )
4444 }
4445 "InvalidRequestException" => {
4446 return RusotoError::Service(
4447 CreateMatchmakingConfigurationError::InvalidRequest(err.msg),
4448 )
4449 }
4450 "LimitExceededException" => {
4451 return RusotoError::Service(
4452 CreateMatchmakingConfigurationError::LimitExceeded(err.msg),
4453 )
4454 }
4455 "NotFoundException" => {
4456 return RusotoError::Service(CreateMatchmakingConfigurationError::NotFound(
4457 err.msg,
4458 ))
4459 }
4460 "TaggingFailedException" => {
4461 return RusotoError::Service(
4462 CreateMatchmakingConfigurationError::TaggingFailed(err.msg),
4463 )
4464 }
4465 "UnsupportedRegionException" => {
4466 return RusotoError::Service(
4467 CreateMatchmakingConfigurationError::UnsupportedRegion(err.msg),
4468 )
4469 }
4470 "ValidationException" => return RusotoError::Validation(err.msg),
4471 _ => {}
4472 }
4473 }
4474 RusotoError::Unknown(res)
4475 }
4476}
4477impl fmt::Display for CreateMatchmakingConfigurationError {
4478 #[allow(unused_variables)]
4479 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4480 match *self {
4481 CreateMatchmakingConfigurationError::InternalService(ref cause) => {
4482 write!(f, "{}", cause)
4483 }
4484 CreateMatchmakingConfigurationError::InvalidRequest(ref cause) => {
4485 write!(f, "{}", cause)
4486 }
4487 CreateMatchmakingConfigurationError::LimitExceeded(ref cause) => write!(f, "{}", cause),
4488 CreateMatchmakingConfigurationError::NotFound(ref cause) => write!(f, "{}", cause),
4489 CreateMatchmakingConfigurationError::TaggingFailed(ref cause) => write!(f, "{}", cause),
4490 CreateMatchmakingConfigurationError::UnsupportedRegion(ref cause) => {
4491 write!(f, "{}", cause)
4492 }
4493 }
4494 }
4495}
4496impl Error for CreateMatchmakingConfigurationError {}
4497/// Errors returned by CreateMatchmakingRuleSet
4498#[derive(Debug, PartialEq)]
4499pub enum CreateMatchmakingRuleSetError {
4500 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
4501 InternalService(String),
4502 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
4503 InvalidRequest(String),
4504 /// <p> The requested tagging operation did not succeed. This may be due to invalid tag format or the maximum tag limit may have been exceeded. Resolve the issue before retrying. </p>
4505 TaggingFailed(String),
4506 /// <p>The requested operation is not supported in the Region specified.</p>
4507 UnsupportedRegion(String),
4508}
4509
4510impl CreateMatchmakingRuleSetError {
4511 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateMatchmakingRuleSetError> {
4512 if let Some(err) = proto::json::Error::parse(&res) {
4513 match err.typ.as_str() {
4514 "InternalServiceException" => {
4515 return RusotoError::Service(CreateMatchmakingRuleSetError::InternalService(
4516 err.msg,
4517 ))
4518 }
4519 "InvalidRequestException" => {
4520 return RusotoError::Service(CreateMatchmakingRuleSetError::InvalidRequest(
4521 err.msg,
4522 ))
4523 }
4524 "TaggingFailedException" => {
4525 return RusotoError::Service(CreateMatchmakingRuleSetError::TaggingFailed(
4526 err.msg,
4527 ))
4528 }
4529 "UnsupportedRegionException" => {
4530 return RusotoError::Service(CreateMatchmakingRuleSetError::UnsupportedRegion(
4531 err.msg,
4532 ))
4533 }
4534 "ValidationException" => return RusotoError::Validation(err.msg),
4535 _ => {}
4536 }
4537 }
4538 RusotoError::Unknown(res)
4539 }
4540}
4541impl fmt::Display for CreateMatchmakingRuleSetError {
4542 #[allow(unused_variables)]
4543 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4544 match *self {
4545 CreateMatchmakingRuleSetError::InternalService(ref cause) => write!(f, "{}", cause),
4546 CreateMatchmakingRuleSetError::InvalidRequest(ref cause) => write!(f, "{}", cause),
4547 CreateMatchmakingRuleSetError::TaggingFailed(ref cause) => write!(f, "{}", cause),
4548 CreateMatchmakingRuleSetError::UnsupportedRegion(ref cause) => write!(f, "{}", cause),
4549 }
4550 }
4551}
4552impl Error for CreateMatchmakingRuleSetError {}
4553/// Errors returned by CreatePlayerSession
4554#[derive(Debug, PartialEq)]
4555pub enum CreatePlayerSessionError {
4556 /// <p>The game instance is currently full and cannot allow the requested player(s) to join. Clients can retry such requests immediately or after a waiting period.</p>
4557 GameSessionFull(String),
4558 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
4559 InternalService(String),
4560 /// <p>The requested operation would cause a conflict with the current state of a resource associated with the request and/or the game instance. Resolve the conflict before retrying.</p>
4561 InvalidGameSessionStatus(String),
4562 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
4563 InvalidRequest(String),
4564 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
4565 NotFound(String),
4566 /// <p>The service is unable to resolve the routing for a particular alias because it has a terminal <a>RoutingStrategy</a> associated with it. The message returned in this exception is the message defined in the routing strategy itself. Such requests should only be retried if the routing strategy for the specified alias is modified. </p>
4567 TerminalRoutingStrategy(String),
4568 /// <p>The client failed authentication. Clients should not retry such requests.</p>
4569 Unauthorized(String),
4570}
4571
4572impl CreatePlayerSessionError {
4573 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreatePlayerSessionError> {
4574 if let Some(err) = proto::json::Error::parse(&res) {
4575 match err.typ.as_str() {
4576 "GameSessionFullException" => {
4577 return RusotoError::Service(CreatePlayerSessionError::GameSessionFull(err.msg))
4578 }
4579 "InternalServiceException" => {
4580 return RusotoError::Service(CreatePlayerSessionError::InternalService(err.msg))
4581 }
4582 "InvalidGameSessionStatusException" => {
4583 return RusotoError::Service(
4584 CreatePlayerSessionError::InvalidGameSessionStatus(err.msg),
4585 )
4586 }
4587 "InvalidRequestException" => {
4588 return RusotoError::Service(CreatePlayerSessionError::InvalidRequest(err.msg))
4589 }
4590 "NotFoundException" => {
4591 return RusotoError::Service(CreatePlayerSessionError::NotFound(err.msg))
4592 }
4593 "TerminalRoutingStrategyException" => {
4594 return RusotoError::Service(CreatePlayerSessionError::TerminalRoutingStrategy(
4595 err.msg,
4596 ))
4597 }
4598 "UnauthorizedException" => {
4599 return RusotoError::Service(CreatePlayerSessionError::Unauthorized(err.msg))
4600 }
4601 "ValidationException" => return RusotoError::Validation(err.msg),
4602 _ => {}
4603 }
4604 }
4605 RusotoError::Unknown(res)
4606 }
4607}
4608impl fmt::Display for CreatePlayerSessionError {
4609 #[allow(unused_variables)]
4610 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4611 match *self {
4612 CreatePlayerSessionError::GameSessionFull(ref cause) => write!(f, "{}", cause),
4613 CreatePlayerSessionError::InternalService(ref cause) => write!(f, "{}", cause),
4614 CreatePlayerSessionError::InvalidGameSessionStatus(ref cause) => write!(f, "{}", cause),
4615 CreatePlayerSessionError::InvalidRequest(ref cause) => write!(f, "{}", cause),
4616 CreatePlayerSessionError::NotFound(ref cause) => write!(f, "{}", cause),
4617 CreatePlayerSessionError::TerminalRoutingStrategy(ref cause) => write!(f, "{}", cause),
4618 CreatePlayerSessionError::Unauthorized(ref cause) => write!(f, "{}", cause),
4619 }
4620 }
4621}
4622impl Error for CreatePlayerSessionError {}
4623/// Errors returned by CreatePlayerSessions
4624#[derive(Debug, PartialEq)]
4625pub enum CreatePlayerSessionsError {
4626 /// <p>The game instance is currently full and cannot allow the requested player(s) to join. Clients can retry such requests immediately or after a waiting period.</p>
4627 GameSessionFull(String),
4628 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
4629 InternalService(String),
4630 /// <p>The requested operation would cause a conflict with the current state of a resource associated with the request and/or the game instance. Resolve the conflict before retrying.</p>
4631 InvalidGameSessionStatus(String),
4632 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
4633 InvalidRequest(String),
4634 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
4635 NotFound(String),
4636 /// <p>The service is unable to resolve the routing for a particular alias because it has a terminal <a>RoutingStrategy</a> associated with it. The message returned in this exception is the message defined in the routing strategy itself. Such requests should only be retried if the routing strategy for the specified alias is modified. </p>
4637 TerminalRoutingStrategy(String),
4638 /// <p>The client failed authentication. Clients should not retry such requests.</p>
4639 Unauthorized(String),
4640}
4641
4642impl CreatePlayerSessionsError {
4643 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreatePlayerSessionsError> {
4644 if let Some(err) = proto::json::Error::parse(&res) {
4645 match err.typ.as_str() {
4646 "GameSessionFullException" => {
4647 return RusotoError::Service(CreatePlayerSessionsError::GameSessionFull(
4648 err.msg,
4649 ))
4650 }
4651 "InternalServiceException" => {
4652 return RusotoError::Service(CreatePlayerSessionsError::InternalService(
4653 err.msg,
4654 ))
4655 }
4656 "InvalidGameSessionStatusException" => {
4657 return RusotoError::Service(
4658 CreatePlayerSessionsError::InvalidGameSessionStatus(err.msg),
4659 )
4660 }
4661 "InvalidRequestException" => {
4662 return RusotoError::Service(CreatePlayerSessionsError::InvalidRequest(err.msg))
4663 }
4664 "NotFoundException" => {
4665 return RusotoError::Service(CreatePlayerSessionsError::NotFound(err.msg))
4666 }
4667 "TerminalRoutingStrategyException" => {
4668 return RusotoError::Service(
4669 CreatePlayerSessionsError::TerminalRoutingStrategy(err.msg),
4670 )
4671 }
4672 "UnauthorizedException" => {
4673 return RusotoError::Service(CreatePlayerSessionsError::Unauthorized(err.msg))
4674 }
4675 "ValidationException" => return RusotoError::Validation(err.msg),
4676 _ => {}
4677 }
4678 }
4679 RusotoError::Unknown(res)
4680 }
4681}
4682impl fmt::Display for CreatePlayerSessionsError {
4683 #[allow(unused_variables)]
4684 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4685 match *self {
4686 CreatePlayerSessionsError::GameSessionFull(ref cause) => write!(f, "{}", cause),
4687 CreatePlayerSessionsError::InternalService(ref cause) => write!(f, "{}", cause),
4688 CreatePlayerSessionsError::InvalidGameSessionStatus(ref cause) => {
4689 write!(f, "{}", cause)
4690 }
4691 CreatePlayerSessionsError::InvalidRequest(ref cause) => write!(f, "{}", cause),
4692 CreatePlayerSessionsError::NotFound(ref cause) => write!(f, "{}", cause),
4693 CreatePlayerSessionsError::TerminalRoutingStrategy(ref cause) => write!(f, "{}", cause),
4694 CreatePlayerSessionsError::Unauthorized(ref cause) => write!(f, "{}", cause),
4695 }
4696 }
4697}
4698impl Error for CreatePlayerSessionsError {}
4699/// Errors returned by CreateScript
4700#[derive(Debug, PartialEq)]
4701pub enum CreateScriptError {
4702 /// <p>The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.</p>
4703 Conflict(String),
4704 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
4705 InternalService(String),
4706 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
4707 InvalidRequest(String),
4708 /// <p> The requested tagging operation did not succeed. This may be due to invalid tag format or the maximum tag limit may have been exceeded. Resolve the issue before retrying. </p>
4709 TaggingFailed(String),
4710 /// <p>The client failed authentication. Clients should not retry such requests.</p>
4711 Unauthorized(String),
4712}
4713
4714impl CreateScriptError {
4715 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateScriptError> {
4716 if let Some(err) = proto::json::Error::parse(&res) {
4717 match err.typ.as_str() {
4718 "ConflictException" => {
4719 return RusotoError::Service(CreateScriptError::Conflict(err.msg))
4720 }
4721 "InternalServiceException" => {
4722 return RusotoError::Service(CreateScriptError::InternalService(err.msg))
4723 }
4724 "InvalidRequestException" => {
4725 return RusotoError::Service(CreateScriptError::InvalidRequest(err.msg))
4726 }
4727 "TaggingFailedException" => {
4728 return RusotoError::Service(CreateScriptError::TaggingFailed(err.msg))
4729 }
4730 "UnauthorizedException" => {
4731 return RusotoError::Service(CreateScriptError::Unauthorized(err.msg))
4732 }
4733 "ValidationException" => return RusotoError::Validation(err.msg),
4734 _ => {}
4735 }
4736 }
4737 RusotoError::Unknown(res)
4738 }
4739}
4740impl fmt::Display for CreateScriptError {
4741 #[allow(unused_variables)]
4742 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4743 match *self {
4744 CreateScriptError::Conflict(ref cause) => write!(f, "{}", cause),
4745 CreateScriptError::InternalService(ref cause) => write!(f, "{}", cause),
4746 CreateScriptError::InvalidRequest(ref cause) => write!(f, "{}", cause),
4747 CreateScriptError::TaggingFailed(ref cause) => write!(f, "{}", cause),
4748 CreateScriptError::Unauthorized(ref cause) => write!(f, "{}", cause),
4749 }
4750 }
4751}
4752impl Error for CreateScriptError {}
4753/// Errors returned by CreateVpcPeeringAuthorization
4754#[derive(Debug, PartialEq)]
4755pub enum CreateVpcPeeringAuthorizationError {
4756 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
4757 InternalService(String),
4758 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
4759 InvalidRequest(String),
4760 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
4761 NotFound(String),
4762 /// <p>The client failed authentication. Clients should not retry such requests.</p>
4763 Unauthorized(String),
4764}
4765
4766impl CreateVpcPeeringAuthorizationError {
4767 pub fn from_response(
4768 res: BufferedHttpResponse,
4769 ) -> RusotoError<CreateVpcPeeringAuthorizationError> {
4770 if let Some(err) = proto::json::Error::parse(&res) {
4771 match err.typ.as_str() {
4772 "InternalServiceException" => {
4773 return RusotoError::Service(
4774 CreateVpcPeeringAuthorizationError::InternalService(err.msg),
4775 )
4776 }
4777 "InvalidRequestException" => {
4778 return RusotoError::Service(
4779 CreateVpcPeeringAuthorizationError::InvalidRequest(err.msg),
4780 )
4781 }
4782 "NotFoundException" => {
4783 return RusotoError::Service(CreateVpcPeeringAuthorizationError::NotFound(
4784 err.msg,
4785 ))
4786 }
4787 "UnauthorizedException" => {
4788 return RusotoError::Service(CreateVpcPeeringAuthorizationError::Unauthorized(
4789 err.msg,
4790 ))
4791 }
4792 "ValidationException" => return RusotoError::Validation(err.msg),
4793 _ => {}
4794 }
4795 }
4796 RusotoError::Unknown(res)
4797 }
4798}
4799impl fmt::Display for CreateVpcPeeringAuthorizationError {
4800 #[allow(unused_variables)]
4801 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4802 match *self {
4803 CreateVpcPeeringAuthorizationError::InternalService(ref cause) => {
4804 write!(f, "{}", cause)
4805 }
4806 CreateVpcPeeringAuthorizationError::InvalidRequest(ref cause) => write!(f, "{}", cause),
4807 CreateVpcPeeringAuthorizationError::NotFound(ref cause) => write!(f, "{}", cause),
4808 CreateVpcPeeringAuthorizationError::Unauthorized(ref cause) => write!(f, "{}", cause),
4809 }
4810 }
4811}
4812impl Error for CreateVpcPeeringAuthorizationError {}
4813/// Errors returned by CreateVpcPeeringConnection
4814#[derive(Debug, PartialEq)]
4815pub enum CreateVpcPeeringConnectionError {
4816 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
4817 InternalService(String),
4818 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
4819 InvalidRequest(String),
4820 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
4821 NotFound(String),
4822 /// <p>The client failed authentication. Clients should not retry such requests.</p>
4823 Unauthorized(String),
4824}
4825
4826impl CreateVpcPeeringConnectionError {
4827 pub fn from_response(
4828 res: BufferedHttpResponse,
4829 ) -> RusotoError<CreateVpcPeeringConnectionError> {
4830 if let Some(err) = proto::json::Error::parse(&res) {
4831 match err.typ.as_str() {
4832 "InternalServiceException" => {
4833 return RusotoError::Service(CreateVpcPeeringConnectionError::InternalService(
4834 err.msg,
4835 ))
4836 }
4837 "InvalidRequestException" => {
4838 return RusotoError::Service(CreateVpcPeeringConnectionError::InvalidRequest(
4839 err.msg,
4840 ))
4841 }
4842 "NotFoundException" => {
4843 return RusotoError::Service(CreateVpcPeeringConnectionError::NotFound(err.msg))
4844 }
4845 "UnauthorizedException" => {
4846 return RusotoError::Service(CreateVpcPeeringConnectionError::Unauthorized(
4847 err.msg,
4848 ))
4849 }
4850 "ValidationException" => return RusotoError::Validation(err.msg),
4851 _ => {}
4852 }
4853 }
4854 RusotoError::Unknown(res)
4855 }
4856}
4857impl fmt::Display for CreateVpcPeeringConnectionError {
4858 #[allow(unused_variables)]
4859 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4860 match *self {
4861 CreateVpcPeeringConnectionError::InternalService(ref cause) => write!(f, "{}", cause),
4862 CreateVpcPeeringConnectionError::InvalidRequest(ref cause) => write!(f, "{}", cause),
4863 CreateVpcPeeringConnectionError::NotFound(ref cause) => write!(f, "{}", cause),
4864 CreateVpcPeeringConnectionError::Unauthorized(ref cause) => write!(f, "{}", cause),
4865 }
4866 }
4867}
4868impl Error for CreateVpcPeeringConnectionError {}
4869/// Errors returned by DeleteAlias
4870#[derive(Debug, PartialEq)]
4871pub enum DeleteAliasError {
4872 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
4873 InternalService(String),
4874 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
4875 InvalidRequest(String),
4876 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
4877 NotFound(String),
4878 /// <p> The requested tagging operation did not succeed. This may be due to invalid tag format or the maximum tag limit may have been exceeded. Resolve the issue before retrying. </p>
4879 TaggingFailed(String),
4880 /// <p>The client failed authentication. Clients should not retry such requests.</p>
4881 Unauthorized(String),
4882}
4883
4884impl DeleteAliasError {
4885 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteAliasError> {
4886 if let Some(err) = proto::json::Error::parse(&res) {
4887 match err.typ.as_str() {
4888 "InternalServiceException" => {
4889 return RusotoError::Service(DeleteAliasError::InternalService(err.msg))
4890 }
4891 "InvalidRequestException" => {
4892 return RusotoError::Service(DeleteAliasError::InvalidRequest(err.msg))
4893 }
4894 "NotFoundException" => {
4895 return RusotoError::Service(DeleteAliasError::NotFound(err.msg))
4896 }
4897 "TaggingFailedException" => {
4898 return RusotoError::Service(DeleteAliasError::TaggingFailed(err.msg))
4899 }
4900 "UnauthorizedException" => {
4901 return RusotoError::Service(DeleteAliasError::Unauthorized(err.msg))
4902 }
4903 "ValidationException" => return RusotoError::Validation(err.msg),
4904 _ => {}
4905 }
4906 }
4907 RusotoError::Unknown(res)
4908 }
4909}
4910impl fmt::Display for DeleteAliasError {
4911 #[allow(unused_variables)]
4912 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4913 match *self {
4914 DeleteAliasError::InternalService(ref cause) => write!(f, "{}", cause),
4915 DeleteAliasError::InvalidRequest(ref cause) => write!(f, "{}", cause),
4916 DeleteAliasError::NotFound(ref cause) => write!(f, "{}", cause),
4917 DeleteAliasError::TaggingFailed(ref cause) => write!(f, "{}", cause),
4918 DeleteAliasError::Unauthorized(ref cause) => write!(f, "{}", cause),
4919 }
4920 }
4921}
4922impl Error for DeleteAliasError {}
4923/// Errors returned by DeleteBuild
4924#[derive(Debug, PartialEq)]
4925pub enum DeleteBuildError {
4926 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
4927 InternalService(String),
4928 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
4929 InvalidRequest(String),
4930 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
4931 NotFound(String),
4932 /// <p> The requested tagging operation did not succeed. This may be due to invalid tag format or the maximum tag limit may have been exceeded. Resolve the issue before retrying. </p>
4933 TaggingFailed(String),
4934 /// <p>The client failed authentication. Clients should not retry such requests.</p>
4935 Unauthorized(String),
4936}
4937
4938impl DeleteBuildError {
4939 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteBuildError> {
4940 if let Some(err) = proto::json::Error::parse(&res) {
4941 match err.typ.as_str() {
4942 "InternalServiceException" => {
4943 return RusotoError::Service(DeleteBuildError::InternalService(err.msg))
4944 }
4945 "InvalidRequestException" => {
4946 return RusotoError::Service(DeleteBuildError::InvalidRequest(err.msg))
4947 }
4948 "NotFoundException" => {
4949 return RusotoError::Service(DeleteBuildError::NotFound(err.msg))
4950 }
4951 "TaggingFailedException" => {
4952 return RusotoError::Service(DeleteBuildError::TaggingFailed(err.msg))
4953 }
4954 "UnauthorizedException" => {
4955 return RusotoError::Service(DeleteBuildError::Unauthorized(err.msg))
4956 }
4957 "ValidationException" => return RusotoError::Validation(err.msg),
4958 _ => {}
4959 }
4960 }
4961 RusotoError::Unknown(res)
4962 }
4963}
4964impl fmt::Display for DeleteBuildError {
4965 #[allow(unused_variables)]
4966 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4967 match *self {
4968 DeleteBuildError::InternalService(ref cause) => write!(f, "{}", cause),
4969 DeleteBuildError::InvalidRequest(ref cause) => write!(f, "{}", cause),
4970 DeleteBuildError::NotFound(ref cause) => write!(f, "{}", cause),
4971 DeleteBuildError::TaggingFailed(ref cause) => write!(f, "{}", cause),
4972 DeleteBuildError::Unauthorized(ref cause) => write!(f, "{}", cause),
4973 }
4974 }
4975}
4976impl Error for DeleteBuildError {}
4977/// Errors returned by DeleteFleet
4978#[derive(Debug, PartialEq)]
4979pub enum DeleteFleetError {
4980 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
4981 InternalService(String),
4982 /// <p>The requested operation would cause a conflict with the current state of a resource associated with the request and/or the fleet. Resolve the conflict before retrying.</p>
4983 InvalidFleetStatus(String),
4984 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
4985 InvalidRequest(String),
4986 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
4987 NotFound(String),
4988 /// <p> The requested tagging operation did not succeed. This may be due to invalid tag format or the maximum tag limit may have been exceeded. Resolve the issue before retrying. </p>
4989 TaggingFailed(String),
4990 /// <p>The client failed authentication. Clients should not retry such requests.</p>
4991 Unauthorized(String),
4992}
4993
4994impl DeleteFleetError {
4995 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteFleetError> {
4996 if let Some(err) = proto::json::Error::parse(&res) {
4997 match err.typ.as_str() {
4998 "InternalServiceException" => {
4999 return RusotoError::Service(DeleteFleetError::InternalService(err.msg))
5000 }
5001 "InvalidFleetStatusException" => {
5002 return RusotoError::Service(DeleteFleetError::InvalidFleetStatus(err.msg))
5003 }
5004 "InvalidRequestException" => {
5005 return RusotoError::Service(DeleteFleetError::InvalidRequest(err.msg))
5006 }
5007 "NotFoundException" => {
5008 return RusotoError::Service(DeleteFleetError::NotFound(err.msg))
5009 }
5010 "TaggingFailedException" => {
5011 return RusotoError::Service(DeleteFleetError::TaggingFailed(err.msg))
5012 }
5013 "UnauthorizedException" => {
5014 return RusotoError::Service(DeleteFleetError::Unauthorized(err.msg))
5015 }
5016 "ValidationException" => return RusotoError::Validation(err.msg),
5017 _ => {}
5018 }
5019 }
5020 RusotoError::Unknown(res)
5021 }
5022}
5023impl fmt::Display for DeleteFleetError {
5024 #[allow(unused_variables)]
5025 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5026 match *self {
5027 DeleteFleetError::InternalService(ref cause) => write!(f, "{}", cause),
5028 DeleteFleetError::InvalidFleetStatus(ref cause) => write!(f, "{}", cause),
5029 DeleteFleetError::InvalidRequest(ref cause) => write!(f, "{}", cause),
5030 DeleteFleetError::NotFound(ref cause) => write!(f, "{}", cause),
5031 DeleteFleetError::TaggingFailed(ref cause) => write!(f, "{}", cause),
5032 DeleteFleetError::Unauthorized(ref cause) => write!(f, "{}", cause),
5033 }
5034 }
5035}
5036impl Error for DeleteFleetError {}
5037/// Errors returned by DeleteGameServerGroup
5038#[derive(Debug, PartialEq)]
5039pub enum DeleteGameServerGroupError {
5040 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
5041 InternalService(String),
5042 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
5043 InvalidRequest(String),
5044 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
5045 NotFound(String),
5046 /// <p>The client failed authentication. Clients should not retry such requests.</p>
5047 Unauthorized(String),
5048}
5049
5050impl DeleteGameServerGroupError {
5051 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteGameServerGroupError> {
5052 if let Some(err) = proto::json::Error::parse(&res) {
5053 match err.typ.as_str() {
5054 "InternalServiceException" => {
5055 return RusotoError::Service(DeleteGameServerGroupError::InternalService(
5056 err.msg,
5057 ))
5058 }
5059 "InvalidRequestException" => {
5060 return RusotoError::Service(DeleteGameServerGroupError::InvalidRequest(
5061 err.msg,
5062 ))
5063 }
5064 "NotFoundException" => {
5065 return RusotoError::Service(DeleteGameServerGroupError::NotFound(err.msg))
5066 }
5067 "UnauthorizedException" => {
5068 return RusotoError::Service(DeleteGameServerGroupError::Unauthorized(err.msg))
5069 }
5070 "ValidationException" => return RusotoError::Validation(err.msg),
5071 _ => {}
5072 }
5073 }
5074 RusotoError::Unknown(res)
5075 }
5076}
5077impl fmt::Display for DeleteGameServerGroupError {
5078 #[allow(unused_variables)]
5079 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5080 match *self {
5081 DeleteGameServerGroupError::InternalService(ref cause) => write!(f, "{}", cause),
5082 DeleteGameServerGroupError::InvalidRequest(ref cause) => write!(f, "{}", cause),
5083 DeleteGameServerGroupError::NotFound(ref cause) => write!(f, "{}", cause),
5084 DeleteGameServerGroupError::Unauthorized(ref cause) => write!(f, "{}", cause),
5085 }
5086 }
5087}
5088impl Error for DeleteGameServerGroupError {}
5089/// Errors returned by DeleteGameSessionQueue
5090#[derive(Debug, PartialEq)]
5091pub enum DeleteGameSessionQueueError {
5092 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
5093 InternalService(String),
5094 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
5095 InvalidRequest(String),
5096 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
5097 NotFound(String),
5098 /// <p> The requested tagging operation did not succeed. This may be due to invalid tag format or the maximum tag limit may have been exceeded. Resolve the issue before retrying. </p>
5099 TaggingFailed(String),
5100 /// <p>The client failed authentication. Clients should not retry such requests.</p>
5101 Unauthorized(String),
5102}
5103
5104impl DeleteGameSessionQueueError {
5105 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteGameSessionQueueError> {
5106 if let Some(err) = proto::json::Error::parse(&res) {
5107 match err.typ.as_str() {
5108 "InternalServiceException" => {
5109 return RusotoError::Service(DeleteGameSessionQueueError::InternalService(
5110 err.msg,
5111 ))
5112 }
5113 "InvalidRequestException" => {
5114 return RusotoError::Service(DeleteGameSessionQueueError::InvalidRequest(
5115 err.msg,
5116 ))
5117 }
5118 "NotFoundException" => {
5119 return RusotoError::Service(DeleteGameSessionQueueError::NotFound(err.msg))
5120 }
5121 "TaggingFailedException" => {
5122 return RusotoError::Service(DeleteGameSessionQueueError::TaggingFailed(
5123 err.msg,
5124 ))
5125 }
5126 "UnauthorizedException" => {
5127 return RusotoError::Service(DeleteGameSessionQueueError::Unauthorized(err.msg))
5128 }
5129 "ValidationException" => return RusotoError::Validation(err.msg),
5130 _ => {}
5131 }
5132 }
5133 RusotoError::Unknown(res)
5134 }
5135}
5136impl fmt::Display for DeleteGameSessionQueueError {
5137 #[allow(unused_variables)]
5138 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5139 match *self {
5140 DeleteGameSessionQueueError::InternalService(ref cause) => write!(f, "{}", cause),
5141 DeleteGameSessionQueueError::InvalidRequest(ref cause) => write!(f, "{}", cause),
5142 DeleteGameSessionQueueError::NotFound(ref cause) => write!(f, "{}", cause),
5143 DeleteGameSessionQueueError::TaggingFailed(ref cause) => write!(f, "{}", cause),
5144 DeleteGameSessionQueueError::Unauthorized(ref cause) => write!(f, "{}", cause),
5145 }
5146 }
5147}
5148impl Error for DeleteGameSessionQueueError {}
5149/// Errors returned by DeleteMatchmakingConfiguration
5150#[derive(Debug, PartialEq)]
5151pub enum DeleteMatchmakingConfigurationError {
5152 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
5153 InternalService(String),
5154 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
5155 InvalidRequest(String),
5156 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
5157 NotFound(String),
5158 /// <p> The requested tagging operation did not succeed. This may be due to invalid tag format or the maximum tag limit may have been exceeded. Resolve the issue before retrying. </p>
5159 TaggingFailed(String),
5160 /// <p>The requested operation is not supported in the Region specified.</p>
5161 UnsupportedRegion(String),
5162}
5163
5164impl DeleteMatchmakingConfigurationError {
5165 pub fn from_response(
5166 res: BufferedHttpResponse,
5167 ) -> RusotoError<DeleteMatchmakingConfigurationError> {
5168 if let Some(err) = proto::json::Error::parse(&res) {
5169 match err.typ.as_str() {
5170 "InternalServiceException" => {
5171 return RusotoError::Service(
5172 DeleteMatchmakingConfigurationError::InternalService(err.msg),
5173 )
5174 }
5175 "InvalidRequestException" => {
5176 return RusotoError::Service(
5177 DeleteMatchmakingConfigurationError::InvalidRequest(err.msg),
5178 )
5179 }
5180 "NotFoundException" => {
5181 return RusotoError::Service(DeleteMatchmakingConfigurationError::NotFound(
5182 err.msg,
5183 ))
5184 }
5185 "TaggingFailedException" => {
5186 return RusotoError::Service(
5187 DeleteMatchmakingConfigurationError::TaggingFailed(err.msg),
5188 )
5189 }
5190 "UnsupportedRegionException" => {
5191 return RusotoError::Service(
5192 DeleteMatchmakingConfigurationError::UnsupportedRegion(err.msg),
5193 )
5194 }
5195 "ValidationException" => return RusotoError::Validation(err.msg),
5196 _ => {}
5197 }
5198 }
5199 RusotoError::Unknown(res)
5200 }
5201}
5202impl fmt::Display for DeleteMatchmakingConfigurationError {
5203 #[allow(unused_variables)]
5204 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5205 match *self {
5206 DeleteMatchmakingConfigurationError::InternalService(ref cause) => {
5207 write!(f, "{}", cause)
5208 }
5209 DeleteMatchmakingConfigurationError::InvalidRequest(ref cause) => {
5210 write!(f, "{}", cause)
5211 }
5212 DeleteMatchmakingConfigurationError::NotFound(ref cause) => write!(f, "{}", cause),
5213 DeleteMatchmakingConfigurationError::TaggingFailed(ref cause) => write!(f, "{}", cause),
5214 DeleteMatchmakingConfigurationError::UnsupportedRegion(ref cause) => {
5215 write!(f, "{}", cause)
5216 }
5217 }
5218 }
5219}
5220impl Error for DeleteMatchmakingConfigurationError {}
5221/// Errors returned by DeleteMatchmakingRuleSet
5222#[derive(Debug, PartialEq)]
5223pub enum DeleteMatchmakingRuleSetError {
5224 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
5225 InternalService(String),
5226 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
5227 InvalidRequest(String),
5228 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
5229 NotFound(String),
5230 /// <p> The requested tagging operation did not succeed. This may be due to invalid tag format or the maximum tag limit may have been exceeded. Resolve the issue before retrying. </p>
5231 TaggingFailed(String),
5232 /// <p>The requested operation is not supported in the Region specified.</p>
5233 UnsupportedRegion(String),
5234}
5235
5236impl DeleteMatchmakingRuleSetError {
5237 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteMatchmakingRuleSetError> {
5238 if let Some(err) = proto::json::Error::parse(&res) {
5239 match err.typ.as_str() {
5240 "InternalServiceException" => {
5241 return RusotoError::Service(DeleteMatchmakingRuleSetError::InternalService(
5242 err.msg,
5243 ))
5244 }
5245 "InvalidRequestException" => {
5246 return RusotoError::Service(DeleteMatchmakingRuleSetError::InvalidRequest(
5247 err.msg,
5248 ))
5249 }
5250 "NotFoundException" => {
5251 return RusotoError::Service(DeleteMatchmakingRuleSetError::NotFound(err.msg))
5252 }
5253 "TaggingFailedException" => {
5254 return RusotoError::Service(DeleteMatchmakingRuleSetError::TaggingFailed(
5255 err.msg,
5256 ))
5257 }
5258 "UnsupportedRegionException" => {
5259 return RusotoError::Service(DeleteMatchmakingRuleSetError::UnsupportedRegion(
5260 err.msg,
5261 ))
5262 }
5263 "ValidationException" => return RusotoError::Validation(err.msg),
5264 _ => {}
5265 }
5266 }
5267 RusotoError::Unknown(res)
5268 }
5269}
5270impl fmt::Display for DeleteMatchmakingRuleSetError {
5271 #[allow(unused_variables)]
5272 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5273 match *self {
5274 DeleteMatchmakingRuleSetError::InternalService(ref cause) => write!(f, "{}", cause),
5275 DeleteMatchmakingRuleSetError::InvalidRequest(ref cause) => write!(f, "{}", cause),
5276 DeleteMatchmakingRuleSetError::NotFound(ref cause) => write!(f, "{}", cause),
5277 DeleteMatchmakingRuleSetError::TaggingFailed(ref cause) => write!(f, "{}", cause),
5278 DeleteMatchmakingRuleSetError::UnsupportedRegion(ref cause) => write!(f, "{}", cause),
5279 }
5280 }
5281}
5282impl Error for DeleteMatchmakingRuleSetError {}
5283/// Errors returned by DeleteScalingPolicy
5284#[derive(Debug, PartialEq)]
5285pub enum DeleteScalingPolicyError {
5286 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
5287 InternalService(String),
5288 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
5289 InvalidRequest(String),
5290 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
5291 NotFound(String),
5292 /// <p>The client failed authentication. Clients should not retry such requests.</p>
5293 Unauthorized(String),
5294}
5295
5296impl DeleteScalingPolicyError {
5297 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteScalingPolicyError> {
5298 if let Some(err) = proto::json::Error::parse(&res) {
5299 match err.typ.as_str() {
5300 "InternalServiceException" => {
5301 return RusotoError::Service(DeleteScalingPolicyError::InternalService(err.msg))
5302 }
5303 "InvalidRequestException" => {
5304 return RusotoError::Service(DeleteScalingPolicyError::InvalidRequest(err.msg))
5305 }
5306 "NotFoundException" => {
5307 return RusotoError::Service(DeleteScalingPolicyError::NotFound(err.msg))
5308 }
5309 "UnauthorizedException" => {
5310 return RusotoError::Service(DeleteScalingPolicyError::Unauthorized(err.msg))
5311 }
5312 "ValidationException" => return RusotoError::Validation(err.msg),
5313 _ => {}
5314 }
5315 }
5316 RusotoError::Unknown(res)
5317 }
5318}
5319impl fmt::Display for DeleteScalingPolicyError {
5320 #[allow(unused_variables)]
5321 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5322 match *self {
5323 DeleteScalingPolicyError::InternalService(ref cause) => write!(f, "{}", cause),
5324 DeleteScalingPolicyError::InvalidRequest(ref cause) => write!(f, "{}", cause),
5325 DeleteScalingPolicyError::NotFound(ref cause) => write!(f, "{}", cause),
5326 DeleteScalingPolicyError::Unauthorized(ref cause) => write!(f, "{}", cause),
5327 }
5328 }
5329}
5330impl Error for DeleteScalingPolicyError {}
5331/// Errors returned by DeleteScript
5332#[derive(Debug, PartialEq)]
5333pub enum DeleteScriptError {
5334 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
5335 InternalService(String),
5336 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
5337 InvalidRequest(String),
5338 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
5339 NotFound(String),
5340 /// <p> The requested tagging operation did not succeed. This may be due to invalid tag format or the maximum tag limit may have been exceeded. Resolve the issue before retrying. </p>
5341 TaggingFailed(String),
5342 /// <p>The client failed authentication. Clients should not retry such requests.</p>
5343 Unauthorized(String),
5344}
5345
5346impl DeleteScriptError {
5347 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteScriptError> {
5348 if let Some(err) = proto::json::Error::parse(&res) {
5349 match err.typ.as_str() {
5350 "InternalServiceException" => {
5351 return RusotoError::Service(DeleteScriptError::InternalService(err.msg))
5352 }
5353 "InvalidRequestException" => {
5354 return RusotoError::Service(DeleteScriptError::InvalidRequest(err.msg))
5355 }
5356 "NotFoundException" => {
5357 return RusotoError::Service(DeleteScriptError::NotFound(err.msg))
5358 }
5359 "TaggingFailedException" => {
5360 return RusotoError::Service(DeleteScriptError::TaggingFailed(err.msg))
5361 }
5362 "UnauthorizedException" => {
5363 return RusotoError::Service(DeleteScriptError::Unauthorized(err.msg))
5364 }
5365 "ValidationException" => return RusotoError::Validation(err.msg),
5366 _ => {}
5367 }
5368 }
5369 RusotoError::Unknown(res)
5370 }
5371}
5372impl fmt::Display for DeleteScriptError {
5373 #[allow(unused_variables)]
5374 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5375 match *self {
5376 DeleteScriptError::InternalService(ref cause) => write!(f, "{}", cause),
5377 DeleteScriptError::InvalidRequest(ref cause) => write!(f, "{}", cause),
5378 DeleteScriptError::NotFound(ref cause) => write!(f, "{}", cause),
5379 DeleteScriptError::TaggingFailed(ref cause) => write!(f, "{}", cause),
5380 DeleteScriptError::Unauthorized(ref cause) => write!(f, "{}", cause),
5381 }
5382 }
5383}
5384impl Error for DeleteScriptError {}
5385/// Errors returned by DeleteVpcPeeringAuthorization
5386#[derive(Debug, PartialEq)]
5387pub enum DeleteVpcPeeringAuthorizationError {
5388 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
5389 InternalService(String),
5390 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
5391 InvalidRequest(String),
5392 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
5393 NotFound(String),
5394 /// <p>The client failed authentication. Clients should not retry such requests.</p>
5395 Unauthorized(String),
5396}
5397
5398impl DeleteVpcPeeringAuthorizationError {
5399 pub fn from_response(
5400 res: BufferedHttpResponse,
5401 ) -> RusotoError<DeleteVpcPeeringAuthorizationError> {
5402 if let Some(err) = proto::json::Error::parse(&res) {
5403 match err.typ.as_str() {
5404 "InternalServiceException" => {
5405 return RusotoError::Service(
5406 DeleteVpcPeeringAuthorizationError::InternalService(err.msg),
5407 )
5408 }
5409 "InvalidRequestException" => {
5410 return RusotoError::Service(
5411 DeleteVpcPeeringAuthorizationError::InvalidRequest(err.msg),
5412 )
5413 }
5414 "NotFoundException" => {
5415 return RusotoError::Service(DeleteVpcPeeringAuthorizationError::NotFound(
5416 err.msg,
5417 ))
5418 }
5419 "UnauthorizedException" => {
5420 return RusotoError::Service(DeleteVpcPeeringAuthorizationError::Unauthorized(
5421 err.msg,
5422 ))
5423 }
5424 "ValidationException" => return RusotoError::Validation(err.msg),
5425 _ => {}
5426 }
5427 }
5428 RusotoError::Unknown(res)
5429 }
5430}
5431impl fmt::Display for DeleteVpcPeeringAuthorizationError {
5432 #[allow(unused_variables)]
5433 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5434 match *self {
5435 DeleteVpcPeeringAuthorizationError::InternalService(ref cause) => {
5436 write!(f, "{}", cause)
5437 }
5438 DeleteVpcPeeringAuthorizationError::InvalidRequest(ref cause) => write!(f, "{}", cause),
5439 DeleteVpcPeeringAuthorizationError::NotFound(ref cause) => write!(f, "{}", cause),
5440 DeleteVpcPeeringAuthorizationError::Unauthorized(ref cause) => write!(f, "{}", cause),
5441 }
5442 }
5443}
5444impl Error for DeleteVpcPeeringAuthorizationError {}
5445/// Errors returned by DeleteVpcPeeringConnection
5446#[derive(Debug, PartialEq)]
5447pub enum DeleteVpcPeeringConnectionError {
5448 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
5449 InternalService(String),
5450 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
5451 InvalidRequest(String),
5452 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
5453 NotFound(String),
5454 /// <p>The client failed authentication. Clients should not retry such requests.</p>
5455 Unauthorized(String),
5456}
5457
5458impl DeleteVpcPeeringConnectionError {
5459 pub fn from_response(
5460 res: BufferedHttpResponse,
5461 ) -> RusotoError<DeleteVpcPeeringConnectionError> {
5462 if let Some(err) = proto::json::Error::parse(&res) {
5463 match err.typ.as_str() {
5464 "InternalServiceException" => {
5465 return RusotoError::Service(DeleteVpcPeeringConnectionError::InternalService(
5466 err.msg,
5467 ))
5468 }
5469 "InvalidRequestException" => {
5470 return RusotoError::Service(DeleteVpcPeeringConnectionError::InvalidRequest(
5471 err.msg,
5472 ))
5473 }
5474 "NotFoundException" => {
5475 return RusotoError::Service(DeleteVpcPeeringConnectionError::NotFound(err.msg))
5476 }
5477 "UnauthorizedException" => {
5478 return RusotoError::Service(DeleteVpcPeeringConnectionError::Unauthorized(
5479 err.msg,
5480 ))
5481 }
5482 "ValidationException" => return RusotoError::Validation(err.msg),
5483 _ => {}
5484 }
5485 }
5486 RusotoError::Unknown(res)
5487 }
5488}
5489impl fmt::Display for DeleteVpcPeeringConnectionError {
5490 #[allow(unused_variables)]
5491 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5492 match *self {
5493 DeleteVpcPeeringConnectionError::InternalService(ref cause) => write!(f, "{}", cause),
5494 DeleteVpcPeeringConnectionError::InvalidRequest(ref cause) => write!(f, "{}", cause),
5495 DeleteVpcPeeringConnectionError::NotFound(ref cause) => write!(f, "{}", cause),
5496 DeleteVpcPeeringConnectionError::Unauthorized(ref cause) => write!(f, "{}", cause),
5497 }
5498 }
5499}
5500impl Error for DeleteVpcPeeringConnectionError {}
5501/// Errors returned by DeregisterGameServer
5502#[derive(Debug, PartialEq)]
5503pub enum DeregisterGameServerError {
5504 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
5505 InternalService(String),
5506 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
5507 InvalidRequest(String),
5508 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
5509 NotFound(String),
5510 /// <p>The client failed authentication. Clients should not retry such requests.</p>
5511 Unauthorized(String),
5512}
5513
5514impl DeregisterGameServerError {
5515 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeregisterGameServerError> {
5516 if let Some(err) = proto::json::Error::parse(&res) {
5517 match err.typ.as_str() {
5518 "InternalServiceException" => {
5519 return RusotoError::Service(DeregisterGameServerError::InternalService(
5520 err.msg,
5521 ))
5522 }
5523 "InvalidRequestException" => {
5524 return RusotoError::Service(DeregisterGameServerError::InvalidRequest(err.msg))
5525 }
5526 "NotFoundException" => {
5527 return RusotoError::Service(DeregisterGameServerError::NotFound(err.msg))
5528 }
5529 "UnauthorizedException" => {
5530 return RusotoError::Service(DeregisterGameServerError::Unauthorized(err.msg))
5531 }
5532 "ValidationException" => return RusotoError::Validation(err.msg),
5533 _ => {}
5534 }
5535 }
5536 RusotoError::Unknown(res)
5537 }
5538}
5539impl fmt::Display for DeregisterGameServerError {
5540 #[allow(unused_variables)]
5541 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5542 match *self {
5543 DeregisterGameServerError::InternalService(ref cause) => write!(f, "{}", cause),
5544 DeregisterGameServerError::InvalidRequest(ref cause) => write!(f, "{}", cause),
5545 DeregisterGameServerError::NotFound(ref cause) => write!(f, "{}", cause),
5546 DeregisterGameServerError::Unauthorized(ref cause) => write!(f, "{}", cause),
5547 }
5548 }
5549}
5550impl Error for DeregisterGameServerError {}
5551/// Errors returned by DescribeAlias
5552#[derive(Debug, PartialEq)]
5553pub enum DescribeAliasError {
5554 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
5555 InternalService(String),
5556 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
5557 InvalidRequest(String),
5558 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
5559 NotFound(String),
5560 /// <p>The client failed authentication. Clients should not retry such requests.</p>
5561 Unauthorized(String),
5562}
5563
5564impl DescribeAliasError {
5565 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeAliasError> {
5566 if let Some(err) = proto::json::Error::parse(&res) {
5567 match err.typ.as_str() {
5568 "InternalServiceException" => {
5569 return RusotoError::Service(DescribeAliasError::InternalService(err.msg))
5570 }
5571 "InvalidRequestException" => {
5572 return RusotoError::Service(DescribeAliasError::InvalidRequest(err.msg))
5573 }
5574 "NotFoundException" => {
5575 return RusotoError::Service(DescribeAliasError::NotFound(err.msg))
5576 }
5577 "UnauthorizedException" => {
5578 return RusotoError::Service(DescribeAliasError::Unauthorized(err.msg))
5579 }
5580 "ValidationException" => return RusotoError::Validation(err.msg),
5581 _ => {}
5582 }
5583 }
5584 RusotoError::Unknown(res)
5585 }
5586}
5587impl fmt::Display for DescribeAliasError {
5588 #[allow(unused_variables)]
5589 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5590 match *self {
5591 DescribeAliasError::InternalService(ref cause) => write!(f, "{}", cause),
5592 DescribeAliasError::InvalidRequest(ref cause) => write!(f, "{}", cause),
5593 DescribeAliasError::NotFound(ref cause) => write!(f, "{}", cause),
5594 DescribeAliasError::Unauthorized(ref cause) => write!(f, "{}", cause),
5595 }
5596 }
5597}
5598impl Error for DescribeAliasError {}
5599/// Errors returned by DescribeBuild
5600#[derive(Debug, PartialEq)]
5601pub enum DescribeBuildError {
5602 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
5603 InternalService(String),
5604 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
5605 InvalidRequest(String),
5606 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
5607 NotFound(String),
5608 /// <p>The client failed authentication. Clients should not retry such requests.</p>
5609 Unauthorized(String),
5610}
5611
5612impl DescribeBuildError {
5613 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeBuildError> {
5614 if let Some(err) = proto::json::Error::parse(&res) {
5615 match err.typ.as_str() {
5616 "InternalServiceException" => {
5617 return RusotoError::Service(DescribeBuildError::InternalService(err.msg))
5618 }
5619 "InvalidRequestException" => {
5620 return RusotoError::Service(DescribeBuildError::InvalidRequest(err.msg))
5621 }
5622 "NotFoundException" => {
5623 return RusotoError::Service(DescribeBuildError::NotFound(err.msg))
5624 }
5625 "UnauthorizedException" => {
5626 return RusotoError::Service(DescribeBuildError::Unauthorized(err.msg))
5627 }
5628 "ValidationException" => return RusotoError::Validation(err.msg),
5629 _ => {}
5630 }
5631 }
5632 RusotoError::Unknown(res)
5633 }
5634}
5635impl fmt::Display for DescribeBuildError {
5636 #[allow(unused_variables)]
5637 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5638 match *self {
5639 DescribeBuildError::InternalService(ref cause) => write!(f, "{}", cause),
5640 DescribeBuildError::InvalidRequest(ref cause) => write!(f, "{}", cause),
5641 DescribeBuildError::NotFound(ref cause) => write!(f, "{}", cause),
5642 DescribeBuildError::Unauthorized(ref cause) => write!(f, "{}", cause),
5643 }
5644 }
5645}
5646impl Error for DescribeBuildError {}
5647/// Errors returned by DescribeEC2InstanceLimits
5648#[derive(Debug, PartialEq)]
5649pub enum DescribeEC2InstanceLimitsError {
5650 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
5651 InternalService(String),
5652 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
5653 InvalidRequest(String),
5654 /// <p>The client failed authentication. Clients should not retry such requests.</p>
5655 Unauthorized(String),
5656}
5657
5658impl DescribeEC2InstanceLimitsError {
5659 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeEC2InstanceLimitsError> {
5660 if let Some(err) = proto::json::Error::parse(&res) {
5661 match err.typ.as_str() {
5662 "InternalServiceException" => {
5663 return RusotoError::Service(DescribeEC2InstanceLimitsError::InternalService(
5664 err.msg,
5665 ))
5666 }
5667 "InvalidRequestException" => {
5668 return RusotoError::Service(DescribeEC2InstanceLimitsError::InvalidRequest(
5669 err.msg,
5670 ))
5671 }
5672 "UnauthorizedException" => {
5673 return RusotoError::Service(DescribeEC2InstanceLimitsError::Unauthorized(
5674 err.msg,
5675 ))
5676 }
5677 "ValidationException" => return RusotoError::Validation(err.msg),
5678 _ => {}
5679 }
5680 }
5681 RusotoError::Unknown(res)
5682 }
5683}
5684impl fmt::Display for DescribeEC2InstanceLimitsError {
5685 #[allow(unused_variables)]
5686 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5687 match *self {
5688 DescribeEC2InstanceLimitsError::InternalService(ref cause) => write!(f, "{}", cause),
5689 DescribeEC2InstanceLimitsError::InvalidRequest(ref cause) => write!(f, "{}", cause),
5690 DescribeEC2InstanceLimitsError::Unauthorized(ref cause) => write!(f, "{}", cause),
5691 }
5692 }
5693}
5694impl Error for DescribeEC2InstanceLimitsError {}
5695/// Errors returned by DescribeFleetAttributes
5696#[derive(Debug, PartialEq)]
5697pub enum DescribeFleetAttributesError {
5698 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
5699 InternalService(String),
5700 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
5701 InvalidRequest(String),
5702 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
5703 NotFound(String),
5704 /// <p>The client failed authentication. Clients should not retry such requests.</p>
5705 Unauthorized(String),
5706}
5707
5708impl DescribeFleetAttributesError {
5709 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeFleetAttributesError> {
5710 if let Some(err) = proto::json::Error::parse(&res) {
5711 match err.typ.as_str() {
5712 "InternalServiceException" => {
5713 return RusotoError::Service(DescribeFleetAttributesError::InternalService(
5714 err.msg,
5715 ))
5716 }
5717 "InvalidRequestException" => {
5718 return RusotoError::Service(DescribeFleetAttributesError::InvalidRequest(
5719 err.msg,
5720 ))
5721 }
5722 "NotFoundException" => {
5723 return RusotoError::Service(DescribeFleetAttributesError::NotFound(err.msg))
5724 }
5725 "UnauthorizedException" => {
5726 return RusotoError::Service(DescribeFleetAttributesError::Unauthorized(
5727 err.msg,
5728 ))
5729 }
5730 "ValidationException" => return RusotoError::Validation(err.msg),
5731 _ => {}
5732 }
5733 }
5734 RusotoError::Unknown(res)
5735 }
5736}
5737impl fmt::Display for DescribeFleetAttributesError {
5738 #[allow(unused_variables)]
5739 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5740 match *self {
5741 DescribeFleetAttributesError::InternalService(ref cause) => write!(f, "{}", cause),
5742 DescribeFleetAttributesError::InvalidRequest(ref cause) => write!(f, "{}", cause),
5743 DescribeFleetAttributesError::NotFound(ref cause) => write!(f, "{}", cause),
5744 DescribeFleetAttributesError::Unauthorized(ref cause) => write!(f, "{}", cause),
5745 }
5746 }
5747}
5748impl Error for DescribeFleetAttributesError {}
5749/// Errors returned by DescribeFleetCapacity
5750#[derive(Debug, PartialEq)]
5751pub enum DescribeFleetCapacityError {
5752 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
5753 InternalService(String),
5754 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
5755 InvalidRequest(String),
5756 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
5757 NotFound(String),
5758 /// <p>The client failed authentication. Clients should not retry such requests.</p>
5759 Unauthorized(String),
5760}
5761
5762impl DescribeFleetCapacityError {
5763 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeFleetCapacityError> {
5764 if let Some(err) = proto::json::Error::parse(&res) {
5765 match err.typ.as_str() {
5766 "InternalServiceException" => {
5767 return RusotoError::Service(DescribeFleetCapacityError::InternalService(
5768 err.msg,
5769 ))
5770 }
5771 "InvalidRequestException" => {
5772 return RusotoError::Service(DescribeFleetCapacityError::InvalidRequest(
5773 err.msg,
5774 ))
5775 }
5776 "NotFoundException" => {
5777 return RusotoError::Service(DescribeFleetCapacityError::NotFound(err.msg))
5778 }
5779 "UnauthorizedException" => {
5780 return RusotoError::Service(DescribeFleetCapacityError::Unauthorized(err.msg))
5781 }
5782 "ValidationException" => return RusotoError::Validation(err.msg),
5783 _ => {}
5784 }
5785 }
5786 RusotoError::Unknown(res)
5787 }
5788}
5789impl fmt::Display for DescribeFleetCapacityError {
5790 #[allow(unused_variables)]
5791 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5792 match *self {
5793 DescribeFleetCapacityError::InternalService(ref cause) => write!(f, "{}", cause),
5794 DescribeFleetCapacityError::InvalidRequest(ref cause) => write!(f, "{}", cause),
5795 DescribeFleetCapacityError::NotFound(ref cause) => write!(f, "{}", cause),
5796 DescribeFleetCapacityError::Unauthorized(ref cause) => write!(f, "{}", cause),
5797 }
5798 }
5799}
5800impl Error for DescribeFleetCapacityError {}
5801/// Errors returned by DescribeFleetEvents
5802#[derive(Debug, PartialEq)]
5803pub enum DescribeFleetEventsError {
5804 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
5805 InternalService(String),
5806 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
5807 InvalidRequest(String),
5808 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
5809 NotFound(String),
5810 /// <p>The client failed authentication. Clients should not retry such requests.</p>
5811 Unauthorized(String),
5812}
5813
5814impl DescribeFleetEventsError {
5815 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeFleetEventsError> {
5816 if let Some(err) = proto::json::Error::parse(&res) {
5817 match err.typ.as_str() {
5818 "InternalServiceException" => {
5819 return RusotoError::Service(DescribeFleetEventsError::InternalService(err.msg))
5820 }
5821 "InvalidRequestException" => {
5822 return RusotoError::Service(DescribeFleetEventsError::InvalidRequest(err.msg))
5823 }
5824 "NotFoundException" => {
5825 return RusotoError::Service(DescribeFleetEventsError::NotFound(err.msg))
5826 }
5827 "UnauthorizedException" => {
5828 return RusotoError::Service(DescribeFleetEventsError::Unauthorized(err.msg))
5829 }
5830 "ValidationException" => return RusotoError::Validation(err.msg),
5831 _ => {}
5832 }
5833 }
5834 RusotoError::Unknown(res)
5835 }
5836}
5837impl fmt::Display for DescribeFleetEventsError {
5838 #[allow(unused_variables)]
5839 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5840 match *self {
5841 DescribeFleetEventsError::InternalService(ref cause) => write!(f, "{}", cause),
5842 DescribeFleetEventsError::InvalidRequest(ref cause) => write!(f, "{}", cause),
5843 DescribeFleetEventsError::NotFound(ref cause) => write!(f, "{}", cause),
5844 DescribeFleetEventsError::Unauthorized(ref cause) => write!(f, "{}", cause),
5845 }
5846 }
5847}
5848impl Error for DescribeFleetEventsError {}
5849/// Errors returned by DescribeFleetPortSettings
5850#[derive(Debug, PartialEq)]
5851pub enum DescribeFleetPortSettingsError {
5852 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
5853 InternalService(String),
5854 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
5855 InvalidRequest(String),
5856 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
5857 NotFound(String),
5858 /// <p>The client failed authentication. Clients should not retry such requests.</p>
5859 Unauthorized(String),
5860}
5861
5862impl DescribeFleetPortSettingsError {
5863 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeFleetPortSettingsError> {
5864 if let Some(err) = proto::json::Error::parse(&res) {
5865 match err.typ.as_str() {
5866 "InternalServiceException" => {
5867 return RusotoError::Service(DescribeFleetPortSettingsError::InternalService(
5868 err.msg,
5869 ))
5870 }
5871 "InvalidRequestException" => {
5872 return RusotoError::Service(DescribeFleetPortSettingsError::InvalidRequest(
5873 err.msg,
5874 ))
5875 }
5876 "NotFoundException" => {
5877 return RusotoError::Service(DescribeFleetPortSettingsError::NotFound(err.msg))
5878 }
5879 "UnauthorizedException" => {
5880 return RusotoError::Service(DescribeFleetPortSettingsError::Unauthorized(
5881 err.msg,
5882 ))
5883 }
5884 "ValidationException" => return RusotoError::Validation(err.msg),
5885 _ => {}
5886 }
5887 }
5888 RusotoError::Unknown(res)
5889 }
5890}
5891impl fmt::Display for DescribeFleetPortSettingsError {
5892 #[allow(unused_variables)]
5893 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5894 match *self {
5895 DescribeFleetPortSettingsError::InternalService(ref cause) => write!(f, "{}", cause),
5896 DescribeFleetPortSettingsError::InvalidRequest(ref cause) => write!(f, "{}", cause),
5897 DescribeFleetPortSettingsError::NotFound(ref cause) => write!(f, "{}", cause),
5898 DescribeFleetPortSettingsError::Unauthorized(ref cause) => write!(f, "{}", cause),
5899 }
5900 }
5901}
5902impl Error for DescribeFleetPortSettingsError {}
5903/// Errors returned by DescribeFleetUtilization
5904#[derive(Debug, PartialEq)]
5905pub enum DescribeFleetUtilizationError {
5906 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
5907 InternalService(String),
5908 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
5909 InvalidRequest(String),
5910 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
5911 NotFound(String),
5912 /// <p>The client failed authentication. Clients should not retry such requests.</p>
5913 Unauthorized(String),
5914}
5915
5916impl DescribeFleetUtilizationError {
5917 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeFleetUtilizationError> {
5918 if let Some(err) = proto::json::Error::parse(&res) {
5919 match err.typ.as_str() {
5920 "InternalServiceException" => {
5921 return RusotoError::Service(DescribeFleetUtilizationError::InternalService(
5922 err.msg,
5923 ))
5924 }
5925 "InvalidRequestException" => {
5926 return RusotoError::Service(DescribeFleetUtilizationError::InvalidRequest(
5927 err.msg,
5928 ))
5929 }
5930 "NotFoundException" => {
5931 return RusotoError::Service(DescribeFleetUtilizationError::NotFound(err.msg))
5932 }
5933 "UnauthorizedException" => {
5934 return RusotoError::Service(DescribeFleetUtilizationError::Unauthorized(
5935 err.msg,
5936 ))
5937 }
5938 "ValidationException" => return RusotoError::Validation(err.msg),
5939 _ => {}
5940 }
5941 }
5942 RusotoError::Unknown(res)
5943 }
5944}
5945impl fmt::Display for DescribeFleetUtilizationError {
5946 #[allow(unused_variables)]
5947 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5948 match *self {
5949 DescribeFleetUtilizationError::InternalService(ref cause) => write!(f, "{}", cause),
5950 DescribeFleetUtilizationError::InvalidRequest(ref cause) => write!(f, "{}", cause),
5951 DescribeFleetUtilizationError::NotFound(ref cause) => write!(f, "{}", cause),
5952 DescribeFleetUtilizationError::Unauthorized(ref cause) => write!(f, "{}", cause),
5953 }
5954 }
5955}
5956impl Error for DescribeFleetUtilizationError {}
5957/// Errors returned by DescribeGameServer
5958#[derive(Debug, PartialEq)]
5959pub enum DescribeGameServerError {
5960 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
5961 InternalService(String),
5962 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
5963 InvalidRequest(String),
5964 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
5965 NotFound(String),
5966 /// <p>The client failed authentication. Clients should not retry such requests.</p>
5967 Unauthorized(String),
5968}
5969
5970impl DescribeGameServerError {
5971 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeGameServerError> {
5972 if let Some(err) = proto::json::Error::parse(&res) {
5973 match err.typ.as_str() {
5974 "InternalServiceException" => {
5975 return RusotoError::Service(DescribeGameServerError::InternalService(err.msg))
5976 }
5977 "InvalidRequestException" => {
5978 return RusotoError::Service(DescribeGameServerError::InvalidRequest(err.msg))
5979 }
5980 "NotFoundException" => {
5981 return RusotoError::Service(DescribeGameServerError::NotFound(err.msg))
5982 }
5983 "UnauthorizedException" => {
5984 return RusotoError::Service(DescribeGameServerError::Unauthorized(err.msg))
5985 }
5986 "ValidationException" => return RusotoError::Validation(err.msg),
5987 _ => {}
5988 }
5989 }
5990 RusotoError::Unknown(res)
5991 }
5992}
5993impl fmt::Display for DescribeGameServerError {
5994 #[allow(unused_variables)]
5995 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5996 match *self {
5997 DescribeGameServerError::InternalService(ref cause) => write!(f, "{}", cause),
5998 DescribeGameServerError::InvalidRequest(ref cause) => write!(f, "{}", cause),
5999 DescribeGameServerError::NotFound(ref cause) => write!(f, "{}", cause),
6000 DescribeGameServerError::Unauthorized(ref cause) => write!(f, "{}", cause),
6001 }
6002 }
6003}
6004impl Error for DescribeGameServerError {}
6005/// Errors returned by DescribeGameServerGroup
6006#[derive(Debug, PartialEq)]
6007pub enum DescribeGameServerGroupError {
6008 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
6009 InternalService(String),
6010 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
6011 InvalidRequest(String),
6012 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
6013 NotFound(String),
6014 /// <p>The client failed authentication. Clients should not retry such requests.</p>
6015 Unauthorized(String),
6016}
6017
6018impl DescribeGameServerGroupError {
6019 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeGameServerGroupError> {
6020 if let Some(err) = proto::json::Error::parse(&res) {
6021 match err.typ.as_str() {
6022 "InternalServiceException" => {
6023 return RusotoError::Service(DescribeGameServerGroupError::InternalService(
6024 err.msg,
6025 ))
6026 }
6027 "InvalidRequestException" => {
6028 return RusotoError::Service(DescribeGameServerGroupError::InvalidRequest(
6029 err.msg,
6030 ))
6031 }
6032 "NotFoundException" => {
6033 return RusotoError::Service(DescribeGameServerGroupError::NotFound(err.msg))
6034 }
6035 "UnauthorizedException" => {
6036 return RusotoError::Service(DescribeGameServerGroupError::Unauthorized(
6037 err.msg,
6038 ))
6039 }
6040 "ValidationException" => return RusotoError::Validation(err.msg),
6041 _ => {}
6042 }
6043 }
6044 RusotoError::Unknown(res)
6045 }
6046}
6047impl fmt::Display for DescribeGameServerGroupError {
6048 #[allow(unused_variables)]
6049 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6050 match *self {
6051 DescribeGameServerGroupError::InternalService(ref cause) => write!(f, "{}", cause),
6052 DescribeGameServerGroupError::InvalidRequest(ref cause) => write!(f, "{}", cause),
6053 DescribeGameServerGroupError::NotFound(ref cause) => write!(f, "{}", cause),
6054 DescribeGameServerGroupError::Unauthorized(ref cause) => write!(f, "{}", cause),
6055 }
6056 }
6057}
6058impl Error for DescribeGameServerGroupError {}
6059/// Errors returned by DescribeGameSessionDetails
6060#[derive(Debug, PartialEq)]
6061pub enum DescribeGameSessionDetailsError {
6062 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
6063 InternalService(String),
6064 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
6065 InvalidRequest(String),
6066 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
6067 NotFound(String),
6068 /// <p>The service is unable to resolve the routing for a particular alias because it has a terminal <a>RoutingStrategy</a> associated with it. The message returned in this exception is the message defined in the routing strategy itself. Such requests should only be retried if the routing strategy for the specified alias is modified. </p>
6069 TerminalRoutingStrategy(String),
6070 /// <p>The client failed authentication. Clients should not retry such requests.</p>
6071 Unauthorized(String),
6072}
6073
6074impl DescribeGameSessionDetailsError {
6075 pub fn from_response(
6076 res: BufferedHttpResponse,
6077 ) -> RusotoError<DescribeGameSessionDetailsError> {
6078 if let Some(err) = proto::json::Error::parse(&res) {
6079 match err.typ.as_str() {
6080 "InternalServiceException" => {
6081 return RusotoError::Service(DescribeGameSessionDetailsError::InternalService(
6082 err.msg,
6083 ))
6084 }
6085 "InvalidRequestException" => {
6086 return RusotoError::Service(DescribeGameSessionDetailsError::InvalidRequest(
6087 err.msg,
6088 ))
6089 }
6090 "NotFoundException" => {
6091 return RusotoError::Service(DescribeGameSessionDetailsError::NotFound(err.msg))
6092 }
6093 "TerminalRoutingStrategyException" => {
6094 return RusotoError::Service(
6095 DescribeGameSessionDetailsError::TerminalRoutingStrategy(err.msg),
6096 )
6097 }
6098 "UnauthorizedException" => {
6099 return RusotoError::Service(DescribeGameSessionDetailsError::Unauthorized(
6100 err.msg,
6101 ))
6102 }
6103 "ValidationException" => return RusotoError::Validation(err.msg),
6104 _ => {}
6105 }
6106 }
6107 RusotoError::Unknown(res)
6108 }
6109}
6110impl fmt::Display for DescribeGameSessionDetailsError {
6111 #[allow(unused_variables)]
6112 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6113 match *self {
6114 DescribeGameSessionDetailsError::InternalService(ref cause) => write!(f, "{}", cause),
6115 DescribeGameSessionDetailsError::InvalidRequest(ref cause) => write!(f, "{}", cause),
6116 DescribeGameSessionDetailsError::NotFound(ref cause) => write!(f, "{}", cause),
6117 DescribeGameSessionDetailsError::TerminalRoutingStrategy(ref cause) => {
6118 write!(f, "{}", cause)
6119 }
6120 DescribeGameSessionDetailsError::Unauthorized(ref cause) => write!(f, "{}", cause),
6121 }
6122 }
6123}
6124impl Error for DescribeGameSessionDetailsError {}
6125/// Errors returned by DescribeGameSessionPlacement
6126#[derive(Debug, PartialEq)]
6127pub enum DescribeGameSessionPlacementError {
6128 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
6129 InternalService(String),
6130 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
6131 InvalidRequest(String),
6132 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
6133 NotFound(String),
6134 /// <p>The client failed authentication. Clients should not retry such requests.</p>
6135 Unauthorized(String),
6136}
6137
6138impl DescribeGameSessionPlacementError {
6139 pub fn from_response(
6140 res: BufferedHttpResponse,
6141 ) -> RusotoError<DescribeGameSessionPlacementError> {
6142 if let Some(err) = proto::json::Error::parse(&res) {
6143 match err.typ.as_str() {
6144 "InternalServiceException" => {
6145 return RusotoError::Service(
6146 DescribeGameSessionPlacementError::InternalService(err.msg),
6147 )
6148 }
6149 "InvalidRequestException" => {
6150 return RusotoError::Service(DescribeGameSessionPlacementError::InvalidRequest(
6151 err.msg,
6152 ))
6153 }
6154 "NotFoundException" => {
6155 return RusotoError::Service(DescribeGameSessionPlacementError::NotFound(
6156 err.msg,
6157 ))
6158 }
6159 "UnauthorizedException" => {
6160 return RusotoError::Service(DescribeGameSessionPlacementError::Unauthorized(
6161 err.msg,
6162 ))
6163 }
6164 "ValidationException" => return RusotoError::Validation(err.msg),
6165 _ => {}
6166 }
6167 }
6168 RusotoError::Unknown(res)
6169 }
6170}
6171impl fmt::Display for DescribeGameSessionPlacementError {
6172 #[allow(unused_variables)]
6173 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6174 match *self {
6175 DescribeGameSessionPlacementError::InternalService(ref cause) => write!(f, "{}", cause),
6176 DescribeGameSessionPlacementError::InvalidRequest(ref cause) => write!(f, "{}", cause),
6177 DescribeGameSessionPlacementError::NotFound(ref cause) => write!(f, "{}", cause),
6178 DescribeGameSessionPlacementError::Unauthorized(ref cause) => write!(f, "{}", cause),
6179 }
6180 }
6181}
6182impl Error for DescribeGameSessionPlacementError {}
6183/// Errors returned by DescribeGameSessionQueues
6184#[derive(Debug, PartialEq)]
6185pub enum DescribeGameSessionQueuesError {
6186 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
6187 InternalService(String),
6188 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
6189 InvalidRequest(String),
6190 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
6191 NotFound(String),
6192 /// <p>The client failed authentication. Clients should not retry such requests.</p>
6193 Unauthorized(String),
6194}
6195
6196impl DescribeGameSessionQueuesError {
6197 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeGameSessionQueuesError> {
6198 if let Some(err) = proto::json::Error::parse(&res) {
6199 match err.typ.as_str() {
6200 "InternalServiceException" => {
6201 return RusotoError::Service(DescribeGameSessionQueuesError::InternalService(
6202 err.msg,
6203 ))
6204 }
6205 "InvalidRequestException" => {
6206 return RusotoError::Service(DescribeGameSessionQueuesError::InvalidRequest(
6207 err.msg,
6208 ))
6209 }
6210 "NotFoundException" => {
6211 return RusotoError::Service(DescribeGameSessionQueuesError::NotFound(err.msg))
6212 }
6213 "UnauthorizedException" => {
6214 return RusotoError::Service(DescribeGameSessionQueuesError::Unauthorized(
6215 err.msg,
6216 ))
6217 }
6218 "ValidationException" => return RusotoError::Validation(err.msg),
6219 _ => {}
6220 }
6221 }
6222 RusotoError::Unknown(res)
6223 }
6224}
6225impl fmt::Display for DescribeGameSessionQueuesError {
6226 #[allow(unused_variables)]
6227 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6228 match *self {
6229 DescribeGameSessionQueuesError::InternalService(ref cause) => write!(f, "{}", cause),
6230 DescribeGameSessionQueuesError::InvalidRequest(ref cause) => write!(f, "{}", cause),
6231 DescribeGameSessionQueuesError::NotFound(ref cause) => write!(f, "{}", cause),
6232 DescribeGameSessionQueuesError::Unauthorized(ref cause) => write!(f, "{}", cause),
6233 }
6234 }
6235}
6236impl Error for DescribeGameSessionQueuesError {}
6237/// Errors returned by DescribeGameSessions
6238#[derive(Debug, PartialEq)]
6239pub enum DescribeGameSessionsError {
6240 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
6241 InternalService(String),
6242 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
6243 InvalidRequest(String),
6244 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
6245 NotFound(String),
6246 /// <p>The service is unable to resolve the routing for a particular alias because it has a terminal <a>RoutingStrategy</a> associated with it. The message returned in this exception is the message defined in the routing strategy itself. Such requests should only be retried if the routing strategy for the specified alias is modified. </p>
6247 TerminalRoutingStrategy(String),
6248 /// <p>The client failed authentication. Clients should not retry such requests.</p>
6249 Unauthorized(String),
6250}
6251
6252impl DescribeGameSessionsError {
6253 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeGameSessionsError> {
6254 if let Some(err) = proto::json::Error::parse(&res) {
6255 match err.typ.as_str() {
6256 "InternalServiceException" => {
6257 return RusotoError::Service(DescribeGameSessionsError::InternalService(
6258 err.msg,
6259 ))
6260 }
6261 "InvalidRequestException" => {
6262 return RusotoError::Service(DescribeGameSessionsError::InvalidRequest(err.msg))
6263 }
6264 "NotFoundException" => {
6265 return RusotoError::Service(DescribeGameSessionsError::NotFound(err.msg))
6266 }
6267 "TerminalRoutingStrategyException" => {
6268 return RusotoError::Service(
6269 DescribeGameSessionsError::TerminalRoutingStrategy(err.msg),
6270 )
6271 }
6272 "UnauthorizedException" => {
6273 return RusotoError::Service(DescribeGameSessionsError::Unauthorized(err.msg))
6274 }
6275 "ValidationException" => return RusotoError::Validation(err.msg),
6276 _ => {}
6277 }
6278 }
6279 RusotoError::Unknown(res)
6280 }
6281}
6282impl fmt::Display for DescribeGameSessionsError {
6283 #[allow(unused_variables)]
6284 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6285 match *self {
6286 DescribeGameSessionsError::InternalService(ref cause) => write!(f, "{}", cause),
6287 DescribeGameSessionsError::InvalidRequest(ref cause) => write!(f, "{}", cause),
6288 DescribeGameSessionsError::NotFound(ref cause) => write!(f, "{}", cause),
6289 DescribeGameSessionsError::TerminalRoutingStrategy(ref cause) => write!(f, "{}", cause),
6290 DescribeGameSessionsError::Unauthorized(ref cause) => write!(f, "{}", cause),
6291 }
6292 }
6293}
6294impl Error for DescribeGameSessionsError {}
6295/// Errors returned by DescribeInstances
6296#[derive(Debug, PartialEq)]
6297pub enum DescribeInstancesError {
6298 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
6299 InternalService(String),
6300 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
6301 InvalidRequest(String),
6302 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
6303 NotFound(String),
6304 /// <p>The client failed authentication. Clients should not retry such requests.</p>
6305 Unauthorized(String),
6306}
6307
6308impl DescribeInstancesError {
6309 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeInstancesError> {
6310 if let Some(err) = proto::json::Error::parse(&res) {
6311 match err.typ.as_str() {
6312 "InternalServiceException" => {
6313 return RusotoError::Service(DescribeInstancesError::InternalService(err.msg))
6314 }
6315 "InvalidRequestException" => {
6316 return RusotoError::Service(DescribeInstancesError::InvalidRequest(err.msg))
6317 }
6318 "NotFoundException" => {
6319 return RusotoError::Service(DescribeInstancesError::NotFound(err.msg))
6320 }
6321 "UnauthorizedException" => {
6322 return RusotoError::Service(DescribeInstancesError::Unauthorized(err.msg))
6323 }
6324 "ValidationException" => return RusotoError::Validation(err.msg),
6325 _ => {}
6326 }
6327 }
6328 RusotoError::Unknown(res)
6329 }
6330}
6331impl fmt::Display for DescribeInstancesError {
6332 #[allow(unused_variables)]
6333 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6334 match *self {
6335 DescribeInstancesError::InternalService(ref cause) => write!(f, "{}", cause),
6336 DescribeInstancesError::InvalidRequest(ref cause) => write!(f, "{}", cause),
6337 DescribeInstancesError::NotFound(ref cause) => write!(f, "{}", cause),
6338 DescribeInstancesError::Unauthorized(ref cause) => write!(f, "{}", cause),
6339 }
6340 }
6341}
6342impl Error for DescribeInstancesError {}
6343/// Errors returned by DescribeMatchmaking
6344#[derive(Debug, PartialEq)]
6345pub enum DescribeMatchmakingError {
6346 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
6347 InternalService(String),
6348 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
6349 InvalidRequest(String),
6350 /// <p>The requested operation is not supported in the Region specified.</p>
6351 UnsupportedRegion(String),
6352}
6353
6354impl DescribeMatchmakingError {
6355 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeMatchmakingError> {
6356 if let Some(err) = proto::json::Error::parse(&res) {
6357 match err.typ.as_str() {
6358 "InternalServiceException" => {
6359 return RusotoError::Service(DescribeMatchmakingError::InternalService(err.msg))
6360 }
6361 "InvalidRequestException" => {
6362 return RusotoError::Service(DescribeMatchmakingError::InvalidRequest(err.msg))
6363 }
6364 "UnsupportedRegionException" => {
6365 return RusotoError::Service(DescribeMatchmakingError::UnsupportedRegion(
6366 err.msg,
6367 ))
6368 }
6369 "ValidationException" => return RusotoError::Validation(err.msg),
6370 _ => {}
6371 }
6372 }
6373 RusotoError::Unknown(res)
6374 }
6375}
6376impl fmt::Display for DescribeMatchmakingError {
6377 #[allow(unused_variables)]
6378 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6379 match *self {
6380 DescribeMatchmakingError::InternalService(ref cause) => write!(f, "{}", cause),
6381 DescribeMatchmakingError::InvalidRequest(ref cause) => write!(f, "{}", cause),
6382 DescribeMatchmakingError::UnsupportedRegion(ref cause) => write!(f, "{}", cause),
6383 }
6384 }
6385}
6386impl Error for DescribeMatchmakingError {}
6387/// Errors returned by DescribeMatchmakingConfigurations
6388#[derive(Debug, PartialEq)]
6389pub enum DescribeMatchmakingConfigurationsError {
6390 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
6391 InternalService(String),
6392 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
6393 InvalidRequest(String),
6394 /// <p>The requested operation is not supported in the Region specified.</p>
6395 UnsupportedRegion(String),
6396}
6397
6398impl DescribeMatchmakingConfigurationsError {
6399 pub fn from_response(
6400 res: BufferedHttpResponse,
6401 ) -> RusotoError<DescribeMatchmakingConfigurationsError> {
6402 if let Some(err) = proto::json::Error::parse(&res) {
6403 match err.typ.as_str() {
6404 "InternalServiceException" => {
6405 return RusotoError::Service(
6406 DescribeMatchmakingConfigurationsError::InternalService(err.msg),
6407 )
6408 }
6409 "InvalidRequestException" => {
6410 return RusotoError::Service(
6411 DescribeMatchmakingConfigurationsError::InvalidRequest(err.msg),
6412 )
6413 }
6414 "UnsupportedRegionException" => {
6415 return RusotoError::Service(
6416 DescribeMatchmakingConfigurationsError::UnsupportedRegion(err.msg),
6417 )
6418 }
6419 "ValidationException" => return RusotoError::Validation(err.msg),
6420 _ => {}
6421 }
6422 }
6423 RusotoError::Unknown(res)
6424 }
6425}
6426impl fmt::Display for DescribeMatchmakingConfigurationsError {
6427 #[allow(unused_variables)]
6428 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6429 match *self {
6430 DescribeMatchmakingConfigurationsError::InternalService(ref cause) => {
6431 write!(f, "{}", cause)
6432 }
6433 DescribeMatchmakingConfigurationsError::InvalidRequest(ref cause) => {
6434 write!(f, "{}", cause)
6435 }
6436 DescribeMatchmakingConfigurationsError::UnsupportedRegion(ref cause) => {
6437 write!(f, "{}", cause)
6438 }
6439 }
6440 }
6441}
6442impl Error for DescribeMatchmakingConfigurationsError {}
6443/// Errors returned by DescribeMatchmakingRuleSets
6444#[derive(Debug, PartialEq)]
6445pub enum DescribeMatchmakingRuleSetsError {
6446 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
6447 InternalService(String),
6448 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
6449 InvalidRequest(String),
6450 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
6451 NotFound(String),
6452 /// <p>The requested operation is not supported in the Region specified.</p>
6453 UnsupportedRegion(String),
6454}
6455
6456impl DescribeMatchmakingRuleSetsError {
6457 pub fn from_response(
6458 res: BufferedHttpResponse,
6459 ) -> RusotoError<DescribeMatchmakingRuleSetsError> {
6460 if let Some(err) = proto::json::Error::parse(&res) {
6461 match err.typ.as_str() {
6462 "InternalServiceException" => {
6463 return RusotoError::Service(DescribeMatchmakingRuleSetsError::InternalService(
6464 err.msg,
6465 ))
6466 }
6467 "InvalidRequestException" => {
6468 return RusotoError::Service(DescribeMatchmakingRuleSetsError::InvalidRequest(
6469 err.msg,
6470 ))
6471 }
6472 "NotFoundException" => {
6473 return RusotoError::Service(DescribeMatchmakingRuleSetsError::NotFound(
6474 err.msg,
6475 ))
6476 }
6477 "UnsupportedRegionException" => {
6478 return RusotoError::Service(
6479 DescribeMatchmakingRuleSetsError::UnsupportedRegion(err.msg),
6480 )
6481 }
6482 "ValidationException" => return RusotoError::Validation(err.msg),
6483 _ => {}
6484 }
6485 }
6486 RusotoError::Unknown(res)
6487 }
6488}
6489impl fmt::Display for DescribeMatchmakingRuleSetsError {
6490 #[allow(unused_variables)]
6491 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6492 match *self {
6493 DescribeMatchmakingRuleSetsError::InternalService(ref cause) => write!(f, "{}", cause),
6494 DescribeMatchmakingRuleSetsError::InvalidRequest(ref cause) => write!(f, "{}", cause),
6495 DescribeMatchmakingRuleSetsError::NotFound(ref cause) => write!(f, "{}", cause),
6496 DescribeMatchmakingRuleSetsError::UnsupportedRegion(ref cause) => {
6497 write!(f, "{}", cause)
6498 }
6499 }
6500 }
6501}
6502impl Error for DescribeMatchmakingRuleSetsError {}
6503/// Errors returned by DescribePlayerSessions
6504#[derive(Debug, PartialEq)]
6505pub enum DescribePlayerSessionsError {
6506 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
6507 InternalService(String),
6508 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
6509 InvalidRequest(String),
6510 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
6511 NotFound(String),
6512 /// <p>The client failed authentication. Clients should not retry such requests.</p>
6513 Unauthorized(String),
6514}
6515
6516impl DescribePlayerSessionsError {
6517 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribePlayerSessionsError> {
6518 if let Some(err) = proto::json::Error::parse(&res) {
6519 match err.typ.as_str() {
6520 "InternalServiceException" => {
6521 return RusotoError::Service(DescribePlayerSessionsError::InternalService(
6522 err.msg,
6523 ))
6524 }
6525 "InvalidRequestException" => {
6526 return RusotoError::Service(DescribePlayerSessionsError::InvalidRequest(
6527 err.msg,
6528 ))
6529 }
6530 "NotFoundException" => {
6531 return RusotoError::Service(DescribePlayerSessionsError::NotFound(err.msg))
6532 }
6533 "UnauthorizedException" => {
6534 return RusotoError::Service(DescribePlayerSessionsError::Unauthorized(err.msg))
6535 }
6536 "ValidationException" => return RusotoError::Validation(err.msg),
6537 _ => {}
6538 }
6539 }
6540 RusotoError::Unknown(res)
6541 }
6542}
6543impl fmt::Display for DescribePlayerSessionsError {
6544 #[allow(unused_variables)]
6545 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6546 match *self {
6547 DescribePlayerSessionsError::InternalService(ref cause) => write!(f, "{}", cause),
6548 DescribePlayerSessionsError::InvalidRequest(ref cause) => write!(f, "{}", cause),
6549 DescribePlayerSessionsError::NotFound(ref cause) => write!(f, "{}", cause),
6550 DescribePlayerSessionsError::Unauthorized(ref cause) => write!(f, "{}", cause),
6551 }
6552 }
6553}
6554impl Error for DescribePlayerSessionsError {}
6555/// Errors returned by DescribeRuntimeConfiguration
6556#[derive(Debug, PartialEq)]
6557pub enum DescribeRuntimeConfigurationError {
6558 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
6559 InternalService(String),
6560 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
6561 InvalidRequest(String),
6562 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
6563 NotFound(String),
6564 /// <p>The client failed authentication. Clients should not retry such requests.</p>
6565 Unauthorized(String),
6566}
6567
6568impl DescribeRuntimeConfigurationError {
6569 pub fn from_response(
6570 res: BufferedHttpResponse,
6571 ) -> RusotoError<DescribeRuntimeConfigurationError> {
6572 if let Some(err) = proto::json::Error::parse(&res) {
6573 match err.typ.as_str() {
6574 "InternalServiceException" => {
6575 return RusotoError::Service(
6576 DescribeRuntimeConfigurationError::InternalService(err.msg),
6577 )
6578 }
6579 "InvalidRequestException" => {
6580 return RusotoError::Service(DescribeRuntimeConfigurationError::InvalidRequest(
6581 err.msg,
6582 ))
6583 }
6584 "NotFoundException" => {
6585 return RusotoError::Service(DescribeRuntimeConfigurationError::NotFound(
6586 err.msg,
6587 ))
6588 }
6589 "UnauthorizedException" => {
6590 return RusotoError::Service(DescribeRuntimeConfigurationError::Unauthorized(
6591 err.msg,
6592 ))
6593 }
6594 "ValidationException" => return RusotoError::Validation(err.msg),
6595 _ => {}
6596 }
6597 }
6598 RusotoError::Unknown(res)
6599 }
6600}
6601impl fmt::Display for DescribeRuntimeConfigurationError {
6602 #[allow(unused_variables)]
6603 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6604 match *self {
6605 DescribeRuntimeConfigurationError::InternalService(ref cause) => write!(f, "{}", cause),
6606 DescribeRuntimeConfigurationError::InvalidRequest(ref cause) => write!(f, "{}", cause),
6607 DescribeRuntimeConfigurationError::NotFound(ref cause) => write!(f, "{}", cause),
6608 DescribeRuntimeConfigurationError::Unauthorized(ref cause) => write!(f, "{}", cause),
6609 }
6610 }
6611}
6612impl Error for DescribeRuntimeConfigurationError {}
6613/// Errors returned by DescribeScalingPolicies
6614#[derive(Debug, PartialEq)]
6615pub enum DescribeScalingPoliciesError {
6616 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
6617 InternalService(String),
6618 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
6619 InvalidRequest(String),
6620 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
6621 NotFound(String),
6622 /// <p>The client failed authentication. Clients should not retry such requests.</p>
6623 Unauthorized(String),
6624}
6625
6626impl DescribeScalingPoliciesError {
6627 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeScalingPoliciesError> {
6628 if let Some(err) = proto::json::Error::parse(&res) {
6629 match err.typ.as_str() {
6630 "InternalServiceException" => {
6631 return RusotoError::Service(DescribeScalingPoliciesError::InternalService(
6632 err.msg,
6633 ))
6634 }
6635 "InvalidRequestException" => {
6636 return RusotoError::Service(DescribeScalingPoliciesError::InvalidRequest(
6637 err.msg,
6638 ))
6639 }
6640 "NotFoundException" => {
6641 return RusotoError::Service(DescribeScalingPoliciesError::NotFound(err.msg))
6642 }
6643 "UnauthorizedException" => {
6644 return RusotoError::Service(DescribeScalingPoliciesError::Unauthorized(
6645 err.msg,
6646 ))
6647 }
6648 "ValidationException" => return RusotoError::Validation(err.msg),
6649 _ => {}
6650 }
6651 }
6652 RusotoError::Unknown(res)
6653 }
6654}
6655impl fmt::Display for DescribeScalingPoliciesError {
6656 #[allow(unused_variables)]
6657 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6658 match *self {
6659 DescribeScalingPoliciesError::InternalService(ref cause) => write!(f, "{}", cause),
6660 DescribeScalingPoliciesError::InvalidRequest(ref cause) => write!(f, "{}", cause),
6661 DescribeScalingPoliciesError::NotFound(ref cause) => write!(f, "{}", cause),
6662 DescribeScalingPoliciesError::Unauthorized(ref cause) => write!(f, "{}", cause),
6663 }
6664 }
6665}
6666impl Error for DescribeScalingPoliciesError {}
6667/// Errors returned by DescribeScript
6668#[derive(Debug, PartialEq)]
6669pub enum DescribeScriptError {
6670 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
6671 InternalService(String),
6672 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
6673 InvalidRequest(String),
6674 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
6675 NotFound(String),
6676 /// <p>The client failed authentication. Clients should not retry such requests.</p>
6677 Unauthorized(String),
6678}
6679
6680impl DescribeScriptError {
6681 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeScriptError> {
6682 if let Some(err) = proto::json::Error::parse(&res) {
6683 match err.typ.as_str() {
6684 "InternalServiceException" => {
6685 return RusotoError::Service(DescribeScriptError::InternalService(err.msg))
6686 }
6687 "InvalidRequestException" => {
6688 return RusotoError::Service(DescribeScriptError::InvalidRequest(err.msg))
6689 }
6690 "NotFoundException" => {
6691 return RusotoError::Service(DescribeScriptError::NotFound(err.msg))
6692 }
6693 "UnauthorizedException" => {
6694 return RusotoError::Service(DescribeScriptError::Unauthorized(err.msg))
6695 }
6696 "ValidationException" => return RusotoError::Validation(err.msg),
6697 _ => {}
6698 }
6699 }
6700 RusotoError::Unknown(res)
6701 }
6702}
6703impl fmt::Display for DescribeScriptError {
6704 #[allow(unused_variables)]
6705 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6706 match *self {
6707 DescribeScriptError::InternalService(ref cause) => write!(f, "{}", cause),
6708 DescribeScriptError::InvalidRequest(ref cause) => write!(f, "{}", cause),
6709 DescribeScriptError::NotFound(ref cause) => write!(f, "{}", cause),
6710 DescribeScriptError::Unauthorized(ref cause) => write!(f, "{}", cause),
6711 }
6712 }
6713}
6714impl Error for DescribeScriptError {}
6715/// Errors returned by DescribeVpcPeeringAuthorizations
6716#[derive(Debug, PartialEq)]
6717pub enum DescribeVpcPeeringAuthorizationsError {
6718 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
6719 InternalService(String),
6720 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
6721 InvalidRequest(String),
6722 /// <p>The client failed authentication. Clients should not retry such requests.</p>
6723 Unauthorized(String),
6724}
6725
6726impl DescribeVpcPeeringAuthorizationsError {
6727 pub fn from_response(
6728 res: BufferedHttpResponse,
6729 ) -> RusotoError<DescribeVpcPeeringAuthorizationsError> {
6730 if let Some(err) = proto::json::Error::parse(&res) {
6731 match err.typ.as_str() {
6732 "InternalServiceException" => {
6733 return RusotoError::Service(
6734 DescribeVpcPeeringAuthorizationsError::InternalService(err.msg),
6735 )
6736 }
6737 "InvalidRequestException" => {
6738 return RusotoError::Service(
6739 DescribeVpcPeeringAuthorizationsError::InvalidRequest(err.msg),
6740 )
6741 }
6742 "UnauthorizedException" => {
6743 return RusotoError::Service(
6744 DescribeVpcPeeringAuthorizationsError::Unauthorized(err.msg),
6745 )
6746 }
6747 "ValidationException" => return RusotoError::Validation(err.msg),
6748 _ => {}
6749 }
6750 }
6751 RusotoError::Unknown(res)
6752 }
6753}
6754impl fmt::Display for DescribeVpcPeeringAuthorizationsError {
6755 #[allow(unused_variables)]
6756 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6757 match *self {
6758 DescribeVpcPeeringAuthorizationsError::InternalService(ref cause) => {
6759 write!(f, "{}", cause)
6760 }
6761 DescribeVpcPeeringAuthorizationsError::InvalidRequest(ref cause) => {
6762 write!(f, "{}", cause)
6763 }
6764 DescribeVpcPeeringAuthorizationsError::Unauthorized(ref cause) => {
6765 write!(f, "{}", cause)
6766 }
6767 }
6768 }
6769}
6770impl Error for DescribeVpcPeeringAuthorizationsError {}
6771/// Errors returned by DescribeVpcPeeringConnections
6772#[derive(Debug, PartialEq)]
6773pub enum DescribeVpcPeeringConnectionsError {
6774 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
6775 InternalService(String),
6776 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
6777 InvalidRequest(String),
6778 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
6779 NotFound(String),
6780 /// <p>The client failed authentication. Clients should not retry such requests.</p>
6781 Unauthorized(String),
6782}
6783
6784impl DescribeVpcPeeringConnectionsError {
6785 pub fn from_response(
6786 res: BufferedHttpResponse,
6787 ) -> RusotoError<DescribeVpcPeeringConnectionsError> {
6788 if let Some(err) = proto::json::Error::parse(&res) {
6789 match err.typ.as_str() {
6790 "InternalServiceException" => {
6791 return RusotoError::Service(
6792 DescribeVpcPeeringConnectionsError::InternalService(err.msg),
6793 )
6794 }
6795 "InvalidRequestException" => {
6796 return RusotoError::Service(
6797 DescribeVpcPeeringConnectionsError::InvalidRequest(err.msg),
6798 )
6799 }
6800 "NotFoundException" => {
6801 return RusotoError::Service(DescribeVpcPeeringConnectionsError::NotFound(
6802 err.msg,
6803 ))
6804 }
6805 "UnauthorizedException" => {
6806 return RusotoError::Service(DescribeVpcPeeringConnectionsError::Unauthorized(
6807 err.msg,
6808 ))
6809 }
6810 "ValidationException" => return RusotoError::Validation(err.msg),
6811 _ => {}
6812 }
6813 }
6814 RusotoError::Unknown(res)
6815 }
6816}
6817impl fmt::Display for DescribeVpcPeeringConnectionsError {
6818 #[allow(unused_variables)]
6819 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6820 match *self {
6821 DescribeVpcPeeringConnectionsError::InternalService(ref cause) => {
6822 write!(f, "{}", cause)
6823 }
6824 DescribeVpcPeeringConnectionsError::InvalidRequest(ref cause) => write!(f, "{}", cause),
6825 DescribeVpcPeeringConnectionsError::NotFound(ref cause) => write!(f, "{}", cause),
6826 DescribeVpcPeeringConnectionsError::Unauthorized(ref cause) => write!(f, "{}", cause),
6827 }
6828 }
6829}
6830impl Error for DescribeVpcPeeringConnectionsError {}
6831/// Errors returned by GetGameSessionLogUrl
6832#[derive(Debug, PartialEq)]
6833pub enum GetGameSessionLogUrlError {
6834 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
6835 InternalService(String),
6836 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
6837 InvalidRequest(String),
6838 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
6839 NotFound(String),
6840 /// <p>The client failed authentication. Clients should not retry such requests.</p>
6841 Unauthorized(String),
6842}
6843
6844impl GetGameSessionLogUrlError {
6845 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<GetGameSessionLogUrlError> {
6846 if let Some(err) = proto::json::Error::parse(&res) {
6847 match err.typ.as_str() {
6848 "InternalServiceException" => {
6849 return RusotoError::Service(GetGameSessionLogUrlError::InternalService(
6850 err.msg,
6851 ))
6852 }
6853 "InvalidRequestException" => {
6854 return RusotoError::Service(GetGameSessionLogUrlError::InvalidRequest(err.msg))
6855 }
6856 "NotFoundException" => {
6857 return RusotoError::Service(GetGameSessionLogUrlError::NotFound(err.msg))
6858 }
6859 "UnauthorizedException" => {
6860 return RusotoError::Service(GetGameSessionLogUrlError::Unauthorized(err.msg))
6861 }
6862 "ValidationException" => return RusotoError::Validation(err.msg),
6863 _ => {}
6864 }
6865 }
6866 RusotoError::Unknown(res)
6867 }
6868}
6869impl fmt::Display for GetGameSessionLogUrlError {
6870 #[allow(unused_variables)]
6871 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6872 match *self {
6873 GetGameSessionLogUrlError::InternalService(ref cause) => write!(f, "{}", cause),
6874 GetGameSessionLogUrlError::InvalidRequest(ref cause) => write!(f, "{}", cause),
6875 GetGameSessionLogUrlError::NotFound(ref cause) => write!(f, "{}", cause),
6876 GetGameSessionLogUrlError::Unauthorized(ref cause) => write!(f, "{}", cause),
6877 }
6878 }
6879}
6880impl Error for GetGameSessionLogUrlError {}
6881/// Errors returned by GetInstanceAccess
6882#[derive(Debug, PartialEq)]
6883pub enum GetInstanceAccessError {
6884 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
6885 InternalService(String),
6886 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
6887 InvalidRequest(String),
6888 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
6889 NotFound(String),
6890 /// <p>The client failed authentication. Clients should not retry such requests.</p>
6891 Unauthorized(String),
6892}
6893
6894impl GetInstanceAccessError {
6895 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<GetInstanceAccessError> {
6896 if let Some(err) = proto::json::Error::parse(&res) {
6897 match err.typ.as_str() {
6898 "InternalServiceException" => {
6899 return RusotoError::Service(GetInstanceAccessError::InternalService(err.msg))
6900 }
6901 "InvalidRequestException" => {
6902 return RusotoError::Service(GetInstanceAccessError::InvalidRequest(err.msg))
6903 }
6904 "NotFoundException" => {
6905 return RusotoError::Service(GetInstanceAccessError::NotFound(err.msg))
6906 }
6907 "UnauthorizedException" => {
6908 return RusotoError::Service(GetInstanceAccessError::Unauthorized(err.msg))
6909 }
6910 "ValidationException" => return RusotoError::Validation(err.msg),
6911 _ => {}
6912 }
6913 }
6914 RusotoError::Unknown(res)
6915 }
6916}
6917impl fmt::Display for GetInstanceAccessError {
6918 #[allow(unused_variables)]
6919 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6920 match *self {
6921 GetInstanceAccessError::InternalService(ref cause) => write!(f, "{}", cause),
6922 GetInstanceAccessError::InvalidRequest(ref cause) => write!(f, "{}", cause),
6923 GetInstanceAccessError::NotFound(ref cause) => write!(f, "{}", cause),
6924 GetInstanceAccessError::Unauthorized(ref cause) => write!(f, "{}", cause),
6925 }
6926 }
6927}
6928impl Error for GetInstanceAccessError {}
6929/// Errors returned by ListAliases
6930#[derive(Debug, PartialEq)]
6931pub enum ListAliasesError {
6932 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
6933 InternalService(String),
6934 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
6935 InvalidRequest(String),
6936 /// <p>The client failed authentication. Clients should not retry such requests.</p>
6937 Unauthorized(String),
6938}
6939
6940impl ListAliasesError {
6941 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListAliasesError> {
6942 if let Some(err) = proto::json::Error::parse(&res) {
6943 match err.typ.as_str() {
6944 "InternalServiceException" => {
6945 return RusotoError::Service(ListAliasesError::InternalService(err.msg))
6946 }
6947 "InvalidRequestException" => {
6948 return RusotoError::Service(ListAliasesError::InvalidRequest(err.msg))
6949 }
6950 "UnauthorizedException" => {
6951 return RusotoError::Service(ListAliasesError::Unauthorized(err.msg))
6952 }
6953 "ValidationException" => return RusotoError::Validation(err.msg),
6954 _ => {}
6955 }
6956 }
6957 RusotoError::Unknown(res)
6958 }
6959}
6960impl fmt::Display for ListAliasesError {
6961 #[allow(unused_variables)]
6962 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6963 match *self {
6964 ListAliasesError::InternalService(ref cause) => write!(f, "{}", cause),
6965 ListAliasesError::InvalidRequest(ref cause) => write!(f, "{}", cause),
6966 ListAliasesError::Unauthorized(ref cause) => write!(f, "{}", cause),
6967 }
6968 }
6969}
6970impl Error for ListAliasesError {}
6971/// Errors returned by ListBuilds
6972#[derive(Debug, PartialEq)]
6973pub enum ListBuildsError {
6974 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
6975 InternalService(String),
6976 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
6977 InvalidRequest(String),
6978 /// <p>The client failed authentication. Clients should not retry such requests.</p>
6979 Unauthorized(String),
6980}
6981
6982impl ListBuildsError {
6983 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListBuildsError> {
6984 if let Some(err) = proto::json::Error::parse(&res) {
6985 match err.typ.as_str() {
6986 "InternalServiceException" => {
6987 return RusotoError::Service(ListBuildsError::InternalService(err.msg))
6988 }
6989 "InvalidRequestException" => {
6990 return RusotoError::Service(ListBuildsError::InvalidRequest(err.msg))
6991 }
6992 "UnauthorizedException" => {
6993 return RusotoError::Service(ListBuildsError::Unauthorized(err.msg))
6994 }
6995 "ValidationException" => return RusotoError::Validation(err.msg),
6996 _ => {}
6997 }
6998 }
6999 RusotoError::Unknown(res)
7000 }
7001}
7002impl fmt::Display for ListBuildsError {
7003 #[allow(unused_variables)]
7004 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7005 match *self {
7006 ListBuildsError::InternalService(ref cause) => write!(f, "{}", cause),
7007 ListBuildsError::InvalidRequest(ref cause) => write!(f, "{}", cause),
7008 ListBuildsError::Unauthorized(ref cause) => write!(f, "{}", cause),
7009 }
7010 }
7011}
7012impl Error for ListBuildsError {}
7013/// Errors returned by ListFleets
7014#[derive(Debug, PartialEq)]
7015pub enum ListFleetsError {
7016 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
7017 InternalService(String),
7018 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
7019 InvalidRequest(String),
7020 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
7021 NotFound(String),
7022 /// <p>The client failed authentication. Clients should not retry such requests.</p>
7023 Unauthorized(String),
7024}
7025
7026impl ListFleetsError {
7027 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListFleetsError> {
7028 if let Some(err) = proto::json::Error::parse(&res) {
7029 match err.typ.as_str() {
7030 "InternalServiceException" => {
7031 return RusotoError::Service(ListFleetsError::InternalService(err.msg))
7032 }
7033 "InvalidRequestException" => {
7034 return RusotoError::Service(ListFleetsError::InvalidRequest(err.msg))
7035 }
7036 "NotFoundException" => {
7037 return RusotoError::Service(ListFleetsError::NotFound(err.msg))
7038 }
7039 "UnauthorizedException" => {
7040 return RusotoError::Service(ListFleetsError::Unauthorized(err.msg))
7041 }
7042 "ValidationException" => return RusotoError::Validation(err.msg),
7043 _ => {}
7044 }
7045 }
7046 RusotoError::Unknown(res)
7047 }
7048}
7049impl fmt::Display for ListFleetsError {
7050 #[allow(unused_variables)]
7051 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7052 match *self {
7053 ListFleetsError::InternalService(ref cause) => write!(f, "{}", cause),
7054 ListFleetsError::InvalidRequest(ref cause) => write!(f, "{}", cause),
7055 ListFleetsError::NotFound(ref cause) => write!(f, "{}", cause),
7056 ListFleetsError::Unauthorized(ref cause) => write!(f, "{}", cause),
7057 }
7058 }
7059}
7060impl Error for ListFleetsError {}
7061/// Errors returned by ListGameServerGroups
7062#[derive(Debug, PartialEq)]
7063pub enum ListGameServerGroupsError {
7064 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
7065 InternalService(String),
7066 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
7067 InvalidRequest(String),
7068 /// <p>The client failed authentication. Clients should not retry such requests.</p>
7069 Unauthorized(String),
7070}
7071
7072impl ListGameServerGroupsError {
7073 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListGameServerGroupsError> {
7074 if let Some(err) = proto::json::Error::parse(&res) {
7075 match err.typ.as_str() {
7076 "InternalServiceException" => {
7077 return RusotoError::Service(ListGameServerGroupsError::InternalService(
7078 err.msg,
7079 ))
7080 }
7081 "InvalidRequestException" => {
7082 return RusotoError::Service(ListGameServerGroupsError::InvalidRequest(err.msg))
7083 }
7084 "UnauthorizedException" => {
7085 return RusotoError::Service(ListGameServerGroupsError::Unauthorized(err.msg))
7086 }
7087 "ValidationException" => return RusotoError::Validation(err.msg),
7088 _ => {}
7089 }
7090 }
7091 RusotoError::Unknown(res)
7092 }
7093}
7094impl fmt::Display for ListGameServerGroupsError {
7095 #[allow(unused_variables)]
7096 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7097 match *self {
7098 ListGameServerGroupsError::InternalService(ref cause) => write!(f, "{}", cause),
7099 ListGameServerGroupsError::InvalidRequest(ref cause) => write!(f, "{}", cause),
7100 ListGameServerGroupsError::Unauthorized(ref cause) => write!(f, "{}", cause),
7101 }
7102 }
7103}
7104impl Error for ListGameServerGroupsError {}
7105/// Errors returned by ListGameServers
7106#[derive(Debug, PartialEq)]
7107pub enum ListGameServersError {
7108 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
7109 InternalService(String),
7110 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
7111 InvalidRequest(String),
7112 /// <p>The client failed authentication. Clients should not retry such requests.</p>
7113 Unauthorized(String),
7114}
7115
7116impl ListGameServersError {
7117 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListGameServersError> {
7118 if let Some(err) = proto::json::Error::parse(&res) {
7119 match err.typ.as_str() {
7120 "InternalServiceException" => {
7121 return RusotoError::Service(ListGameServersError::InternalService(err.msg))
7122 }
7123 "InvalidRequestException" => {
7124 return RusotoError::Service(ListGameServersError::InvalidRequest(err.msg))
7125 }
7126 "UnauthorizedException" => {
7127 return RusotoError::Service(ListGameServersError::Unauthorized(err.msg))
7128 }
7129 "ValidationException" => return RusotoError::Validation(err.msg),
7130 _ => {}
7131 }
7132 }
7133 RusotoError::Unknown(res)
7134 }
7135}
7136impl fmt::Display for ListGameServersError {
7137 #[allow(unused_variables)]
7138 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7139 match *self {
7140 ListGameServersError::InternalService(ref cause) => write!(f, "{}", cause),
7141 ListGameServersError::InvalidRequest(ref cause) => write!(f, "{}", cause),
7142 ListGameServersError::Unauthorized(ref cause) => write!(f, "{}", cause),
7143 }
7144 }
7145}
7146impl Error for ListGameServersError {}
7147/// Errors returned by ListScripts
7148#[derive(Debug, PartialEq)]
7149pub enum ListScriptsError {
7150 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
7151 InternalService(String),
7152 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
7153 InvalidRequest(String),
7154 /// <p>The client failed authentication. Clients should not retry such requests.</p>
7155 Unauthorized(String),
7156}
7157
7158impl ListScriptsError {
7159 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListScriptsError> {
7160 if let Some(err) = proto::json::Error::parse(&res) {
7161 match err.typ.as_str() {
7162 "InternalServiceException" => {
7163 return RusotoError::Service(ListScriptsError::InternalService(err.msg))
7164 }
7165 "InvalidRequestException" => {
7166 return RusotoError::Service(ListScriptsError::InvalidRequest(err.msg))
7167 }
7168 "UnauthorizedException" => {
7169 return RusotoError::Service(ListScriptsError::Unauthorized(err.msg))
7170 }
7171 "ValidationException" => return RusotoError::Validation(err.msg),
7172 _ => {}
7173 }
7174 }
7175 RusotoError::Unknown(res)
7176 }
7177}
7178impl fmt::Display for ListScriptsError {
7179 #[allow(unused_variables)]
7180 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7181 match *self {
7182 ListScriptsError::InternalService(ref cause) => write!(f, "{}", cause),
7183 ListScriptsError::InvalidRequest(ref cause) => write!(f, "{}", cause),
7184 ListScriptsError::Unauthorized(ref cause) => write!(f, "{}", cause),
7185 }
7186 }
7187}
7188impl Error for ListScriptsError {}
7189/// Errors returned by ListTagsForResource
7190#[derive(Debug, PartialEq)]
7191pub enum ListTagsForResourceError {
7192 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
7193 InternalService(String),
7194 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
7195 InvalidRequest(String),
7196 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
7197 NotFound(String),
7198 /// <p> The requested tagging operation did not succeed. This may be due to invalid tag format or the maximum tag limit may have been exceeded. Resolve the issue before retrying. </p>
7199 TaggingFailed(String),
7200}
7201
7202impl ListTagsForResourceError {
7203 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListTagsForResourceError> {
7204 if let Some(err) = proto::json::Error::parse(&res) {
7205 match err.typ.as_str() {
7206 "InternalServiceException" => {
7207 return RusotoError::Service(ListTagsForResourceError::InternalService(err.msg))
7208 }
7209 "InvalidRequestException" => {
7210 return RusotoError::Service(ListTagsForResourceError::InvalidRequest(err.msg))
7211 }
7212 "NotFoundException" => {
7213 return RusotoError::Service(ListTagsForResourceError::NotFound(err.msg))
7214 }
7215 "TaggingFailedException" => {
7216 return RusotoError::Service(ListTagsForResourceError::TaggingFailed(err.msg))
7217 }
7218 "ValidationException" => return RusotoError::Validation(err.msg),
7219 _ => {}
7220 }
7221 }
7222 RusotoError::Unknown(res)
7223 }
7224}
7225impl fmt::Display for ListTagsForResourceError {
7226 #[allow(unused_variables)]
7227 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7228 match *self {
7229 ListTagsForResourceError::InternalService(ref cause) => write!(f, "{}", cause),
7230 ListTagsForResourceError::InvalidRequest(ref cause) => write!(f, "{}", cause),
7231 ListTagsForResourceError::NotFound(ref cause) => write!(f, "{}", cause),
7232 ListTagsForResourceError::TaggingFailed(ref cause) => write!(f, "{}", cause),
7233 }
7234 }
7235}
7236impl Error for ListTagsForResourceError {}
7237/// Errors returned by PutScalingPolicy
7238#[derive(Debug, PartialEq)]
7239pub enum PutScalingPolicyError {
7240 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
7241 InternalService(String),
7242 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
7243 InvalidRequest(String),
7244 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
7245 NotFound(String),
7246 /// <p>The client failed authentication. Clients should not retry such requests.</p>
7247 Unauthorized(String),
7248}
7249
7250impl PutScalingPolicyError {
7251 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<PutScalingPolicyError> {
7252 if let Some(err) = proto::json::Error::parse(&res) {
7253 match err.typ.as_str() {
7254 "InternalServiceException" => {
7255 return RusotoError::Service(PutScalingPolicyError::InternalService(err.msg))
7256 }
7257 "InvalidRequestException" => {
7258 return RusotoError::Service(PutScalingPolicyError::InvalidRequest(err.msg))
7259 }
7260 "NotFoundException" => {
7261 return RusotoError::Service(PutScalingPolicyError::NotFound(err.msg))
7262 }
7263 "UnauthorizedException" => {
7264 return RusotoError::Service(PutScalingPolicyError::Unauthorized(err.msg))
7265 }
7266 "ValidationException" => return RusotoError::Validation(err.msg),
7267 _ => {}
7268 }
7269 }
7270 RusotoError::Unknown(res)
7271 }
7272}
7273impl fmt::Display for PutScalingPolicyError {
7274 #[allow(unused_variables)]
7275 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7276 match *self {
7277 PutScalingPolicyError::InternalService(ref cause) => write!(f, "{}", cause),
7278 PutScalingPolicyError::InvalidRequest(ref cause) => write!(f, "{}", cause),
7279 PutScalingPolicyError::NotFound(ref cause) => write!(f, "{}", cause),
7280 PutScalingPolicyError::Unauthorized(ref cause) => write!(f, "{}", cause),
7281 }
7282 }
7283}
7284impl Error for PutScalingPolicyError {}
7285/// Errors returned by RegisterGameServer
7286#[derive(Debug, PartialEq)]
7287pub enum RegisterGameServerError {
7288 /// <p>The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.</p>
7289 Conflict(String),
7290 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
7291 InternalService(String),
7292 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
7293 InvalidRequest(String),
7294 /// <p>The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue before retrying.</p>
7295 LimitExceeded(String),
7296 /// <p>The client failed authentication. Clients should not retry such requests.</p>
7297 Unauthorized(String),
7298}
7299
7300impl RegisterGameServerError {
7301 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<RegisterGameServerError> {
7302 if let Some(err) = proto::json::Error::parse(&res) {
7303 match err.typ.as_str() {
7304 "ConflictException" => {
7305 return RusotoError::Service(RegisterGameServerError::Conflict(err.msg))
7306 }
7307 "InternalServiceException" => {
7308 return RusotoError::Service(RegisterGameServerError::InternalService(err.msg))
7309 }
7310 "InvalidRequestException" => {
7311 return RusotoError::Service(RegisterGameServerError::InvalidRequest(err.msg))
7312 }
7313 "LimitExceededException" => {
7314 return RusotoError::Service(RegisterGameServerError::LimitExceeded(err.msg))
7315 }
7316 "UnauthorizedException" => {
7317 return RusotoError::Service(RegisterGameServerError::Unauthorized(err.msg))
7318 }
7319 "ValidationException" => return RusotoError::Validation(err.msg),
7320 _ => {}
7321 }
7322 }
7323 RusotoError::Unknown(res)
7324 }
7325}
7326impl fmt::Display for RegisterGameServerError {
7327 #[allow(unused_variables)]
7328 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7329 match *self {
7330 RegisterGameServerError::Conflict(ref cause) => write!(f, "{}", cause),
7331 RegisterGameServerError::InternalService(ref cause) => write!(f, "{}", cause),
7332 RegisterGameServerError::InvalidRequest(ref cause) => write!(f, "{}", cause),
7333 RegisterGameServerError::LimitExceeded(ref cause) => write!(f, "{}", cause),
7334 RegisterGameServerError::Unauthorized(ref cause) => write!(f, "{}", cause),
7335 }
7336 }
7337}
7338impl Error for RegisterGameServerError {}
7339/// Errors returned by RequestUploadCredentials
7340#[derive(Debug, PartialEq)]
7341pub enum RequestUploadCredentialsError {
7342 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
7343 InternalService(String),
7344 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
7345 InvalidRequest(String),
7346 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
7347 NotFound(String),
7348 /// <p>The client failed authentication. Clients should not retry such requests.</p>
7349 Unauthorized(String),
7350}
7351
7352impl RequestUploadCredentialsError {
7353 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<RequestUploadCredentialsError> {
7354 if let Some(err) = proto::json::Error::parse(&res) {
7355 match err.typ.as_str() {
7356 "InternalServiceException" => {
7357 return RusotoError::Service(RequestUploadCredentialsError::InternalService(
7358 err.msg,
7359 ))
7360 }
7361 "InvalidRequestException" => {
7362 return RusotoError::Service(RequestUploadCredentialsError::InvalidRequest(
7363 err.msg,
7364 ))
7365 }
7366 "NotFoundException" => {
7367 return RusotoError::Service(RequestUploadCredentialsError::NotFound(err.msg))
7368 }
7369 "UnauthorizedException" => {
7370 return RusotoError::Service(RequestUploadCredentialsError::Unauthorized(
7371 err.msg,
7372 ))
7373 }
7374 "ValidationException" => return RusotoError::Validation(err.msg),
7375 _ => {}
7376 }
7377 }
7378 RusotoError::Unknown(res)
7379 }
7380}
7381impl fmt::Display for RequestUploadCredentialsError {
7382 #[allow(unused_variables)]
7383 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7384 match *self {
7385 RequestUploadCredentialsError::InternalService(ref cause) => write!(f, "{}", cause),
7386 RequestUploadCredentialsError::InvalidRequest(ref cause) => write!(f, "{}", cause),
7387 RequestUploadCredentialsError::NotFound(ref cause) => write!(f, "{}", cause),
7388 RequestUploadCredentialsError::Unauthorized(ref cause) => write!(f, "{}", cause),
7389 }
7390 }
7391}
7392impl Error for RequestUploadCredentialsError {}
7393/// Errors returned by ResolveAlias
7394#[derive(Debug, PartialEq)]
7395pub enum ResolveAliasError {
7396 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
7397 InternalService(String),
7398 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
7399 InvalidRequest(String),
7400 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
7401 NotFound(String),
7402 /// <p>The service is unable to resolve the routing for a particular alias because it has a terminal <a>RoutingStrategy</a> associated with it. The message returned in this exception is the message defined in the routing strategy itself. Such requests should only be retried if the routing strategy for the specified alias is modified. </p>
7403 TerminalRoutingStrategy(String),
7404 /// <p>The client failed authentication. Clients should not retry such requests.</p>
7405 Unauthorized(String),
7406}
7407
7408impl ResolveAliasError {
7409 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ResolveAliasError> {
7410 if let Some(err) = proto::json::Error::parse(&res) {
7411 match err.typ.as_str() {
7412 "InternalServiceException" => {
7413 return RusotoError::Service(ResolveAliasError::InternalService(err.msg))
7414 }
7415 "InvalidRequestException" => {
7416 return RusotoError::Service(ResolveAliasError::InvalidRequest(err.msg))
7417 }
7418 "NotFoundException" => {
7419 return RusotoError::Service(ResolveAliasError::NotFound(err.msg))
7420 }
7421 "TerminalRoutingStrategyException" => {
7422 return RusotoError::Service(ResolveAliasError::TerminalRoutingStrategy(
7423 err.msg,
7424 ))
7425 }
7426 "UnauthorizedException" => {
7427 return RusotoError::Service(ResolveAliasError::Unauthorized(err.msg))
7428 }
7429 "ValidationException" => return RusotoError::Validation(err.msg),
7430 _ => {}
7431 }
7432 }
7433 RusotoError::Unknown(res)
7434 }
7435}
7436impl fmt::Display for ResolveAliasError {
7437 #[allow(unused_variables)]
7438 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7439 match *self {
7440 ResolveAliasError::InternalService(ref cause) => write!(f, "{}", cause),
7441 ResolveAliasError::InvalidRequest(ref cause) => write!(f, "{}", cause),
7442 ResolveAliasError::NotFound(ref cause) => write!(f, "{}", cause),
7443 ResolveAliasError::TerminalRoutingStrategy(ref cause) => write!(f, "{}", cause),
7444 ResolveAliasError::Unauthorized(ref cause) => write!(f, "{}", cause),
7445 }
7446 }
7447}
7448impl Error for ResolveAliasError {}
7449/// Errors returned by ResumeGameServerGroup
7450#[derive(Debug, PartialEq)]
7451pub enum ResumeGameServerGroupError {
7452 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
7453 InternalService(String),
7454 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
7455 InvalidRequest(String),
7456 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
7457 NotFound(String),
7458 /// <p>The client failed authentication. Clients should not retry such requests.</p>
7459 Unauthorized(String),
7460}
7461
7462impl ResumeGameServerGroupError {
7463 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ResumeGameServerGroupError> {
7464 if let Some(err) = proto::json::Error::parse(&res) {
7465 match err.typ.as_str() {
7466 "InternalServiceException" => {
7467 return RusotoError::Service(ResumeGameServerGroupError::InternalService(
7468 err.msg,
7469 ))
7470 }
7471 "InvalidRequestException" => {
7472 return RusotoError::Service(ResumeGameServerGroupError::InvalidRequest(
7473 err.msg,
7474 ))
7475 }
7476 "NotFoundException" => {
7477 return RusotoError::Service(ResumeGameServerGroupError::NotFound(err.msg))
7478 }
7479 "UnauthorizedException" => {
7480 return RusotoError::Service(ResumeGameServerGroupError::Unauthorized(err.msg))
7481 }
7482 "ValidationException" => return RusotoError::Validation(err.msg),
7483 _ => {}
7484 }
7485 }
7486 RusotoError::Unknown(res)
7487 }
7488}
7489impl fmt::Display for ResumeGameServerGroupError {
7490 #[allow(unused_variables)]
7491 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7492 match *self {
7493 ResumeGameServerGroupError::InternalService(ref cause) => write!(f, "{}", cause),
7494 ResumeGameServerGroupError::InvalidRequest(ref cause) => write!(f, "{}", cause),
7495 ResumeGameServerGroupError::NotFound(ref cause) => write!(f, "{}", cause),
7496 ResumeGameServerGroupError::Unauthorized(ref cause) => write!(f, "{}", cause),
7497 }
7498 }
7499}
7500impl Error for ResumeGameServerGroupError {}
7501/// Errors returned by SearchGameSessions
7502#[derive(Debug, PartialEq)]
7503pub enum SearchGameSessionsError {
7504 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
7505 InternalService(String),
7506 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
7507 InvalidRequest(String),
7508 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
7509 NotFound(String),
7510 /// <p>The service is unable to resolve the routing for a particular alias because it has a terminal <a>RoutingStrategy</a> associated with it. The message returned in this exception is the message defined in the routing strategy itself. Such requests should only be retried if the routing strategy for the specified alias is modified. </p>
7511 TerminalRoutingStrategy(String),
7512 /// <p>The client failed authentication. Clients should not retry such requests.</p>
7513 Unauthorized(String),
7514}
7515
7516impl SearchGameSessionsError {
7517 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<SearchGameSessionsError> {
7518 if let Some(err) = proto::json::Error::parse(&res) {
7519 match err.typ.as_str() {
7520 "InternalServiceException" => {
7521 return RusotoError::Service(SearchGameSessionsError::InternalService(err.msg))
7522 }
7523 "InvalidRequestException" => {
7524 return RusotoError::Service(SearchGameSessionsError::InvalidRequest(err.msg))
7525 }
7526 "NotFoundException" => {
7527 return RusotoError::Service(SearchGameSessionsError::NotFound(err.msg))
7528 }
7529 "TerminalRoutingStrategyException" => {
7530 return RusotoError::Service(SearchGameSessionsError::TerminalRoutingStrategy(
7531 err.msg,
7532 ))
7533 }
7534 "UnauthorizedException" => {
7535 return RusotoError::Service(SearchGameSessionsError::Unauthorized(err.msg))
7536 }
7537 "ValidationException" => return RusotoError::Validation(err.msg),
7538 _ => {}
7539 }
7540 }
7541 RusotoError::Unknown(res)
7542 }
7543}
7544impl fmt::Display for SearchGameSessionsError {
7545 #[allow(unused_variables)]
7546 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7547 match *self {
7548 SearchGameSessionsError::InternalService(ref cause) => write!(f, "{}", cause),
7549 SearchGameSessionsError::InvalidRequest(ref cause) => write!(f, "{}", cause),
7550 SearchGameSessionsError::NotFound(ref cause) => write!(f, "{}", cause),
7551 SearchGameSessionsError::TerminalRoutingStrategy(ref cause) => write!(f, "{}", cause),
7552 SearchGameSessionsError::Unauthorized(ref cause) => write!(f, "{}", cause),
7553 }
7554 }
7555}
7556impl Error for SearchGameSessionsError {}
7557/// Errors returned by StartFleetActions
7558#[derive(Debug, PartialEq)]
7559pub enum StartFleetActionsError {
7560 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
7561 InternalService(String),
7562 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
7563 InvalidRequest(String),
7564 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
7565 NotFound(String),
7566 /// <p>The client failed authentication. Clients should not retry such requests.</p>
7567 Unauthorized(String),
7568}
7569
7570impl StartFleetActionsError {
7571 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<StartFleetActionsError> {
7572 if let Some(err) = proto::json::Error::parse(&res) {
7573 match err.typ.as_str() {
7574 "InternalServiceException" => {
7575 return RusotoError::Service(StartFleetActionsError::InternalService(err.msg))
7576 }
7577 "InvalidRequestException" => {
7578 return RusotoError::Service(StartFleetActionsError::InvalidRequest(err.msg))
7579 }
7580 "NotFoundException" => {
7581 return RusotoError::Service(StartFleetActionsError::NotFound(err.msg))
7582 }
7583 "UnauthorizedException" => {
7584 return RusotoError::Service(StartFleetActionsError::Unauthorized(err.msg))
7585 }
7586 "ValidationException" => return RusotoError::Validation(err.msg),
7587 _ => {}
7588 }
7589 }
7590 RusotoError::Unknown(res)
7591 }
7592}
7593impl fmt::Display for StartFleetActionsError {
7594 #[allow(unused_variables)]
7595 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7596 match *self {
7597 StartFleetActionsError::InternalService(ref cause) => write!(f, "{}", cause),
7598 StartFleetActionsError::InvalidRequest(ref cause) => write!(f, "{}", cause),
7599 StartFleetActionsError::NotFound(ref cause) => write!(f, "{}", cause),
7600 StartFleetActionsError::Unauthorized(ref cause) => write!(f, "{}", cause),
7601 }
7602 }
7603}
7604impl Error for StartFleetActionsError {}
7605/// Errors returned by StartGameSessionPlacement
7606#[derive(Debug, PartialEq)]
7607pub enum StartGameSessionPlacementError {
7608 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
7609 InternalService(String),
7610 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
7611 InvalidRequest(String),
7612 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
7613 NotFound(String),
7614 /// <p>The client failed authentication. Clients should not retry such requests.</p>
7615 Unauthorized(String),
7616}
7617
7618impl StartGameSessionPlacementError {
7619 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<StartGameSessionPlacementError> {
7620 if let Some(err) = proto::json::Error::parse(&res) {
7621 match err.typ.as_str() {
7622 "InternalServiceException" => {
7623 return RusotoError::Service(StartGameSessionPlacementError::InternalService(
7624 err.msg,
7625 ))
7626 }
7627 "InvalidRequestException" => {
7628 return RusotoError::Service(StartGameSessionPlacementError::InvalidRequest(
7629 err.msg,
7630 ))
7631 }
7632 "NotFoundException" => {
7633 return RusotoError::Service(StartGameSessionPlacementError::NotFound(err.msg))
7634 }
7635 "UnauthorizedException" => {
7636 return RusotoError::Service(StartGameSessionPlacementError::Unauthorized(
7637 err.msg,
7638 ))
7639 }
7640 "ValidationException" => return RusotoError::Validation(err.msg),
7641 _ => {}
7642 }
7643 }
7644 RusotoError::Unknown(res)
7645 }
7646}
7647impl fmt::Display for StartGameSessionPlacementError {
7648 #[allow(unused_variables)]
7649 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7650 match *self {
7651 StartGameSessionPlacementError::InternalService(ref cause) => write!(f, "{}", cause),
7652 StartGameSessionPlacementError::InvalidRequest(ref cause) => write!(f, "{}", cause),
7653 StartGameSessionPlacementError::NotFound(ref cause) => write!(f, "{}", cause),
7654 StartGameSessionPlacementError::Unauthorized(ref cause) => write!(f, "{}", cause),
7655 }
7656 }
7657}
7658impl Error for StartGameSessionPlacementError {}
7659/// Errors returned by StartMatchBackfill
7660#[derive(Debug, PartialEq)]
7661pub enum StartMatchBackfillError {
7662 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
7663 InternalService(String),
7664 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
7665 InvalidRequest(String),
7666 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
7667 NotFound(String),
7668 /// <p>The requested operation is not supported in the Region specified.</p>
7669 UnsupportedRegion(String),
7670}
7671
7672impl StartMatchBackfillError {
7673 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<StartMatchBackfillError> {
7674 if let Some(err) = proto::json::Error::parse(&res) {
7675 match err.typ.as_str() {
7676 "InternalServiceException" => {
7677 return RusotoError::Service(StartMatchBackfillError::InternalService(err.msg))
7678 }
7679 "InvalidRequestException" => {
7680 return RusotoError::Service(StartMatchBackfillError::InvalidRequest(err.msg))
7681 }
7682 "NotFoundException" => {
7683 return RusotoError::Service(StartMatchBackfillError::NotFound(err.msg))
7684 }
7685 "UnsupportedRegionException" => {
7686 return RusotoError::Service(StartMatchBackfillError::UnsupportedRegion(
7687 err.msg,
7688 ))
7689 }
7690 "ValidationException" => return RusotoError::Validation(err.msg),
7691 _ => {}
7692 }
7693 }
7694 RusotoError::Unknown(res)
7695 }
7696}
7697impl fmt::Display for StartMatchBackfillError {
7698 #[allow(unused_variables)]
7699 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7700 match *self {
7701 StartMatchBackfillError::InternalService(ref cause) => write!(f, "{}", cause),
7702 StartMatchBackfillError::InvalidRequest(ref cause) => write!(f, "{}", cause),
7703 StartMatchBackfillError::NotFound(ref cause) => write!(f, "{}", cause),
7704 StartMatchBackfillError::UnsupportedRegion(ref cause) => write!(f, "{}", cause),
7705 }
7706 }
7707}
7708impl Error for StartMatchBackfillError {}
7709/// Errors returned by StartMatchmaking
7710#[derive(Debug, PartialEq)]
7711pub enum StartMatchmakingError {
7712 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
7713 InternalService(String),
7714 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
7715 InvalidRequest(String),
7716 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
7717 NotFound(String),
7718 /// <p>The requested operation is not supported in the Region specified.</p>
7719 UnsupportedRegion(String),
7720}
7721
7722impl StartMatchmakingError {
7723 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<StartMatchmakingError> {
7724 if let Some(err) = proto::json::Error::parse(&res) {
7725 match err.typ.as_str() {
7726 "InternalServiceException" => {
7727 return RusotoError::Service(StartMatchmakingError::InternalService(err.msg))
7728 }
7729 "InvalidRequestException" => {
7730 return RusotoError::Service(StartMatchmakingError::InvalidRequest(err.msg))
7731 }
7732 "NotFoundException" => {
7733 return RusotoError::Service(StartMatchmakingError::NotFound(err.msg))
7734 }
7735 "UnsupportedRegionException" => {
7736 return RusotoError::Service(StartMatchmakingError::UnsupportedRegion(err.msg))
7737 }
7738 "ValidationException" => return RusotoError::Validation(err.msg),
7739 _ => {}
7740 }
7741 }
7742 RusotoError::Unknown(res)
7743 }
7744}
7745impl fmt::Display for StartMatchmakingError {
7746 #[allow(unused_variables)]
7747 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7748 match *self {
7749 StartMatchmakingError::InternalService(ref cause) => write!(f, "{}", cause),
7750 StartMatchmakingError::InvalidRequest(ref cause) => write!(f, "{}", cause),
7751 StartMatchmakingError::NotFound(ref cause) => write!(f, "{}", cause),
7752 StartMatchmakingError::UnsupportedRegion(ref cause) => write!(f, "{}", cause),
7753 }
7754 }
7755}
7756impl Error for StartMatchmakingError {}
7757/// Errors returned by StopFleetActions
7758#[derive(Debug, PartialEq)]
7759pub enum StopFleetActionsError {
7760 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
7761 InternalService(String),
7762 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
7763 InvalidRequest(String),
7764 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
7765 NotFound(String),
7766 /// <p>The client failed authentication. Clients should not retry such requests.</p>
7767 Unauthorized(String),
7768}
7769
7770impl StopFleetActionsError {
7771 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<StopFleetActionsError> {
7772 if let Some(err) = proto::json::Error::parse(&res) {
7773 match err.typ.as_str() {
7774 "InternalServiceException" => {
7775 return RusotoError::Service(StopFleetActionsError::InternalService(err.msg))
7776 }
7777 "InvalidRequestException" => {
7778 return RusotoError::Service(StopFleetActionsError::InvalidRequest(err.msg))
7779 }
7780 "NotFoundException" => {
7781 return RusotoError::Service(StopFleetActionsError::NotFound(err.msg))
7782 }
7783 "UnauthorizedException" => {
7784 return RusotoError::Service(StopFleetActionsError::Unauthorized(err.msg))
7785 }
7786 "ValidationException" => return RusotoError::Validation(err.msg),
7787 _ => {}
7788 }
7789 }
7790 RusotoError::Unknown(res)
7791 }
7792}
7793impl fmt::Display for StopFleetActionsError {
7794 #[allow(unused_variables)]
7795 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7796 match *self {
7797 StopFleetActionsError::InternalService(ref cause) => write!(f, "{}", cause),
7798 StopFleetActionsError::InvalidRequest(ref cause) => write!(f, "{}", cause),
7799 StopFleetActionsError::NotFound(ref cause) => write!(f, "{}", cause),
7800 StopFleetActionsError::Unauthorized(ref cause) => write!(f, "{}", cause),
7801 }
7802 }
7803}
7804impl Error for StopFleetActionsError {}
7805/// Errors returned by StopGameSessionPlacement
7806#[derive(Debug, PartialEq)]
7807pub enum StopGameSessionPlacementError {
7808 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
7809 InternalService(String),
7810 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
7811 InvalidRequest(String),
7812 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
7813 NotFound(String),
7814 /// <p>The client failed authentication. Clients should not retry such requests.</p>
7815 Unauthorized(String),
7816}
7817
7818impl StopGameSessionPlacementError {
7819 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<StopGameSessionPlacementError> {
7820 if let Some(err) = proto::json::Error::parse(&res) {
7821 match err.typ.as_str() {
7822 "InternalServiceException" => {
7823 return RusotoError::Service(StopGameSessionPlacementError::InternalService(
7824 err.msg,
7825 ))
7826 }
7827 "InvalidRequestException" => {
7828 return RusotoError::Service(StopGameSessionPlacementError::InvalidRequest(
7829 err.msg,
7830 ))
7831 }
7832 "NotFoundException" => {
7833 return RusotoError::Service(StopGameSessionPlacementError::NotFound(err.msg))
7834 }
7835 "UnauthorizedException" => {
7836 return RusotoError::Service(StopGameSessionPlacementError::Unauthorized(
7837 err.msg,
7838 ))
7839 }
7840 "ValidationException" => return RusotoError::Validation(err.msg),
7841 _ => {}
7842 }
7843 }
7844 RusotoError::Unknown(res)
7845 }
7846}
7847impl fmt::Display for StopGameSessionPlacementError {
7848 #[allow(unused_variables)]
7849 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7850 match *self {
7851 StopGameSessionPlacementError::InternalService(ref cause) => write!(f, "{}", cause),
7852 StopGameSessionPlacementError::InvalidRequest(ref cause) => write!(f, "{}", cause),
7853 StopGameSessionPlacementError::NotFound(ref cause) => write!(f, "{}", cause),
7854 StopGameSessionPlacementError::Unauthorized(ref cause) => write!(f, "{}", cause),
7855 }
7856 }
7857}
7858impl Error for StopGameSessionPlacementError {}
7859/// Errors returned by StopMatchmaking
7860#[derive(Debug, PartialEq)]
7861pub enum StopMatchmakingError {
7862 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
7863 InternalService(String),
7864 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
7865 InvalidRequest(String),
7866 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
7867 NotFound(String),
7868 /// <p>The requested operation is not supported in the Region specified.</p>
7869 UnsupportedRegion(String),
7870}
7871
7872impl StopMatchmakingError {
7873 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<StopMatchmakingError> {
7874 if let Some(err) = proto::json::Error::parse(&res) {
7875 match err.typ.as_str() {
7876 "InternalServiceException" => {
7877 return RusotoError::Service(StopMatchmakingError::InternalService(err.msg))
7878 }
7879 "InvalidRequestException" => {
7880 return RusotoError::Service(StopMatchmakingError::InvalidRequest(err.msg))
7881 }
7882 "NotFoundException" => {
7883 return RusotoError::Service(StopMatchmakingError::NotFound(err.msg))
7884 }
7885 "UnsupportedRegionException" => {
7886 return RusotoError::Service(StopMatchmakingError::UnsupportedRegion(err.msg))
7887 }
7888 "ValidationException" => return RusotoError::Validation(err.msg),
7889 _ => {}
7890 }
7891 }
7892 RusotoError::Unknown(res)
7893 }
7894}
7895impl fmt::Display for StopMatchmakingError {
7896 #[allow(unused_variables)]
7897 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7898 match *self {
7899 StopMatchmakingError::InternalService(ref cause) => write!(f, "{}", cause),
7900 StopMatchmakingError::InvalidRequest(ref cause) => write!(f, "{}", cause),
7901 StopMatchmakingError::NotFound(ref cause) => write!(f, "{}", cause),
7902 StopMatchmakingError::UnsupportedRegion(ref cause) => write!(f, "{}", cause),
7903 }
7904 }
7905}
7906impl Error for StopMatchmakingError {}
7907/// Errors returned by SuspendGameServerGroup
7908#[derive(Debug, PartialEq)]
7909pub enum SuspendGameServerGroupError {
7910 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
7911 InternalService(String),
7912 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
7913 InvalidRequest(String),
7914 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
7915 NotFound(String),
7916 /// <p>The client failed authentication. Clients should not retry such requests.</p>
7917 Unauthorized(String),
7918}
7919
7920impl SuspendGameServerGroupError {
7921 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<SuspendGameServerGroupError> {
7922 if let Some(err) = proto::json::Error::parse(&res) {
7923 match err.typ.as_str() {
7924 "InternalServiceException" => {
7925 return RusotoError::Service(SuspendGameServerGroupError::InternalService(
7926 err.msg,
7927 ))
7928 }
7929 "InvalidRequestException" => {
7930 return RusotoError::Service(SuspendGameServerGroupError::InvalidRequest(
7931 err.msg,
7932 ))
7933 }
7934 "NotFoundException" => {
7935 return RusotoError::Service(SuspendGameServerGroupError::NotFound(err.msg))
7936 }
7937 "UnauthorizedException" => {
7938 return RusotoError::Service(SuspendGameServerGroupError::Unauthorized(err.msg))
7939 }
7940 "ValidationException" => return RusotoError::Validation(err.msg),
7941 _ => {}
7942 }
7943 }
7944 RusotoError::Unknown(res)
7945 }
7946}
7947impl fmt::Display for SuspendGameServerGroupError {
7948 #[allow(unused_variables)]
7949 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7950 match *self {
7951 SuspendGameServerGroupError::InternalService(ref cause) => write!(f, "{}", cause),
7952 SuspendGameServerGroupError::InvalidRequest(ref cause) => write!(f, "{}", cause),
7953 SuspendGameServerGroupError::NotFound(ref cause) => write!(f, "{}", cause),
7954 SuspendGameServerGroupError::Unauthorized(ref cause) => write!(f, "{}", cause),
7955 }
7956 }
7957}
7958impl Error for SuspendGameServerGroupError {}
7959/// Errors returned by TagResource
7960#[derive(Debug, PartialEq)]
7961pub enum TagResourceError {
7962 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
7963 InternalService(String),
7964 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
7965 InvalidRequest(String),
7966 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
7967 NotFound(String),
7968 /// <p> The requested tagging operation did not succeed. This may be due to invalid tag format or the maximum tag limit may have been exceeded. Resolve the issue before retrying. </p>
7969 TaggingFailed(String),
7970}
7971
7972impl TagResourceError {
7973 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<TagResourceError> {
7974 if let Some(err) = proto::json::Error::parse(&res) {
7975 match err.typ.as_str() {
7976 "InternalServiceException" => {
7977 return RusotoError::Service(TagResourceError::InternalService(err.msg))
7978 }
7979 "InvalidRequestException" => {
7980 return RusotoError::Service(TagResourceError::InvalidRequest(err.msg))
7981 }
7982 "NotFoundException" => {
7983 return RusotoError::Service(TagResourceError::NotFound(err.msg))
7984 }
7985 "TaggingFailedException" => {
7986 return RusotoError::Service(TagResourceError::TaggingFailed(err.msg))
7987 }
7988 "ValidationException" => return RusotoError::Validation(err.msg),
7989 _ => {}
7990 }
7991 }
7992 RusotoError::Unknown(res)
7993 }
7994}
7995impl fmt::Display for TagResourceError {
7996 #[allow(unused_variables)]
7997 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7998 match *self {
7999 TagResourceError::InternalService(ref cause) => write!(f, "{}", cause),
8000 TagResourceError::InvalidRequest(ref cause) => write!(f, "{}", cause),
8001 TagResourceError::NotFound(ref cause) => write!(f, "{}", cause),
8002 TagResourceError::TaggingFailed(ref cause) => write!(f, "{}", cause),
8003 }
8004 }
8005}
8006impl Error for TagResourceError {}
8007/// Errors returned by UntagResource
8008#[derive(Debug, PartialEq)]
8009pub enum UntagResourceError {
8010 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
8011 InternalService(String),
8012 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
8013 InvalidRequest(String),
8014 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
8015 NotFound(String),
8016 /// <p> The requested tagging operation did not succeed. This may be due to invalid tag format or the maximum tag limit may have been exceeded. Resolve the issue before retrying. </p>
8017 TaggingFailed(String),
8018}
8019
8020impl UntagResourceError {
8021 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UntagResourceError> {
8022 if let Some(err) = proto::json::Error::parse(&res) {
8023 match err.typ.as_str() {
8024 "InternalServiceException" => {
8025 return RusotoError::Service(UntagResourceError::InternalService(err.msg))
8026 }
8027 "InvalidRequestException" => {
8028 return RusotoError::Service(UntagResourceError::InvalidRequest(err.msg))
8029 }
8030 "NotFoundException" => {
8031 return RusotoError::Service(UntagResourceError::NotFound(err.msg))
8032 }
8033 "TaggingFailedException" => {
8034 return RusotoError::Service(UntagResourceError::TaggingFailed(err.msg))
8035 }
8036 "ValidationException" => return RusotoError::Validation(err.msg),
8037 _ => {}
8038 }
8039 }
8040 RusotoError::Unknown(res)
8041 }
8042}
8043impl fmt::Display for UntagResourceError {
8044 #[allow(unused_variables)]
8045 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
8046 match *self {
8047 UntagResourceError::InternalService(ref cause) => write!(f, "{}", cause),
8048 UntagResourceError::InvalidRequest(ref cause) => write!(f, "{}", cause),
8049 UntagResourceError::NotFound(ref cause) => write!(f, "{}", cause),
8050 UntagResourceError::TaggingFailed(ref cause) => write!(f, "{}", cause),
8051 }
8052 }
8053}
8054impl Error for UntagResourceError {}
8055/// Errors returned by UpdateAlias
8056#[derive(Debug, PartialEq)]
8057pub enum UpdateAliasError {
8058 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
8059 InternalService(String),
8060 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
8061 InvalidRequest(String),
8062 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
8063 NotFound(String),
8064 /// <p>The client failed authentication. Clients should not retry such requests.</p>
8065 Unauthorized(String),
8066}
8067
8068impl UpdateAliasError {
8069 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateAliasError> {
8070 if let Some(err) = proto::json::Error::parse(&res) {
8071 match err.typ.as_str() {
8072 "InternalServiceException" => {
8073 return RusotoError::Service(UpdateAliasError::InternalService(err.msg))
8074 }
8075 "InvalidRequestException" => {
8076 return RusotoError::Service(UpdateAliasError::InvalidRequest(err.msg))
8077 }
8078 "NotFoundException" => {
8079 return RusotoError::Service(UpdateAliasError::NotFound(err.msg))
8080 }
8081 "UnauthorizedException" => {
8082 return RusotoError::Service(UpdateAliasError::Unauthorized(err.msg))
8083 }
8084 "ValidationException" => return RusotoError::Validation(err.msg),
8085 _ => {}
8086 }
8087 }
8088 RusotoError::Unknown(res)
8089 }
8090}
8091impl fmt::Display for UpdateAliasError {
8092 #[allow(unused_variables)]
8093 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
8094 match *self {
8095 UpdateAliasError::InternalService(ref cause) => write!(f, "{}", cause),
8096 UpdateAliasError::InvalidRequest(ref cause) => write!(f, "{}", cause),
8097 UpdateAliasError::NotFound(ref cause) => write!(f, "{}", cause),
8098 UpdateAliasError::Unauthorized(ref cause) => write!(f, "{}", cause),
8099 }
8100 }
8101}
8102impl Error for UpdateAliasError {}
8103/// Errors returned by UpdateBuild
8104#[derive(Debug, PartialEq)]
8105pub enum UpdateBuildError {
8106 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
8107 InternalService(String),
8108 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
8109 InvalidRequest(String),
8110 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
8111 NotFound(String),
8112 /// <p>The client failed authentication. Clients should not retry such requests.</p>
8113 Unauthorized(String),
8114}
8115
8116impl UpdateBuildError {
8117 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateBuildError> {
8118 if let Some(err) = proto::json::Error::parse(&res) {
8119 match err.typ.as_str() {
8120 "InternalServiceException" => {
8121 return RusotoError::Service(UpdateBuildError::InternalService(err.msg))
8122 }
8123 "InvalidRequestException" => {
8124 return RusotoError::Service(UpdateBuildError::InvalidRequest(err.msg))
8125 }
8126 "NotFoundException" => {
8127 return RusotoError::Service(UpdateBuildError::NotFound(err.msg))
8128 }
8129 "UnauthorizedException" => {
8130 return RusotoError::Service(UpdateBuildError::Unauthorized(err.msg))
8131 }
8132 "ValidationException" => return RusotoError::Validation(err.msg),
8133 _ => {}
8134 }
8135 }
8136 RusotoError::Unknown(res)
8137 }
8138}
8139impl fmt::Display for UpdateBuildError {
8140 #[allow(unused_variables)]
8141 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
8142 match *self {
8143 UpdateBuildError::InternalService(ref cause) => write!(f, "{}", cause),
8144 UpdateBuildError::InvalidRequest(ref cause) => write!(f, "{}", cause),
8145 UpdateBuildError::NotFound(ref cause) => write!(f, "{}", cause),
8146 UpdateBuildError::Unauthorized(ref cause) => write!(f, "{}", cause),
8147 }
8148 }
8149}
8150impl Error for UpdateBuildError {}
8151/// Errors returned by UpdateFleetAttributes
8152#[derive(Debug, PartialEq)]
8153pub enum UpdateFleetAttributesError {
8154 /// <p>The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.</p>
8155 Conflict(String),
8156 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
8157 InternalService(String),
8158 /// <p>The requested operation would cause a conflict with the current state of a resource associated with the request and/or the fleet. Resolve the conflict before retrying.</p>
8159 InvalidFleetStatus(String),
8160 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
8161 InvalidRequest(String),
8162 /// <p>The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue before retrying.</p>
8163 LimitExceeded(String),
8164 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
8165 NotFound(String),
8166 /// <p>The client failed authentication. Clients should not retry such requests.</p>
8167 Unauthorized(String),
8168}
8169
8170impl UpdateFleetAttributesError {
8171 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateFleetAttributesError> {
8172 if let Some(err) = proto::json::Error::parse(&res) {
8173 match err.typ.as_str() {
8174 "ConflictException" => {
8175 return RusotoError::Service(UpdateFleetAttributesError::Conflict(err.msg))
8176 }
8177 "InternalServiceException" => {
8178 return RusotoError::Service(UpdateFleetAttributesError::InternalService(
8179 err.msg,
8180 ))
8181 }
8182 "InvalidFleetStatusException" => {
8183 return RusotoError::Service(UpdateFleetAttributesError::InvalidFleetStatus(
8184 err.msg,
8185 ))
8186 }
8187 "InvalidRequestException" => {
8188 return RusotoError::Service(UpdateFleetAttributesError::InvalidRequest(
8189 err.msg,
8190 ))
8191 }
8192 "LimitExceededException" => {
8193 return RusotoError::Service(UpdateFleetAttributesError::LimitExceeded(err.msg))
8194 }
8195 "NotFoundException" => {
8196 return RusotoError::Service(UpdateFleetAttributesError::NotFound(err.msg))
8197 }
8198 "UnauthorizedException" => {
8199 return RusotoError::Service(UpdateFleetAttributesError::Unauthorized(err.msg))
8200 }
8201 "ValidationException" => return RusotoError::Validation(err.msg),
8202 _ => {}
8203 }
8204 }
8205 RusotoError::Unknown(res)
8206 }
8207}
8208impl fmt::Display for UpdateFleetAttributesError {
8209 #[allow(unused_variables)]
8210 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
8211 match *self {
8212 UpdateFleetAttributesError::Conflict(ref cause) => write!(f, "{}", cause),
8213 UpdateFleetAttributesError::InternalService(ref cause) => write!(f, "{}", cause),
8214 UpdateFleetAttributesError::InvalidFleetStatus(ref cause) => write!(f, "{}", cause),
8215 UpdateFleetAttributesError::InvalidRequest(ref cause) => write!(f, "{}", cause),
8216 UpdateFleetAttributesError::LimitExceeded(ref cause) => write!(f, "{}", cause),
8217 UpdateFleetAttributesError::NotFound(ref cause) => write!(f, "{}", cause),
8218 UpdateFleetAttributesError::Unauthorized(ref cause) => write!(f, "{}", cause),
8219 }
8220 }
8221}
8222impl Error for UpdateFleetAttributesError {}
8223/// Errors returned by UpdateFleetCapacity
8224#[derive(Debug, PartialEq)]
8225pub enum UpdateFleetCapacityError {
8226 /// <p>The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.</p>
8227 Conflict(String),
8228 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
8229 InternalService(String),
8230 /// <p>The requested operation would cause a conflict with the current state of a resource associated with the request and/or the fleet. Resolve the conflict before retrying.</p>
8231 InvalidFleetStatus(String),
8232 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
8233 InvalidRequest(String),
8234 /// <p>The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue before retrying.</p>
8235 LimitExceeded(String),
8236 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
8237 NotFound(String),
8238 /// <p>The client failed authentication. Clients should not retry such requests.</p>
8239 Unauthorized(String),
8240}
8241
8242impl UpdateFleetCapacityError {
8243 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateFleetCapacityError> {
8244 if let Some(err) = proto::json::Error::parse(&res) {
8245 match err.typ.as_str() {
8246 "ConflictException" => {
8247 return RusotoError::Service(UpdateFleetCapacityError::Conflict(err.msg))
8248 }
8249 "InternalServiceException" => {
8250 return RusotoError::Service(UpdateFleetCapacityError::InternalService(err.msg))
8251 }
8252 "InvalidFleetStatusException" => {
8253 return RusotoError::Service(UpdateFleetCapacityError::InvalidFleetStatus(
8254 err.msg,
8255 ))
8256 }
8257 "InvalidRequestException" => {
8258 return RusotoError::Service(UpdateFleetCapacityError::InvalidRequest(err.msg))
8259 }
8260 "LimitExceededException" => {
8261 return RusotoError::Service(UpdateFleetCapacityError::LimitExceeded(err.msg))
8262 }
8263 "NotFoundException" => {
8264 return RusotoError::Service(UpdateFleetCapacityError::NotFound(err.msg))
8265 }
8266 "UnauthorizedException" => {
8267 return RusotoError::Service(UpdateFleetCapacityError::Unauthorized(err.msg))
8268 }
8269 "ValidationException" => return RusotoError::Validation(err.msg),
8270 _ => {}
8271 }
8272 }
8273 RusotoError::Unknown(res)
8274 }
8275}
8276impl fmt::Display for UpdateFleetCapacityError {
8277 #[allow(unused_variables)]
8278 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
8279 match *self {
8280 UpdateFleetCapacityError::Conflict(ref cause) => write!(f, "{}", cause),
8281 UpdateFleetCapacityError::InternalService(ref cause) => write!(f, "{}", cause),
8282 UpdateFleetCapacityError::InvalidFleetStatus(ref cause) => write!(f, "{}", cause),
8283 UpdateFleetCapacityError::InvalidRequest(ref cause) => write!(f, "{}", cause),
8284 UpdateFleetCapacityError::LimitExceeded(ref cause) => write!(f, "{}", cause),
8285 UpdateFleetCapacityError::NotFound(ref cause) => write!(f, "{}", cause),
8286 UpdateFleetCapacityError::Unauthorized(ref cause) => write!(f, "{}", cause),
8287 }
8288 }
8289}
8290impl Error for UpdateFleetCapacityError {}
8291/// Errors returned by UpdateFleetPortSettings
8292#[derive(Debug, PartialEq)]
8293pub enum UpdateFleetPortSettingsError {
8294 /// <p>The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.</p>
8295 Conflict(String),
8296 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
8297 InternalService(String),
8298 /// <p>The requested operation would cause a conflict with the current state of a resource associated with the request and/or the fleet. Resolve the conflict before retrying.</p>
8299 InvalidFleetStatus(String),
8300 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
8301 InvalidRequest(String),
8302 /// <p>The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue before retrying.</p>
8303 LimitExceeded(String),
8304 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
8305 NotFound(String),
8306 /// <p>The client failed authentication. Clients should not retry such requests.</p>
8307 Unauthorized(String),
8308}
8309
8310impl UpdateFleetPortSettingsError {
8311 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateFleetPortSettingsError> {
8312 if let Some(err) = proto::json::Error::parse(&res) {
8313 match err.typ.as_str() {
8314 "ConflictException" => {
8315 return RusotoError::Service(UpdateFleetPortSettingsError::Conflict(err.msg))
8316 }
8317 "InternalServiceException" => {
8318 return RusotoError::Service(UpdateFleetPortSettingsError::InternalService(
8319 err.msg,
8320 ))
8321 }
8322 "InvalidFleetStatusException" => {
8323 return RusotoError::Service(UpdateFleetPortSettingsError::InvalidFleetStatus(
8324 err.msg,
8325 ))
8326 }
8327 "InvalidRequestException" => {
8328 return RusotoError::Service(UpdateFleetPortSettingsError::InvalidRequest(
8329 err.msg,
8330 ))
8331 }
8332 "LimitExceededException" => {
8333 return RusotoError::Service(UpdateFleetPortSettingsError::LimitExceeded(
8334 err.msg,
8335 ))
8336 }
8337 "NotFoundException" => {
8338 return RusotoError::Service(UpdateFleetPortSettingsError::NotFound(err.msg))
8339 }
8340 "UnauthorizedException" => {
8341 return RusotoError::Service(UpdateFleetPortSettingsError::Unauthorized(
8342 err.msg,
8343 ))
8344 }
8345 "ValidationException" => return RusotoError::Validation(err.msg),
8346 _ => {}
8347 }
8348 }
8349 RusotoError::Unknown(res)
8350 }
8351}
8352impl fmt::Display for UpdateFleetPortSettingsError {
8353 #[allow(unused_variables)]
8354 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
8355 match *self {
8356 UpdateFleetPortSettingsError::Conflict(ref cause) => write!(f, "{}", cause),
8357 UpdateFleetPortSettingsError::InternalService(ref cause) => write!(f, "{}", cause),
8358 UpdateFleetPortSettingsError::InvalidFleetStatus(ref cause) => write!(f, "{}", cause),
8359 UpdateFleetPortSettingsError::InvalidRequest(ref cause) => write!(f, "{}", cause),
8360 UpdateFleetPortSettingsError::LimitExceeded(ref cause) => write!(f, "{}", cause),
8361 UpdateFleetPortSettingsError::NotFound(ref cause) => write!(f, "{}", cause),
8362 UpdateFleetPortSettingsError::Unauthorized(ref cause) => write!(f, "{}", cause),
8363 }
8364 }
8365}
8366impl Error for UpdateFleetPortSettingsError {}
8367/// Errors returned by UpdateGameServer
8368#[derive(Debug, PartialEq)]
8369pub enum UpdateGameServerError {
8370 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
8371 InternalService(String),
8372 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
8373 InvalidRequest(String),
8374 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
8375 NotFound(String),
8376 /// <p>The client failed authentication. Clients should not retry such requests.</p>
8377 Unauthorized(String),
8378}
8379
8380impl UpdateGameServerError {
8381 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateGameServerError> {
8382 if let Some(err) = proto::json::Error::parse(&res) {
8383 match err.typ.as_str() {
8384 "InternalServiceException" => {
8385 return RusotoError::Service(UpdateGameServerError::InternalService(err.msg))
8386 }
8387 "InvalidRequestException" => {
8388 return RusotoError::Service(UpdateGameServerError::InvalidRequest(err.msg))
8389 }
8390 "NotFoundException" => {
8391 return RusotoError::Service(UpdateGameServerError::NotFound(err.msg))
8392 }
8393 "UnauthorizedException" => {
8394 return RusotoError::Service(UpdateGameServerError::Unauthorized(err.msg))
8395 }
8396 "ValidationException" => return RusotoError::Validation(err.msg),
8397 _ => {}
8398 }
8399 }
8400 RusotoError::Unknown(res)
8401 }
8402}
8403impl fmt::Display for UpdateGameServerError {
8404 #[allow(unused_variables)]
8405 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
8406 match *self {
8407 UpdateGameServerError::InternalService(ref cause) => write!(f, "{}", cause),
8408 UpdateGameServerError::InvalidRequest(ref cause) => write!(f, "{}", cause),
8409 UpdateGameServerError::NotFound(ref cause) => write!(f, "{}", cause),
8410 UpdateGameServerError::Unauthorized(ref cause) => write!(f, "{}", cause),
8411 }
8412 }
8413}
8414impl Error for UpdateGameServerError {}
8415/// Errors returned by UpdateGameServerGroup
8416#[derive(Debug, PartialEq)]
8417pub enum UpdateGameServerGroupError {
8418 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
8419 InternalService(String),
8420 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
8421 InvalidRequest(String),
8422 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
8423 NotFound(String),
8424 /// <p>The client failed authentication. Clients should not retry such requests.</p>
8425 Unauthorized(String),
8426}
8427
8428impl UpdateGameServerGroupError {
8429 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateGameServerGroupError> {
8430 if let Some(err) = proto::json::Error::parse(&res) {
8431 match err.typ.as_str() {
8432 "InternalServiceException" => {
8433 return RusotoError::Service(UpdateGameServerGroupError::InternalService(
8434 err.msg,
8435 ))
8436 }
8437 "InvalidRequestException" => {
8438 return RusotoError::Service(UpdateGameServerGroupError::InvalidRequest(
8439 err.msg,
8440 ))
8441 }
8442 "NotFoundException" => {
8443 return RusotoError::Service(UpdateGameServerGroupError::NotFound(err.msg))
8444 }
8445 "UnauthorizedException" => {
8446 return RusotoError::Service(UpdateGameServerGroupError::Unauthorized(err.msg))
8447 }
8448 "ValidationException" => return RusotoError::Validation(err.msg),
8449 _ => {}
8450 }
8451 }
8452 RusotoError::Unknown(res)
8453 }
8454}
8455impl fmt::Display for UpdateGameServerGroupError {
8456 #[allow(unused_variables)]
8457 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
8458 match *self {
8459 UpdateGameServerGroupError::InternalService(ref cause) => write!(f, "{}", cause),
8460 UpdateGameServerGroupError::InvalidRequest(ref cause) => write!(f, "{}", cause),
8461 UpdateGameServerGroupError::NotFound(ref cause) => write!(f, "{}", cause),
8462 UpdateGameServerGroupError::Unauthorized(ref cause) => write!(f, "{}", cause),
8463 }
8464 }
8465}
8466impl Error for UpdateGameServerGroupError {}
8467/// Errors returned by UpdateGameSession
8468#[derive(Debug, PartialEq)]
8469pub enum UpdateGameSessionError {
8470 /// <p>The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.</p>
8471 Conflict(String),
8472 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
8473 InternalService(String),
8474 /// <p>The requested operation would cause a conflict with the current state of a resource associated with the request and/or the game instance. Resolve the conflict before retrying.</p>
8475 InvalidGameSessionStatus(String),
8476 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
8477 InvalidRequest(String),
8478 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
8479 NotFound(String),
8480 /// <p>The client failed authentication. Clients should not retry such requests.</p>
8481 Unauthorized(String),
8482}
8483
8484impl UpdateGameSessionError {
8485 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateGameSessionError> {
8486 if let Some(err) = proto::json::Error::parse(&res) {
8487 match err.typ.as_str() {
8488 "ConflictException" => {
8489 return RusotoError::Service(UpdateGameSessionError::Conflict(err.msg))
8490 }
8491 "InternalServiceException" => {
8492 return RusotoError::Service(UpdateGameSessionError::InternalService(err.msg))
8493 }
8494 "InvalidGameSessionStatusException" => {
8495 return RusotoError::Service(UpdateGameSessionError::InvalidGameSessionStatus(
8496 err.msg,
8497 ))
8498 }
8499 "InvalidRequestException" => {
8500 return RusotoError::Service(UpdateGameSessionError::InvalidRequest(err.msg))
8501 }
8502 "NotFoundException" => {
8503 return RusotoError::Service(UpdateGameSessionError::NotFound(err.msg))
8504 }
8505 "UnauthorizedException" => {
8506 return RusotoError::Service(UpdateGameSessionError::Unauthorized(err.msg))
8507 }
8508 "ValidationException" => return RusotoError::Validation(err.msg),
8509 _ => {}
8510 }
8511 }
8512 RusotoError::Unknown(res)
8513 }
8514}
8515impl fmt::Display for UpdateGameSessionError {
8516 #[allow(unused_variables)]
8517 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
8518 match *self {
8519 UpdateGameSessionError::Conflict(ref cause) => write!(f, "{}", cause),
8520 UpdateGameSessionError::InternalService(ref cause) => write!(f, "{}", cause),
8521 UpdateGameSessionError::InvalidGameSessionStatus(ref cause) => write!(f, "{}", cause),
8522 UpdateGameSessionError::InvalidRequest(ref cause) => write!(f, "{}", cause),
8523 UpdateGameSessionError::NotFound(ref cause) => write!(f, "{}", cause),
8524 UpdateGameSessionError::Unauthorized(ref cause) => write!(f, "{}", cause),
8525 }
8526 }
8527}
8528impl Error for UpdateGameSessionError {}
8529/// Errors returned by UpdateGameSessionQueue
8530#[derive(Debug, PartialEq)]
8531pub enum UpdateGameSessionQueueError {
8532 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
8533 InternalService(String),
8534 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
8535 InvalidRequest(String),
8536 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
8537 NotFound(String),
8538 /// <p>The client failed authentication. Clients should not retry such requests.</p>
8539 Unauthorized(String),
8540}
8541
8542impl UpdateGameSessionQueueError {
8543 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateGameSessionQueueError> {
8544 if let Some(err) = proto::json::Error::parse(&res) {
8545 match err.typ.as_str() {
8546 "InternalServiceException" => {
8547 return RusotoError::Service(UpdateGameSessionQueueError::InternalService(
8548 err.msg,
8549 ))
8550 }
8551 "InvalidRequestException" => {
8552 return RusotoError::Service(UpdateGameSessionQueueError::InvalidRequest(
8553 err.msg,
8554 ))
8555 }
8556 "NotFoundException" => {
8557 return RusotoError::Service(UpdateGameSessionQueueError::NotFound(err.msg))
8558 }
8559 "UnauthorizedException" => {
8560 return RusotoError::Service(UpdateGameSessionQueueError::Unauthorized(err.msg))
8561 }
8562 "ValidationException" => return RusotoError::Validation(err.msg),
8563 _ => {}
8564 }
8565 }
8566 RusotoError::Unknown(res)
8567 }
8568}
8569impl fmt::Display for UpdateGameSessionQueueError {
8570 #[allow(unused_variables)]
8571 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
8572 match *self {
8573 UpdateGameSessionQueueError::InternalService(ref cause) => write!(f, "{}", cause),
8574 UpdateGameSessionQueueError::InvalidRequest(ref cause) => write!(f, "{}", cause),
8575 UpdateGameSessionQueueError::NotFound(ref cause) => write!(f, "{}", cause),
8576 UpdateGameSessionQueueError::Unauthorized(ref cause) => write!(f, "{}", cause),
8577 }
8578 }
8579}
8580impl Error for UpdateGameSessionQueueError {}
8581/// Errors returned by UpdateMatchmakingConfiguration
8582#[derive(Debug, PartialEq)]
8583pub enum UpdateMatchmakingConfigurationError {
8584 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
8585 InternalService(String),
8586 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
8587 InvalidRequest(String),
8588 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
8589 NotFound(String),
8590 /// <p>The requested operation is not supported in the Region specified.</p>
8591 UnsupportedRegion(String),
8592}
8593
8594impl UpdateMatchmakingConfigurationError {
8595 pub fn from_response(
8596 res: BufferedHttpResponse,
8597 ) -> RusotoError<UpdateMatchmakingConfigurationError> {
8598 if let Some(err) = proto::json::Error::parse(&res) {
8599 match err.typ.as_str() {
8600 "InternalServiceException" => {
8601 return RusotoError::Service(
8602 UpdateMatchmakingConfigurationError::InternalService(err.msg),
8603 )
8604 }
8605 "InvalidRequestException" => {
8606 return RusotoError::Service(
8607 UpdateMatchmakingConfigurationError::InvalidRequest(err.msg),
8608 )
8609 }
8610 "NotFoundException" => {
8611 return RusotoError::Service(UpdateMatchmakingConfigurationError::NotFound(
8612 err.msg,
8613 ))
8614 }
8615 "UnsupportedRegionException" => {
8616 return RusotoError::Service(
8617 UpdateMatchmakingConfigurationError::UnsupportedRegion(err.msg),
8618 )
8619 }
8620 "ValidationException" => return RusotoError::Validation(err.msg),
8621 _ => {}
8622 }
8623 }
8624 RusotoError::Unknown(res)
8625 }
8626}
8627impl fmt::Display for UpdateMatchmakingConfigurationError {
8628 #[allow(unused_variables)]
8629 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
8630 match *self {
8631 UpdateMatchmakingConfigurationError::InternalService(ref cause) => {
8632 write!(f, "{}", cause)
8633 }
8634 UpdateMatchmakingConfigurationError::InvalidRequest(ref cause) => {
8635 write!(f, "{}", cause)
8636 }
8637 UpdateMatchmakingConfigurationError::NotFound(ref cause) => write!(f, "{}", cause),
8638 UpdateMatchmakingConfigurationError::UnsupportedRegion(ref cause) => {
8639 write!(f, "{}", cause)
8640 }
8641 }
8642 }
8643}
8644impl Error for UpdateMatchmakingConfigurationError {}
8645/// Errors returned by UpdateRuntimeConfiguration
8646#[derive(Debug, PartialEq)]
8647pub enum UpdateRuntimeConfigurationError {
8648 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
8649 InternalService(String),
8650 /// <p>The requested operation would cause a conflict with the current state of a resource associated with the request and/or the fleet. Resolve the conflict before retrying.</p>
8651 InvalidFleetStatus(String),
8652 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
8653 InvalidRequest(String),
8654 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
8655 NotFound(String),
8656 /// <p>The client failed authentication. Clients should not retry such requests.</p>
8657 Unauthorized(String),
8658}
8659
8660impl UpdateRuntimeConfigurationError {
8661 pub fn from_response(
8662 res: BufferedHttpResponse,
8663 ) -> RusotoError<UpdateRuntimeConfigurationError> {
8664 if let Some(err) = proto::json::Error::parse(&res) {
8665 match err.typ.as_str() {
8666 "InternalServiceException" => {
8667 return RusotoError::Service(UpdateRuntimeConfigurationError::InternalService(
8668 err.msg,
8669 ))
8670 }
8671 "InvalidFleetStatusException" => {
8672 return RusotoError::Service(
8673 UpdateRuntimeConfigurationError::InvalidFleetStatus(err.msg),
8674 )
8675 }
8676 "InvalidRequestException" => {
8677 return RusotoError::Service(UpdateRuntimeConfigurationError::InvalidRequest(
8678 err.msg,
8679 ))
8680 }
8681 "NotFoundException" => {
8682 return RusotoError::Service(UpdateRuntimeConfigurationError::NotFound(err.msg))
8683 }
8684 "UnauthorizedException" => {
8685 return RusotoError::Service(UpdateRuntimeConfigurationError::Unauthorized(
8686 err.msg,
8687 ))
8688 }
8689 "ValidationException" => return RusotoError::Validation(err.msg),
8690 _ => {}
8691 }
8692 }
8693 RusotoError::Unknown(res)
8694 }
8695}
8696impl fmt::Display for UpdateRuntimeConfigurationError {
8697 #[allow(unused_variables)]
8698 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
8699 match *self {
8700 UpdateRuntimeConfigurationError::InternalService(ref cause) => write!(f, "{}", cause),
8701 UpdateRuntimeConfigurationError::InvalidFleetStatus(ref cause) => {
8702 write!(f, "{}", cause)
8703 }
8704 UpdateRuntimeConfigurationError::InvalidRequest(ref cause) => write!(f, "{}", cause),
8705 UpdateRuntimeConfigurationError::NotFound(ref cause) => write!(f, "{}", cause),
8706 UpdateRuntimeConfigurationError::Unauthorized(ref cause) => write!(f, "{}", cause),
8707 }
8708 }
8709}
8710impl Error for UpdateRuntimeConfigurationError {}
8711/// Errors returned by UpdateScript
8712#[derive(Debug, PartialEq)]
8713pub enum UpdateScriptError {
8714 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
8715 InternalService(String),
8716 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
8717 InvalidRequest(String),
8718 /// <p>A service resource associated with the request could not be found. Clients should not retry such requests.</p>
8719 NotFound(String),
8720 /// <p>The client failed authentication. Clients should not retry such requests.</p>
8721 Unauthorized(String),
8722}
8723
8724impl UpdateScriptError {
8725 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateScriptError> {
8726 if let Some(err) = proto::json::Error::parse(&res) {
8727 match err.typ.as_str() {
8728 "InternalServiceException" => {
8729 return RusotoError::Service(UpdateScriptError::InternalService(err.msg))
8730 }
8731 "InvalidRequestException" => {
8732 return RusotoError::Service(UpdateScriptError::InvalidRequest(err.msg))
8733 }
8734 "NotFoundException" => {
8735 return RusotoError::Service(UpdateScriptError::NotFound(err.msg))
8736 }
8737 "UnauthorizedException" => {
8738 return RusotoError::Service(UpdateScriptError::Unauthorized(err.msg))
8739 }
8740 "ValidationException" => return RusotoError::Validation(err.msg),
8741 _ => {}
8742 }
8743 }
8744 RusotoError::Unknown(res)
8745 }
8746}
8747impl fmt::Display for UpdateScriptError {
8748 #[allow(unused_variables)]
8749 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
8750 match *self {
8751 UpdateScriptError::InternalService(ref cause) => write!(f, "{}", cause),
8752 UpdateScriptError::InvalidRequest(ref cause) => write!(f, "{}", cause),
8753 UpdateScriptError::NotFound(ref cause) => write!(f, "{}", cause),
8754 UpdateScriptError::Unauthorized(ref cause) => write!(f, "{}", cause),
8755 }
8756 }
8757}
8758impl Error for UpdateScriptError {}
8759/// Errors returned by ValidateMatchmakingRuleSet
8760#[derive(Debug, PartialEq)]
8761pub enum ValidateMatchmakingRuleSetError {
8762 /// <p>The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.</p>
8763 InternalService(String),
8764 /// <p>One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.</p>
8765 InvalidRequest(String),
8766 /// <p>The requested operation is not supported in the Region specified.</p>
8767 UnsupportedRegion(String),
8768}
8769
8770impl ValidateMatchmakingRuleSetError {
8771 pub fn from_response(
8772 res: BufferedHttpResponse,
8773 ) -> RusotoError<ValidateMatchmakingRuleSetError> {
8774 if let Some(err) = proto::json::Error::parse(&res) {
8775 match err.typ.as_str() {
8776 "InternalServiceException" => {
8777 return RusotoError::Service(ValidateMatchmakingRuleSetError::InternalService(
8778 err.msg,
8779 ))
8780 }
8781 "InvalidRequestException" => {
8782 return RusotoError::Service(ValidateMatchmakingRuleSetError::InvalidRequest(
8783 err.msg,
8784 ))
8785 }
8786 "UnsupportedRegionException" => {
8787 return RusotoError::Service(
8788 ValidateMatchmakingRuleSetError::UnsupportedRegion(err.msg),
8789 )
8790 }
8791 "ValidationException" => return RusotoError::Validation(err.msg),
8792 _ => {}
8793 }
8794 }
8795 RusotoError::Unknown(res)
8796 }
8797}
8798impl fmt::Display for ValidateMatchmakingRuleSetError {
8799 #[allow(unused_variables)]
8800 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
8801 match *self {
8802 ValidateMatchmakingRuleSetError::InternalService(ref cause) => write!(f, "{}", cause),
8803 ValidateMatchmakingRuleSetError::InvalidRequest(ref cause) => write!(f, "{}", cause),
8804 ValidateMatchmakingRuleSetError::UnsupportedRegion(ref cause) => write!(f, "{}", cause),
8805 }
8806 }
8807}
8808impl Error for ValidateMatchmakingRuleSetError {}
8809/// Trait representing the capabilities of the Amazon GameLift API. Amazon GameLift clients implement this trait.
8810#[async_trait]
8811pub trait GameLift {
8812 /// <p><p>Registers a player's acceptance or rejection of a proposed FlexMatch match. A matchmaking configuration may require player acceptance; if so, then matches built with that configuration cannot be completed unless all players accept the proposed match within a specified time limit. </p> <p>When FlexMatch builds a match, all the matchmaking tickets involved in the proposed match are placed into status <code>REQUIRES_ACCEPTANCE</code>. This is a trigger for your game to get acceptance from all players in the ticket. Acceptances are only valid for tickets when they are in this status; all other acceptances result in an error.</p> <p>To register acceptance, specify the ticket ID, a response, and one or more players. Once all players have registered acceptance, the matchmaking tickets advance to status <code>PLACING</code>, where a new game session is created for the match. </p> <p>If any player rejects the match, or if acceptances are not received before a specified timeout, the proposed match is dropped. The matchmaking tickets are then handled in one of two ways: For tickets where one or more players rejected the match, the ticket status is returned to <code>SEARCHING</code> to find a new match. For tickets where one or more players failed to respond, the ticket status is set to <code>CANCELLED</code>, and processing is terminated. A new matchmaking request for these players can be submitted as needed. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-client.html"> Add FlexMatch to a Game Client</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-events.html"> FlexMatch Events Reference</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>StartMatchmaking</a> </p> </li> <li> <p> <a>DescribeMatchmaking</a> </p> </li> <li> <p> <a>StopMatchmaking</a> </p> </li> <li> <p> <a>AcceptMatch</a> </p> </li> <li> <p> <a>StartMatchBackfill</a> </p> </li> </ul></p>
8813 async fn accept_match(
8814 &self,
8815 input: AcceptMatchInput,
8816 ) -> Result<AcceptMatchOutput, RusotoError<AcceptMatchError>>;
8817
8818 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Locates an available game server and temporarily reserves it to host gameplay and players. This action is called by a game client or client service (such as a matchmaker) to request hosting resources for a new game session. In response, GameLift FleetIQ searches for an available game server in the specified game server group, places the game server in "claimed" status for 60 seconds, and returns connection information back to the requester so that players can connect to the game server. </p> <p>There are two ways you can claim a game server. For the first option, you provide a game server group ID only, which prompts GameLift FleetIQ to search for an available game server in the specified group and claim it. With this option, GameLift FleetIQ attempts to consolidate gameplay on as few instances as possible to minimize hosting costs. For the second option, you request a specific game server by its ID. This option results in a less efficient claiming process because it does not take advantage of consolidation and may fail if the requested game server is unavailable. </p> <p>To claim a game server, identify a game server group and (optionally) a game server ID. If your game requires that game data be provided to the game server at the start of a game, such as a game map or player information, you can provide it in your claim request. </p> <p>When a game server is successfully claimed, connection information is returned. A claimed game server's utilization status remains AVAILABLE, while the claim status is set to CLAIMED for up to 60 seconds. This time period allows the game server to be prompted to update its status to UTILIZED (using <a>UpdateGameServer</a>). If the game server's status is not updated within 60 seconds, the game server reverts to unclaimed status and is available to be claimed by another request.</p> <p>If you try to claim a specific game server, this request will fail in the following cases: (1) if the game server utilization status is UTILIZED, (2) if the game server claim status is CLAIMED, or (3) if the instance that the game server is running on is flagged as draining.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>RegisterGameServer</a> </p> </li> <li> <p> <a>ListGameServers</a> </p> </li> <li> <p> <a>ClaimGameServer</a> </p> </li> <li> <p> <a>DescribeGameServer</a> </p> </li> <li> <p> <a>UpdateGameServer</a> </p> </li> <li> <p> <a>DeregisterGameServer</a> </p> </li> </ul></p>
8819 async fn claim_game_server(
8820 &self,
8821 input: ClaimGameServerInput,
8822 ) -> Result<ClaimGameServerOutput, RusotoError<ClaimGameServerError>>;
8823
8824 /// <p><p>Creates an alias for a fleet. In most situations, you can use an alias ID in place of a fleet ID. An alias provides a level of abstraction for a fleet that is useful when redirecting player traffic from one fleet to another, such as when updating your game build. </p> <p>Amazon GameLift supports two types of routing strategies for aliases: simple and terminal. A simple alias points to an active fleet. A terminal alias is used to display messaging or link to a URL instead of routing players to an active fleet. For example, you might use a terminal alias when a game version is no longer supported and you want to direct players to an upgrade site. </p> <p>To create a fleet alias, specify an alias name, routing strategy, and optional description. Each simple alias can point to only one fleet, but a fleet can have multiple aliases. If successful, a new alias record is returned, including an alias ID and an ARN. You can reassign an alias to another fleet by calling <code>UpdateAlias</code>.</p> <ul> <li> <p> <a>CreateAlias</a> </p> </li> <li> <p> <a>ListAliases</a> </p> </li> <li> <p> <a>DescribeAlias</a> </p> </li> <li> <p> <a>UpdateAlias</a> </p> </li> <li> <p> <a>DeleteAlias</a> </p> </li> <li> <p> <a>ResolveAlias</a> </p> </li> </ul></p>
8825 async fn create_alias(
8826 &self,
8827 input: CreateAliasInput,
8828 ) -> Result<CreateAliasOutput, RusotoError<CreateAliasError>>;
8829
8830 /// <p><p>Creates a new Amazon GameLift build resource for your game server binary files. Game server binaries must be combined into a zip file for use with Amazon GameLift. </p> <important> <p>When setting up a new game build for GameLift, we recommend using the AWS CLI command <b> <a href="https://docs.aws.amazon.com/cli/latest/reference/gamelift/upload-build.html">upload-build</a> </b>. This helper command combines two tasks: (1) it uploads your build files from a file directory to a GameLift Amazon S3 location, and (2) it creates a new build resource. </p> </important> <p>The <code>CreateBuild</code> operation can used in the following scenarios:</p> <ul> <li> <p>To create a new game build with build files that are in an S3 location under an AWS account that you control. To use this option, you must first give Amazon GameLift access to the S3 bucket. With permissions in place, call <code>CreateBuild</code> and specify a build name, operating system, and the S3 storage location of your game build.</p> </li> <li> <p>To directly upload your build files to a GameLift S3 location. To use this option, first call <code>CreateBuild</code> and specify a build name and operating system. This action creates a new build resource and also returns an S3 location with temporary access credentials. Use the credentials to manually upload your build files to the specified S3 location. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html">Uploading Objects</a> in the <i>Amazon S3 Developer Guide</i>. Build files can be uploaded to the GameLift S3 location once only; that can't be updated. </p> </li> </ul> <p>If successful, this operation creates a new build resource with a unique build ID and places it in <code>INITIALIZED</code> status. A build must be in <code>READY</code> status before you can create fleets with it.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html">Uploading Your Game</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html#gamelift-build-cli-uploading-create-build"> Create a Build with Files in Amazon S3</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateBuild</a> </p> </li> <li> <p> <a>ListBuilds</a> </p> </li> <li> <p> <a>DescribeBuild</a> </p> </li> <li> <p> <a>UpdateBuild</a> </p> </li> <li> <p> <a>DeleteBuild</a> </p> </li> </ul></p>
8831 async fn create_build(
8832 &self,
8833 input: CreateBuildInput,
8834 ) -> Result<CreateBuildOutput, RusotoError<CreateBuildError>>;
8835
8836 /// <p><p>Creates a new fleet to run your game servers. whether they are custom game builds or Realtime Servers with game-specific script. A fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2) instances, each of which can host multiple game sessions. When creating a fleet, you choose the hardware specifications, set some configuration options, and specify the game server to deploy on the new fleet. </p> <p>To create a new fleet, provide the following: (1) a fleet name, (2) an EC2 instance type and fleet type (spot or on-demand), (3) the build ID for your game build or script ID if using Realtime Servers, and (4) a runtime configuration, which determines how game servers will run on each instance in the fleet. </p> <p>If the <code>CreateFleet</code> call is successful, Amazon GameLift performs the following tasks. You can track the process of a fleet by checking the fleet status or by monitoring fleet creation events:</p> <ul> <li> <p>Creates a fleet resource. Status: <code>NEW</code>.</p> </li> <li> <p>Begins writing events to the fleet event log, which can be accessed in the Amazon GameLift console.</p> </li> <li> <p>Sets the fleet's target capacity to 1 (desired instances), which triggers Amazon GameLift to start one new EC2 instance.</p> </li> <li> <p>Downloads the game build or Realtime script to the new instance and installs it. Statuses: <code>DOWNLOADING</code>, <code>VALIDATING</code>, <code>BUILDING</code>. </p> </li> <li> <p>Starts launching server processes on the instance. If the fleet is configured to run multiple server processes per instance, Amazon GameLift staggers each process launch by a few seconds. Status: <code>ACTIVATING</code>.</p> </li> <li> <p>Sets the fleet's status to <code>ACTIVE</code> as soon as one server process is ready to host a game session.</p> </li> </ul> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting Up Fleets</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html#fleets-creating-debug-creation">Debug Fleet Creation Issues</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
8837 async fn create_fleet(
8838 &self,
8839 input: CreateFleetInput,
8840 ) -> Result<CreateFleetOutput, RusotoError<CreateFleetError>>;
8841
8842 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Creates a GameLift FleetIQ game server group to manage a collection of EC2 instances for game hosting. In addition to creating the game server group, this action also creates an Auto Scaling group in your AWS account and establishes a link between the two groups. You have full control over configuration of the Auto Scaling group, but GameLift FleetIQ routinely certain Auto Scaling group properties in order to optimize the group's instances for low-cost game hosting. You can view the status of your game server groups in the GameLift Console. Game server group metrics and events are emitted to Amazon CloudWatch.</p> <p>Prior creating a new game server group, you must set up the following: </p> <ul> <li> <p>An EC2 launch template. The template provides configuration settings for a set of EC2 instances and includes the game server build that you want to deploy and run on each instance. For more information on creating a launch template, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html"> Launching an Instance from a Launch Template</a> in the <i>Amazon EC2 User Guide</i>. </p> </li> <li> <p>An IAM role. The role sets up limited access to your AWS account, allowing GameLift FleetIQ to create and manage the EC2 Auto Scaling group, get instance data, and emit metrics and events to CloudWatch. For more information on setting up an IAM permissions policy with principal access for GameLift, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-bucket-user-policy-specifying-principal-intro.html"> Specifying a Principal in a Policy</a> in the <i>Amazon S3 Developer Guide</i>.</p> </li> </ul> <p>To create a new game server group, provide a name and specify the IAM role and EC2 launch template. You also need to provide a list of instance types to be used in the group and set initial maximum and minimum limits on the group's instance count. You can optionally set an autoscaling policy with target tracking based on a GameLift FleetIQ metric.</p> <p>Once the game server group and corresponding Auto Scaling group are created, you have full access to change the Auto Scaling group's configuration as needed. Keep in mind, however, that some properties are periodically updated by GameLift FleetIQ as it balances the group's instances based on availability and cost.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-asgroups.html">Updating a GameLift FleetIQ-Linked Auto Scaling Group</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateGameServerGroup</a> </p> </li> <li> <p> <a>ListGameServerGroups</a> </p> </li> <li> <p> <a>DescribeGameServerGroup</a> </p> </li> <li> <p> <a>UpdateGameServerGroup</a> </p> </li> <li> <p> <a>DeleteGameServerGroup</a> </p> </li> <li> <p> <a>ResumeGameServerGroup</a> </p> </li> <li> <p> <a>SuspendGameServerGroup</a> </p> </li> </ul></p>
8843 async fn create_game_server_group(
8844 &self,
8845 input: CreateGameServerGroupInput,
8846 ) -> Result<CreateGameServerGroupOutput, RusotoError<CreateGameServerGroupError>>;
8847
8848 /// <p><p>Creates a multiplayer game session for players. This action creates a game session record and assigns an available server process in the specified fleet to host the game session. A fleet must have an <code>ACTIVE</code> status before a game session can be created in it.</p> <p>To create a game session, specify either fleet ID or alias ID and indicate a maximum number of players to allow in the game session. You can also provide a name and game-specific properties for this game session. If successful, a <a>GameSession</a> object is returned containing the game session properties and other settings you specified.</p> <p> <b>Idempotency tokens.</b> You can add a token that uniquely identifies game session requests. This is useful for ensuring that game session requests are idempotent. Multiple requests with the same idempotency token are processed only once; subsequent requests return the original result. All response values are the same with the exception of game session status, which may change.</p> <p> <b>Resource creation limits.</b> If you are creating a game session on a fleet with a resource creation limit policy in force, then you must specify a creator ID. Without this ID, Amazon GameLift has no way to evaluate the policy for this new game session request.</p> <p> <b>Player acceptance policy.</b> By default, newly created game sessions are open to new players. You can restrict new player access by using <a>UpdateGameSession</a> to change the game session's player session creation policy.</p> <p> <b>Game session logs.</b> Logs are retained for all active game sessions for 14 days. To access the logs, call <a>GetGameSessionLogUrl</a> to download the log files.</p> <p> <i>Available in Amazon GameLift Local.</i> </p> <ul> <li> <p> <a>CreateGameSession</a> </p> </li> <li> <p> <a>DescribeGameSessions</a> </p> </li> <li> <p> <a>DescribeGameSessionDetails</a> </p> </li> <li> <p> <a>SearchGameSessions</a> </p> </li> <li> <p> <a>UpdateGameSession</a> </p> </li> <li> <p> <a>GetGameSessionLogUrl</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
8849 async fn create_game_session(
8850 &self,
8851 input: CreateGameSessionInput,
8852 ) -> Result<CreateGameSessionOutput, RusotoError<CreateGameSessionError>>;
8853
8854 /// <p><p>Establishes a new queue for processing requests to place new game sessions. A queue identifies where new game sessions can be hosted -- by specifying a list of destinations (fleets or aliases) -- and how long requests can wait in the queue before timing out. You can set up a queue to try to place game sessions on fleets in multiple Regions. To add placement requests to a queue, call <a>StartGameSessionPlacement</a> and reference the queue name.</p> <p> <b>Destination order.</b> When processing a request for a game session, Amazon GameLift tries each destination in order until it finds one with available resources to host the new game session. A queue's default order is determined by how destinations are listed. The default order is overridden when a game session placement request provides player latency information. Player latency information enables Amazon GameLift to prioritize destinations where players report the lowest average latency, as a result placing the new game session where the majority of players will have the best possible gameplay experience.</p> <p> <b>Player latency policies.</b> For placement requests containing player latency information, use player latency policies to protect individual players from very high latencies. With a latency cap, even when a destination can deliver a low latency for most players, the game is not placed where any individual player is reporting latency higher than a policy's maximum. A queue can have multiple latency policies, which are enforced consecutively starting with the policy with the lowest latency cap. Use multiple policies to gradually relax latency controls; for example, you might set a policy with a low latency cap for the first 60 seconds, a second policy with a higher cap for the next 60 seconds, etc. </p> <p>To create a new queue, provide a name, timeout value, a list of destinations and, if desired, a set of latency policies. If successful, a new queue object is returned.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-design.html"> Design a Game Session Queue</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-creating.html"> Create a Game Session Queue</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateGameSessionQueue</a> </p> </li> <li> <p> <a>DescribeGameSessionQueues</a> </p> </li> <li> <p> <a>UpdateGameSessionQueue</a> </p> </li> <li> <p> <a>DeleteGameSessionQueue</a> </p> </li> </ul></p>
8855 async fn create_game_session_queue(
8856 &self,
8857 input: CreateGameSessionQueueInput,
8858 ) -> Result<CreateGameSessionQueueOutput, RusotoError<CreateGameSessionQueueError>>;
8859
8860 /// <p><p>Defines a new matchmaking configuration for use with FlexMatch. A matchmaking configuration sets out guidelines for matching players and getting the matches into games. You can set up multiple matchmaking configurations to handle the scenarios needed for your game. Each matchmaking ticket (<a>StartMatchmaking</a> or <a>StartMatchBackfill</a>) specifies a configuration for the match and provides player attributes to support the configuration being used. </p> <p>To create a matchmaking configuration, at a minimum you must specify the following: configuration name; a rule set that governs how to evaluate players and find acceptable matches; a game session queue to use when placing a new game session for the match; and the maximum time allowed for a matchmaking attempt.</p> <p>There are two ways to track the progress of matchmaking tickets: (1) polling ticket status with <a>DescribeMatchmaking</a>; or (2) receiving notifications with Amazon Simple Notification Service (SNS). To use notifications, you first need to set up an SNS topic to receive the notifications, and provide the topic ARN in the matchmaking configuration. Since notifications promise only "best effort" delivery, we recommend calling <code>DescribeMatchmaking</code> if no notifications are received within 30 seconds.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-configuration.html"> Design a FlexMatch Matchmaker</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-notification.html"> Setting up Notifications for Matchmaking</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DescribeMatchmakingConfigurations</a> </p> </li> <li> <p> <a>UpdateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DeleteMatchmakingConfiguration</a> </p> </li> <li> <p> <a>CreateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DescribeMatchmakingRuleSets</a> </p> </li> <li> <p> <a>ValidateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DeleteMatchmakingRuleSet</a> </p> </li> </ul></p>
8861 async fn create_matchmaking_configuration(
8862 &self,
8863 input: CreateMatchmakingConfigurationInput,
8864 ) -> Result<
8865 CreateMatchmakingConfigurationOutput,
8866 RusotoError<CreateMatchmakingConfigurationError>,
8867 >;
8868
8869 /// <p><p>Creates a new rule set for FlexMatch matchmaking. A rule set describes the type of match to create, such as the number and size of teams. It also sets the parameters for acceptable player matches, such as minimum skill level or character type. A rule set is used by a <a>MatchmakingConfiguration</a>. </p> <p>To create a matchmaking rule set, provide unique rule set name and the rule set body in JSON format. Rule sets must be defined in the same Region as the matchmaking configuration they are used with.</p> <p>Since matchmaking rule sets cannot be edited, it is a good idea to check the rule set syntax using <a>ValidateMatchmakingRuleSet</a> before creating a new rule set.</p> <p> <b>Learn more</b> </p> <ul> <li> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-rulesets.html">Build a Rule Set</a> </p> </li> <li> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-configuration.html">Design a Matchmaker</a> </p> </li> <li> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-intro.html">Matchmaking with FlexMatch</a> </p> </li> </ul> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DescribeMatchmakingConfigurations</a> </p> </li> <li> <p> <a>UpdateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DeleteMatchmakingConfiguration</a> </p> </li> <li> <p> <a>CreateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DescribeMatchmakingRuleSets</a> </p> </li> <li> <p> <a>ValidateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DeleteMatchmakingRuleSet</a> </p> </li> </ul></p>
8870 async fn create_matchmaking_rule_set(
8871 &self,
8872 input: CreateMatchmakingRuleSetInput,
8873 ) -> Result<CreateMatchmakingRuleSetOutput, RusotoError<CreateMatchmakingRuleSetError>>;
8874
8875 /// <p><p>Reserves an open player slot in an active game session. Before a player can be added, a game session must have an <code>ACTIVE</code> status, have a creation policy of <code>ALLOW_ALL</code>, and have an open player slot. To add a group of players to a game session, use <a>CreatePlayerSessions</a>. When the player connects to the game server and references a player session ID, the game server contacts the Amazon GameLift service to validate the player reservation and accept the player.</p> <p>To create a player session, specify a game session ID, player ID, and optionally a string of player data. If successful, a slot is reserved in the game session for the player and a new <a>PlayerSession</a> object is returned. Player sessions cannot be updated. </p> <p> <i>Available in Amazon GameLift Local.</i> </p> <ul> <li> <p> <a>CreatePlayerSession</a> </p> </li> <li> <p> <a>CreatePlayerSessions</a> </p> </li> <li> <p> <a>DescribePlayerSessions</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
8876 async fn create_player_session(
8877 &self,
8878 input: CreatePlayerSessionInput,
8879 ) -> Result<CreatePlayerSessionOutput, RusotoError<CreatePlayerSessionError>>;
8880
8881 /// <p><p>Reserves open slots in a game session for a group of players. Before players can be added, a game session must have an <code>ACTIVE</code> status, have a creation policy of <code>ALLOW_ALL</code>, and have an open player slot. To add a single player to a game session, use <a>CreatePlayerSession</a>. When a player connects to the game server and references a player session ID, the game server contacts the Amazon GameLift service to validate the player reservation and accept the player.</p> <p>To create player sessions, specify a game session ID, a list of player IDs, and optionally a set of player data strings. If successful, a slot is reserved in the game session for each player and a set of new <a>PlayerSession</a> objects is returned. Player sessions cannot be updated.</p> <p> <i>Available in Amazon GameLift Local.</i> </p> <ul> <li> <p> <a>CreatePlayerSession</a> </p> </li> <li> <p> <a>CreatePlayerSessions</a> </p> </li> <li> <p> <a>DescribePlayerSessions</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
8882 async fn create_player_sessions(
8883 &self,
8884 input: CreatePlayerSessionsInput,
8885 ) -> Result<CreatePlayerSessionsOutput, RusotoError<CreatePlayerSessionsError>>;
8886
8887 /// <p><p>Creates a new script record for your Realtime Servers script. Realtime scripts are JavaScript that provide configuration settings and optional custom game logic for your game. The script is deployed when you create a Realtime Servers fleet to host your game sessions. Script logic is executed during an active game session. </p> <p>To create a new script record, specify a script name and provide the script file(s). The script files and all dependencies must be zipped into a single file. You can pull the zip file from either of these locations: </p> <ul> <li> <p>A locally available directory. Use the <i>ZipFile</i> parameter for this option.</p> </li> <li> <p>An Amazon Simple Storage Service (Amazon S3) bucket under your AWS account. Use the <i>StorageLocation</i> parameter for this option. You'll need to have an Identity Access Management (IAM) role that allows the Amazon GameLift service to access your S3 bucket. </p> </li> </ul> <p>If the call is successful, a new script record is created with a unique script ID. If the script file is provided as a local file, the file is uploaded to an Amazon GameLift-owned S3 bucket and the script record's storage location reflects this location. If the script file is provided as an S3 bucket, Amazon GameLift accesses the file at this storage location as needed for deployment.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html">Amazon GameLift Realtime Servers</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/setting-up-role.html">Set Up a Role for Amazon GameLift Access</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateScript</a> </p> </li> <li> <p> <a>ListScripts</a> </p> </li> <li> <p> <a>DescribeScript</a> </p> </li> <li> <p> <a>UpdateScript</a> </p> </li> <li> <p> <a>DeleteScript</a> </p> </li> </ul></p>
8888 async fn create_script(
8889 &self,
8890 input: CreateScriptInput,
8891 ) -> Result<CreateScriptOutput, RusotoError<CreateScriptError>>;
8892
8893 /// <p><p>Requests authorization to create or delete a peer connection between the VPC for your Amazon GameLift fleet and a virtual private cloud (VPC) in your AWS account. VPC peering enables the game servers on your fleet to communicate directly with other AWS resources. Once you've received authorization, call <a>CreateVpcPeeringConnection</a> to establish the peering connection. For more information, see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html">VPC Peering with Amazon GameLift Fleets</a>.</p> <p>You can peer with VPCs that are owned by any AWS account you have access to, including the account that you use to manage your Amazon GameLift fleets. You cannot peer with VPCs that are in different Regions.</p> <p>To request authorization to create a connection, call this operation from the AWS account with the VPC that you want to peer to your Amazon GameLift fleet. For example, to enable your game servers to retrieve data from a DynamoDB table, use the account that manages that DynamoDB resource. Identify the following values: (1) The ID of the VPC that you want to peer with, and (2) the ID of the AWS account that you use to manage Amazon GameLift. If successful, VPC peering is authorized for the specified VPC. </p> <p>To request authorization to delete a connection, call this operation from the AWS account with the VPC that is peered with your Amazon GameLift fleet. Identify the following values: (1) VPC ID that you want to delete the peering connection for, and (2) ID of the AWS account that you use to manage Amazon GameLift. </p> <p>The authorization remains valid for 24 hours unless it is canceled by a call to <a>DeleteVpcPeeringAuthorization</a>. You must create or delete the peering connection while the authorization is valid. </p> <ul> <li> <p> <a>CreateVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>DescribeVpcPeeringAuthorizations</a> </p> </li> <li> <p> <a>DeleteVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>CreateVpcPeeringConnection</a> </p> </li> <li> <p> <a>DescribeVpcPeeringConnections</a> </p> </li> <li> <p> <a>DeleteVpcPeeringConnection</a> </p> </li> </ul></p>
8894 async fn create_vpc_peering_authorization(
8895 &self,
8896 input: CreateVpcPeeringAuthorizationInput,
8897 ) -> Result<CreateVpcPeeringAuthorizationOutput, RusotoError<CreateVpcPeeringAuthorizationError>>;
8898
8899 /// <p><p>Establishes a VPC peering connection between a virtual private cloud (VPC) in an AWS account with the VPC for your Amazon GameLift fleet. VPC peering enables the game servers on your fleet to communicate directly with other AWS resources. You can peer with VPCs in any AWS account that you have access to, including the account that you use to manage your Amazon GameLift fleets. You cannot peer with VPCs that are in different Regions. For more information, see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html">VPC Peering with Amazon GameLift Fleets</a>.</p> <p>Before calling this operation to establish the peering connection, you first need to call <a>CreateVpcPeeringAuthorization</a> and identify the VPC you want to peer with. Once the authorization for the specified VPC is issued, you have 24 hours to establish the connection. These two operations handle all tasks necessary to peer the two VPCs, including acceptance, updating routing tables, etc. </p> <p>To establish the connection, call this operation from the AWS account that is used to manage the Amazon GameLift fleets. Identify the following values: (1) The ID of the fleet you want to be enable a VPC peering connection for; (2) The AWS account with the VPC that you want to peer with; and (3) The ID of the VPC you want to peer with. This operation is asynchronous. If successful, a <a>VpcPeeringConnection</a> request is created. You can use continuous polling to track the request's status using <a>DescribeVpcPeeringConnections</a>, or by monitoring fleet events for success or failure using <a>DescribeFleetEvents</a>. </p> <ul> <li> <p> <a>CreateVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>DescribeVpcPeeringAuthorizations</a> </p> </li> <li> <p> <a>DeleteVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>CreateVpcPeeringConnection</a> </p> </li> <li> <p> <a>DescribeVpcPeeringConnections</a> </p> </li> <li> <p> <a>DeleteVpcPeeringConnection</a> </p> </li> </ul></p>
8900 async fn create_vpc_peering_connection(
8901 &self,
8902 input: CreateVpcPeeringConnectionInput,
8903 ) -> Result<CreateVpcPeeringConnectionOutput, RusotoError<CreateVpcPeeringConnectionError>>;
8904
8905 /// <p><p>Deletes an alias. This action removes all record of the alias. Game clients attempting to access a server process using the deleted alias receive an error. To delete an alias, specify the alias ID to be deleted.</p> <ul> <li> <p> <a>CreateAlias</a> </p> </li> <li> <p> <a>ListAliases</a> </p> </li> <li> <p> <a>DescribeAlias</a> </p> </li> <li> <p> <a>UpdateAlias</a> </p> </li> <li> <p> <a>DeleteAlias</a> </p> </li> <li> <p> <a>ResolveAlias</a> </p> </li> </ul></p>
8906 async fn delete_alias(
8907 &self,
8908 input: DeleteAliasInput,
8909 ) -> Result<(), RusotoError<DeleteAliasError>>;
8910
8911 /// <p><p>Deletes a build. This action permanently deletes the build resource and any uploaded build files. Deleting a build does not affect the status of any active fleets using the build, but you can no longer create new fleets with the deleted build.</p> <p>To delete a build, specify the build ID. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html"> Upload a Custom Server Build</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateBuild</a> </p> </li> <li> <p> <a>ListBuilds</a> </p> </li> <li> <p> <a>DescribeBuild</a> </p> </li> <li> <p> <a>UpdateBuild</a> </p> </li> <li> <p> <a>DeleteBuild</a> </p> </li> </ul></p>
8912 async fn delete_build(
8913 &self,
8914 input: DeleteBuildInput,
8915 ) -> Result<(), RusotoError<DeleteBuildError>>;
8916
8917 /// <p><p>Deletes everything related to a fleet. Before deleting a fleet, you must set the fleet's desired capacity to zero. See <a>UpdateFleetCapacity</a>.</p> <p>If the fleet being deleted has a VPC peering connection, you first need to get a valid authorization (good for 24 hours) by calling <a>CreateVpcPeeringAuthorization</a>. You do not need to explicitly delete the VPC peering connection--this is done as part of the delete fleet process.</p> <p>This action removes the fleet and its resources. Once a fleet is deleted, you can no longer use any of the resource in that fleet.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
8918 async fn delete_fleet(
8919 &self,
8920 input: DeleteFleetInput,
8921 ) -> Result<(), RusotoError<DeleteFleetError>>;
8922
8923 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Terminates a game server group and permanently deletes the game server group record. You have several options for how these resources are impacted when deleting the game server group. Depending on the type of delete action selected, this action may affect three types of resources: the game server group, the corresponding Auto Scaling group, and all game servers currently running in the group. </p> <p>To delete a game server group, identify the game server group to delete and specify the type of delete action to initiate. Game server groups can only be deleted if they are in ACTIVE or ERROR status.</p> <p>If the delete request is successful, a series of actions are kicked off. The game server group status is changed to DELETE_SCHEDULED, which prevents new game servers from being registered and stops autoscaling activity. Once all game servers in the game server group are de-registered, GameLift FleetIQ can begin deleting resources. If any of the delete actions fail, the game server group is placed in ERROR status.</p> <p>GameLift FleetIQ emits delete events to Amazon CloudWatch.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateGameServerGroup</a> </p> </li> <li> <p> <a>ListGameServerGroups</a> </p> </li> <li> <p> <a>DescribeGameServerGroup</a> </p> </li> <li> <p> <a>UpdateGameServerGroup</a> </p> </li> <li> <p> <a>DeleteGameServerGroup</a> </p> </li> <li> <p> <a>ResumeGameServerGroup</a> </p> </li> <li> <p> <a>SuspendGameServerGroup</a> </p> </li> </ul></p>
8924 async fn delete_game_server_group(
8925 &self,
8926 input: DeleteGameServerGroupInput,
8927 ) -> Result<DeleteGameServerGroupOutput, RusotoError<DeleteGameServerGroupError>>;
8928
8929 /// <p><p>Deletes a game session queue. This action means that any <a>StartGameSessionPlacement</a> requests that reference this queue will fail. To delete a queue, specify the queue name.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-intro.html"> Using Multi-Region Queues</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateGameSessionQueue</a> </p> </li> <li> <p> <a>DescribeGameSessionQueues</a> </p> </li> <li> <p> <a>UpdateGameSessionQueue</a> </p> </li> <li> <p> <a>DeleteGameSessionQueue</a> </p> </li> </ul></p>
8930 async fn delete_game_session_queue(
8931 &self,
8932 input: DeleteGameSessionQueueInput,
8933 ) -> Result<DeleteGameSessionQueueOutput, RusotoError<DeleteGameSessionQueueError>>;
8934
8935 /// <p><p>Permanently removes a FlexMatch matchmaking configuration. To delete, specify the configuration name. A matchmaking configuration cannot be deleted if it is being used in any active matchmaking tickets.</p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DescribeMatchmakingConfigurations</a> </p> </li> <li> <p> <a>UpdateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DeleteMatchmakingConfiguration</a> </p> </li> <li> <p> <a>CreateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DescribeMatchmakingRuleSets</a> </p> </li> <li> <p> <a>ValidateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DeleteMatchmakingRuleSet</a> </p> </li> </ul></p>
8936 async fn delete_matchmaking_configuration(
8937 &self,
8938 input: DeleteMatchmakingConfigurationInput,
8939 ) -> Result<
8940 DeleteMatchmakingConfigurationOutput,
8941 RusotoError<DeleteMatchmakingConfigurationError>,
8942 >;
8943
8944 /// <p><p>Deletes an existing matchmaking rule set. To delete the rule set, provide the rule set name. Rule sets cannot be deleted if they are currently being used by a matchmaking configuration. </p> <p> <b>Learn more</b> </p> <ul> <li> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-rulesets.html">Build a Rule Set</a> </p> </li> </ul> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DescribeMatchmakingConfigurations</a> </p> </li> <li> <p> <a>UpdateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DeleteMatchmakingConfiguration</a> </p> </li> <li> <p> <a>CreateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DescribeMatchmakingRuleSets</a> </p> </li> <li> <p> <a>ValidateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DeleteMatchmakingRuleSet</a> </p> </li> </ul></p>
8945 async fn delete_matchmaking_rule_set(
8946 &self,
8947 input: DeleteMatchmakingRuleSetInput,
8948 ) -> Result<DeleteMatchmakingRuleSetOutput, RusotoError<DeleteMatchmakingRuleSetError>>;
8949
8950 /// <p><p>Deletes a fleet scaling policy. This action means that the policy is no longer in force and removes all record of it. To delete a scaling policy, specify both the scaling policy name and the fleet ID it is associated with.</p> <p>To temporarily suspend scaling policies, call <a>StopFleetActions</a>. This operation suspends all policies for the fleet.</p> <ul> <li> <p> <a>DescribeFleetCapacity</a> </p> </li> <li> <p> <a>UpdateFleetCapacity</a> </p> </li> <li> <p> <a>DescribeEC2InstanceLimits</a> </p> </li> <li> <p>Manage scaling policies:</p> <ul> <li> <p> <a>PutScalingPolicy</a> (auto-scaling)</p> </li> <li> <p> <a>DescribeScalingPolicies</a> (auto-scaling)</p> </li> <li> <p> <a>DeleteScalingPolicy</a> (auto-scaling)</p> </li> </ul> </li> <li> <p>Manage fleet actions:</p> <ul> <li> <p> <a>StartFleetActions</a> </p> </li> <li> <p> <a>StopFleetActions</a> </p> </li> </ul> </li> </ul></p>
8951 async fn delete_scaling_policy(
8952 &self,
8953 input: DeleteScalingPolicyInput,
8954 ) -> Result<(), RusotoError<DeleteScalingPolicyError>>;
8955
8956 /// <p><p>Deletes a Realtime script. This action permanently deletes the script record. If script files were uploaded, they are also deleted (files stored in an S3 bucket are not deleted). </p> <p>To delete a script, specify the script ID. Before deleting a script, be sure to terminate all fleets that are deployed with the script being deleted. Fleet instances periodically check for script updates, and if the script record no longer exists, the instance will go into an error state and be unable to host game sessions.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html">Amazon GameLift Realtime Servers</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateScript</a> </p> </li> <li> <p> <a>ListScripts</a> </p> </li> <li> <p> <a>DescribeScript</a> </p> </li> <li> <p> <a>UpdateScript</a> </p> </li> <li> <p> <a>DeleteScript</a> </p> </li> </ul></p>
8957 async fn delete_script(
8958 &self,
8959 input: DeleteScriptInput,
8960 ) -> Result<(), RusotoError<DeleteScriptError>>;
8961
8962 /// <p><p>Cancels a pending VPC peering authorization for the specified VPC. If you need to delete an existing VPC peering connection, call <a>DeleteVpcPeeringConnection</a>. </p> <ul> <li> <p> <a>CreateVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>DescribeVpcPeeringAuthorizations</a> </p> </li> <li> <p> <a>DeleteVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>CreateVpcPeeringConnection</a> </p> </li> <li> <p> <a>DescribeVpcPeeringConnections</a> </p> </li> <li> <p> <a>DeleteVpcPeeringConnection</a> </p> </li> </ul></p>
8963 async fn delete_vpc_peering_authorization(
8964 &self,
8965 input: DeleteVpcPeeringAuthorizationInput,
8966 ) -> Result<DeleteVpcPeeringAuthorizationOutput, RusotoError<DeleteVpcPeeringAuthorizationError>>;
8967
8968 /// <p><p>Removes a VPC peering connection. To delete the connection, you must have a valid authorization for the VPC peering connection that you want to delete. You can check for an authorization by calling <a>DescribeVpcPeeringAuthorizations</a> or request a new one using <a>CreateVpcPeeringAuthorization</a>. </p> <p>Once a valid authorization exists, call this operation from the AWS account that is used to manage the Amazon GameLift fleets. Identify the connection to delete by the connection ID and fleet ID. If successful, the connection is removed. </p> <ul> <li> <p> <a>CreateVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>DescribeVpcPeeringAuthorizations</a> </p> </li> <li> <p> <a>DeleteVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>CreateVpcPeeringConnection</a> </p> </li> <li> <p> <a>DescribeVpcPeeringConnections</a> </p> </li> <li> <p> <a>DeleteVpcPeeringConnection</a> </p> </li> </ul></p>
8969 async fn delete_vpc_peering_connection(
8970 &self,
8971 input: DeleteVpcPeeringConnectionInput,
8972 ) -> Result<DeleteVpcPeeringConnectionOutput, RusotoError<DeleteVpcPeeringConnectionError>>;
8973
8974 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Removes the game server resource from the game server group. As a result of this action, the de-registered game server can no longer be claimed and will not returned in a list of active game servers. </p> <p>To de-register a game server, specify the game server group and game server ID. If successful, this action emits a CloudWatch event with termination time stamp and reason.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>RegisterGameServer</a> </p> </li> <li> <p> <a>ListGameServers</a> </p> </li> <li> <p> <a>ClaimGameServer</a> </p> </li> <li> <p> <a>DescribeGameServer</a> </p> </li> <li> <p> <a>UpdateGameServer</a> </p> </li> <li> <p> <a>DeregisterGameServer</a> </p> </li> </ul></p>
8975 async fn deregister_game_server(
8976 &self,
8977 input: DeregisterGameServerInput,
8978 ) -> Result<(), RusotoError<DeregisterGameServerError>>;
8979
8980 /// <p><p>Retrieves properties for an alias. This operation returns all alias metadata and settings. To get an alias's target fleet ID only, use <code>ResolveAlias</code>. </p> <p>To get alias properties, specify the alias ID. If successful, the requested alias record is returned.</p> <ul> <li> <p> <a>CreateAlias</a> </p> </li> <li> <p> <a>ListAliases</a> </p> </li> <li> <p> <a>DescribeAlias</a> </p> </li> <li> <p> <a>UpdateAlias</a> </p> </li> <li> <p> <a>DeleteAlias</a> </p> </li> <li> <p> <a>ResolveAlias</a> </p> </li> </ul></p>
8981 async fn describe_alias(
8982 &self,
8983 input: DescribeAliasInput,
8984 ) -> Result<DescribeAliasOutput, RusotoError<DescribeAliasError>>;
8985
8986 /// <p><p>Retrieves properties for a custom game build. To request a build resource, specify a build ID. If successful, an object containing the build properties is returned.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html"> Upload a Custom Server Build</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateBuild</a> </p> </li> <li> <p> <a>ListBuilds</a> </p> </li> <li> <p> <a>DescribeBuild</a> </p> </li> <li> <p> <a>UpdateBuild</a> </p> </li> <li> <p> <a>DeleteBuild</a> </p> </li> </ul></p>
8987 async fn describe_build(
8988 &self,
8989 input: DescribeBuildInput,
8990 ) -> Result<DescribeBuildOutput, RusotoError<DescribeBuildError>>;
8991
8992 /// <p><p>Retrieves the following information for the specified EC2 instance type:</p> <ul> <li> <p>Maximum number of instances allowed per AWS account (service limit).</p> </li> <li> <p>Current usage for the AWS account.</p> </li> </ul> <p>To learn more about the capabilities of each instance type, see <a href="http://aws.amazon.com/ec2/instance-types/">Amazon EC2 Instance Types</a>. Note that the instance types offered may vary depending on the region.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
8993 async fn describe_ec2_instance_limits(
8994 &self,
8995 input: DescribeEC2InstanceLimitsInput,
8996 ) -> Result<DescribeEC2InstanceLimitsOutput, RusotoError<DescribeEC2InstanceLimitsError>>;
8997
8998 /// <p><p>Retrieves core properties, including configuration, status, and metadata, for a fleet. </p> <p>To get attributes for one or more fleets, provide a list of fleet IDs or fleet ARNs. To get attributes for all fleets, do not specify a fleet identifier. When requesting attributes for multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a <a>FleetAttributes</a> object is returned for each fleet requested, unless the fleet identifier is not found.</p> <note> <p>Some API actions may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed number.</p> </note> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p>Describe fleets:</p> <ul> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>DescribeFleetCapacity</a> </p> </li> <li> <p> <a>DescribeFleetPortSettings</a> </p> </li> <li> <p> <a>DescribeFleetUtilization</a> </p> </li> <li> <p> <a>DescribeRuntimeConfiguration</a> </p> </li> <li> <p> <a>DescribeEC2InstanceLimits</a> </p> </li> <li> <p> <a>DescribeFleetEvents</a> </p> </li> </ul> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
8999 async fn describe_fleet_attributes(
9000 &self,
9001 input: DescribeFleetAttributesInput,
9002 ) -> Result<DescribeFleetAttributesOutput, RusotoError<DescribeFleetAttributesError>>;
9003
9004 /// <p><p>Retrieves the current capacity statistics for one or more fleets. These statistics present a snapshot of the fleet's instances and provide insight on current or imminent scaling activity. To get statistics on game hosting activity in the fleet, see <a>DescribeFleetUtilization</a>.</p> <p>You can request capacity for all fleets or specify a list of one or more fleet identifiers. When requesting multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a <a>FleetCapacity</a> object is returned for each requested fleet ID. When a list of fleet IDs is provided, attribute objects are returned only for fleets that currently exist.</p> <note> <p>Some API actions may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed.</p> </note> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html#gamelift-metrics-fleet">GameLift Metrics for Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p>Describe fleets:</p> <ul> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>DescribeFleetCapacity</a> </p> </li> <li> <p> <a>DescribeFleetPortSettings</a> </p> </li> <li> <p> <a>DescribeFleetUtilization</a> </p> </li> <li> <p> <a>DescribeRuntimeConfiguration</a> </p> </li> <li> <p> <a>DescribeEC2InstanceLimits</a> </p> </li> <li> <p> <a>DescribeFleetEvents</a> </p> </li> </ul> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
9005 async fn describe_fleet_capacity(
9006 &self,
9007 input: DescribeFleetCapacityInput,
9008 ) -> Result<DescribeFleetCapacityOutput, RusotoError<DescribeFleetCapacityError>>;
9009
9010 /// <p><p>Retrieves entries from the specified fleet's event log. You can specify a time range to limit the result set. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a collection of event log entries matching the request are returned.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p>Describe fleets:</p> <ul> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>DescribeFleetCapacity</a> </p> </li> <li> <p> <a>DescribeFleetPortSettings</a> </p> </li> <li> <p> <a>DescribeFleetUtilization</a> </p> </li> <li> <p> <a>DescribeRuntimeConfiguration</a> </p> </li> <li> <p> <a>DescribeEC2InstanceLimits</a> </p> </li> <li> <p> <a>DescribeFleetEvents</a> </p> </li> </ul> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
9011 async fn describe_fleet_events(
9012 &self,
9013 input: DescribeFleetEventsInput,
9014 ) -> Result<DescribeFleetEventsOutput, RusotoError<DescribeFleetEventsError>>;
9015
9016 /// <p><p>Retrieves a fleet's inbound connection permissions. Connection permissions specify the range of IP addresses and port settings that incoming traffic can use to access server processes in the fleet. Game sessions that are running on instances in the fleet use connections that fall in this range. </p> <p>To get a fleet's inbound connection permissions, specify the fleet's unique identifier. If successful, a collection of <a>IpPermission</a> objects is returned for the requested fleet ID. If the requested fleet has been deleted, the result set is empty.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p>Describe fleets:</p> <ul> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>DescribeFleetCapacity</a> </p> </li> <li> <p> <a>DescribeFleetPortSettings</a> </p> </li> <li> <p> <a>DescribeFleetUtilization</a> </p> </li> <li> <p> <a>DescribeRuntimeConfiguration</a> </p> </li> <li> <p> <a>DescribeEC2InstanceLimits</a> </p> </li> <li> <p> <a>DescribeFleetEvents</a> </p> </li> </ul> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
9017 async fn describe_fleet_port_settings(
9018 &self,
9019 input: DescribeFleetPortSettingsInput,
9020 ) -> Result<DescribeFleetPortSettingsOutput, RusotoError<DescribeFleetPortSettingsError>>;
9021
9022 /// <p><p>Retrieves utilization statistics for one or more fleets. These statistics provide insight into how available hosting resources are currently being used. To get statistics on available hosting resources, see <a>DescribeFleetCapacity</a>.</p> <p>You can request utilization data for all fleets, or specify a list of one or more fleet IDs. When requesting multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a <a>FleetUtilization</a> object is returned for each requested fleet ID, unless the fleet identifier is not found. </p> <note> <p>Some API actions may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed.</p> </note> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html#gamelift-metrics-fleet">GameLift Metrics for Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p>Describe fleets:</p> <ul> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>DescribeFleetCapacity</a> </p> </li> <li> <p> <a>DescribeFleetPortSettings</a> </p> </li> <li> <p> <a>DescribeFleetUtilization</a> </p> </li> <li> <p> <a>DescribeRuntimeConfiguration</a> </p> </li> <li> <p> <a>DescribeEC2InstanceLimits</a> </p> </li> <li> <p> <a>DescribeFleetEvents</a> </p> </li> </ul> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
9023 async fn describe_fleet_utilization(
9024 &self,
9025 input: DescribeFleetUtilizationInput,
9026 ) -> Result<DescribeFleetUtilizationOutput, RusotoError<DescribeFleetUtilizationError>>;
9027
9028 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Retrieves information for a game server resource. Information includes the game server statuses, health check info, and the instance the game server is running on. </p> <p>To retrieve game server information, specify the game server ID. If successful, the requested game server object is returned. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>RegisterGameServer</a> </p> </li> <li> <p> <a>ListGameServers</a> </p> </li> <li> <p> <a>ClaimGameServer</a> </p> </li> <li> <p> <a>DescribeGameServer</a> </p> </li> <li> <p> <a>UpdateGameServer</a> </p> </li> <li> <p> <a>DeregisterGameServer</a> </p> </li> </ul></p>
9029 async fn describe_game_server(
9030 &self,
9031 input: DescribeGameServerInput,
9032 ) -> Result<DescribeGameServerOutput, RusotoError<DescribeGameServerError>>;
9033
9034 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Retrieves information on a game server group. </p> <p>To get attributes for a game server group, provide a group name or ARN value. If successful, a <a>GameServerGroup</a> object is returned.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateGameServerGroup</a> </p> </li> <li> <p> <a>ListGameServerGroups</a> </p> </li> <li> <p> <a>DescribeGameServerGroup</a> </p> </li> <li> <p> <a>UpdateGameServerGroup</a> </p> </li> <li> <p> <a>DeleteGameServerGroup</a> </p> </li> <li> <p> <a>ResumeGameServerGroup</a> </p> </li> <li> <p> <a>SuspendGameServerGroup</a> </p> </li> </ul></p>
9035 async fn describe_game_server_group(
9036 &self,
9037 input: DescribeGameServerGroupInput,
9038 ) -> Result<DescribeGameServerGroupOutput, RusotoError<DescribeGameServerGroupError>>;
9039
9040 /// <p><p>Retrieves properties, including the protection policy in force, for one or more game sessions. This action can be used in several ways: (1) provide a <code>GameSessionId</code> or <code>GameSessionArn</code> to request details for a specific game session; (2) provide either a <code>FleetId</code> or an <code>AliasId</code> to request properties for all game sessions running on a fleet. </p> <p>To get game session record(s), specify just one of the following: game session ID, fleet ID, or alias ID. You can filter this request by game session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a <a>GameSessionDetail</a> object is returned for each session matching the request.</p> <ul> <li> <p> <a>CreateGameSession</a> </p> </li> <li> <p> <a>DescribeGameSessions</a> </p> </li> <li> <p> <a>DescribeGameSessionDetails</a> </p> </li> <li> <p> <a>SearchGameSessions</a> </p> </li> <li> <p> <a>UpdateGameSession</a> </p> </li> <li> <p> <a>GetGameSessionLogUrl</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
9041 async fn describe_game_session_details(
9042 &self,
9043 input: DescribeGameSessionDetailsInput,
9044 ) -> Result<DescribeGameSessionDetailsOutput, RusotoError<DescribeGameSessionDetailsError>>;
9045
9046 /// <p><p>Retrieves properties and current status of a game session placement request. To get game session placement details, specify the placement ID. If successful, a <a>GameSessionPlacement</a> object is returned.</p> <ul> <li> <p> <a>CreateGameSession</a> </p> </li> <li> <p> <a>DescribeGameSessions</a> </p> </li> <li> <p> <a>DescribeGameSessionDetails</a> </p> </li> <li> <p> <a>SearchGameSessions</a> </p> </li> <li> <p> <a>UpdateGameSession</a> </p> </li> <li> <p> <a>GetGameSessionLogUrl</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
9047 async fn describe_game_session_placement(
9048 &self,
9049 input: DescribeGameSessionPlacementInput,
9050 ) -> Result<DescribeGameSessionPlacementOutput, RusotoError<DescribeGameSessionPlacementError>>;
9051
9052 /// <p><p>Retrieves the properties for one or more game session queues. When requesting multiple queues, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a <a>GameSessionQueue</a> object is returned for each requested queue. When specifying a list of queues, objects are returned only for queues that currently exist in the Region.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-console.html"> View Your Queues</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateGameSessionQueue</a> </p> </li> <li> <p> <a>DescribeGameSessionQueues</a> </p> </li> <li> <p> <a>UpdateGameSessionQueue</a> </p> </li> <li> <p> <a>DeleteGameSessionQueue</a> </p> </li> </ul></p>
9053 async fn describe_game_session_queues(
9054 &self,
9055 input: DescribeGameSessionQueuesInput,
9056 ) -> Result<DescribeGameSessionQueuesOutput, RusotoError<DescribeGameSessionQueuesError>>;
9057
9058 /// <p><p>Retrieves a set of one or more game sessions. Request a specific game session or request all game sessions on a fleet. Alternatively, use <a>SearchGameSessions</a> to request a set of active game sessions that are filtered by certain criteria. To retrieve protection policy settings for game sessions, use <a>DescribeGameSessionDetails</a>.</p> <p>To get game sessions, specify one of the following: game session ID, fleet ID, or alias ID. You can filter this request by game session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a <a>GameSession</a> object is returned for each game session matching the request.</p> <p> <i>Available in Amazon GameLift Local.</i> </p> <ul> <li> <p> <a>CreateGameSession</a> </p> </li> <li> <p> <a>DescribeGameSessions</a> </p> </li> <li> <p> <a>DescribeGameSessionDetails</a> </p> </li> <li> <p> <a>SearchGameSessions</a> </p> </li> <li> <p> <a>UpdateGameSession</a> </p> </li> <li> <p> <a>GetGameSessionLogUrl</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
9059 async fn describe_game_sessions(
9060 &self,
9061 input: DescribeGameSessionsInput,
9062 ) -> Result<DescribeGameSessionsOutput, RusotoError<DescribeGameSessionsError>>;
9063
9064 /// <p><p>Retrieves information about a fleet's instances, including instance IDs. Use this action to get details on all instances in the fleet or get details on one specific instance.</p> <p>To get a specific instance, specify fleet ID and instance ID. To get all instances in a fleet, specify a fleet ID only. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, an <a>Instance</a> object is returned for each result.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-remote-access.html">Remotely Access Fleet Instances</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html">Debug Fleet Issues</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>DescribeInstances</a> </p> </li> <li> <p> <a>GetInstanceAccess</a> </p> </li> </ul></p>
9065 async fn describe_instances(
9066 &self,
9067 input: DescribeInstancesInput,
9068 ) -> Result<DescribeInstancesOutput, RusotoError<DescribeInstancesError>>;
9069
9070 /// <p><p>Retrieves one or more matchmaking tickets. Use this operation to retrieve ticket information, including status and--once a successful match is made--acquire connection information for the resulting new game session. </p> <p>You can use this operation to track the progress of matchmaking requests (through polling) as an alternative to using event notifications. See more details on tracking matchmaking requests through polling or notifications in <a>StartMatchmaking</a>. </p> <p>To request matchmaking tickets, provide a list of up to 10 ticket IDs. If the request is successful, a ticket object is returned for each requested ID that currently exists.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-client.html"> Add FlexMatch to a Game Client</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-notification.html"> Set Up FlexMatch Event Notification</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>StartMatchmaking</a> </p> </li> <li> <p> <a>DescribeMatchmaking</a> </p> </li> <li> <p> <a>StopMatchmaking</a> </p> </li> <li> <p> <a>AcceptMatch</a> </p> </li> <li> <p> <a>StartMatchBackfill</a> </p> </li> </ul></p>
9071 async fn describe_matchmaking(
9072 &self,
9073 input: DescribeMatchmakingInput,
9074 ) -> Result<DescribeMatchmakingOutput, RusotoError<DescribeMatchmakingError>>;
9075
9076 /// <p><p>Retrieves the details of FlexMatch matchmaking configurations. With this operation, you have the following options: (1) retrieve all existing configurations, (2) provide the names of one or more configurations to retrieve, or (3) retrieve all configurations that use a specified rule set name. When requesting multiple items, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a configuration is returned for each requested name. When specifying a list of names, only configurations that currently exist are returned. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/matchmaker-build.html"> Setting Up FlexMatch Matchmakers</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DescribeMatchmakingConfigurations</a> </p> </li> <li> <p> <a>UpdateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DeleteMatchmakingConfiguration</a> </p> </li> <li> <p> <a>CreateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DescribeMatchmakingRuleSets</a> </p> </li> <li> <p> <a>ValidateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DeleteMatchmakingRuleSet</a> </p> </li> </ul></p>
9077 async fn describe_matchmaking_configurations(
9078 &self,
9079 input: DescribeMatchmakingConfigurationsInput,
9080 ) -> Result<
9081 DescribeMatchmakingConfigurationsOutput,
9082 RusotoError<DescribeMatchmakingConfigurationsError>,
9083 >;
9084
9085 /// <p><p>Retrieves the details for FlexMatch matchmaking rule sets. You can request all existing rule sets for the Region, or provide a list of one or more rule set names. When requesting multiple items, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a rule set is returned for each requested name. </p> <p> <b>Learn more</b> </p> <ul> <li> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-rulesets.html">Build a Rule Set</a> </p> </li> </ul> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DescribeMatchmakingConfigurations</a> </p> </li> <li> <p> <a>UpdateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DeleteMatchmakingConfiguration</a> </p> </li> <li> <p> <a>CreateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DescribeMatchmakingRuleSets</a> </p> </li> <li> <p> <a>ValidateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DeleteMatchmakingRuleSet</a> </p> </li> </ul></p>
9086 async fn describe_matchmaking_rule_sets(
9087 &self,
9088 input: DescribeMatchmakingRuleSetsInput,
9089 ) -> Result<DescribeMatchmakingRuleSetsOutput, RusotoError<DescribeMatchmakingRuleSetsError>>;
9090
9091 /// <p><p>Retrieves properties for one or more player sessions. This action can be used in several ways: (1) provide a <code>PlayerSessionId</code> to request properties for a specific player session; (2) provide a <code>GameSessionId</code> to request properties for all player sessions in the specified game session; (3) provide a <code>PlayerId</code> to request properties for all player sessions of a specified player. </p> <p>To get game session record(s), specify only one of the following: a player session ID, a game session ID, or a player ID. You can filter this request by player session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a <a>PlayerSession</a> object is returned for each session matching the request.</p> <p> <i>Available in Amazon GameLift Local.</i> </p> <ul> <li> <p> <a>CreatePlayerSession</a> </p> </li> <li> <p> <a>CreatePlayerSessions</a> </p> </li> <li> <p> <a>DescribePlayerSessions</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
9092 async fn describe_player_sessions(
9093 &self,
9094 input: DescribePlayerSessionsInput,
9095 ) -> Result<DescribePlayerSessionsOutput, RusotoError<DescribePlayerSessionsError>>;
9096
9097 /// <p><p>Retrieves a fleet's runtime configuration settings. The runtime configuration tells Amazon GameLift which server processes to run (and how) on each instance in the fleet.</p> <p>To get a runtime configuration, specify the fleet's unique identifier. If successful, a <a>RuntimeConfiguration</a> object is returned for the requested fleet. If the requested fleet has been deleted, the result set is empty.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-multiprocess.html">Running Multiple Processes on a Fleet</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p>Describe fleets:</p> <ul> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>DescribeFleetCapacity</a> </p> </li> <li> <p> <a>DescribeFleetPortSettings</a> </p> </li> <li> <p> <a>DescribeFleetUtilization</a> </p> </li> <li> <p> <a>DescribeRuntimeConfiguration</a> </p> </li> <li> <p> <a>DescribeEC2InstanceLimits</a> </p> </li> <li> <p> <a>DescribeFleetEvents</a> </p> </li> </ul> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
9098 async fn describe_runtime_configuration(
9099 &self,
9100 input: DescribeRuntimeConfigurationInput,
9101 ) -> Result<DescribeRuntimeConfigurationOutput, RusotoError<DescribeRuntimeConfigurationError>>;
9102
9103 /// <p><p>Retrieves all scaling policies applied to a fleet.</p> <p>To get a fleet's scaling policies, specify the fleet ID. You can filter this request by policy status, such as to retrieve only active scaling policies. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, set of <a>ScalingPolicy</a> objects is returned for the fleet.</p> <p>A fleet may have all of its scaling policies suspended (<a>StopFleetActions</a>). This action does not affect the status of the scaling policies, which remains ACTIVE. To see whether a fleet's scaling policies are in force or suspended, call <a>DescribeFleetAttributes</a> and check the stopped actions.</p> <ul> <li> <p> <a>DescribeFleetCapacity</a> </p> </li> <li> <p> <a>UpdateFleetCapacity</a> </p> </li> <li> <p> <a>DescribeEC2InstanceLimits</a> </p> </li> <li> <p>Manage scaling policies:</p> <ul> <li> <p> <a>PutScalingPolicy</a> (auto-scaling)</p> </li> <li> <p> <a>DescribeScalingPolicies</a> (auto-scaling)</p> </li> <li> <p> <a>DeleteScalingPolicy</a> (auto-scaling)</p> </li> </ul> </li> <li> <p>Manage fleet actions:</p> <ul> <li> <p> <a>StartFleetActions</a> </p> </li> <li> <p> <a>StopFleetActions</a> </p> </li> </ul> </li> </ul></p>
9104 async fn describe_scaling_policies(
9105 &self,
9106 input: DescribeScalingPoliciesInput,
9107 ) -> Result<DescribeScalingPoliciesOutput, RusotoError<DescribeScalingPoliciesError>>;
9108
9109 /// <p><p>Retrieves properties for a Realtime script. </p> <p>To request a script record, specify the script ID. If successful, an object containing the script properties is returned.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html">Amazon GameLift Realtime Servers</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateScript</a> </p> </li> <li> <p> <a>ListScripts</a> </p> </li> <li> <p> <a>DescribeScript</a> </p> </li> <li> <p> <a>UpdateScript</a> </p> </li> <li> <p> <a>DeleteScript</a> </p> </li> </ul></p>
9110 async fn describe_script(
9111 &self,
9112 input: DescribeScriptInput,
9113 ) -> Result<DescribeScriptOutput, RusotoError<DescribeScriptError>>;
9114
9115 /// <p><p>Retrieves valid VPC peering authorizations that are pending for the AWS account. This operation returns all VPC peering authorizations and requests for peering. This includes those initiated and received by this account. </p> <ul> <li> <p> <a>CreateVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>DescribeVpcPeeringAuthorizations</a> </p> </li> <li> <p> <a>DeleteVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>CreateVpcPeeringConnection</a> </p> </li> <li> <p> <a>DescribeVpcPeeringConnections</a> </p> </li> <li> <p> <a>DeleteVpcPeeringConnection</a> </p> </li> </ul></p>
9116 async fn describe_vpc_peering_authorizations(
9117 &self,
9118 ) -> Result<
9119 DescribeVpcPeeringAuthorizationsOutput,
9120 RusotoError<DescribeVpcPeeringAuthorizationsError>,
9121 >;
9122
9123 /// <p><p>Retrieves information on VPC peering connections. Use this operation to get peering information for all fleets or for one specific fleet ID. </p> <p>To retrieve connection information, call this operation from the AWS account that is used to manage the Amazon GameLift fleets. Specify a fleet ID or leave the parameter empty to retrieve all connection records. If successful, the retrieved information includes both active and pending connections. Active connections identify the IpV4 CIDR block that the VPC uses to connect. </p> <ul> <li> <p> <a>CreateVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>DescribeVpcPeeringAuthorizations</a> </p> </li> <li> <p> <a>DeleteVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>CreateVpcPeeringConnection</a> </p> </li> <li> <p> <a>DescribeVpcPeeringConnections</a> </p> </li> <li> <p> <a>DeleteVpcPeeringConnection</a> </p> </li> </ul></p>
9124 async fn describe_vpc_peering_connections(
9125 &self,
9126 input: DescribeVpcPeeringConnectionsInput,
9127 ) -> Result<DescribeVpcPeeringConnectionsOutput, RusotoError<DescribeVpcPeeringConnectionsError>>;
9128
9129 /// <p><p>Retrieves the location of stored game session logs for a specified game session. When a game session is terminated, Amazon GameLift automatically stores the logs in Amazon S3 and retains them for 14 days. Use this URL to download the logs.</p> <note> <p>See the <a href="https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_gamelift">AWS Service Limits</a> page for maximum log file sizes. Log files that exceed this limit are not saved.</p> </note> <ul> <li> <p> <a>CreateGameSession</a> </p> </li> <li> <p> <a>DescribeGameSessions</a> </p> </li> <li> <p> <a>DescribeGameSessionDetails</a> </p> </li> <li> <p> <a>SearchGameSessions</a> </p> </li> <li> <p> <a>UpdateGameSession</a> </p> </li> <li> <p> <a>GetGameSessionLogUrl</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
9130 async fn get_game_session_log_url(
9131 &self,
9132 input: GetGameSessionLogUrlInput,
9133 ) -> Result<GetGameSessionLogUrlOutput, RusotoError<GetGameSessionLogUrlError>>;
9134
9135 /// <p><p>Requests remote access to a fleet instance. Remote access is useful for debugging, gathering benchmarking data, or observing activity in real time. </p> <p>To remotely access an instance, you need credentials that match the operating system of the instance. For a Windows instance, Amazon GameLift returns a user name and password as strings for use with a Windows Remote Desktop client. For a Linux instance, Amazon GameLift returns a user name and RSA private key, also as strings, for use with an SSH client. The private key must be saved in the proper format to a <code>.pem</code> file before using. If you're making this request using the AWS CLI, saving the secret can be handled as part of the GetInstanceAccess request, as shown in one of the examples for this action. </p> <p>To request access to a specific instance, specify the IDs of both the instance and the fleet it belongs to. You can retrieve a fleet's instance IDs by calling <a>DescribeInstances</a>. If successful, an <a>InstanceAccess</a> object is returned that contains the instance's IP address and a set of credentials.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-remote-access.html">Remotely Access Fleet Instances</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html">Debug Fleet Issues</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>DescribeInstances</a> </p> </li> <li> <p> <a>GetInstanceAccess</a> </p> </li> </ul></p>
9136 async fn get_instance_access(
9137 &self,
9138 input: GetInstanceAccessInput,
9139 ) -> Result<GetInstanceAccessOutput, RusotoError<GetInstanceAccessError>>;
9140
9141 /// <p><p>Retrieves all aliases for this AWS account. You can filter the result set by alias name and/or routing strategy type. Use the pagination parameters to retrieve results in sequential pages.</p> <note> <p>Returned aliases are not listed in any particular order.</p> </note> <ul> <li> <p> <a>CreateAlias</a> </p> </li> <li> <p> <a>ListAliases</a> </p> </li> <li> <p> <a>DescribeAlias</a> </p> </li> <li> <p> <a>UpdateAlias</a> </p> </li> <li> <p> <a>DeleteAlias</a> </p> </li> <li> <p> <a>ResolveAlias</a> </p> </li> </ul></p>
9142 async fn list_aliases(
9143 &self,
9144 input: ListAliasesInput,
9145 ) -> Result<ListAliasesOutput, RusotoError<ListAliasesError>>;
9146
9147 /// <p><p>Retrieves build resources for all builds associated with the AWS account in use. You can limit results to builds that are in a specific status by using the <code>Status</code> parameter. Use the pagination parameters to retrieve results in a set of sequential pages. </p> <note> <p>Build resources are not listed in any particular order.</p> </note> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html"> Upload a Custom Server Build</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateBuild</a> </p> </li> <li> <p> <a>ListBuilds</a> </p> </li> <li> <p> <a>DescribeBuild</a> </p> </li> <li> <p> <a>UpdateBuild</a> </p> </li> <li> <p> <a>DeleteBuild</a> </p> </li> </ul></p>
9148 async fn list_builds(
9149 &self,
9150 input: ListBuildsInput,
9151 ) -> Result<ListBuildsOutput, RusotoError<ListBuildsError>>;
9152
9153 /// <p><p>Retrieves a collection of fleet resources for this AWS account. You can filter the result set to find only those fleets that are deployed with a specific build or script. Use the pagination parameters to retrieve results in sequential pages.</p> <note> <p>Fleet resources are not listed in a particular order.</p> </note> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
9154 async fn list_fleets(
9155 &self,
9156 input: ListFleetsInput,
9157 ) -> Result<ListFleetsOutput, RusotoError<ListFleetsError>>;
9158
9159 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Retrieves information on all game servers groups that exist in the current AWS account for the selected region. Use the pagination parameters to retrieve results in a set of sequential pages. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateGameServerGroup</a> </p> </li> <li> <p> <a>ListGameServerGroups</a> </p> </li> <li> <p> <a>DescribeGameServerGroup</a> </p> </li> <li> <p> <a>UpdateGameServerGroup</a> </p> </li> <li> <p> <a>DeleteGameServerGroup</a> </p> </li> <li> <p> <a>ResumeGameServerGroup</a> </p> </li> <li> <p> <a>SuspendGameServerGroup</a> </p> </li> </ul></p>
9160 async fn list_game_server_groups(
9161 &self,
9162 input: ListGameServerGroupsInput,
9163 ) -> Result<ListGameServerGroupsOutput, RusotoError<ListGameServerGroupsError>>;
9164
9165 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Retrieves information on all game servers that are currently running in a specified game server group. If there are custom key sort values for your game servers, you can opt to have the returned list sorted based on these values. Use the pagination parameters to retrieve results in a set of sequential pages. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>RegisterGameServer</a> </p> </li> <li> <p> <a>ListGameServers</a> </p> </li> <li> <p> <a>ClaimGameServer</a> </p> </li> <li> <p> <a>DescribeGameServer</a> </p> </li> <li> <p> <a>UpdateGameServer</a> </p> </li> <li> <p> <a>DeregisterGameServer</a> </p> </li> </ul></p>
9166 async fn list_game_servers(
9167 &self,
9168 input: ListGameServersInput,
9169 ) -> Result<ListGameServersOutput, RusotoError<ListGameServersError>>;
9170
9171 /// <p><p>Retrieves script records for all Realtime scripts that are associated with the AWS account in use. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html">Amazon GameLift Realtime Servers</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateScript</a> </p> </li> <li> <p> <a>ListScripts</a> </p> </li> <li> <p> <a>DescribeScript</a> </p> </li> <li> <p> <a>UpdateScript</a> </p> </li> <li> <p> <a>DeleteScript</a> </p> </li> </ul></p>
9172 async fn list_scripts(
9173 &self,
9174 input: ListScriptsInput,
9175 ) -> Result<ListScriptsOutput, RusotoError<ListScriptsError>>;
9176
9177 /// <p><p> Retrieves all tags that are assigned to a GameLift resource. Resource tags are used to organize AWS resources for a range of purposes. This action handles the permissions necessary to manage tags for the following GameLift resource types:</p> <ul> <li> <p>Build</p> </li> <li> <p>Script</p> </li> <li> <p>Fleet</p> </li> <li> <p>Alias</p> </li> <li> <p>GameSessionQueue</p> </li> <li> <p>MatchmakingConfiguration</p> </li> <li> <p>MatchmakingRuleSet</p> </li> </ul> <p>To list tags for a resource, specify the unique ARN value for the resource.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging AWS Resources</a> in the <i>AWS General Reference</i> </p> <p> <a href="http://aws.amazon.com/answers/account-management/aws-tagging-strategies/"> AWS Tagging Strategies</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>TagResource</a> </p> </li> <li> <p> <a>UntagResource</a> </p> </li> <li> <p> <a>ListTagsForResource</a> </p> </li> </ul></p>
9178 async fn list_tags_for_resource(
9179 &self,
9180 input: ListTagsForResourceRequest,
9181 ) -> Result<ListTagsForResourceResponse, RusotoError<ListTagsForResourceError>>;
9182
9183 /// <p><p>Creates or updates a scaling policy for a fleet. Scaling policies are used to automatically scale a fleet's hosting capacity to meet player demand. An active scaling policy instructs Amazon GameLift to track a fleet metric and automatically change the fleet's capacity when a certain threshold is reached. There are two types of scaling policies: target-based and rule-based. Use a target-based policy to quickly and efficiently manage fleet scaling; this option is the most commonly used. Use rule-based policies when you need to exert fine-grained control over auto-scaling. </p> <p>Fleets can have multiple scaling policies of each type in force at the same time; you can have one target-based policy, one or multiple rule-based scaling policies, or both. We recommend caution, however, because multiple auto-scaling policies can have unintended consequences.</p> <p>You can temporarily suspend all scaling policies for a fleet by calling <a>StopFleetActions</a> with the fleet action AUTO_SCALING. To resume scaling policies, call <a>StartFleetActions</a> with the same fleet action. To stop just one scaling policy--or to permanently remove it, you must delete the policy with <a>DeleteScalingPolicy</a>.</p> <p>Learn more about how to work with auto-scaling in <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-autoscaling.html">Set Up Fleet Automatic Scaling</a>.</p> <p> <b>Target-based policy</b> </p> <p>A target-based policy tracks a single metric: PercentAvailableGameSessions. This metric tells us how much of a fleet's hosting capacity is ready to host game sessions but is not currently in use. This is the fleet's buffer; it measures the additional player demand that the fleet could handle at current capacity. With a target-based policy, you set your ideal buffer size and leave it to Amazon GameLift to take whatever action is needed to maintain that target. </p> <p>For example, you might choose to maintain a 10% buffer for a fleet that has the capacity to host 100 simultaneous game sessions. This policy tells Amazon GameLift to take action whenever the fleet's available capacity falls below or rises above 10 game sessions. Amazon GameLift will start new instances or stop unused instances in order to return to the 10% buffer. </p> <p>To create or update a target-based policy, specify a fleet ID and name, and set the policy type to "TargetBased". Specify the metric to track (PercentAvailableGameSessions) and reference a <a>TargetConfiguration</a> object with your desired buffer value. Exclude all other parameters. On a successful request, the policy name is returned. The scaling policy is automatically in force as soon as it's successfully created. If the fleet's auto-scaling actions are temporarily suspended, the new policy will be in force once the fleet actions are restarted.</p> <p> <b>Rule-based policy</b> </p> <p>A rule-based policy tracks specified fleet metric, sets a threshold value, and specifies the type of action to initiate when triggered. With a rule-based policy, you can select from several available fleet metrics. Each policy specifies whether to scale up or scale down (and by how much), so you need one policy for each type of action. </p> <p>For example, a policy may make the following statement: "If the percentage of idle instances is greater than 20% for more than 15 minutes, then reduce the fleet capacity by 10%."</p> <p>A policy's rule statement has the following structure:</p> <p>If <code>[MetricName]</code> is <code>[ComparisonOperator]</code> <code>[Threshold]</code> for <code>[EvaluationPeriods]</code> minutes, then <code>[ScalingAdjustmentType]</code> to/by <code>[ScalingAdjustment]</code>.</p> <p>To implement the example, the rule statement would look like this:</p> <p>If <code>[PercentIdleInstances]</code> is <code>[GreaterThanThreshold]</code> <code>[20]</code> for <code>[15]</code> minutes, then <code>[PercentChangeInCapacity]</code> to/by <code>[10]</code>.</p> <p>To create or update a scaling policy, specify a unique combination of name and fleet ID, and set the policy type to "RuleBased". Specify the parameter values for a policy rule statement. On a successful request, the policy name is returned. Scaling policies are automatically in force as soon as they're successfully created. If the fleet's auto-scaling actions are temporarily suspended, the new policy will be in force once the fleet actions are restarted.</p> <ul> <li> <p> <a>DescribeFleetCapacity</a> </p> </li> <li> <p> <a>UpdateFleetCapacity</a> </p> </li> <li> <p> <a>DescribeEC2InstanceLimits</a> </p> </li> <li> <p>Manage scaling policies:</p> <ul> <li> <p> <a>PutScalingPolicy</a> (auto-scaling)</p> </li> <li> <p> <a>DescribeScalingPolicies</a> (auto-scaling)</p> </li> <li> <p> <a>DeleteScalingPolicy</a> (auto-scaling)</p> </li> </ul> </li> <li> <p>Manage fleet actions:</p> <ul> <li> <p> <a>StartFleetActions</a> </p> </li> <li> <p> <a>StopFleetActions</a> </p> </li> </ul> </li> </ul></p>
9184 async fn put_scaling_policy(
9185 &self,
9186 input: PutScalingPolicyInput,
9187 ) -> Result<PutScalingPolicyOutput, RusotoError<PutScalingPolicyError>>;
9188
9189 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Creates a new game server resource and notifies GameLift FleetIQ that the game server is ready to host gameplay and players. This action is called by a game server process that is running on an instance in a game server group. Registering game servers enables GameLift FleetIQ to track available game servers and enables game clients and services to claim a game server for a new game session. </p> <p>To register a game server, identify the game server group and instance where the game server is running, and provide a unique identifier for the game server. You can also include connection and game server data; when a game client or service requests a game server by calling <a>ClaimGameServer</a>, this information is returned in response.</p> <p>Once a game server is successfully registered, it is put in status AVAILABLE. A request to register a game server may fail if the instance it is in the process of shutting down as part of instance rebalancing or scale-down activity. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>RegisterGameServer</a> </p> </li> <li> <p> <a>ListGameServers</a> </p> </li> <li> <p> <a>ClaimGameServer</a> </p> </li> <li> <p> <a>DescribeGameServer</a> </p> </li> <li> <p> <a>UpdateGameServer</a> </p> </li> <li> <p> <a>DeregisterGameServer</a> </p> </li> </ul></p>
9190 async fn register_game_server(
9191 &self,
9192 input: RegisterGameServerInput,
9193 ) -> Result<RegisterGameServerOutput, RusotoError<RegisterGameServerError>>;
9194
9195 /// <p><p>Retrieves a fresh set of credentials for use when uploading a new set of game build files to Amazon GameLift's Amazon S3. This is done as part of the build creation process; see <a>CreateBuild</a>.</p> <p>To request new credentials, specify the build ID as returned with an initial <code>CreateBuild</code> request. If successful, a new set of credentials are returned, along with the S3 storage location associated with the build ID.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html#gamelift-build-cli-uploading-create-build"> Create a Build with Files in S3</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateBuild</a> </p> </li> <li> <p> <a>ListBuilds</a> </p> </li> <li> <p> <a>DescribeBuild</a> </p> </li> <li> <p> <a>UpdateBuild</a> </p> </li> <li> <p> <a>DeleteBuild</a> </p> </li> </ul></p>
9196 async fn request_upload_credentials(
9197 &self,
9198 input: RequestUploadCredentialsInput,
9199 ) -> Result<RequestUploadCredentialsOutput, RusotoError<RequestUploadCredentialsError>>;
9200
9201 /// <p><p>Retrieves the fleet ID that an alias is currently pointing to.</p> <ul> <li> <p> <a>CreateAlias</a> </p> </li> <li> <p> <a>ListAliases</a> </p> </li> <li> <p> <a>DescribeAlias</a> </p> </li> <li> <p> <a>UpdateAlias</a> </p> </li> <li> <p> <a>DeleteAlias</a> </p> </li> <li> <p> <a>ResolveAlias</a> </p> </li> </ul></p>
9202 async fn resolve_alias(
9203 &self,
9204 input: ResolveAliasInput,
9205 ) -> Result<ResolveAliasOutput, RusotoError<ResolveAliasError>>;
9206
9207 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Reinstates activity on a game server group after it has been suspended. A game server group may be suspended by calling <a>SuspendGameServerGroup</a>, or it may have been involuntarily suspended due to a configuration problem. You can manually resume activity on the group once the configuration problem has been resolved. Refer to the game server group status and status reason for more information on why group activity is suspended.</p> <p>To resume activity, specify a game server group ARN and the type of activity to be resumed.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateGameServerGroup</a> </p> </li> <li> <p> <a>ListGameServerGroups</a> </p> </li> <li> <p> <a>DescribeGameServerGroup</a> </p> </li> <li> <p> <a>UpdateGameServerGroup</a> </p> </li> <li> <p> <a>DeleteGameServerGroup</a> </p> </li> <li> <p> <a>ResumeGameServerGroup</a> </p> </li> <li> <p> <a>SuspendGameServerGroup</a> </p> </li> </ul></p>
9208 async fn resume_game_server_group(
9209 &self,
9210 input: ResumeGameServerGroupInput,
9211 ) -> Result<ResumeGameServerGroupOutput, RusotoError<ResumeGameServerGroupError>>;
9212
9213 /// <p><p>Retrieves all active game sessions that match a set of search criteria and sorts them in a specified order. You can search or sort by the following game session attributes:</p> <ul> <li> <p> <b>gameSessionId</b> -- A unique identifier for the game session. You can use either a <code>GameSessionId</code> or <code>GameSessionArn</code> value. </p> </li> <li> <p> <b>gameSessionName</b> -- Name assigned to a game session. This value is set when requesting a new game session with <a>CreateGameSession</a> or updating with <a>UpdateGameSession</a>. Game session names do not need to be unique to a game session.</p> </li> <li> <p> <b>gameSessionProperties</b> -- Custom data defined in a game session's <code>GameProperty</code> parameter. <code>GameProperty</code> values are stored as key:value pairs; the filter expression must indicate the key and a string to search the data values for. For example, to search for game sessions with custom data containing the key:value pair "gameMode:brawl", specify the following: <code>gameSessionProperties.gameMode = "brawl"</code>. All custom data values are searched as strings.</p> </li> <li> <p> <b>maximumSessions</b> -- Maximum number of player sessions allowed for a game session. This value is set when requesting a new game session with <a>CreateGameSession</a> or updating with <a>UpdateGameSession</a>.</p> </li> <li> <p> <b>creationTimeMillis</b> -- Value indicating when a game session was created. It is expressed in Unix time as milliseconds.</p> </li> <li> <p> <b>playerSessionCount</b> -- Number of players currently connected to a game session. This value changes rapidly as players join the session or drop out.</p> </li> <li> <p> <b>hasAvailablePlayerSessions</b> -- Boolean value indicating whether a game session has reached its maximum number of players. It is highly recommended that all search requests include this filter attribute to optimize search performance and return only sessions that players can join. </p> </li> </ul> <note> <p>Returned values for <code>playerSessionCount</code> and <code>hasAvailablePlayerSessions</code> change quickly as players join sessions and others drop out. Results should be considered a snapshot in time. Be sure to refresh search results often, and handle sessions that fill up before a player can join. </p> </note> <p>To search or sort, specify either a fleet ID or an alias ID, and provide a search filter expression, a sort expression, or both. If successful, a collection of <a>GameSession</a> objects matching the request is returned. Use the pagination parameters to retrieve results as a set of sequential pages. </p> <p>You can search for game sessions one fleet at a time only. To find game sessions across multiple fleets, you must search each fleet separately and combine the results. This search feature finds only game sessions that are in <code>ACTIVE</code> status. To locate games in statuses other than active, use <a>DescribeGameSessionDetails</a>.</p> <ul> <li> <p> <a>CreateGameSession</a> </p> </li> <li> <p> <a>DescribeGameSessions</a> </p> </li> <li> <p> <a>DescribeGameSessionDetails</a> </p> </li> <li> <p> <a>SearchGameSessions</a> </p> </li> <li> <p> <a>UpdateGameSession</a> </p> </li> <li> <p> <a>GetGameSessionLogUrl</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
9214 async fn search_game_sessions(
9215 &self,
9216 input: SearchGameSessionsInput,
9217 ) -> Result<SearchGameSessionsOutput, RusotoError<SearchGameSessionsError>>;
9218
9219 /// <p><p>Resumes activity on a fleet that was suspended with <a>StopFleetActions</a>. Currently, this operation is used to restart a fleet's auto-scaling activity. </p> <p>To start fleet actions, specify the fleet ID and the type of actions to restart. When auto-scaling fleet actions are restarted, Amazon GameLift once again initiates scaling events as triggered by the fleet's scaling policies. If actions on the fleet were never stopped, this operation will have no effect. You can view a fleet's stopped actions using <a>DescribeFleetAttributes</a>.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
9220 async fn start_fleet_actions(
9221 &self,
9222 input: StartFleetActionsInput,
9223 ) -> Result<StartFleetActionsOutput, RusotoError<StartFleetActionsError>>;
9224
9225 /// <p><p>Places a request for a new game session in a queue (see <a>CreateGameSessionQueue</a>). When processing a placement request, Amazon GameLift searches for available resources on the queue's destinations, scanning each until it finds resources or the placement request times out.</p> <p>A game session placement request can also request player sessions. When a new game session is successfully created, Amazon GameLift creates a player session for each player included in the request.</p> <p>When placing a game session, by default Amazon GameLift tries each fleet in the order they are listed in the queue configuration. Ideally, a queue's destinations are listed in preference order.</p> <p>Alternatively, when requesting a game session with players, you can also provide latency data for each player in relevant Regions. Latency data indicates the performance lag a player experiences when connected to a fleet in the Region. Amazon GameLift uses latency data to reorder the list of destinations to place the game session in a Region with minimal lag. If latency data is provided for multiple players, Amazon GameLift calculates each Region's average lag for all players and reorders to get the best game play across all players. </p> <p>To place a new game session request, specify the following:</p> <ul> <li> <p>The queue name and a set of game session properties and settings</p> </li> <li> <p>A unique ID (such as a UUID) for the placement. You use this ID to track the status of the placement request</p> </li> <li> <p>(Optional) A set of player data and a unique player ID for each player that you are joining to the new game session (player data is optional, but if you include it, you must also provide a unique ID for each player)</p> </li> <li> <p>Latency data for all players (if you want to optimize game play for the players)</p> </li> </ul> <p>If successful, a new game session placement is created.</p> <p>To track the status of a placement request, call <a>DescribeGameSessionPlacement</a> and check the request's status. If the status is <code>FULFILLED</code>, a new game session has been created and a game session ARN and Region are referenced. If the placement request times out, you can resubmit the request or retry it with a different queue. </p> <ul> <li> <p> <a>CreateGameSession</a> </p> </li> <li> <p> <a>DescribeGameSessions</a> </p> </li> <li> <p> <a>DescribeGameSessionDetails</a> </p> </li> <li> <p> <a>SearchGameSessions</a> </p> </li> <li> <p> <a>UpdateGameSession</a> </p> </li> <li> <p> <a>GetGameSessionLogUrl</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
9226 async fn start_game_session_placement(
9227 &self,
9228 input: StartGameSessionPlacementInput,
9229 ) -> Result<StartGameSessionPlacementOutput, RusotoError<StartGameSessionPlacementError>>;
9230
9231 /// <p><p>Finds new players to fill open slots in an existing game session. This operation can be used to add players to matched games that start with fewer than the maximum number of players or to replace players when they drop out. By backfilling with the same matchmaker used to create the original match, you ensure that new players meet the match criteria and maintain a consistent experience throughout the game session. You can backfill a match anytime after a game session has been created. </p> <p>To request a match backfill, specify a unique ticket ID, the existing game session's ARN, a matchmaking configuration, and a set of data that describes all current players in the game session. If successful, a match backfill ticket is created and returned with status set to QUEUED. The ticket is placed in the matchmaker's ticket pool and processed. Track the status of the ticket to respond as needed. </p> <p>The process of finding backfill matches is essentially identical to the initial matchmaking process. The matchmaker searches the pool and groups tickets together to form potential matches, allowing only one backfill ticket per potential match. Once the a match is formed, the matchmaker creates player sessions for the new players. All tickets in the match are updated with the game session's connection information, and the <a>GameSession</a> object is updated to include matchmaker data on the new players. For more detail on how match backfill requests are processed, see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-match.html"> How Amazon GameLift FlexMatch Works</a>. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-backfill.html"> Backfill Existing Games with FlexMatch</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-match.html"> How GameLift FlexMatch Works</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>StartMatchmaking</a> </p> </li> <li> <p> <a>DescribeMatchmaking</a> </p> </li> <li> <p> <a>StopMatchmaking</a> </p> </li> <li> <p> <a>AcceptMatch</a> </p> </li> <li> <p> <a>StartMatchBackfill</a> </p> </li> </ul></p>
9232 async fn start_match_backfill(
9233 &self,
9234 input: StartMatchBackfillInput,
9235 ) -> Result<StartMatchBackfillOutput, RusotoError<StartMatchBackfillError>>;
9236
9237 /// <p><p>Uses FlexMatch to create a game match for a group of players based on custom matchmaking rules, and starts a new game for the matched players. Each matchmaking request specifies the type of match to build (team configuration, rules for an acceptable match, etc.). The request also specifies the players to find a match for and where to host the new game session for optimal performance. A matchmaking request might start with a single player or a group of players who want to play together. FlexMatch finds additional players as needed to fill the match. Match type, rules, and the queue used to place a new game session are defined in a <code>MatchmakingConfiguration</code>. </p> <p>To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration, and include the players to be matched. You must also include a set of player attributes relevant for the matchmaking configuration. If successful, a matchmaking ticket is returned with status set to <code>QUEUED</code>. Track the status of the ticket to respond as needed and acquire game session connection information for successfully completed matches.</p> <p> <b>Tracking ticket status</b> -- A couple of options are available for tracking the status of matchmaking requests: </p> <ul> <li> <p>Polling -- Call <code>DescribeMatchmaking</code>. This operation returns the full ticket object, including current status and (for completed tickets) game session connection info. We recommend polling no more than once every 10 seconds.</p> </li> <li> <p>Notifications -- Get event notifications for changes in ticket status using Amazon Simple Notification Service (SNS). Notifications are easy to set up (see <a>CreateMatchmakingConfiguration</a>) and typically deliver match status changes faster and more efficiently than polling. We recommend that you use polling to back up to notifications (since delivery is not guaranteed) and call <code>DescribeMatchmaking</code> only when notifications are not received within 30 seconds.</p> </li> </ul> <p> <b>Processing a matchmaking request</b> -- FlexMatch handles a matchmaking request as follows: </p> <ol> <li> <p>Your client code submits a <code>StartMatchmaking</code> request for one or more players and tracks the status of the request ticket. </p> </li> <li> <p>FlexMatch uses this ticket and others in process to build an acceptable match. When a potential match is identified, all tickets in the proposed match are advanced to the next status. </p> </li> <li> <p>If the match requires player acceptance (set in the matchmaking configuration), the tickets move into status <code>REQUIRES_ACCEPTANCE</code>. This status triggers your client code to solicit acceptance from all players in every ticket involved in the match, and then call <a>AcceptMatch</a> for each player. If any player rejects or fails to accept the match before a specified timeout, the proposed match is dropped (see <code>AcceptMatch</code> for more details).</p> </li> <li> <p>Once a match is proposed and accepted, the matchmaking tickets move into status <code>PLACING</code>. FlexMatch locates resources for a new game session using the game session queue (set in the matchmaking configuration) and creates the game session based on the match data. </p> </li> <li> <p>When the match is successfully placed, the matchmaking tickets move into <code>COMPLETED</code> status. Connection information (including game session endpoint and player session) is added to the matchmaking tickets. Matched players can use the connection information to join the game. </p> </li> </ol> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-client.html"> Add FlexMatch to a Game Client</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-notification.html"> Set Up FlexMatch Event Notification</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-tasks.html"> FlexMatch Integration Roadmap</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-match.html"> How GameLift FlexMatch Works</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>StartMatchmaking</a> </p> </li> <li> <p> <a>DescribeMatchmaking</a> </p> </li> <li> <p> <a>StopMatchmaking</a> </p> </li> <li> <p> <a>AcceptMatch</a> </p> </li> <li> <p> <a>StartMatchBackfill</a> </p> </li> </ul></p>
9238 async fn start_matchmaking(
9239 &self,
9240 input: StartMatchmakingInput,
9241 ) -> Result<StartMatchmakingOutput, RusotoError<StartMatchmakingError>>;
9242
9243 /// <p><p>Suspends activity on a fleet. Currently, this operation is used to stop a fleet's auto-scaling activity. It is used to temporarily stop triggering scaling events. The policies can be retained and auto-scaling activity can be restarted using <a>StartFleetActions</a>. You can view a fleet's stopped actions using <a>DescribeFleetAttributes</a>.</p> <p>To stop fleet actions, specify the fleet ID and the type of actions to suspend. When auto-scaling fleet actions are stopped, Amazon GameLift no longer initiates scaling events except in response to manual changes using <a>UpdateFleetCapacity</a>. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
9244 async fn stop_fleet_actions(
9245 &self,
9246 input: StopFleetActionsInput,
9247 ) -> Result<StopFleetActionsOutput, RusotoError<StopFleetActionsError>>;
9248
9249 /// <p><p>Cancels a game session placement that is in <code>PENDING</code> status. To stop a placement, provide the placement ID values. If successful, the placement is moved to <code>CANCELLED</code> status.</p> <ul> <li> <p> <a>CreateGameSession</a> </p> </li> <li> <p> <a>DescribeGameSessions</a> </p> </li> <li> <p> <a>DescribeGameSessionDetails</a> </p> </li> <li> <p> <a>SearchGameSessions</a> </p> </li> <li> <p> <a>UpdateGameSession</a> </p> </li> <li> <p> <a>GetGameSessionLogUrl</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
9250 async fn stop_game_session_placement(
9251 &self,
9252 input: StopGameSessionPlacementInput,
9253 ) -> Result<StopGameSessionPlacementOutput, RusotoError<StopGameSessionPlacementError>>;
9254
9255 /// <p><p>Cancels a matchmaking ticket or match backfill ticket that is currently being processed. To stop the matchmaking operation, specify the ticket ID. If successful, work on the ticket is stopped, and the ticket status is changed to <code>CANCELLED</code>.</p> <p>This call is also used to turn off automatic backfill for an individual game session. This is for game sessions that are created with a matchmaking configuration that has automatic backfill enabled. The ticket ID is included in the <code>MatchmakerData</code> of an updated game session object, which is provided to the game server.</p> <note> <p>If the action is successful, the service sends back an empty JSON struct with the HTTP 200 response (not an empty HTTP body).</p> </note> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-client.html"> Add FlexMatch to a Game Client</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>StartMatchmaking</a> </p> </li> <li> <p> <a>DescribeMatchmaking</a> </p> </li> <li> <p> <a>StopMatchmaking</a> </p> </li> <li> <p> <a>AcceptMatch</a> </p> </li> <li> <p> <a>StartMatchBackfill</a> </p> </li> </ul></p>
9256 async fn stop_matchmaking(
9257 &self,
9258 input: StopMatchmakingInput,
9259 ) -> Result<StopMatchmakingOutput, RusotoError<StopMatchmakingError>>;
9260
9261 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Temporarily stops activity on a game server group without terminating instances or the game server group. Activity can be restarted by calling <a>ResumeGameServerGroup</a>. Activities that can suspended are:</p> <ul> <li> <p>Instance type replacement. This activity evaluates the current Spot viability of all instance types that are defined for the game server group. It updates the Auto Scaling group to remove nonviable Spot instance types (which have a higher chance of game server interruptions) and rebalances capacity across the remaining viable Spot instance types. When this activity is suspended, the Auto Scaling group continues with its current balance, regardless of viability. Instance protection, utilization metrics, and capacity autoscaling activities continue to be active. </p> </li> </ul> <p>To suspend activity, specify a game server group ARN and the type of activity to be suspended.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateGameServerGroup</a> </p> </li> <li> <p> <a>ListGameServerGroups</a> </p> </li> <li> <p> <a>DescribeGameServerGroup</a> </p> </li> <li> <p> <a>UpdateGameServerGroup</a> </p> </li> <li> <p> <a>DeleteGameServerGroup</a> </p> </li> <li> <p> <a>ResumeGameServerGroup</a> </p> </li> <li> <p> <a>SuspendGameServerGroup</a> </p> </li> </ul></p>
9262 async fn suspend_game_server_group(
9263 &self,
9264 input: SuspendGameServerGroupInput,
9265 ) -> Result<SuspendGameServerGroupOutput, RusotoError<SuspendGameServerGroupError>>;
9266
9267 /// <p><p> Assigns a tag to a GameLift resource. AWS resource tags provide an additional management tool set. You can use tags to organize resources, create IAM permissions policies to manage access to groups of resources, customize AWS cost breakdowns, etc. This action handles the permissions necessary to manage tags for the following GameLift resource types:</p> <ul> <li> <p>Build</p> </li> <li> <p>Script</p> </li> <li> <p>Fleet</p> </li> <li> <p>Alias</p> </li> <li> <p>GameSessionQueue</p> </li> <li> <p>MatchmakingConfiguration</p> </li> <li> <p>MatchmakingRuleSet</p> </li> </ul> <p>To add a tag to a resource, specify the unique ARN value for the resource and provide a tag list containing one or more tags. The operation succeeds even if the list includes tags that are already assigned to the specified resource. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging AWS Resources</a> in the <i>AWS General Reference</i> </p> <p> <a href="http://aws.amazon.com/answers/account-management/aws-tagging-strategies/"> AWS Tagging Strategies</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>TagResource</a> </p> </li> <li> <p> <a>UntagResource</a> </p> </li> <li> <p> <a>ListTagsForResource</a> </p> </li> </ul></p>
9268 async fn tag_resource(
9269 &self,
9270 input: TagResourceRequest,
9271 ) -> Result<TagResourceResponse, RusotoError<TagResourceError>>;
9272
9273 /// <p><p>Removes a tag that is assigned to a GameLift resource. Resource tags are used to organize AWS resources for a range of purposes. This action handles the permissions necessary to manage tags for the following GameLift resource types:</p> <ul> <li> <p>Build</p> </li> <li> <p>Script</p> </li> <li> <p>Fleet</p> </li> <li> <p>Alias</p> </li> <li> <p>GameSessionQueue</p> </li> <li> <p>MatchmakingConfiguration</p> </li> <li> <p>MatchmakingRuleSet</p> </li> </ul> <p>To remove a tag from a resource, specify the unique ARN value for the resource and provide a string list containing one or more tags to be removed. This action succeeds even if the list includes tags that are not currently assigned to the specified resource.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging AWS Resources</a> in the <i>AWS General Reference</i> </p> <p> <a href="http://aws.amazon.com/answers/account-management/aws-tagging-strategies/"> AWS Tagging Strategies</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>TagResource</a> </p> </li> <li> <p> <a>UntagResource</a> </p> </li> <li> <p> <a>ListTagsForResource</a> </p> </li> </ul></p>
9274 async fn untag_resource(
9275 &self,
9276 input: UntagResourceRequest,
9277 ) -> Result<UntagResourceResponse, RusotoError<UntagResourceError>>;
9278
9279 /// <p><p>Updates properties for an alias. To update properties, specify the alias ID to be updated and provide the information to be changed. To reassign an alias to another fleet, provide an updated routing strategy. If successful, the updated alias record is returned.</p> <ul> <li> <p> <a>CreateAlias</a> </p> </li> <li> <p> <a>ListAliases</a> </p> </li> <li> <p> <a>DescribeAlias</a> </p> </li> <li> <p> <a>UpdateAlias</a> </p> </li> <li> <p> <a>DeleteAlias</a> </p> </li> <li> <p> <a>ResolveAlias</a> </p> </li> </ul></p>
9280 async fn update_alias(
9281 &self,
9282 input: UpdateAliasInput,
9283 ) -> Result<UpdateAliasOutput, RusotoError<UpdateAliasError>>;
9284
9285 /// <p><p>Updates metadata in a build resource, including the build name and version. To update the metadata, specify the build ID to update and provide the new values. If successful, a build object containing the updated metadata is returned.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html"> Upload a Custom Server Build</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateBuild</a> </p> </li> <li> <p> <a>ListBuilds</a> </p> </li> <li> <p> <a>DescribeBuild</a> </p> </li> <li> <p> <a>UpdateBuild</a> </p> </li> <li> <p> <a>DeleteBuild</a> </p> </li> </ul></p>
9286 async fn update_build(
9287 &self,
9288 input: UpdateBuildInput,
9289 ) -> Result<UpdateBuildOutput, RusotoError<UpdateBuildError>>;
9290
9291 /// <p><p>Updates fleet properties, including name and description, for a fleet. To update metadata, specify the fleet ID and the property values that you want to change. If successful, the fleet ID for the updated fleet is returned.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p>Update fleets:</p> <ul> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetCapacity</a> </p> </li> <li> <p> <a>UpdateFleetPortSettings</a> </p> </li> <li> <p> <a>UpdateRuntimeConfiguration</a> </p> </li> </ul> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
9292 async fn update_fleet_attributes(
9293 &self,
9294 input: UpdateFleetAttributesInput,
9295 ) -> Result<UpdateFleetAttributesOutput, RusotoError<UpdateFleetAttributesError>>;
9296
9297 /// <p><p>Updates capacity settings for a fleet. Use this action to specify the number of EC2 instances (hosts) that you want this fleet to contain. Before calling this action, you may want to call <a>DescribeEC2InstanceLimits</a> to get the maximum capacity based on the fleet's EC2 instance type.</p> <p>Specify minimum and maximum number of instances. Amazon GameLift will not change fleet capacity to values fall outside of this range. This is particularly important when using auto-scaling (see <a>PutScalingPolicy</a>) to allow capacity to adjust based on player demand while imposing limits on automatic adjustments.</p> <p>To update fleet capacity, specify the fleet ID and the number of instances you want the fleet to host. If successful, Amazon GameLift starts or terminates instances so that the fleet's active instance count matches the desired instance count. You can view a fleet's current capacity information by calling <a>DescribeFleetCapacity</a>. If the desired instance count is higher than the instance type's limit, the "Limit Exceeded" exception occurs.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p>Update fleets:</p> <ul> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetCapacity</a> </p> </li> <li> <p> <a>UpdateFleetPortSettings</a> </p> </li> <li> <p> <a>UpdateRuntimeConfiguration</a> </p> </li> </ul> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
9298 async fn update_fleet_capacity(
9299 &self,
9300 input: UpdateFleetCapacityInput,
9301 ) -> Result<UpdateFleetCapacityOutput, RusotoError<UpdateFleetCapacityError>>;
9302
9303 /// <p><p>Updates port settings for a fleet. To update settings, specify the fleet ID to be updated and list the permissions you want to update. List the permissions you want to add in <code>InboundPermissionAuthorizations</code>, and permissions you want to remove in <code>InboundPermissionRevocations</code>. Permissions to be removed must match existing fleet permissions. If successful, the fleet ID for the updated fleet is returned.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p>Update fleets:</p> <ul> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetCapacity</a> </p> </li> <li> <p> <a>UpdateFleetPortSettings</a> </p> </li> <li> <p> <a>UpdateRuntimeConfiguration</a> </p> </li> </ul> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
9304 async fn update_fleet_port_settings(
9305 &self,
9306 input: UpdateFleetPortSettingsInput,
9307 ) -> Result<UpdateFleetPortSettingsOutput, RusotoError<UpdateFleetPortSettingsError>>;
9308
9309 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Updates information about a registered game server. This action is called by a game server process that is running on an instance in a game server group. There are three reasons to update game server information: (1) to change the utilization status of the game server, (2) to report game server health status, and (3) to change game server metadata. A registered game server should regularly report health and should update utilization status when it is supporting gameplay so that GameLift FleetIQ can accurately track game server availability. You can make all three types of updates in the same request.</p> <ul> <li> <p>To update the game server's utilization status, identify the game server and game server group and specify the current utilization status. Use this status to identify when game servers are currently hosting games and when they are available to be claimed. </p> </li> <li> <p>To report health status, identify the game server and game server group and set health check to HEALTHY. If a game server does not report health status for a certain length of time, the game server is no longer considered healthy and will be eventually de-registered from the game server group to avoid affecting utilization metrics. The best practice is to report health every 60 seconds.</p> </li> <li> <p>To change game server metadata, provide updated game server data and custom sort key values.</p> </li> </ul> <p>Once a game server is successfully updated, the relevant statuses and timestamps are updated.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>RegisterGameServer</a> </p> </li> <li> <p> <a>ListGameServers</a> </p> </li> <li> <p> <a>ClaimGameServer</a> </p> </li> <li> <p> <a>DescribeGameServer</a> </p> </li> <li> <p> <a>UpdateGameServer</a> </p> </li> <li> <p> <a>DeregisterGameServer</a> </p> </li> </ul></p>
9310 async fn update_game_server(
9311 &self,
9312 input: UpdateGameServerInput,
9313 ) -> Result<UpdateGameServerOutput, RusotoError<UpdateGameServerError>>;
9314
9315 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Updates GameLift FleetIQ-specific properties for a game server group. These properties include instance rebalancing and game server protection. Many Auto Scaling group properties are updated directly. These include autoscaling policies, minimum/maximum/desired instance counts, and launch template. </p> <p>To update the game server group, specify the game server group ID and provide the updated values.</p> <p>Updated properties are validated to ensure that GameLift FleetIQ can continue to perform its core instance rebalancing activity. When you change Auto Scaling group properties directly and the changes cause errors with GameLift FleetIQ activities, an alert is sent.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-asgroups.html">Updating a GameLift FleetIQ-Linked Auto Scaling Group</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateGameServerGroup</a> </p> </li> <li> <p> <a>ListGameServerGroups</a> </p> </li> <li> <p> <a>DescribeGameServerGroup</a> </p> </li> <li> <p> <a>UpdateGameServerGroup</a> </p> </li> <li> <p> <a>DeleteGameServerGroup</a> </p> </li> <li> <p> <a>ResumeGameServerGroup</a> </p> </li> <li> <p> <a>SuspendGameServerGroup</a> </p> </li> </ul></p>
9316 async fn update_game_server_group(
9317 &self,
9318 input: UpdateGameServerGroupInput,
9319 ) -> Result<UpdateGameServerGroupOutput, RusotoError<UpdateGameServerGroupError>>;
9320
9321 /// <p><p>Updates game session properties. This includes the session name, maximum player count, protection policy, which controls whether or not an active game session can be terminated during a scale-down event, and the player session creation policy, which controls whether or not new players can join the session. To update a game session, specify the game session ID and the values you want to change. If successful, an updated <a>GameSession</a> object is returned. </p> <ul> <li> <p> <a>CreateGameSession</a> </p> </li> <li> <p> <a>DescribeGameSessions</a> </p> </li> <li> <p> <a>DescribeGameSessionDetails</a> </p> </li> <li> <p> <a>SearchGameSessions</a> </p> </li> <li> <p> <a>UpdateGameSession</a> </p> </li> <li> <p> <a>GetGameSessionLogUrl</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
9322 async fn update_game_session(
9323 &self,
9324 input: UpdateGameSessionInput,
9325 ) -> Result<UpdateGameSessionOutput, RusotoError<UpdateGameSessionError>>;
9326
9327 /// <p><p>Updates settings for a game session queue, which determines how new game session requests in the queue are processed. To update settings, specify the queue name to be updated and provide the new settings. When updating destinations, provide a complete list of destinations. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-intro.html"> Using Multi-Region Queues</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateGameSessionQueue</a> </p> </li> <li> <p> <a>DescribeGameSessionQueues</a> </p> </li> <li> <p> <a>UpdateGameSessionQueue</a> </p> </li> <li> <p> <a>DeleteGameSessionQueue</a> </p> </li> </ul></p>
9328 async fn update_game_session_queue(
9329 &self,
9330 input: UpdateGameSessionQueueInput,
9331 ) -> Result<UpdateGameSessionQueueOutput, RusotoError<UpdateGameSessionQueueError>>;
9332
9333 /// <p><p>Updates settings for a FlexMatch matchmaking configuration. These changes affect all matches and game sessions that are created after the update. To update settings, specify the configuration name to be updated and provide the new settings. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-configuration.html"> Design a FlexMatch Matchmaker</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DescribeMatchmakingConfigurations</a> </p> </li> <li> <p> <a>UpdateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DeleteMatchmakingConfiguration</a> </p> </li> <li> <p> <a>CreateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DescribeMatchmakingRuleSets</a> </p> </li> <li> <p> <a>ValidateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DeleteMatchmakingRuleSet</a> </p> </li> </ul></p>
9334 async fn update_matchmaking_configuration(
9335 &self,
9336 input: UpdateMatchmakingConfigurationInput,
9337 ) -> Result<
9338 UpdateMatchmakingConfigurationOutput,
9339 RusotoError<UpdateMatchmakingConfigurationError>,
9340 >;
9341
9342 /// <p><p>Updates the current runtime configuration for the specified fleet, which tells Amazon GameLift how to launch server processes on instances in the fleet. You can update a fleet's runtime configuration at any time after the fleet is created; it does not need to be in an <code>ACTIVE</code> status.</p> <p>To update runtime configuration, specify the fleet ID and provide a <code>RuntimeConfiguration</code> object with an updated set of server process configurations.</p> <p>Each instance in a Amazon GameLift fleet checks regularly for an updated runtime configuration and changes how it launches server processes to comply with the latest version. Existing server processes are not affected by the update; runtime configuration changes are applied gradually as existing processes shut down and new processes are launched during Amazon GameLift's normal process recycling activity.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p>Update fleets:</p> <ul> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetCapacity</a> </p> </li> <li> <p> <a>UpdateFleetPortSettings</a> </p> </li> <li> <p> <a>UpdateRuntimeConfiguration</a> </p> </li> </ul> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
9343 async fn update_runtime_configuration(
9344 &self,
9345 input: UpdateRuntimeConfigurationInput,
9346 ) -> Result<UpdateRuntimeConfigurationOutput, RusotoError<UpdateRuntimeConfigurationError>>;
9347
9348 /// <p><p>Updates Realtime script metadata and content.</p> <p>To update script metadata, specify the script ID and provide updated name and/or version values. </p> <p>To update script content, provide an updated zip file by pointing to either a local file or an Amazon S3 bucket location. You can use either method regardless of how the original script was uploaded. Use the <i>Version</i> parameter to track updates to the script.</p> <p>If the call is successful, the updated metadata is stored in the script record and a revised script is uploaded to the Amazon GameLift service. Once the script is updated and acquired by a fleet instance, the new version is used for all new game sessions. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html">Amazon GameLift Realtime Servers</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateScript</a> </p> </li> <li> <p> <a>ListScripts</a> </p> </li> <li> <p> <a>DescribeScript</a> </p> </li> <li> <p> <a>UpdateScript</a> </p> </li> <li> <p> <a>DeleteScript</a> </p> </li> </ul></p>
9349 async fn update_script(
9350 &self,
9351 input: UpdateScriptInput,
9352 ) -> Result<UpdateScriptOutput, RusotoError<UpdateScriptError>>;
9353
9354 /// <p><p>Validates the syntax of a matchmaking rule or rule set. This operation checks that the rule set is using syntactically correct JSON and that it conforms to allowed property expressions. To validate syntax, provide a rule set JSON string.</p> <p> <b>Learn more</b> </p> <ul> <li> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-rulesets.html">Build a Rule Set</a> </p> </li> </ul> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DescribeMatchmakingConfigurations</a> </p> </li> <li> <p> <a>UpdateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DeleteMatchmakingConfiguration</a> </p> </li> <li> <p> <a>CreateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DescribeMatchmakingRuleSets</a> </p> </li> <li> <p> <a>ValidateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DeleteMatchmakingRuleSet</a> </p> </li> </ul></p>
9355 async fn validate_matchmaking_rule_set(
9356 &self,
9357 input: ValidateMatchmakingRuleSetInput,
9358 ) -> Result<ValidateMatchmakingRuleSetOutput, RusotoError<ValidateMatchmakingRuleSetError>>;
9359}
9360/// A client for the Amazon GameLift API.
9361#[derive(Clone)]
9362pub struct GameLiftClient {
9363 client: Client,
9364 region: region::Region,
9365}
9366
9367impl GameLiftClient {
9368 /// Creates a client backed by the default tokio event loop.
9369 ///
9370 /// The client will use the default credentials provider and tls client.
9371 pub fn new(region: region::Region) -> GameLiftClient {
9372 GameLiftClient {
9373 client: Client::shared(),
9374 region,
9375 }
9376 }
9377
9378 pub fn new_with<P, D>(
9379 request_dispatcher: D,
9380 credentials_provider: P,
9381 region: region::Region,
9382 ) -> GameLiftClient
9383 where
9384 P: ProvideAwsCredentials + Send + Sync + 'static,
9385 D: DispatchSignedRequest + Send + Sync + 'static,
9386 {
9387 GameLiftClient {
9388 client: Client::new_with(credentials_provider, request_dispatcher),
9389 region,
9390 }
9391 }
9392
9393 pub fn new_with_client(client: Client, region: region::Region) -> GameLiftClient {
9394 GameLiftClient { client, region }
9395 }
9396}
9397
9398#[async_trait]
9399impl GameLift for GameLiftClient {
9400 /// <p><p>Registers a player's acceptance or rejection of a proposed FlexMatch match. A matchmaking configuration may require player acceptance; if so, then matches built with that configuration cannot be completed unless all players accept the proposed match within a specified time limit. </p> <p>When FlexMatch builds a match, all the matchmaking tickets involved in the proposed match are placed into status <code>REQUIRES_ACCEPTANCE</code>. This is a trigger for your game to get acceptance from all players in the ticket. Acceptances are only valid for tickets when they are in this status; all other acceptances result in an error.</p> <p>To register acceptance, specify the ticket ID, a response, and one or more players. Once all players have registered acceptance, the matchmaking tickets advance to status <code>PLACING</code>, where a new game session is created for the match. </p> <p>If any player rejects the match, or if acceptances are not received before a specified timeout, the proposed match is dropped. The matchmaking tickets are then handled in one of two ways: For tickets where one or more players rejected the match, the ticket status is returned to <code>SEARCHING</code> to find a new match. For tickets where one or more players failed to respond, the ticket status is set to <code>CANCELLED</code>, and processing is terminated. A new matchmaking request for these players can be submitted as needed. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-client.html"> Add FlexMatch to a Game Client</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-events.html"> FlexMatch Events Reference</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>StartMatchmaking</a> </p> </li> <li> <p> <a>DescribeMatchmaking</a> </p> </li> <li> <p> <a>StopMatchmaking</a> </p> </li> <li> <p> <a>AcceptMatch</a> </p> </li> <li> <p> <a>StartMatchBackfill</a> </p> </li> </ul></p>
9401 async fn accept_match(
9402 &self,
9403 input: AcceptMatchInput,
9404 ) -> Result<AcceptMatchOutput, RusotoError<AcceptMatchError>> {
9405 let mut request = self.new_signed_request("POST", "/");
9406 request.add_header("x-amz-target", "GameLift.AcceptMatch");
9407 let encoded = serde_json::to_string(&input).unwrap();
9408 request.set_payload(Some(encoded));
9409
9410 let response = self
9411 .sign_and_dispatch(request, AcceptMatchError::from_response)
9412 .await?;
9413 let mut response = response;
9414 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9415 proto::json::ResponsePayload::new(&response).deserialize::<AcceptMatchOutput, _>()
9416 }
9417
9418 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Locates an available game server and temporarily reserves it to host gameplay and players. This action is called by a game client or client service (such as a matchmaker) to request hosting resources for a new game session. In response, GameLift FleetIQ searches for an available game server in the specified game server group, places the game server in "claimed" status for 60 seconds, and returns connection information back to the requester so that players can connect to the game server. </p> <p>There are two ways you can claim a game server. For the first option, you provide a game server group ID only, which prompts GameLift FleetIQ to search for an available game server in the specified group and claim it. With this option, GameLift FleetIQ attempts to consolidate gameplay on as few instances as possible to minimize hosting costs. For the second option, you request a specific game server by its ID. This option results in a less efficient claiming process because it does not take advantage of consolidation and may fail if the requested game server is unavailable. </p> <p>To claim a game server, identify a game server group and (optionally) a game server ID. If your game requires that game data be provided to the game server at the start of a game, such as a game map or player information, you can provide it in your claim request. </p> <p>When a game server is successfully claimed, connection information is returned. A claimed game server's utilization status remains AVAILABLE, while the claim status is set to CLAIMED for up to 60 seconds. This time period allows the game server to be prompted to update its status to UTILIZED (using <a>UpdateGameServer</a>). If the game server's status is not updated within 60 seconds, the game server reverts to unclaimed status and is available to be claimed by another request.</p> <p>If you try to claim a specific game server, this request will fail in the following cases: (1) if the game server utilization status is UTILIZED, (2) if the game server claim status is CLAIMED, or (3) if the instance that the game server is running on is flagged as draining.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>RegisterGameServer</a> </p> </li> <li> <p> <a>ListGameServers</a> </p> </li> <li> <p> <a>ClaimGameServer</a> </p> </li> <li> <p> <a>DescribeGameServer</a> </p> </li> <li> <p> <a>UpdateGameServer</a> </p> </li> <li> <p> <a>DeregisterGameServer</a> </p> </li> </ul></p>
9419 async fn claim_game_server(
9420 &self,
9421 input: ClaimGameServerInput,
9422 ) -> Result<ClaimGameServerOutput, RusotoError<ClaimGameServerError>> {
9423 let mut request = self.new_signed_request("POST", "/");
9424 request.add_header("x-amz-target", "GameLift.ClaimGameServer");
9425 let encoded = serde_json::to_string(&input).unwrap();
9426 request.set_payload(Some(encoded));
9427
9428 let response = self
9429 .sign_and_dispatch(request, ClaimGameServerError::from_response)
9430 .await?;
9431 let mut response = response;
9432 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9433 proto::json::ResponsePayload::new(&response).deserialize::<ClaimGameServerOutput, _>()
9434 }
9435
9436 /// <p><p>Creates an alias for a fleet. In most situations, you can use an alias ID in place of a fleet ID. An alias provides a level of abstraction for a fleet that is useful when redirecting player traffic from one fleet to another, such as when updating your game build. </p> <p>Amazon GameLift supports two types of routing strategies for aliases: simple and terminal. A simple alias points to an active fleet. A terminal alias is used to display messaging or link to a URL instead of routing players to an active fleet. For example, you might use a terminal alias when a game version is no longer supported and you want to direct players to an upgrade site. </p> <p>To create a fleet alias, specify an alias name, routing strategy, and optional description. Each simple alias can point to only one fleet, but a fleet can have multiple aliases. If successful, a new alias record is returned, including an alias ID and an ARN. You can reassign an alias to another fleet by calling <code>UpdateAlias</code>.</p> <ul> <li> <p> <a>CreateAlias</a> </p> </li> <li> <p> <a>ListAliases</a> </p> </li> <li> <p> <a>DescribeAlias</a> </p> </li> <li> <p> <a>UpdateAlias</a> </p> </li> <li> <p> <a>DeleteAlias</a> </p> </li> <li> <p> <a>ResolveAlias</a> </p> </li> </ul></p>
9437 async fn create_alias(
9438 &self,
9439 input: CreateAliasInput,
9440 ) -> Result<CreateAliasOutput, RusotoError<CreateAliasError>> {
9441 let mut request = self.new_signed_request("POST", "/");
9442 request.add_header("x-amz-target", "GameLift.CreateAlias");
9443 let encoded = serde_json::to_string(&input).unwrap();
9444 request.set_payload(Some(encoded));
9445
9446 let response = self
9447 .sign_and_dispatch(request, CreateAliasError::from_response)
9448 .await?;
9449 let mut response = response;
9450 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9451 proto::json::ResponsePayload::new(&response).deserialize::<CreateAliasOutput, _>()
9452 }
9453
9454 /// <p><p>Creates a new Amazon GameLift build resource for your game server binary files. Game server binaries must be combined into a zip file for use with Amazon GameLift. </p> <important> <p>When setting up a new game build for GameLift, we recommend using the AWS CLI command <b> <a href="https://docs.aws.amazon.com/cli/latest/reference/gamelift/upload-build.html">upload-build</a> </b>. This helper command combines two tasks: (1) it uploads your build files from a file directory to a GameLift Amazon S3 location, and (2) it creates a new build resource. </p> </important> <p>The <code>CreateBuild</code> operation can used in the following scenarios:</p> <ul> <li> <p>To create a new game build with build files that are in an S3 location under an AWS account that you control. To use this option, you must first give Amazon GameLift access to the S3 bucket. With permissions in place, call <code>CreateBuild</code> and specify a build name, operating system, and the S3 storage location of your game build.</p> </li> <li> <p>To directly upload your build files to a GameLift S3 location. To use this option, first call <code>CreateBuild</code> and specify a build name and operating system. This action creates a new build resource and also returns an S3 location with temporary access credentials. Use the credentials to manually upload your build files to the specified S3 location. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html">Uploading Objects</a> in the <i>Amazon S3 Developer Guide</i>. Build files can be uploaded to the GameLift S3 location once only; that can't be updated. </p> </li> </ul> <p>If successful, this operation creates a new build resource with a unique build ID and places it in <code>INITIALIZED</code> status. A build must be in <code>READY</code> status before you can create fleets with it.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html">Uploading Your Game</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html#gamelift-build-cli-uploading-create-build"> Create a Build with Files in Amazon S3</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateBuild</a> </p> </li> <li> <p> <a>ListBuilds</a> </p> </li> <li> <p> <a>DescribeBuild</a> </p> </li> <li> <p> <a>UpdateBuild</a> </p> </li> <li> <p> <a>DeleteBuild</a> </p> </li> </ul></p>
9455 async fn create_build(
9456 &self,
9457 input: CreateBuildInput,
9458 ) -> Result<CreateBuildOutput, RusotoError<CreateBuildError>> {
9459 let mut request = self.new_signed_request("POST", "/");
9460 request.add_header("x-amz-target", "GameLift.CreateBuild");
9461 let encoded = serde_json::to_string(&input).unwrap();
9462 request.set_payload(Some(encoded));
9463
9464 let response = self
9465 .sign_and_dispatch(request, CreateBuildError::from_response)
9466 .await?;
9467 let mut response = response;
9468 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9469 proto::json::ResponsePayload::new(&response).deserialize::<CreateBuildOutput, _>()
9470 }
9471
9472 /// <p><p>Creates a new fleet to run your game servers. whether they are custom game builds or Realtime Servers with game-specific script. A fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2) instances, each of which can host multiple game sessions. When creating a fleet, you choose the hardware specifications, set some configuration options, and specify the game server to deploy on the new fleet. </p> <p>To create a new fleet, provide the following: (1) a fleet name, (2) an EC2 instance type and fleet type (spot or on-demand), (3) the build ID for your game build or script ID if using Realtime Servers, and (4) a runtime configuration, which determines how game servers will run on each instance in the fleet. </p> <p>If the <code>CreateFleet</code> call is successful, Amazon GameLift performs the following tasks. You can track the process of a fleet by checking the fleet status or by monitoring fleet creation events:</p> <ul> <li> <p>Creates a fleet resource. Status: <code>NEW</code>.</p> </li> <li> <p>Begins writing events to the fleet event log, which can be accessed in the Amazon GameLift console.</p> </li> <li> <p>Sets the fleet's target capacity to 1 (desired instances), which triggers Amazon GameLift to start one new EC2 instance.</p> </li> <li> <p>Downloads the game build or Realtime script to the new instance and installs it. Statuses: <code>DOWNLOADING</code>, <code>VALIDATING</code>, <code>BUILDING</code>. </p> </li> <li> <p>Starts launching server processes on the instance. If the fleet is configured to run multiple server processes per instance, Amazon GameLift staggers each process launch by a few seconds. Status: <code>ACTIVATING</code>.</p> </li> <li> <p>Sets the fleet's status to <code>ACTIVE</code> as soon as one server process is ready to host a game session.</p> </li> </ul> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting Up Fleets</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html#fleets-creating-debug-creation">Debug Fleet Creation Issues</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
9473 async fn create_fleet(
9474 &self,
9475 input: CreateFleetInput,
9476 ) -> Result<CreateFleetOutput, RusotoError<CreateFleetError>> {
9477 let mut request = self.new_signed_request("POST", "/");
9478 request.add_header("x-amz-target", "GameLift.CreateFleet");
9479 let encoded = serde_json::to_string(&input).unwrap();
9480 request.set_payload(Some(encoded));
9481
9482 let response = self
9483 .sign_and_dispatch(request, CreateFleetError::from_response)
9484 .await?;
9485 let mut response = response;
9486 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9487 proto::json::ResponsePayload::new(&response).deserialize::<CreateFleetOutput, _>()
9488 }
9489
9490 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Creates a GameLift FleetIQ game server group to manage a collection of EC2 instances for game hosting. In addition to creating the game server group, this action also creates an Auto Scaling group in your AWS account and establishes a link between the two groups. You have full control over configuration of the Auto Scaling group, but GameLift FleetIQ routinely certain Auto Scaling group properties in order to optimize the group's instances for low-cost game hosting. You can view the status of your game server groups in the GameLift Console. Game server group metrics and events are emitted to Amazon CloudWatch.</p> <p>Prior creating a new game server group, you must set up the following: </p> <ul> <li> <p>An EC2 launch template. The template provides configuration settings for a set of EC2 instances and includes the game server build that you want to deploy and run on each instance. For more information on creating a launch template, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html"> Launching an Instance from a Launch Template</a> in the <i>Amazon EC2 User Guide</i>. </p> </li> <li> <p>An IAM role. The role sets up limited access to your AWS account, allowing GameLift FleetIQ to create and manage the EC2 Auto Scaling group, get instance data, and emit metrics and events to CloudWatch. For more information on setting up an IAM permissions policy with principal access for GameLift, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-bucket-user-policy-specifying-principal-intro.html"> Specifying a Principal in a Policy</a> in the <i>Amazon S3 Developer Guide</i>.</p> </li> </ul> <p>To create a new game server group, provide a name and specify the IAM role and EC2 launch template. You also need to provide a list of instance types to be used in the group and set initial maximum and minimum limits on the group's instance count. You can optionally set an autoscaling policy with target tracking based on a GameLift FleetIQ metric.</p> <p>Once the game server group and corresponding Auto Scaling group are created, you have full access to change the Auto Scaling group's configuration as needed. Keep in mind, however, that some properties are periodically updated by GameLift FleetIQ as it balances the group's instances based on availability and cost.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-asgroups.html">Updating a GameLift FleetIQ-Linked Auto Scaling Group</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateGameServerGroup</a> </p> </li> <li> <p> <a>ListGameServerGroups</a> </p> </li> <li> <p> <a>DescribeGameServerGroup</a> </p> </li> <li> <p> <a>UpdateGameServerGroup</a> </p> </li> <li> <p> <a>DeleteGameServerGroup</a> </p> </li> <li> <p> <a>ResumeGameServerGroup</a> </p> </li> <li> <p> <a>SuspendGameServerGroup</a> </p> </li> </ul></p>
9491 async fn create_game_server_group(
9492 &self,
9493 input: CreateGameServerGroupInput,
9494 ) -> Result<CreateGameServerGroupOutput, RusotoError<CreateGameServerGroupError>> {
9495 let mut request = self.new_signed_request("POST", "/");
9496 request.add_header("x-amz-target", "GameLift.CreateGameServerGroup");
9497 let encoded = serde_json::to_string(&input).unwrap();
9498 request.set_payload(Some(encoded));
9499
9500 let response = self
9501 .sign_and_dispatch(request, CreateGameServerGroupError::from_response)
9502 .await?;
9503 let mut response = response;
9504 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9505 proto::json::ResponsePayload::new(&response).deserialize::<CreateGameServerGroupOutput, _>()
9506 }
9507
9508 /// <p><p>Creates a multiplayer game session for players. This action creates a game session record and assigns an available server process in the specified fleet to host the game session. A fleet must have an <code>ACTIVE</code> status before a game session can be created in it.</p> <p>To create a game session, specify either fleet ID or alias ID and indicate a maximum number of players to allow in the game session. You can also provide a name and game-specific properties for this game session. If successful, a <a>GameSession</a> object is returned containing the game session properties and other settings you specified.</p> <p> <b>Idempotency tokens.</b> You can add a token that uniquely identifies game session requests. This is useful for ensuring that game session requests are idempotent. Multiple requests with the same idempotency token are processed only once; subsequent requests return the original result. All response values are the same with the exception of game session status, which may change.</p> <p> <b>Resource creation limits.</b> If you are creating a game session on a fleet with a resource creation limit policy in force, then you must specify a creator ID. Without this ID, Amazon GameLift has no way to evaluate the policy for this new game session request.</p> <p> <b>Player acceptance policy.</b> By default, newly created game sessions are open to new players. You can restrict new player access by using <a>UpdateGameSession</a> to change the game session's player session creation policy.</p> <p> <b>Game session logs.</b> Logs are retained for all active game sessions for 14 days. To access the logs, call <a>GetGameSessionLogUrl</a> to download the log files.</p> <p> <i>Available in Amazon GameLift Local.</i> </p> <ul> <li> <p> <a>CreateGameSession</a> </p> </li> <li> <p> <a>DescribeGameSessions</a> </p> </li> <li> <p> <a>DescribeGameSessionDetails</a> </p> </li> <li> <p> <a>SearchGameSessions</a> </p> </li> <li> <p> <a>UpdateGameSession</a> </p> </li> <li> <p> <a>GetGameSessionLogUrl</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
9509 async fn create_game_session(
9510 &self,
9511 input: CreateGameSessionInput,
9512 ) -> Result<CreateGameSessionOutput, RusotoError<CreateGameSessionError>> {
9513 let mut request = self.new_signed_request("POST", "/");
9514 request.add_header("x-amz-target", "GameLift.CreateGameSession");
9515 let encoded = serde_json::to_string(&input).unwrap();
9516 request.set_payload(Some(encoded));
9517
9518 let response = self
9519 .sign_and_dispatch(request, CreateGameSessionError::from_response)
9520 .await?;
9521 let mut response = response;
9522 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9523 proto::json::ResponsePayload::new(&response).deserialize::<CreateGameSessionOutput, _>()
9524 }
9525
9526 /// <p><p>Establishes a new queue for processing requests to place new game sessions. A queue identifies where new game sessions can be hosted -- by specifying a list of destinations (fleets or aliases) -- and how long requests can wait in the queue before timing out. You can set up a queue to try to place game sessions on fleets in multiple Regions. To add placement requests to a queue, call <a>StartGameSessionPlacement</a> and reference the queue name.</p> <p> <b>Destination order.</b> When processing a request for a game session, Amazon GameLift tries each destination in order until it finds one with available resources to host the new game session. A queue's default order is determined by how destinations are listed. The default order is overridden when a game session placement request provides player latency information. Player latency information enables Amazon GameLift to prioritize destinations where players report the lowest average latency, as a result placing the new game session where the majority of players will have the best possible gameplay experience.</p> <p> <b>Player latency policies.</b> For placement requests containing player latency information, use player latency policies to protect individual players from very high latencies. With a latency cap, even when a destination can deliver a low latency for most players, the game is not placed where any individual player is reporting latency higher than a policy's maximum. A queue can have multiple latency policies, which are enforced consecutively starting with the policy with the lowest latency cap. Use multiple policies to gradually relax latency controls; for example, you might set a policy with a low latency cap for the first 60 seconds, a second policy with a higher cap for the next 60 seconds, etc. </p> <p>To create a new queue, provide a name, timeout value, a list of destinations and, if desired, a set of latency policies. If successful, a new queue object is returned.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-design.html"> Design a Game Session Queue</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-creating.html"> Create a Game Session Queue</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateGameSessionQueue</a> </p> </li> <li> <p> <a>DescribeGameSessionQueues</a> </p> </li> <li> <p> <a>UpdateGameSessionQueue</a> </p> </li> <li> <p> <a>DeleteGameSessionQueue</a> </p> </li> </ul></p>
9527 async fn create_game_session_queue(
9528 &self,
9529 input: CreateGameSessionQueueInput,
9530 ) -> Result<CreateGameSessionQueueOutput, RusotoError<CreateGameSessionQueueError>> {
9531 let mut request = self.new_signed_request("POST", "/");
9532 request.add_header("x-amz-target", "GameLift.CreateGameSessionQueue");
9533 let encoded = serde_json::to_string(&input).unwrap();
9534 request.set_payload(Some(encoded));
9535
9536 let response = self
9537 .sign_and_dispatch(request, CreateGameSessionQueueError::from_response)
9538 .await?;
9539 let mut response = response;
9540 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9541 proto::json::ResponsePayload::new(&response)
9542 .deserialize::<CreateGameSessionQueueOutput, _>()
9543 }
9544
9545 /// <p><p>Defines a new matchmaking configuration for use with FlexMatch. A matchmaking configuration sets out guidelines for matching players and getting the matches into games. You can set up multiple matchmaking configurations to handle the scenarios needed for your game. Each matchmaking ticket (<a>StartMatchmaking</a> or <a>StartMatchBackfill</a>) specifies a configuration for the match and provides player attributes to support the configuration being used. </p> <p>To create a matchmaking configuration, at a minimum you must specify the following: configuration name; a rule set that governs how to evaluate players and find acceptable matches; a game session queue to use when placing a new game session for the match; and the maximum time allowed for a matchmaking attempt.</p> <p>There are two ways to track the progress of matchmaking tickets: (1) polling ticket status with <a>DescribeMatchmaking</a>; or (2) receiving notifications with Amazon Simple Notification Service (SNS). To use notifications, you first need to set up an SNS topic to receive the notifications, and provide the topic ARN in the matchmaking configuration. Since notifications promise only "best effort" delivery, we recommend calling <code>DescribeMatchmaking</code> if no notifications are received within 30 seconds.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-configuration.html"> Design a FlexMatch Matchmaker</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-notification.html"> Setting up Notifications for Matchmaking</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DescribeMatchmakingConfigurations</a> </p> </li> <li> <p> <a>UpdateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DeleteMatchmakingConfiguration</a> </p> </li> <li> <p> <a>CreateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DescribeMatchmakingRuleSets</a> </p> </li> <li> <p> <a>ValidateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DeleteMatchmakingRuleSet</a> </p> </li> </ul></p>
9546 async fn create_matchmaking_configuration(
9547 &self,
9548 input: CreateMatchmakingConfigurationInput,
9549 ) -> Result<
9550 CreateMatchmakingConfigurationOutput,
9551 RusotoError<CreateMatchmakingConfigurationError>,
9552 > {
9553 let mut request = self.new_signed_request("POST", "/");
9554 request.add_header("x-amz-target", "GameLift.CreateMatchmakingConfiguration");
9555 let encoded = serde_json::to_string(&input).unwrap();
9556 request.set_payload(Some(encoded));
9557
9558 let response = self
9559 .sign_and_dispatch(request, CreateMatchmakingConfigurationError::from_response)
9560 .await?;
9561 let mut response = response;
9562 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9563 proto::json::ResponsePayload::new(&response)
9564 .deserialize::<CreateMatchmakingConfigurationOutput, _>()
9565 }
9566
9567 /// <p><p>Creates a new rule set for FlexMatch matchmaking. A rule set describes the type of match to create, such as the number and size of teams. It also sets the parameters for acceptable player matches, such as minimum skill level or character type. A rule set is used by a <a>MatchmakingConfiguration</a>. </p> <p>To create a matchmaking rule set, provide unique rule set name and the rule set body in JSON format. Rule sets must be defined in the same Region as the matchmaking configuration they are used with.</p> <p>Since matchmaking rule sets cannot be edited, it is a good idea to check the rule set syntax using <a>ValidateMatchmakingRuleSet</a> before creating a new rule set.</p> <p> <b>Learn more</b> </p> <ul> <li> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-rulesets.html">Build a Rule Set</a> </p> </li> <li> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-configuration.html">Design a Matchmaker</a> </p> </li> <li> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-intro.html">Matchmaking with FlexMatch</a> </p> </li> </ul> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DescribeMatchmakingConfigurations</a> </p> </li> <li> <p> <a>UpdateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DeleteMatchmakingConfiguration</a> </p> </li> <li> <p> <a>CreateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DescribeMatchmakingRuleSets</a> </p> </li> <li> <p> <a>ValidateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DeleteMatchmakingRuleSet</a> </p> </li> </ul></p>
9568 async fn create_matchmaking_rule_set(
9569 &self,
9570 input: CreateMatchmakingRuleSetInput,
9571 ) -> Result<CreateMatchmakingRuleSetOutput, RusotoError<CreateMatchmakingRuleSetError>> {
9572 let mut request = self.new_signed_request("POST", "/");
9573 request.add_header("x-amz-target", "GameLift.CreateMatchmakingRuleSet");
9574 let encoded = serde_json::to_string(&input).unwrap();
9575 request.set_payload(Some(encoded));
9576
9577 let response = self
9578 .sign_and_dispatch(request, CreateMatchmakingRuleSetError::from_response)
9579 .await?;
9580 let mut response = response;
9581 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9582 proto::json::ResponsePayload::new(&response)
9583 .deserialize::<CreateMatchmakingRuleSetOutput, _>()
9584 }
9585
9586 /// <p><p>Reserves an open player slot in an active game session. Before a player can be added, a game session must have an <code>ACTIVE</code> status, have a creation policy of <code>ALLOW_ALL</code>, and have an open player slot. To add a group of players to a game session, use <a>CreatePlayerSessions</a>. When the player connects to the game server and references a player session ID, the game server contacts the Amazon GameLift service to validate the player reservation and accept the player.</p> <p>To create a player session, specify a game session ID, player ID, and optionally a string of player data. If successful, a slot is reserved in the game session for the player and a new <a>PlayerSession</a> object is returned. Player sessions cannot be updated. </p> <p> <i>Available in Amazon GameLift Local.</i> </p> <ul> <li> <p> <a>CreatePlayerSession</a> </p> </li> <li> <p> <a>CreatePlayerSessions</a> </p> </li> <li> <p> <a>DescribePlayerSessions</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
9587 async fn create_player_session(
9588 &self,
9589 input: CreatePlayerSessionInput,
9590 ) -> Result<CreatePlayerSessionOutput, RusotoError<CreatePlayerSessionError>> {
9591 let mut request = self.new_signed_request("POST", "/");
9592 request.add_header("x-amz-target", "GameLift.CreatePlayerSession");
9593 let encoded = serde_json::to_string(&input).unwrap();
9594 request.set_payload(Some(encoded));
9595
9596 let response = self
9597 .sign_and_dispatch(request, CreatePlayerSessionError::from_response)
9598 .await?;
9599 let mut response = response;
9600 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9601 proto::json::ResponsePayload::new(&response).deserialize::<CreatePlayerSessionOutput, _>()
9602 }
9603
9604 /// <p><p>Reserves open slots in a game session for a group of players. Before players can be added, a game session must have an <code>ACTIVE</code> status, have a creation policy of <code>ALLOW_ALL</code>, and have an open player slot. To add a single player to a game session, use <a>CreatePlayerSession</a>. When a player connects to the game server and references a player session ID, the game server contacts the Amazon GameLift service to validate the player reservation and accept the player.</p> <p>To create player sessions, specify a game session ID, a list of player IDs, and optionally a set of player data strings. If successful, a slot is reserved in the game session for each player and a set of new <a>PlayerSession</a> objects is returned. Player sessions cannot be updated.</p> <p> <i>Available in Amazon GameLift Local.</i> </p> <ul> <li> <p> <a>CreatePlayerSession</a> </p> </li> <li> <p> <a>CreatePlayerSessions</a> </p> </li> <li> <p> <a>DescribePlayerSessions</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
9605 async fn create_player_sessions(
9606 &self,
9607 input: CreatePlayerSessionsInput,
9608 ) -> Result<CreatePlayerSessionsOutput, RusotoError<CreatePlayerSessionsError>> {
9609 let mut request = self.new_signed_request("POST", "/");
9610 request.add_header("x-amz-target", "GameLift.CreatePlayerSessions");
9611 let encoded = serde_json::to_string(&input).unwrap();
9612 request.set_payload(Some(encoded));
9613
9614 let response = self
9615 .sign_and_dispatch(request, CreatePlayerSessionsError::from_response)
9616 .await?;
9617 let mut response = response;
9618 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9619 proto::json::ResponsePayload::new(&response).deserialize::<CreatePlayerSessionsOutput, _>()
9620 }
9621
9622 /// <p><p>Creates a new script record for your Realtime Servers script. Realtime scripts are JavaScript that provide configuration settings and optional custom game logic for your game. The script is deployed when you create a Realtime Servers fleet to host your game sessions. Script logic is executed during an active game session. </p> <p>To create a new script record, specify a script name and provide the script file(s). The script files and all dependencies must be zipped into a single file. You can pull the zip file from either of these locations: </p> <ul> <li> <p>A locally available directory. Use the <i>ZipFile</i> parameter for this option.</p> </li> <li> <p>An Amazon Simple Storage Service (Amazon S3) bucket under your AWS account. Use the <i>StorageLocation</i> parameter for this option. You'll need to have an Identity Access Management (IAM) role that allows the Amazon GameLift service to access your S3 bucket. </p> </li> </ul> <p>If the call is successful, a new script record is created with a unique script ID. If the script file is provided as a local file, the file is uploaded to an Amazon GameLift-owned S3 bucket and the script record's storage location reflects this location. If the script file is provided as an S3 bucket, Amazon GameLift accesses the file at this storage location as needed for deployment.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html">Amazon GameLift Realtime Servers</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/setting-up-role.html">Set Up a Role for Amazon GameLift Access</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateScript</a> </p> </li> <li> <p> <a>ListScripts</a> </p> </li> <li> <p> <a>DescribeScript</a> </p> </li> <li> <p> <a>UpdateScript</a> </p> </li> <li> <p> <a>DeleteScript</a> </p> </li> </ul></p>
9623 async fn create_script(
9624 &self,
9625 input: CreateScriptInput,
9626 ) -> Result<CreateScriptOutput, RusotoError<CreateScriptError>> {
9627 let mut request = self.new_signed_request("POST", "/");
9628 request.add_header("x-amz-target", "GameLift.CreateScript");
9629 let encoded = serde_json::to_string(&input).unwrap();
9630 request.set_payload(Some(encoded));
9631
9632 let response = self
9633 .sign_and_dispatch(request, CreateScriptError::from_response)
9634 .await?;
9635 let mut response = response;
9636 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9637 proto::json::ResponsePayload::new(&response).deserialize::<CreateScriptOutput, _>()
9638 }
9639
9640 /// <p><p>Requests authorization to create or delete a peer connection between the VPC for your Amazon GameLift fleet and a virtual private cloud (VPC) in your AWS account. VPC peering enables the game servers on your fleet to communicate directly with other AWS resources. Once you've received authorization, call <a>CreateVpcPeeringConnection</a> to establish the peering connection. For more information, see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html">VPC Peering with Amazon GameLift Fleets</a>.</p> <p>You can peer with VPCs that are owned by any AWS account you have access to, including the account that you use to manage your Amazon GameLift fleets. You cannot peer with VPCs that are in different Regions.</p> <p>To request authorization to create a connection, call this operation from the AWS account with the VPC that you want to peer to your Amazon GameLift fleet. For example, to enable your game servers to retrieve data from a DynamoDB table, use the account that manages that DynamoDB resource. Identify the following values: (1) The ID of the VPC that you want to peer with, and (2) the ID of the AWS account that you use to manage Amazon GameLift. If successful, VPC peering is authorized for the specified VPC. </p> <p>To request authorization to delete a connection, call this operation from the AWS account with the VPC that is peered with your Amazon GameLift fleet. Identify the following values: (1) VPC ID that you want to delete the peering connection for, and (2) ID of the AWS account that you use to manage Amazon GameLift. </p> <p>The authorization remains valid for 24 hours unless it is canceled by a call to <a>DeleteVpcPeeringAuthorization</a>. You must create or delete the peering connection while the authorization is valid. </p> <ul> <li> <p> <a>CreateVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>DescribeVpcPeeringAuthorizations</a> </p> </li> <li> <p> <a>DeleteVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>CreateVpcPeeringConnection</a> </p> </li> <li> <p> <a>DescribeVpcPeeringConnections</a> </p> </li> <li> <p> <a>DeleteVpcPeeringConnection</a> </p> </li> </ul></p>
9641 async fn create_vpc_peering_authorization(
9642 &self,
9643 input: CreateVpcPeeringAuthorizationInput,
9644 ) -> Result<CreateVpcPeeringAuthorizationOutput, RusotoError<CreateVpcPeeringAuthorizationError>>
9645 {
9646 let mut request = self.new_signed_request("POST", "/");
9647 request.add_header("x-amz-target", "GameLift.CreateVpcPeeringAuthorization");
9648 let encoded = serde_json::to_string(&input).unwrap();
9649 request.set_payload(Some(encoded));
9650
9651 let response = self
9652 .sign_and_dispatch(request, CreateVpcPeeringAuthorizationError::from_response)
9653 .await?;
9654 let mut response = response;
9655 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9656 proto::json::ResponsePayload::new(&response)
9657 .deserialize::<CreateVpcPeeringAuthorizationOutput, _>()
9658 }
9659
9660 /// <p><p>Establishes a VPC peering connection between a virtual private cloud (VPC) in an AWS account with the VPC for your Amazon GameLift fleet. VPC peering enables the game servers on your fleet to communicate directly with other AWS resources. You can peer with VPCs in any AWS account that you have access to, including the account that you use to manage your Amazon GameLift fleets. You cannot peer with VPCs that are in different Regions. For more information, see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html">VPC Peering with Amazon GameLift Fleets</a>.</p> <p>Before calling this operation to establish the peering connection, you first need to call <a>CreateVpcPeeringAuthorization</a> and identify the VPC you want to peer with. Once the authorization for the specified VPC is issued, you have 24 hours to establish the connection. These two operations handle all tasks necessary to peer the two VPCs, including acceptance, updating routing tables, etc. </p> <p>To establish the connection, call this operation from the AWS account that is used to manage the Amazon GameLift fleets. Identify the following values: (1) The ID of the fleet you want to be enable a VPC peering connection for; (2) The AWS account with the VPC that you want to peer with; and (3) The ID of the VPC you want to peer with. This operation is asynchronous. If successful, a <a>VpcPeeringConnection</a> request is created. You can use continuous polling to track the request's status using <a>DescribeVpcPeeringConnections</a>, or by monitoring fleet events for success or failure using <a>DescribeFleetEvents</a>. </p> <ul> <li> <p> <a>CreateVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>DescribeVpcPeeringAuthorizations</a> </p> </li> <li> <p> <a>DeleteVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>CreateVpcPeeringConnection</a> </p> </li> <li> <p> <a>DescribeVpcPeeringConnections</a> </p> </li> <li> <p> <a>DeleteVpcPeeringConnection</a> </p> </li> </ul></p>
9661 async fn create_vpc_peering_connection(
9662 &self,
9663 input: CreateVpcPeeringConnectionInput,
9664 ) -> Result<CreateVpcPeeringConnectionOutput, RusotoError<CreateVpcPeeringConnectionError>>
9665 {
9666 let mut request = self.new_signed_request("POST", "/");
9667 request.add_header("x-amz-target", "GameLift.CreateVpcPeeringConnection");
9668 let encoded = serde_json::to_string(&input).unwrap();
9669 request.set_payload(Some(encoded));
9670
9671 let response = self
9672 .sign_and_dispatch(request, CreateVpcPeeringConnectionError::from_response)
9673 .await?;
9674 let mut response = response;
9675 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9676 proto::json::ResponsePayload::new(&response)
9677 .deserialize::<CreateVpcPeeringConnectionOutput, _>()
9678 }
9679
9680 /// <p><p>Deletes an alias. This action removes all record of the alias. Game clients attempting to access a server process using the deleted alias receive an error. To delete an alias, specify the alias ID to be deleted.</p> <ul> <li> <p> <a>CreateAlias</a> </p> </li> <li> <p> <a>ListAliases</a> </p> </li> <li> <p> <a>DescribeAlias</a> </p> </li> <li> <p> <a>UpdateAlias</a> </p> </li> <li> <p> <a>DeleteAlias</a> </p> </li> <li> <p> <a>ResolveAlias</a> </p> </li> </ul></p>
9681 async fn delete_alias(
9682 &self,
9683 input: DeleteAliasInput,
9684 ) -> Result<(), RusotoError<DeleteAliasError>> {
9685 let mut request = self.new_signed_request("POST", "/");
9686 request.add_header("x-amz-target", "GameLift.DeleteAlias");
9687 let encoded = serde_json::to_string(&input).unwrap();
9688 request.set_payload(Some(encoded));
9689
9690 let response = self
9691 .sign_and_dispatch(request, DeleteAliasError::from_response)
9692 .await?;
9693 std::mem::drop(response);
9694 Ok(())
9695 }
9696
9697 /// <p><p>Deletes a build. This action permanently deletes the build resource and any uploaded build files. Deleting a build does not affect the status of any active fleets using the build, but you can no longer create new fleets with the deleted build.</p> <p>To delete a build, specify the build ID. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html"> Upload a Custom Server Build</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateBuild</a> </p> </li> <li> <p> <a>ListBuilds</a> </p> </li> <li> <p> <a>DescribeBuild</a> </p> </li> <li> <p> <a>UpdateBuild</a> </p> </li> <li> <p> <a>DeleteBuild</a> </p> </li> </ul></p>
9698 async fn delete_build(
9699 &self,
9700 input: DeleteBuildInput,
9701 ) -> Result<(), RusotoError<DeleteBuildError>> {
9702 let mut request = self.new_signed_request("POST", "/");
9703 request.add_header("x-amz-target", "GameLift.DeleteBuild");
9704 let encoded = serde_json::to_string(&input).unwrap();
9705 request.set_payload(Some(encoded));
9706
9707 let response = self
9708 .sign_and_dispatch(request, DeleteBuildError::from_response)
9709 .await?;
9710 std::mem::drop(response);
9711 Ok(())
9712 }
9713
9714 /// <p><p>Deletes everything related to a fleet. Before deleting a fleet, you must set the fleet's desired capacity to zero. See <a>UpdateFleetCapacity</a>.</p> <p>If the fleet being deleted has a VPC peering connection, you first need to get a valid authorization (good for 24 hours) by calling <a>CreateVpcPeeringAuthorization</a>. You do not need to explicitly delete the VPC peering connection--this is done as part of the delete fleet process.</p> <p>This action removes the fleet and its resources. Once a fleet is deleted, you can no longer use any of the resource in that fleet.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
9715 async fn delete_fleet(
9716 &self,
9717 input: DeleteFleetInput,
9718 ) -> Result<(), RusotoError<DeleteFleetError>> {
9719 let mut request = self.new_signed_request("POST", "/");
9720 request.add_header("x-amz-target", "GameLift.DeleteFleet");
9721 let encoded = serde_json::to_string(&input).unwrap();
9722 request.set_payload(Some(encoded));
9723
9724 let response = self
9725 .sign_and_dispatch(request, DeleteFleetError::from_response)
9726 .await?;
9727 std::mem::drop(response);
9728 Ok(())
9729 }
9730
9731 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Terminates a game server group and permanently deletes the game server group record. You have several options for how these resources are impacted when deleting the game server group. Depending on the type of delete action selected, this action may affect three types of resources: the game server group, the corresponding Auto Scaling group, and all game servers currently running in the group. </p> <p>To delete a game server group, identify the game server group to delete and specify the type of delete action to initiate. Game server groups can only be deleted if they are in ACTIVE or ERROR status.</p> <p>If the delete request is successful, a series of actions are kicked off. The game server group status is changed to DELETE_SCHEDULED, which prevents new game servers from being registered and stops autoscaling activity. Once all game servers in the game server group are de-registered, GameLift FleetIQ can begin deleting resources. If any of the delete actions fail, the game server group is placed in ERROR status.</p> <p>GameLift FleetIQ emits delete events to Amazon CloudWatch.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateGameServerGroup</a> </p> </li> <li> <p> <a>ListGameServerGroups</a> </p> </li> <li> <p> <a>DescribeGameServerGroup</a> </p> </li> <li> <p> <a>UpdateGameServerGroup</a> </p> </li> <li> <p> <a>DeleteGameServerGroup</a> </p> </li> <li> <p> <a>ResumeGameServerGroup</a> </p> </li> <li> <p> <a>SuspendGameServerGroup</a> </p> </li> </ul></p>
9732 async fn delete_game_server_group(
9733 &self,
9734 input: DeleteGameServerGroupInput,
9735 ) -> Result<DeleteGameServerGroupOutput, RusotoError<DeleteGameServerGroupError>> {
9736 let mut request = self.new_signed_request("POST", "/");
9737 request.add_header("x-amz-target", "GameLift.DeleteGameServerGroup");
9738 let encoded = serde_json::to_string(&input).unwrap();
9739 request.set_payload(Some(encoded));
9740
9741 let response = self
9742 .sign_and_dispatch(request, DeleteGameServerGroupError::from_response)
9743 .await?;
9744 let mut response = response;
9745 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9746 proto::json::ResponsePayload::new(&response).deserialize::<DeleteGameServerGroupOutput, _>()
9747 }
9748
9749 /// <p><p>Deletes a game session queue. This action means that any <a>StartGameSessionPlacement</a> requests that reference this queue will fail. To delete a queue, specify the queue name.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-intro.html"> Using Multi-Region Queues</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateGameSessionQueue</a> </p> </li> <li> <p> <a>DescribeGameSessionQueues</a> </p> </li> <li> <p> <a>UpdateGameSessionQueue</a> </p> </li> <li> <p> <a>DeleteGameSessionQueue</a> </p> </li> </ul></p>
9750 async fn delete_game_session_queue(
9751 &self,
9752 input: DeleteGameSessionQueueInput,
9753 ) -> Result<DeleteGameSessionQueueOutput, RusotoError<DeleteGameSessionQueueError>> {
9754 let mut request = self.new_signed_request("POST", "/");
9755 request.add_header("x-amz-target", "GameLift.DeleteGameSessionQueue");
9756 let encoded = serde_json::to_string(&input).unwrap();
9757 request.set_payload(Some(encoded));
9758
9759 let response = self
9760 .sign_and_dispatch(request, DeleteGameSessionQueueError::from_response)
9761 .await?;
9762 let mut response = response;
9763 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9764 proto::json::ResponsePayload::new(&response)
9765 .deserialize::<DeleteGameSessionQueueOutput, _>()
9766 }
9767
9768 /// <p><p>Permanently removes a FlexMatch matchmaking configuration. To delete, specify the configuration name. A matchmaking configuration cannot be deleted if it is being used in any active matchmaking tickets.</p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DescribeMatchmakingConfigurations</a> </p> </li> <li> <p> <a>UpdateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DeleteMatchmakingConfiguration</a> </p> </li> <li> <p> <a>CreateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DescribeMatchmakingRuleSets</a> </p> </li> <li> <p> <a>ValidateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DeleteMatchmakingRuleSet</a> </p> </li> </ul></p>
9769 async fn delete_matchmaking_configuration(
9770 &self,
9771 input: DeleteMatchmakingConfigurationInput,
9772 ) -> Result<
9773 DeleteMatchmakingConfigurationOutput,
9774 RusotoError<DeleteMatchmakingConfigurationError>,
9775 > {
9776 let mut request = self.new_signed_request("POST", "/");
9777 request.add_header("x-amz-target", "GameLift.DeleteMatchmakingConfiguration");
9778 let encoded = serde_json::to_string(&input).unwrap();
9779 request.set_payload(Some(encoded));
9780
9781 let response = self
9782 .sign_and_dispatch(request, DeleteMatchmakingConfigurationError::from_response)
9783 .await?;
9784 let mut response = response;
9785 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9786 proto::json::ResponsePayload::new(&response)
9787 .deserialize::<DeleteMatchmakingConfigurationOutput, _>()
9788 }
9789
9790 /// <p><p>Deletes an existing matchmaking rule set. To delete the rule set, provide the rule set name. Rule sets cannot be deleted if they are currently being used by a matchmaking configuration. </p> <p> <b>Learn more</b> </p> <ul> <li> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-rulesets.html">Build a Rule Set</a> </p> </li> </ul> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DescribeMatchmakingConfigurations</a> </p> </li> <li> <p> <a>UpdateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DeleteMatchmakingConfiguration</a> </p> </li> <li> <p> <a>CreateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DescribeMatchmakingRuleSets</a> </p> </li> <li> <p> <a>ValidateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DeleteMatchmakingRuleSet</a> </p> </li> </ul></p>
9791 async fn delete_matchmaking_rule_set(
9792 &self,
9793 input: DeleteMatchmakingRuleSetInput,
9794 ) -> Result<DeleteMatchmakingRuleSetOutput, RusotoError<DeleteMatchmakingRuleSetError>> {
9795 let mut request = self.new_signed_request("POST", "/");
9796 request.add_header("x-amz-target", "GameLift.DeleteMatchmakingRuleSet");
9797 let encoded = serde_json::to_string(&input).unwrap();
9798 request.set_payload(Some(encoded));
9799
9800 let response = self
9801 .sign_and_dispatch(request, DeleteMatchmakingRuleSetError::from_response)
9802 .await?;
9803 let mut response = response;
9804 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9805 proto::json::ResponsePayload::new(&response)
9806 .deserialize::<DeleteMatchmakingRuleSetOutput, _>()
9807 }
9808
9809 /// <p><p>Deletes a fleet scaling policy. This action means that the policy is no longer in force and removes all record of it. To delete a scaling policy, specify both the scaling policy name and the fleet ID it is associated with.</p> <p>To temporarily suspend scaling policies, call <a>StopFleetActions</a>. This operation suspends all policies for the fleet.</p> <ul> <li> <p> <a>DescribeFleetCapacity</a> </p> </li> <li> <p> <a>UpdateFleetCapacity</a> </p> </li> <li> <p> <a>DescribeEC2InstanceLimits</a> </p> </li> <li> <p>Manage scaling policies:</p> <ul> <li> <p> <a>PutScalingPolicy</a> (auto-scaling)</p> </li> <li> <p> <a>DescribeScalingPolicies</a> (auto-scaling)</p> </li> <li> <p> <a>DeleteScalingPolicy</a> (auto-scaling)</p> </li> </ul> </li> <li> <p>Manage fleet actions:</p> <ul> <li> <p> <a>StartFleetActions</a> </p> </li> <li> <p> <a>StopFleetActions</a> </p> </li> </ul> </li> </ul></p>
9810 async fn delete_scaling_policy(
9811 &self,
9812 input: DeleteScalingPolicyInput,
9813 ) -> Result<(), RusotoError<DeleteScalingPolicyError>> {
9814 let mut request = self.new_signed_request("POST", "/");
9815 request.add_header("x-amz-target", "GameLift.DeleteScalingPolicy");
9816 let encoded = serde_json::to_string(&input).unwrap();
9817 request.set_payload(Some(encoded));
9818
9819 let response = self
9820 .sign_and_dispatch(request, DeleteScalingPolicyError::from_response)
9821 .await?;
9822 std::mem::drop(response);
9823 Ok(())
9824 }
9825
9826 /// <p><p>Deletes a Realtime script. This action permanently deletes the script record. If script files were uploaded, they are also deleted (files stored in an S3 bucket are not deleted). </p> <p>To delete a script, specify the script ID. Before deleting a script, be sure to terminate all fleets that are deployed with the script being deleted. Fleet instances periodically check for script updates, and if the script record no longer exists, the instance will go into an error state and be unable to host game sessions.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html">Amazon GameLift Realtime Servers</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateScript</a> </p> </li> <li> <p> <a>ListScripts</a> </p> </li> <li> <p> <a>DescribeScript</a> </p> </li> <li> <p> <a>UpdateScript</a> </p> </li> <li> <p> <a>DeleteScript</a> </p> </li> </ul></p>
9827 async fn delete_script(
9828 &self,
9829 input: DeleteScriptInput,
9830 ) -> Result<(), RusotoError<DeleteScriptError>> {
9831 let mut request = self.new_signed_request("POST", "/");
9832 request.add_header("x-amz-target", "GameLift.DeleteScript");
9833 let encoded = serde_json::to_string(&input).unwrap();
9834 request.set_payload(Some(encoded));
9835
9836 let response = self
9837 .sign_and_dispatch(request, DeleteScriptError::from_response)
9838 .await?;
9839 std::mem::drop(response);
9840 Ok(())
9841 }
9842
9843 /// <p><p>Cancels a pending VPC peering authorization for the specified VPC. If you need to delete an existing VPC peering connection, call <a>DeleteVpcPeeringConnection</a>. </p> <ul> <li> <p> <a>CreateVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>DescribeVpcPeeringAuthorizations</a> </p> </li> <li> <p> <a>DeleteVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>CreateVpcPeeringConnection</a> </p> </li> <li> <p> <a>DescribeVpcPeeringConnections</a> </p> </li> <li> <p> <a>DeleteVpcPeeringConnection</a> </p> </li> </ul></p>
9844 async fn delete_vpc_peering_authorization(
9845 &self,
9846 input: DeleteVpcPeeringAuthorizationInput,
9847 ) -> Result<DeleteVpcPeeringAuthorizationOutput, RusotoError<DeleteVpcPeeringAuthorizationError>>
9848 {
9849 let mut request = self.new_signed_request("POST", "/");
9850 request.add_header("x-amz-target", "GameLift.DeleteVpcPeeringAuthorization");
9851 let encoded = serde_json::to_string(&input).unwrap();
9852 request.set_payload(Some(encoded));
9853
9854 let response = self
9855 .sign_and_dispatch(request, DeleteVpcPeeringAuthorizationError::from_response)
9856 .await?;
9857 let mut response = response;
9858 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9859 proto::json::ResponsePayload::new(&response)
9860 .deserialize::<DeleteVpcPeeringAuthorizationOutput, _>()
9861 }
9862
9863 /// <p><p>Removes a VPC peering connection. To delete the connection, you must have a valid authorization for the VPC peering connection that you want to delete. You can check for an authorization by calling <a>DescribeVpcPeeringAuthorizations</a> or request a new one using <a>CreateVpcPeeringAuthorization</a>. </p> <p>Once a valid authorization exists, call this operation from the AWS account that is used to manage the Amazon GameLift fleets. Identify the connection to delete by the connection ID and fleet ID. If successful, the connection is removed. </p> <ul> <li> <p> <a>CreateVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>DescribeVpcPeeringAuthorizations</a> </p> </li> <li> <p> <a>DeleteVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>CreateVpcPeeringConnection</a> </p> </li> <li> <p> <a>DescribeVpcPeeringConnections</a> </p> </li> <li> <p> <a>DeleteVpcPeeringConnection</a> </p> </li> </ul></p>
9864 async fn delete_vpc_peering_connection(
9865 &self,
9866 input: DeleteVpcPeeringConnectionInput,
9867 ) -> Result<DeleteVpcPeeringConnectionOutput, RusotoError<DeleteVpcPeeringConnectionError>>
9868 {
9869 let mut request = self.new_signed_request("POST", "/");
9870 request.add_header("x-amz-target", "GameLift.DeleteVpcPeeringConnection");
9871 let encoded = serde_json::to_string(&input).unwrap();
9872 request.set_payload(Some(encoded));
9873
9874 let response = self
9875 .sign_and_dispatch(request, DeleteVpcPeeringConnectionError::from_response)
9876 .await?;
9877 let mut response = response;
9878 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9879 proto::json::ResponsePayload::new(&response)
9880 .deserialize::<DeleteVpcPeeringConnectionOutput, _>()
9881 }
9882
9883 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Removes the game server resource from the game server group. As a result of this action, the de-registered game server can no longer be claimed and will not returned in a list of active game servers. </p> <p>To de-register a game server, specify the game server group and game server ID. If successful, this action emits a CloudWatch event with termination time stamp and reason.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>RegisterGameServer</a> </p> </li> <li> <p> <a>ListGameServers</a> </p> </li> <li> <p> <a>ClaimGameServer</a> </p> </li> <li> <p> <a>DescribeGameServer</a> </p> </li> <li> <p> <a>UpdateGameServer</a> </p> </li> <li> <p> <a>DeregisterGameServer</a> </p> </li> </ul></p>
9884 async fn deregister_game_server(
9885 &self,
9886 input: DeregisterGameServerInput,
9887 ) -> Result<(), RusotoError<DeregisterGameServerError>> {
9888 let mut request = self.new_signed_request("POST", "/");
9889 request.add_header("x-amz-target", "GameLift.DeregisterGameServer");
9890 let encoded = serde_json::to_string(&input).unwrap();
9891 request.set_payload(Some(encoded));
9892
9893 let response = self
9894 .sign_and_dispatch(request, DeregisterGameServerError::from_response)
9895 .await?;
9896 std::mem::drop(response);
9897 Ok(())
9898 }
9899
9900 /// <p><p>Retrieves properties for an alias. This operation returns all alias metadata and settings. To get an alias's target fleet ID only, use <code>ResolveAlias</code>. </p> <p>To get alias properties, specify the alias ID. If successful, the requested alias record is returned.</p> <ul> <li> <p> <a>CreateAlias</a> </p> </li> <li> <p> <a>ListAliases</a> </p> </li> <li> <p> <a>DescribeAlias</a> </p> </li> <li> <p> <a>UpdateAlias</a> </p> </li> <li> <p> <a>DeleteAlias</a> </p> </li> <li> <p> <a>ResolveAlias</a> </p> </li> </ul></p>
9901 async fn describe_alias(
9902 &self,
9903 input: DescribeAliasInput,
9904 ) -> Result<DescribeAliasOutput, RusotoError<DescribeAliasError>> {
9905 let mut request = self.new_signed_request("POST", "/");
9906 request.add_header("x-amz-target", "GameLift.DescribeAlias");
9907 let encoded = serde_json::to_string(&input).unwrap();
9908 request.set_payload(Some(encoded));
9909
9910 let response = self
9911 .sign_and_dispatch(request, DescribeAliasError::from_response)
9912 .await?;
9913 let mut response = response;
9914 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9915 proto::json::ResponsePayload::new(&response).deserialize::<DescribeAliasOutput, _>()
9916 }
9917
9918 /// <p><p>Retrieves properties for a custom game build. To request a build resource, specify a build ID. If successful, an object containing the build properties is returned.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html"> Upload a Custom Server Build</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateBuild</a> </p> </li> <li> <p> <a>ListBuilds</a> </p> </li> <li> <p> <a>DescribeBuild</a> </p> </li> <li> <p> <a>UpdateBuild</a> </p> </li> <li> <p> <a>DeleteBuild</a> </p> </li> </ul></p>
9919 async fn describe_build(
9920 &self,
9921 input: DescribeBuildInput,
9922 ) -> Result<DescribeBuildOutput, RusotoError<DescribeBuildError>> {
9923 let mut request = self.new_signed_request("POST", "/");
9924 request.add_header("x-amz-target", "GameLift.DescribeBuild");
9925 let encoded = serde_json::to_string(&input).unwrap();
9926 request.set_payload(Some(encoded));
9927
9928 let response = self
9929 .sign_and_dispatch(request, DescribeBuildError::from_response)
9930 .await?;
9931 let mut response = response;
9932 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9933 proto::json::ResponsePayload::new(&response).deserialize::<DescribeBuildOutput, _>()
9934 }
9935
9936 /// <p><p>Retrieves the following information for the specified EC2 instance type:</p> <ul> <li> <p>Maximum number of instances allowed per AWS account (service limit).</p> </li> <li> <p>Current usage for the AWS account.</p> </li> </ul> <p>To learn more about the capabilities of each instance type, see <a href="http://aws.amazon.com/ec2/instance-types/">Amazon EC2 Instance Types</a>. Note that the instance types offered may vary depending on the region.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
9937 async fn describe_ec2_instance_limits(
9938 &self,
9939 input: DescribeEC2InstanceLimitsInput,
9940 ) -> Result<DescribeEC2InstanceLimitsOutput, RusotoError<DescribeEC2InstanceLimitsError>> {
9941 let mut request = self.new_signed_request("POST", "/");
9942 request.add_header("x-amz-target", "GameLift.DescribeEC2InstanceLimits");
9943 let encoded = serde_json::to_string(&input).unwrap();
9944 request.set_payload(Some(encoded));
9945
9946 let response = self
9947 .sign_and_dispatch(request, DescribeEC2InstanceLimitsError::from_response)
9948 .await?;
9949 let mut response = response;
9950 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9951 proto::json::ResponsePayload::new(&response)
9952 .deserialize::<DescribeEC2InstanceLimitsOutput, _>()
9953 }
9954
9955 /// <p><p>Retrieves core properties, including configuration, status, and metadata, for a fleet. </p> <p>To get attributes for one or more fleets, provide a list of fleet IDs or fleet ARNs. To get attributes for all fleets, do not specify a fleet identifier. When requesting attributes for multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a <a>FleetAttributes</a> object is returned for each fleet requested, unless the fleet identifier is not found.</p> <note> <p>Some API actions may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed number.</p> </note> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p>Describe fleets:</p> <ul> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>DescribeFleetCapacity</a> </p> </li> <li> <p> <a>DescribeFleetPortSettings</a> </p> </li> <li> <p> <a>DescribeFleetUtilization</a> </p> </li> <li> <p> <a>DescribeRuntimeConfiguration</a> </p> </li> <li> <p> <a>DescribeEC2InstanceLimits</a> </p> </li> <li> <p> <a>DescribeFleetEvents</a> </p> </li> </ul> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
9956 async fn describe_fleet_attributes(
9957 &self,
9958 input: DescribeFleetAttributesInput,
9959 ) -> Result<DescribeFleetAttributesOutput, RusotoError<DescribeFleetAttributesError>> {
9960 let mut request = self.new_signed_request("POST", "/");
9961 request.add_header("x-amz-target", "GameLift.DescribeFleetAttributes");
9962 let encoded = serde_json::to_string(&input).unwrap();
9963 request.set_payload(Some(encoded));
9964
9965 let response = self
9966 .sign_and_dispatch(request, DescribeFleetAttributesError::from_response)
9967 .await?;
9968 let mut response = response;
9969 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9970 proto::json::ResponsePayload::new(&response)
9971 .deserialize::<DescribeFleetAttributesOutput, _>()
9972 }
9973
9974 /// <p><p>Retrieves the current capacity statistics for one or more fleets. These statistics present a snapshot of the fleet's instances and provide insight on current or imminent scaling activity. To get statistics on game hosting activity in the fleet, see <a>DescribeFleetUtilization</a>.</p> <p>You can request capacity for all fleets or specify a list of one or more fleet identifiers. When requesting multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a <a>FleetCapacity</a> object is returned for each requested fleet ID. When a list of fleet IDs is provided, attribute objects are returned only for fleets that currently exist.</p> <note> <p>Some API actions may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed.</p> </note> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html#gamelift-metrics-fleet">GameLift Metrics for Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p>Describe fleets:</p> <ul> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>DescribeFleetCapacity</a> </p> </li> <li> <p> <a>DescribeFleetPortSettings</a> </p> </li> <li> <p> <a>DescribeFleetUtilization</a> </p> </li> <li> <p> <a>DescribeRuntimeConfiguration</a> </p> </li> <li> <p> <a>DescribeEC2InstanceLimits</a> </p> </li> <li> <p> <a>DescribeFleetEvents</a> </p> </li> </ul> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
9975 async fn describe_fleet_capacity(
9976 &self,
9977 input: DescribeFleetCapacityInput,
9978 ) -> Result<DescribeFleetCapacityOutput, RusotoError<DescribeFleetCapacityError>> {
9979 let mut request = self.new_signed_request("POST", "/");
9980 request.add_header("x-amz-target", "GameLift.DescribeFleetCapacity");
9981 let encoded = serde_json::to_string(&input).unwrap();
9982 request.set_payload(Some(encoded));
9983
9984 let response = self
9985 .sign_and_dispatch(request, DescribeFleetCapacityError::from_response)
9986 .await?;
9987 let mut response = response;
9988 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
9989 proto::json::ResponsePayload::new(&response).deserialize::<DescribeFleetCapacityOutput, _>()
9990 }
9991
9992 /// <p><p>Retrieves entries from the specified fleet's event log. You can specify a time range to limit the result set. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a collection of event log entries matching the request are returned.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p>Describe fleets:</p> <ul> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>DescribeFleetCapacity</a> </p> </li> <li> <p> <a>DescribeFleetPortSettings</a> </p> </li> <li> <p> <a>DescribeFleetUtilization</a> </p> </li> <li> <p> <a>DescribeRuntimeConfiguration</a> </p> </li> <li> <p> <a>DescribeEC2InstanceLimits</a> </p> </li> <li> <p> <a>DescribeFleetEvents</a> </p> </li> </ul> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
9993 async fn describe_fleet_events(
9994 &self,
9995 input: DescribeFleetEventsInput,
9996 ) -> Result<DescribeFleetEventsOutput, RusotoError<DescribeFleetEventsError>> {
9997 let mut request = self.new_signed_request("POST", "/");
9998 request.add_header("x-amz-target", "GameLift.DescribeFleetEvents");
9999 let encoded = serde_json::to_string(&input).unwrap();
10000 request.set_payload(Some(encoded));
10001
10002 let response = self
10003 .sign_and_dispatch(request, DescribeFleetEventsError::from_response)
10004 .await?;
10005 let mut response = response;
10006 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10007 proto::json::ResponsePayload::new(&response).deserialize::<DescribeFleetEventsOutput, _>()
10008 }
10009
10010 /// <p><p>Retrieves a fleet's inbound connection permissions. Connection permissions specify the range of IP addresses and port settings that incoming traffic can use to access server processes in the fleet. Game sessions that are running on instances in the fleet use connections that fall in this range. </p> <p>To get a fleet's inbound connection permissions, specify the fleet's unique identifier. If successful, a collection of <a>IpPermission</a> objects is returned for the requested fleet ID. If the requested fleet has been deleted, the result set is empty.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p>Describe fleets:</p> <ul> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>DescribeFleetCapacity</a> </p> </li> <li> <p> <a>DescribeFleetPortSettings</a> </p> </li> <li> <p> <a>DescribeFleetUtilization</a> </p> </li> <li> <p> <a>DescribeRuntimeConfiguration</a> </p> </li> <li> <p> <a>DescribeEC2InstanceLimits</a> </p> </li> <li> <p> <a>DescribeFleetEvents</a> </p> </li> </ul> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
10011 async fn describe_fleet_port_settings(
10012 &self,
10013 input: DescribeFleetPortSettingsInput,
10014 ) -> Result<DescribeFleetPortSettingsOutput, RusotoError<DescribeFleetPortSettingsError>> {
10015 let mut request = self.new_signed_request("POST", "/");
10016 request.add_header("x-amz-target", "GameLift.DescribeFleetPortSettings");
10017 let encoded = serde_json::to_string(&input).unwrap();
10018 request.set_payload(Some(encoded));
10019
10020 let response = self
10021 .sign_and_dispatch(request, DescribeFleetPortSettingsError::from_response)
10022 .await?;
10023 let mut response = response;
10024 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10025 proto::json::ResponsePayload::new(&response)
10026 .deserialize::<DescribeFleetPortSettingsOutput, _>()
10027 }
10028
10029 /// <p><p>Retrieves utilization statistics for one or more fleets. These statistics provide insight into how available hosting resources are currently being used. To get statistics on available hosting resources, see <a>DescribeFleetCapacity</a>.</p> <p>You can request utilization data for all fleets, or specify a list of one or more fleet IDs. When requesting multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a <a>FleetUtilization</a> object is returned for each requested fleet ID, unless the fleet identifier is not found. </p> <note> <p>Some API actions may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed.</p> </note> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html#gamelift-metrics-fleet">GameLift Metrics for Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p>Describe fleets:</p> <ul> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>DescribeFleetCapacity</a> </p> </li> <li> <p> <a>DescribeFleetPortSettings</a> </p> </li> <li> <p> <a>DescribeFleetUtilization</a> </p> </li> <li> <p> <a>DescribeRuntimeConfiguration</a> </p> </li> <li> <p> <a>DescribeEC2InstanceLimits</a> </p> </li> <li> <p> <a>DescribeFleetEvents</a> </p> </li> </ul> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
10030 async fn describe_fleet_utilization(
10031 &self,
10032 input: DescribeFleetUtilizationInput,
10033 ) -> Result<DescribeFleetUtilizationOutput, RusotoError<DescribeFleetUtilizationError>> {
10034 let mut request = self.new_signed_request("POST", "/");
10035 request.add_header("x-amz-target", "GameLift.DescribeFleetUtilization");
10036 let encoded = serde_json::to_string(&input).unwrap();
10037 request.set_payload(Some(encoded));
10038
10039 let response = self
10040 .sign_and_dispatch(request, DescribeFleetUtilizationError::from_response)
10041 .await?;
10042 let mut response = response;
10043 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10044 proto::json::ResponsePayload::new(&response)
10045 .deserialize::<DescribeFleetUtilizationOutput, _>()
10046 }
10047
10048 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Retrieves information for a game server resource. Information includes the game server statuses, health check info, and the instance the game server is running on. </p> <p>To retrieve game server information, specify the game server ID. If successful, the requested game server object is returned. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>RegisterGameServer</a> </p> </li> <li> <p> <a>ListGameServers</a> </p> </li> <li> <p> <a>ClaimGameServer</a> </p> </li> <li> <p> <a>DescribeGameServer</a> </p> </li> <li> <p> <a>UpdateGameServer</a> </p> </li> <li> <p> <a>DeregisterGameServer</a> </p> </li> </ul></p>
10049 async fn describe_game_server(
10050 &self,
10051 input: DescribeGameServerInput,
10052 ) -> Result<DescribeGameServerOutput, RusotoError<DescribeGameServerError>> {
10053 let mut request = self.new_signed_request("POST", "/");
10054 request.add_header("x-amz-target", "GameLift.DescribeGameServer");
10055 let encoded = serde_json::to_string(&input).unwrap();
10056 request.set_payload(Some(encoded));
10057
10058 let response = self
10059 .sign_and_dispatch(request, DescribeGameServerError::from_response)
10060 .await?;
10061 let mut response = response;
10062 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10063 proto::json::ResponsePayload::new(&response).deserialize::<DescribeGameServerOutput, _>()
10064 }
10065
10066 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Retrieves information on a game server group. </p> <p>To get attributes for a game server group, provide a group name or ARN value. If successful, a <a>GameServerGroup</a> object is returned.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateGameServerGroup</a> </p> </li> <li> <p> <a>ListGameServerGroups</a> </p> </li> <li> <p> <a>DescribeGameServerGroup</a> </p> </li> <li> <p> <a>UpdateGameServerGroup</a> </p> </li> <li> <p> <a>DeleteGameServerGroup</a> </p> </li> <li> <p> <a>ResumeGameServerGroup</a> </p> </li> <li> <p> <a>SuspendGameServerGroup</a> </p> </li> </ul></p>
10067 async fn describe_game_server_group(
10068 &self,
10069 input: DescribeGameServerGroupInput,
10070 ) -> Result<DescribeGameServerGroupOutput, RusotoError<DescribeGameServerGroupError>> {
10071 let mut request = self.new_signed_request("POST", "/");
10072 request.add_header("x-amz-target", "GameLift.DescribeGameServerGroup");
10073 let encoded = serde_json::to_string(&input).unwrap();
10074 request.set_payload(Some(encoded));
10075
10076 let response = self
10077 .sign_and_dispatch(request, DescribeGameServerGroupError::from_response)
10078 .await?;
10079 let mut response = response;
10080 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10081 proto::json::ResponsePayload::new(&response)
10082 .deserialize::<DescribeGameServerGroupOutput, _>()
10083 }
10084
10085 /// <p><p>Retrieves properties, including the protection policy in force, for one or more game sessions. This action can be used in several ways: (1) provide a <code>GameSessionId</code> or <code>GameSessionArn</code> to request details for a specific game session; (2) provide either a <code>FleetId</code> or an <code>AliasId</code> to request properties for all game sessions running on a fleet. </p> <p>To get game session record(s), specify just one of the following: game session ID, fleet ID, or alias ID. You can filter this request by game session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a <a>GameSessionDetail</a> object is returned for each session matching the request.</p> <ul> <li> <p> <a>CreateGameSession</a> </p> </li> <li> <p> <a>DescribeGameSessions</a> </p> </li> <li> <p> <a>DescribeGameSessionDetails</a> </p> </li> <li> <p> <a>SearchGameSessions</a> </p> </li> <li> <p> <a>UpdateGameSession</a> </p> </li> <li> <p> <a>GetGameSessionLogUrl</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
10086 async fn describe_game_session_details(
10087 &self,
10088 input: DescribeGameSessionDetailsInput,
10089 ) -> Result<DescribeGameSessionDetailsOutput, RusotoError<DescribeGameSessionDetailsError>>
10090 {
10091 let mut request = self.new_signed_request("POST", "/");
10092 request.add_header("x-amz-target", "GameLift.DescribeGameSessionDetails");
10093 let encoded = serde_json::to_string(&input).unwrap();
10094 request.set_payload(Some(encoded));
10095
10096 let response = self
10097 .sign_and_dispatch(request, DescribeGameSessionDetailsError::from_response)
10098 .await?;
10099 let mut response = response;
10100 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10101 proto::json::ResponsePayload::new(&response)
10102 .deserialize::<DescribeGameSessionDetailsOutput, _>()
10103 }
10104
10105 /// <p><p>Retrieves properties and current status of a game session placement request. To get game session placement details, specify the placement ID. If successful, a <a>GameSessionPlacement</a> object is returned.</p> <ul> <li> <p> <a>CreateGameSession</a> </p> </li> <li> <p> <a>DescribeGameSessions</a> </p> </li> <li> <p> <a>DescribeGameSessionDetails</a> </p> </li> <li> <p> <a>SearchGameSessions</a> </p> </li> <li> <p> <a>UpdateGameSession</a> </p> </li> <li> <p> <a>GetGameSessionLogUrl</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
10106 async fn describe_game_session_placement(
10107 &self,
10108 input: DescribeGameSessionPlacementInput,
10109 ) -> Result<DescribeGameSessionPlacementOutput, RusotoError<DescribeGameSessionPlacementError>>
10110 {
10111 let mut request = self.new_signed_request("POST", "/");
10112 request.add_header("x-amz-target", "GameLift.DescribeGameSessionPlacement");
10113 let encoded = serde_json::to_string(&input).unwrap();
10114 request.set_payload(Some(encoded));
10115
10116 let response = self
10117 .sign_and_dispatch(request, DescribeGameSessionPlacementError::from_response)
10118 .await?;
10119 let mut response = response;
10120 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10121 proto::json::ResponsePayload::new(&response)
10122 .deserialize::<DescribeGameSessionPlacementOutput, _>()
10123 }
10124
10125 /// <p><p>Retrieves the properties for one or more game session queues. When requesting multiple queues, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a <a>GameSessionQueue</a> object is returned for each requested queue. When specifying a list of queues, objects are returned only for queues that currently exist in the Region.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-console.html"> View Your Queues</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateGameSessionQueue</a> </p> </li> <li> <p> <a>DescribeGameSessionQueues</a> </p> </li> <li> <p> <a>UpdateGameSessionQueue</a> </p> </li> <li> <p> <a>DeleteGameSessionQueue</a> </p> </li> </ul></p>
10126 async fn describe_game_session_queues(
10127 &self,
10128 input: DescribeGameSessionQueuesInput,
10129 ) -> Result<DescribeGameSessionQueuesOutput, RusotoError<DescribeGameSessionQueuesError>> {
10130 let mut request = self.new_signed_request("POST", "/");
10131 request.add_header("x-amz-target", "GameLift.DescribeGameSessionQueues");
10132 let encoded = serde_json::to_string(&input).unwrap();
10133 request.set_payload(Some(encoded));
10134
10135 let response = self
10136 .sign_and_dispatch(request, DescribeGameSessionQueuesError::from_response)
10137 .await?;
10138 let mut response = response;
10139 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10140 proto::json::ResponsePayload::new(&response)
10141 .deserialize::<DescribeGameSessionQueuesOutput, _>()
10142 }
10143
10144 /// <p><p>Retrieves a set of one or more game sessions. Request a specific game session or request all game sessions on a fleet. Alternatively, use <a>SearchGameSessions</a> to request a set of active game sessions that are filtered by certain criteria. To retrieve protection policy settings for game sessions, use <a>DescribeGameSessionDetails</a>.</p> <p>To get game sessions, specify one of the following: game session ID, fleet ID, or alias ID. You can filter this request by game session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a <a>GameSession</a> object is returned for each game session matching the request.</p> <p> <i>Available in Amazon GameLift Local.</i> </p> <ul> <li> <p> <a>CreateGameSession</a> </p> </li> <li> <p> <a>DescribeGameSessions</a> </p> </li> <li> <p> <a>DescribeGameSessionDetails</a> </p> </li> <li> <p> <a>SearchGameSessions</a> </p> </li> <li> <p> <a>UpdateGameSession</a> </p> </li> <li> <p> <a>GetGameSessionLogUrl</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
10145 async fn describe_game_sessions(
10146 &self,
10147 input: DescribeGameSessionsInput,
10148 ) -> Result<DescribeGameSessionsOutput, RusotoError<DescribeGameSessionsError>> {
10149 let mut request = self.new_signed_request("POST", "/");
10150 request.add_header("x-amz-target", "GameLift.DescribeGameSessions");
10151 let encoded = serde_json::to_string(&input).unwrap();
10152 request.set_payload(Some(encoded));
10153
10154 let response = self
10155 .sign_and_dispatch(request, DescribeGameSessionsError::from_response)
10156 .await?;
10157 let mut response = response;
10158 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10159 proto::json::ResponsePayload::new(&response).deserialize::<DescribeGameSessionsOutput, _>()
10160 }
10161
10162 /// <p><p>Retrieves information about a fleet's instances, including instance IDs. Use this action to get details on all instances in the fleet or get details on one specific instance.</p> <p>To get a specific instance, specify fleet ID and instance ID. To get all instances in a fleet, specify a fleet ID only. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, an <a>Instance</a> object is returned for each result.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-remote-access.html">Remotely Access Fleet Instances</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html">Debug Fleet Issues</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>DescribeInstances</a> </p> </li> <li> <p> <a>GetInstanceAccess</a> </p> </li> </ul></p>
10163 async fn describe_instances(
10164 &self,
10165 input: DescribeInstancesInput,
10166 ) -> Result<DescribeInstancesOutput, RusotoError<DescribeInstancesError>> {
10167 let mut request = self.new_signed_request("POST", "/");
10168 request.add_header("x-amz-target", "GameLift.DescribeInstances");
10169 let encoded = serde_json::to_string(&input).unwrap();
10170 request.set_payload(Some(encoded));
10171
10172 let response = self
10173 .sign_and_dispatch(request, DescribeInstancesError::from_response)
10174 .await?;
10175 let mut response = response;
10176 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10177 proto::json::ResponsePayload::new(&response).deserialize::<DescribeInstancesOutput, _>()
10178 }
10179
10180 /// <p><p>Retrieves one or more matchmaking tickets. Use this operation to retrieve ticket information, including status and--once a successful match is made--acquire connection information for the resulting new game session. </p> <p>You can use this operation to track the progress of matchmaking requests (through polling) as an alternative to using event notifications. See more details on tracking matchmaking requests through polling or notifications in <a>StartMatchmaking</a>. </p> <p>To request matchmaking tickets, provide a list of up to 10 ticket IDs. If the request is successful, a ticket object is returned for each requested ID that currently exists.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-client.html"> Add FlexMatch to a Game Client</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-notification.html"> Set Up FlexMatch Event Notification</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>StartMatchmaking</a> </p> </li> <li> <p> <a>DescribeMatchmaking</a> </p> </li> <li> <p> <a>StopMatchmaking</a> </p> </li> <li> <p> <a>AcceptMatch</a> </p> </li> <li> <p> <a>StartMatchBackfill</a> </p> </li> </ul></p>
10181 async fn describe_matchmaking(
10182 &self,
10183 input: DescribeMatchmakingInput,
10184 ) -> Result<DescribeMatchmakingOutput, RusotoError<DescribeMatchmakingError>> {
10185 let mut request = self.new_signed_request("POST", "/");
10186 request.add_header("x-amz-target", "GameLift.DescribeMatchmaking");
10187 let encoded = serde_json::to_string(&input).unwrap();
10188 request.set_payload(Some(encoded));
10189
10190 let response = self
10191 .sign_and_dispatch(request, DescribeMatchmakingError::from_response)
10192 .await?;
10193 let mut response = response;
10194 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10195 proto::json::ResponsePayload::new(&response).deserialize::<DescribeMatchmakingOutput, _>()
10196 }
10197
10198 /// <p><p>Retrieves the details of FlexMatch matchmaking configurations. With this operation, you have the following options: (1) retrieve all existing configurations, (2) provide the names of one or more configurations to retrieve, or (3) retrieve all configurations that use a specified rule set name. When requesting multiple items, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a configuration is returned for each requested name. When specifying a list of names, only configurations that currently exist are returned. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/matchmaker-build.html"> Setting Up FlexMatch Matchmakers</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DescribeMatchmakingConfigurations</a> </p> </li> <li> <p> <a>UpdateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DeleteMatchmakingConfiguration</a> </p> </li> <li> <p> <a>CreateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DescribeMatchmakingRuleSets</a> </p> </li> <li> <p> <a>ValidateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DeleteMatchmakingRuleSet</a> </p> </li> </ul></p>
10199 async fn describe_matchmaking_configurations(
10200 &self,
10201 input: DescribeMatchmakingConfigurationsInput,
10202 ) -> Result<
10203 DescribeMatchmakingConfigurationsOutput,
10204 RusotoError<DescribeMatchmakingConfigurationsError>,
10205 > {
10206 let mut request = self.new_signed_request("POST", "/");
10207 request.add_header("x-amz-target", "GameLift.DescribeMatchmakingConfigurations");
10208 let encoded = serde_json::to_string(&input).unwrap();
10209 request.set_payload(Some(encoded));
10210
10211 let response = self
10212 .sign_and_dispatch(
10213 request,
10214 DescribeMatchmakingConfigurationsError::from_response,
10215 )
10216 .await?;
10217 let mut response = response;
10218 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10219 proto::json::ResponsePayload::new(&response)
10220 .deserialize::<DescribeMatchmakingConfigurationsOutput, _>()
10221 }
10222
10223 /// <p><p>Retrieves the details for FlexMatch matchmaking rule sets. You can request all existing rule sets for the Region, or provide a list of one or more rule set names. When requesting multiple items, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a rule set is returned for each requested name. </p> <p> <b>Learn more</b> </p> <ul> <li> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-rulesets.html">Build a Rule Set</a> </p> </li> </ul> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DescribeMatchmakingConfigurations</a> </p> </li> <li> <p> <a>UpdateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DeleteMatchmakingConfiguration</a> </p> </li> <li> <p> <a>CreateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DescribeMatchmakingRuleSets</a> </p> </li> <li> <p> <a>ValidateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DeleteMatchmakingRuleSet</a> </p> </li> </ul></p>
10224 async fn describe_matchmaking_rule_sets(
10225 &self,
10226 input: DescribeMatchmakingRuleSetsInput,
10227 ) -> Result<DescribeMatchmakingRuleSetsOutput, RusotoError<DescribeMatchmakingRuleSetsError>>
10228 {
10229 let mut request = self.new_signed_request("POST", "/");
10230 request.add_header("x-amz-target", "GameLift.DescribeMatchmakingRuleSets");
10231 let encoded = serde_json::to_string(&input).unwrap();
10232 request.set_payload(Some(encoded));
10233
10234 let response = self
10235 .sign_and_dispatch(request, DescribeMatchmakingRuleSetsError::from_response)
10236 .await?;
10237 let mut response = response;
10238 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10239 proto::json::ResponsePayload::new(&response)
10240 .deserialize::<DescribeMatchmakingRuleSetsOutput, _>()
10241 }
10242
10243 /// <p><p>Retrieves properties for one or more player sessions. This action can be used in several ways: (1) provide a <code>PlayerSessionId</code> to request properties for a specific player session; (2) provide a <code>GameSessionId</code> to request properties for all player sessions in the specified game session; (3) provide a <code>PlayerId</code> to request properties for all player sessions of a specified player. </p> <p>To get game session record(s), specify only one of the following: a player session ID, a game session ID, or a player ID. You can filter this request by player session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a <a>PlayerSession</a> object is returned for each session matching the request.</p> <p> <i>Available in Amazon GameLift Local.</i> </p> <ul> <li> <p> <a>CreatePlayerSession</a> </p> </li> <li> <p> <a>CreatePlayerSessions</a> </p> </li> <li> <p> <a>DescribePlayerSessions</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
10244 async fn describe_player_sessions(
10245 &self,
10246 input: DescribePlayerSessionsInput,
10247 ) -> Result<DescribePlayerSessionsOutput, RusotoError<DescribePlayerSessionsError>> {
10248 let mut request = self.new_signed_request("POST", "/");
10249 request.add_header("x-amz-target", "GameLift.DescribePlayerSessions");
10250 let encoded = serde_json::to_string(&input).unwrap();
10251 request.set_payload(Some(encoded));
10252
10253 let response = self
10254 .sign_and_dispatch(request, DescribePlayerSessionsError::from_response)
10255 .await?;
10256 let mut response = response;
10257 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10258 proto::json::ResponsePayload::new(&response)
10259 .deserialize::<DescribePlayerSessionsOutput, _>()
10260 }
10261
10262 /// <p><p>Retrieves a fleet's runtime configuration settings. The runtime configuration tells Amazon GameLift which server processes to run (and how) on each instance in the fleet.</p> <p>To get a runtime configuration, specify the fleet's unique identifier. If successful, a <a>RuntimeConfiguration</a> object is returned for the requested fleet. If the requested fleet has been deleted, the result set is empty.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-multiprocess.html">Running Multiple Processes on a Fleet</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p>Describe fleets:</p> <ul> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>DescribeFleetCapacity</a> </p> </li> <li> <p> <a>DescribeFleetPortSettings</a> </p> </li> <li> <p> <a>DescribeFleetUtilization</a> </p> </li> <li> <p> <a>DescribeRuntimeConfiguration</a> </p> </li> <li> <p> <a>DescribeEC2InstanceLimits</a> </p> </li> <li> <p> <a>DescribeFleetEvents</a> </p> </li> </ul> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
10263 async fn describe_runtime_configuration(
10264 &self,
10265 input: DescribeRuntimeConfigurationInput,
10266 ) -> Result<DescribeRuntimeConfigurationOutput, RusotoError<DescribeRuntimeConfigurationError>>
10267 {
10268 let mut request = self.new_signed_request("POST", "/");
10269 request.add_header("x-amz-target", "GameLift.DescribeRuntimeConfiguration");
10270 let encoded = serde_json::to_string(&input).unwrap();
10271 request.set_payload(Some(encoded));
10272
10273 let response = self
10274 .sign_and_dispatch(request, DescribeRuntimeConfigurationError::from_response)
10275 .await?;
10276 let mut response = response;
10277 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10278 proto::json::ResponsePayload::new(&response)
10279 .deserialize::<DescribeRuntimeConfigurationOutput, _>()
10280 }
10281
10282 /// <p><p>Retrieves all scaling policies applied to a fleet.</p> <p>To get a fleet's scaling policies, specify the fleet ID. You can filter this request by policy status, such as to retrieve only active scaling policies. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, set of <a>ScalingPolicy</a> objects is returned for the fleet.</p> <p>A fleet may have all of its scaling policies suspended (<a>StopFleetActions</a>). This action does not affect the status of the scaling policies, which remains ACTIVE. To see whether a fleet's scaling policies are in force or suspended, call <a>DescribeFleetAttributes</a> and check the stopped actions.</p> <ul> <li> <p> <a>DescribeFleetCapacity</a> </p> </li> <li> <p> <a>UpdateFleetCapacity</a> </p> </li> <li> <p> <a>DescribeEC2InstanceLimits</a> </p> </li> <li> <p>Manage scaling policies:</p> <ul> <li> <p> <a>PutScalingPolicy</a> (auto-scaling)</p> </li> <li> <p> <a>DescribeScalingPolicies</a> (auto-scaling)</p> </li> <li> <p> <a>DeleteScalingPolicy</a> (auto-scaling)</p> </li> </ul> </li> <li> <p>Manage fleet actions:</p> <ul> <li> <p> <a>StartFleetActions</a> </p> </li> <li> <p> <a>StopFleetActions</a> </p> </li> </ul> </li> </ul></p>
10283 async fn describe_scaling_policies(
10284 &self,
10285 input: DescribeScalingPoliciesInput,
10286 ) -> Result<DescribeScalingPoliciesOutput, RusotoError<DescribeScalingPoliciesError>> {
10287 let mut request = self.new_signed_request("POST", "/");
10288 request.add_header("x-amz-target", "GameLift.DescribeScalingPolicies");
10289 let encoded = serde_json::to_string(&input).unwrap();
10290 request.set_payload(Some(encoded));
10291
10292 let response = self
10293 .sign_and_dispatch(request, DescribeScalingPoliciesError::from_response)
10294 .await?;
10295 let mut response = response;
10296 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10297 proto::json::ResponsePayload::new(&response)
10298 .deserialize::<DescribeScalingPoliciesOutput, _>()
10299 }
10300
10301 /// <p><p>Retrieves properties for a Realtime script. </p> <p>To request a script record, specify the script ID. If successful, an object containing the script properties is returned.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html">Amazon GameLift Realtime Servers</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateScript</a> </p> </li> <li> <p> <a>ListScripts</a> </p> </li> <li> <p> <a>DescribeScript</a> </p> </li> <li> <p> <a>UpdateScript</a> </p> </li> <li> <p> <a>DeleteScript</a> </p> </li> </ul></p>
10302 async fn describe_script(
10303 &self,
10304 input: DescribeScriptInput,
10305 ) -> Result<DescribeScriptOutput, RusotoError<DescribeScriptError>> {
10306 let mut request = self.new_signed_request("POST", "/");
10307 request.add_header("x-amz-target", "GameLift.DescribeScript");
10308 let encoded = serde_json::to_string(&input).unwrap();
10309 request.set_payload(Some(encoded));
10310
10311 let response = self
10312 .sign_and_dispatch(request, DescribeScriptError::from_response)
10313 .await?;
10314 let mut response = response;
10315 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10316 proto::json::ResponsePayload::new(&response).deserialize::<DescribeScriptOutput, _>()
10317 }
10318
10319 /// <p><p>Retrieves valid VPC peering authorizations that are pending for the AWS account. This operation returns all VPC peering authorizations and requests for peering. This includes those initiated and received by this account. </p> <ul> <li> <p> <a>CreateVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>DescribeVpcPeeringAuthorizations</a> </p> </li> <li> <p> <a>DeleteVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>CreateVpcPeeringConnection</a> </p> </li> <li> <p> <a>DescribeVpcPeeringConnections</a> </p> </li> <li> <p> <a>DeleteVpcPeeringConnection</a> </p> </li> </ul></p>
10320 async fn describe_vpc_peering_authorizations(
10321 &self,
10322 ) -> Result<
10323 DescribeVpcPeeringAuthorizationsOutput,
10324 RusotoError<DescribeVpcPeeringAuthorizationsError>,
10325 > {
10326 let mut request = self.new_signed_request("POST", "/");
10327 request.add_header("x-amz-target", "GameLift.DescribeVpcPeeringAuthorizations");
10328 request.set_payload(Some(bytes::Bytes::from_static(b"{}")));
10329
10330 let response = self
10331 .sign_and_dispatch(
10332 request,
10333 DescribeVpcPeeringAuthorizationsError::from_response,
10334 )
10335 .await?;
10336 let mut response = response;
10337 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10338 proto::json::ResponsePayload::new(&response)
10339 .deserialize::<DescribeVpcPeeringAuthorizationsOutput, _>()
10340 }
10341
10342 /// <p><p>Retrieves information on VPC peering connections. Use this operation to get peering information for all fleets or for one specific fleet ID. </p> <p>To retrieve connection information, call this operation from the AWS account that is used to manage the Amazon GameLift fleets. Specify a fleet ID or leave the parameter empty to retrieve all connection records. If successful, the retrieved information includes both active and pending connections. Active connections identify the IpV4 CIDR block that the VPC uses to connect. </p> <ul> <li> <p> <a>CreateVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>DescribeVpcPeeringAuthorizations</a> </p> </li> <li> <p> <a>DeleteVpcPeeringAuthorization</a> </p> </li> <li> <p> <a>CreateVpcPeeringConnection</a> </p> </li> <li> <p> <a>DescribeVpcPeeringConnections</a> </p> </li> <li> <p> <a>DeleteVpcPeeringConnection</a> </p> </li> </ul></p>
10343 async fn describe_vpc_peering_connections(
10344 &self,
10345 input: DescribeVpcPeeringConnectionsInput,
10346 ) -> Result<DescribeVpcPeeringConnectionsOutput, RusotoError<DescribeVpcPeeringConnectionsError>>
10347 {
10348 let mut request = self.new_signed_request("POST", "/");
10349 request.add_header("x-amz-target", "GameLift.DescribeVpcPeeringConnections");
10350 let encoded = serde_json::to_string(&input).unwrap();
10351 request.set_payload(Some(encoded));
10352
10353 let response = self
10354 .sign_and_dispatch(request, DescribeVpcPeeringConnectionsError::from_response)
10355 .await?;
10356 let mut response = response;
10357 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10358 proto::json::ResponsePayload::new(&response)
10359 .deserialize::<DescribeVpcPeeringConnectionsOutput, _>()
10360 }
10361
10362 /// <p><p>Retrieves the location of stored game session logs for a specified game session. When a game session is terminated, Amazon GameLift automatically stores the logs in Amazon S3 and retains them for 14 days. Use this URL to download the logs.</p> <note> <p>See the <a href="https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_gamelift">AWS Service Limits</a> page for maximum log file sizes. Log files that exceed this limit are not saved.</p> </note> <ul> <li> <p> <a>CreateGameSession</a> </p> </li> <li> <p> <a>DescribeGameSessions</a> </p> </li> <li> <p> <a>DescribeGameSessionDetails</a> </p> </li> <li> <p> <a>SearchGameSessions</a> </p> </li> <li> <p> <a>UpdateGameSession</a> </p> </li> <li> <p> <a>GetGameSessionLogUrl</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
10363 async fn get_game_session_log_url(
10364 &self,
10365 input: GetGameSessionLogUrlInput,
10366 ) -> Result<GetGameSessionLogUrlOutput, RusotoError<GetGameSessionLogUrlError>> {
10367 let mut request = self.new_signed_request("POST", "/");
10368 request.add_header("x-amz-target", "GameLift.GetGameSessionLogUrl");
10369 let encoded = serde_json::to_string(&input).unwrap();
10370 request.set_payload(Some(encoded));
10371
10372 let response = self
10373 .sign_and_dispatch(request, GetGameSessionLogUrlError::from_response)
10374 .await?;
10375 let mut response = response;
10376 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10377 proto::json::ResponsePayload::new(&response).deserialize::<GetGameSessionLogUrlOutput, _>()
10378 }
10379
10380 /// <p><p>Requests remote access to a fleet instance. Remote access is useful for debugging, gathering benchmarking data, or observing activity in real time. </p> <p>To remotely access an instance, you need credentials that match the operating system of the instance. For a Windows instance, Amazon GameLift returns a user name and password as strings for use with a Windows Remote Desktop client. For a Linux instance, Amazon GameLift returns a user name and RSA private key, also as strings, for use with an SSH client. The private key must be saved in the proper format to a <code>.pem</code> file before using. If you're making this request using the AWS CLI, saving the secret can be handled as part of the GetInstanceAccess request, as shown in one of the examples for this action. </p> <p>To request access to a specific instance, specify the IDs of both the instance and the fleet it belongs to. You can retrieve a fleet's instance IDs by calling <a>DescribeInstances</a>. If successful, an <a>InstanceAccess</a> object is returned that contains the instance's IP address and a set of credentials.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-remote-access.html">Remotely Access Fleet Instances</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html">Debug Fleet Issues</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>DescribeInstances</a> </p> </li> <li> <p> <a>GetInstanceAccess</a> </p> </li> </ul></p>
10381 async fn get_instance_access(
10382 &self,
10383 input: GetInstanceAccessInput,
10384 ) -> Result<GetInstanceAccessOutput, RusotoError<GetInstanceAccessError>> {
10385 let mut request = self.new_signed_request("POST", "/");
10386 request.add_header("x-amz-target", "GameLift.GetInstanceAccess");
10387 let encoded = serde_json::to_string(&input).unwrap();
10388 request.set_payload(Some(encoded));
10389
10390 let response = self
10391 .sign_and_dispatch(request, GetInstanceAccessError::from_response)
10392 .await?;
10393 let mut response = response;
10394 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10395 proto::json::ResponsePayload::new(&response).deserialize::<GetInstanceAccessOutput, _>()
10396 }
10397
10398 /// <p><p>Retrieves all aliases for this AWS account. You can filter the result set by alias name and/or routing strategy type. Use the pagination parameters to retrieve results in sequential pages.</p> <note> <p>Returned aliases are not listed in any particular order.</p> </note> <ul> <li> <p> <a>CreateAlias</a> </p> </li> <li> <p> <a>ListAliases</a> </p> </li> <li> <p> <a>DescribeAlias</a> </p> </li> <li> <p> <a>UpdateAlias</a> </p> </li> <li> <p> <a>DeleteAlias</a> </p> </li> <li> <p> <a>ResolveAlias</a> </p> </li> </ul></p>
10399 async fn list_aliases(
10400 &self,
10401 input: ListAliasesInput,
10402 ) -> Result<ListAliasesOutput, RusotoError<ListAliasesError>> {
10403 let mut request = self.new_signed_request("POST", "/");
10404 request.add_header("x-amz-target", "GameLift.ListAliases");
10405 let encoded = serde_json::to_string(&input).unwrap();
10406 request.set_payload(Some(encoded));
10407
10408 let response = self
10409 .sign_and_dispatch(request, ListAliasesError::from_response)
10410 .await?;
10411 let mut response = response;
10412 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10413 proto::json::ResponsePayload::new(&response).deserialize::<ListAliasesOutput, _>()
10414 }
10415
10416 /// <p><p>Retrieves build resources for all builds associated with the AWS account in use. You can limit results to builds that are in a specific status by using the <code>Status</code> parameter. Use the pagination parameters to retrieve results in a set of sequential pages. </p> <note> <p>Build resources are not listed in any particular order.</p> </note> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html"> Upload a Custom Server Build</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateBuild</a> </p> </li> <li> <p> <a>ListBuilds</a> </p> </li> <li> <p> <a>DescribeBuild</a> </p> </li> <li> <p> <a>UpdateBuild</a> </p> </li> <li> <p> <a>DeleteBuild</a> </p> </li> </ul></p>
10417 async fn list_builds(
10418 &self,
10419 input: ListBuildsInput,
10420 ) -> Result<ListBuildsOutput, RusotoError<ListBuildsError>> {
10421 let mut request = self.new_signed_request("POST", "/");
10422 request.add_header("x-amz-target", "GameLift.ListBuilds");
10423 let encoded = serde_json::to_string(&input).unwrap();
10424 request.set_payload(Some(encoded));
10425
10426 let response = self
10427 .sign_and_dispatch(request, ListBuildsError::from_response)
10428 .await?;
10429 let mut response = response;
10430 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10431 proto::json::ResponsePayload::new(&response).deserialize::<ListBuildsOutput, _>()
10432 }
10433
10434 /// <p><p>Retrieves a collection of fleet resources for this AWS account. You can filter the result set to find only those fleets that are deployed with a specific build or script. Use the pagination parameters to retrieve results in sequential pages.</p> <note> <p>Fleet resources are not listed in a particular order.</p> </note> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
10435 async fn list_fleets(
10436 &self,
10437 input: ListFleetsInput,
10438 ) -> Result<ListFleetsOutput, RusotoError<ListFleetsError>> {
10439 let mut request = self.new_signed_request("POST", "/");
10440 request.add_header("x-amz-target", "GameLift.ListFleets");
10441 let encoded = serde_json::to_string(&input).unwrap();
10442 request.set_payload(Some(encoded));
10443
10444 let response = self
10445 .sign_and_dispatch(request, ListFleetsError::from_response)
10446 .await?;
10447 let mut response = response;
10448 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10449 proto::json::ResponsePayload::new(&response).deserialize::<ListFleetsOutput, _>()
10450 }
10451
10452 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Retrieves information on all game servers groups that exist in the current AWS account for the selected region. Use the pagination parameters to retrieve results in a set of sequential pages. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateGameServerGroup</a> </p> </li> <li> <p> <a>ListGameServerGroups</a> </p> </li> <li> <p> <a>DescribeGameServerGroup</a> </p> </li> <li> <p> <a>UpdateGameServerGroup</a> </p> </li> <li> <p> <a>DeleteGameServerGroup</a> </p> </li> <li> <p> <a>ResumeGameServerGroup</a> </p> </li> <li> <p> <a>SuspendGameServerGroup</a> </p> </li> </ul></p>
10453 async fn list_game_server_groups(
10454 &self,
10455 input: ListGameServerGroupsInput,
10456 ) -> Result<ListGameServerGroupsOutput, RusotoError<ListGameServerGroupsError>> {
10457 let mut request = self.new_signed_request("POST", "/");
10458 request.add_header("x-amz-target", "GameLift.ListGameServerGroups");
10459 let encoded = serde_json::to_string(&input).unwrap();
10460 request.set_payload(Some(encoded));
10461
10462 let response = self
10463 .sign_and_dispatch(request, ListGameServerGroupsError::from_response)
10464 .await?;
10465 let mut response = response;
10466 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10467 proto::json::ResponsePayload::new(&response).deserialize::<ListGameServerGroupsOutput, _>()
10468 }
10469
10470 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Retrieves information on all game servers that are currently running in a specified game server group. If there are custom key sort values for your game servers, you can opt to have the returned list sorted based on these values. Use the pagination parameters to retrieve results in a set of sequential pages. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>RegisterGameServer</a> </p> </li> <li> <p> <a>ListGameServers</a> </p> </li> <li> <p> <a>ClaimGameServer</a> </p> </li> <li> <p> <a>DescribeGameServer</a> </p> </li> <li> <p> <a>UpdateGameServer</a> </p> </li> <li> <p> <a>DeregisterGameServer</a> </p> </li> </ul></p>
10471 async fn list_game_servers(
10472 &self,
10473 input: ListGameServersInput,
10474 ) -> Result<ListGameServersOutput, RusotoError<ListGameServersError>> {
10475 let mut request = self.new_signed_request("POST", "/");
10476 request.add_header("x-amz-target", "GameLift.ListGameServers");
10477 let encoded = serde_json::to_string(&input).unwrap();
10478 request.set_payload(Some(encoded));
10479
10480 let response = self
10481 .sign_and_dispatch(request, ListGameServersError::from_response)
10482 .await?;
10483 let mut response = response;
10484 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10485 proto::json::ResponsePayload::new(&response).deserialize::<ListGameServersOutput, _>()
10486 }
10487
10488 /// <p><p>Retrieves script records for all Realtime scripts that are associated with the AWS account in use. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html">Amazon GameLift Realtime Servers</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateScript</a> </p> </li> <li> <p> <a>ListScripts</a> </p> </li> <li> <p> <a>DescribeScript</a> </p> </li> <li> <p> <a>UpdateScript</a> </p> </li> <li> <p> <a>DeleteScript</a> </p> </li> </ul></p>
10489 async fn list_scripts(
10490 &self,
10491 input: ListScriptsInput,
10492 ) -> Result<ListScriptsOutput, RusotoError<ListScriptsError>> {
10493 let mut request = self.new_signed_request("POST", "/");
10494 request.add_header("x-amz-target", "GameLift.ListScripts");
10495 let encoded = serde_json::to_string(&input).unwrap();
10496 request.set_payload(Some(encoded));
10497
10498 let response = self
10499 .sign_and_dispatch(request, ListScriptsError::from_response)
10500 .await?;
10501 let mut response = response;
10502 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10503 proto::json::ResponsePayload::new(&response).deserialize::<ListScriptsOutput, _>()
10504 }
10505
10506 /// <p><p> Retrieves all tags that are assigned to a GameLift resource. Resource tags are used to organize AWS resources for a range of purposes. This action handles the permissions necessary to manage tags for the following GameLift resource types:</p> <ul> <li> <p>Build</p> </li> <li> <p>Script</p> </li> <li> <p>Fleet</p> </li> <li> <p>Alias</p> </li> <li> <p>GameSessionQueue</p> </li> <li> <p>MatchmakingConfiguration</p> </li> <li> <p>MatchmakingRuleSet</p> </li> </ul> <p>To list tags for a resource, specify the unique ARN value for the resource.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging AWS Resources</a> in the <i>AWS General Reference</i> </p> <p> <a href="http://aws.amazon.com/answers/account-management/aws-tagging-strategies/"> AWS Tagging Strategies</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>TagResource</a> </p> </li> <li> <p> <a>UntagResource</a> </p> </li> <li> <p> <a>ListTagsForResource</a> </p> </li> </ul></p>
10507 async fn list_tags_for_resource(
10508 &self,
10509 input: ListTagsForResourceRequest,
10510 ) -> Result<ListTagsForResourceResponse, RusotoError<ListTagsForResourceError>> {
10511 let mut request = self.new_signed_request("POST", "/");
10512 request.add_header("x-amz-target", "GameLift.ListTagsForResource");
10513 let encoded = serde_json::to_string(&input).unwrap();
10514 request.set_payload(Some(encoded));
10515
10516 let response = self
10517 .sign_and_dispatch(request, ListTagsForResourceError::from_response)
10518 .await?;
10519 let mut response = response;
10520 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10521 proto::json::ResponsePayload::new(&response).deserialize::<ListTagsForResourceResponse, _>()
10522 }
10523
10524 /// <p><p>Creates or updates a scaling policy for a fleet. Scaling policies are used to automatically scale a fleet's hosting capacity to meet player demand. An active scaling policy instructs Amazon GameLift to track a fleet metric and automatically change the fleet's capacity when a certain threshold is reached. There are two types of scaling policies: target-based and rule-based. Use a target-based policy to quickly and efficiently manage fleet scaling; this option is the most commonly used. Use rule-based policies when you need to exert fine-grained control over auto-scaling. </p> <p>Fleets can have multiple scaling policies of each type in force at the same time; you can have one target-based policy, one or multiple rule-based scaling policies, or both. We recommend caution, however, because multiple auto-scaling policies can have unintended consequences.</p> <p>You can temporarily suspend all scaling policies for a fleet by calling <a>StopFleetActions</a> with the fleet action AUTO_SCALING. To resume scaling policies, call <a>StartFleetActions</a> with the same fleet action. To stop just one scaling policy--or to permanently remove it, you must delete the policy with <a>DeleteScalingPolicy</a>.</p> <p>Learn more about how to work with auto-scaling in <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-autoscaling.html">Set Up Fleet Automatic Scaling</a>.</p> <p> <b>Target-based policy</b> </p> <p>A target-based policy tracks a single metric: PercentAvailableGameSessions. This metric tells us how much of a fleet's hosting capacity is ready to host game sessions but is not currently in use. This is the fleet's buffer; it measures the additional player demand that the fleet could handle at current capacity. With a target-based policy, you set your ideal buffer size and leave it to Amazon GameLift to take whatever action is needed to maintain that target. </p> <p>For example, you might choose to maintain a 10% buffer for a fleet that has the capacity to host 100 simultaneous game sessions. This policy tells Amazon GameLift to take action whenever the fleet's available capacity falls below or rises above 10 game sessions. Amazon GameLift will start new instances or stop unused instances in order to return to the 10% buffer. </p> <p>To create or update a target-based policy, specify a fleet ID and name, and set the policy type to "TargetBased". Specify the metric to track (PercentAvailableGameSessions) and reference a <a>TargetConfiguration</a> object with your desired buffer value. Exclude all other parameters. On a successful request, the policy name is returned. The scaling policy is automatically in force as soon as it's successfully created. If the fleet's auto-scaling actions are temporarily suspended, the new policy will be in force once the fleet actions are restarted.</p> <p> <b>Rule-based policy</b> </p> <p>A rule-based policy tracks specified fleet metric, sets a threshold value, and specifies the type of action to initiate when triggered. With a rule-based policy, you can select from several available fleet metrics. Each policy specifies whether to scale up or scale down (and by how much), so you need one policy for each type of action. </p> <p>For example, a policy may make the following statement: "If the percentage of idle instances is greater than 20% for more than 15 minutes, then reduce the fleet capacity by 10%."</p> <p>A policy's rule statement has the following structure:</p> <p>If <code>[MetricName]</code> is <code>[ComparisonOperator]</code> <code>[Threshold]</code> for <code>[EvaluationPeriods]</code> minutes, then <code>[ScalingAdjustmentType]</code> to/by <code>[ScalingAdjustment]</code>.</p> <p>To implement the example, the rule statement would look like this:</p> <p>If <code>[PercentIdleInstances]</code> is <code>[GreaterThanThreshold]</code> <code>[20]</code> for <code>[15]</code> minutes, then <code>[PercentChangeInCapacity]</code> to/by <code>[10]</code>.</p> <p>To create or update a scaling policy, specify a unique combination of name and fleet ID, and set the policy type to "RuleBased". Specify the parameter values for a policy rule statement. On a successful request, the policy name is returned. Scaling policies are automatically in force as soon as they're successfully created. If the fleet's auto-scaling actions are temporarily suspended, the new policy will be in force once the fleet actions are restarted.</p> <ul> <li> <p> <a>DescribeFleetCapacity</a> </p> </li> <li> <p> <a>UpdateFleetCapacity</a> </p> </li> <li> <p> <a>DescribeEC2InstanceLimits</a> </p> </li> <li> <p>Manage scaling policies:</p> <ul> <li> <p> <a>PutScalingPolicy</a> (auto-scaling)</p> </li> <li> <p> <a>DescribeScalingPolicies</a> (auto-scaling)</p> </li> <li> <p> <a>DeleteScalingPolicy</a> (auto-scaling)</p> </li> </ul> </li> <li> <p>Manage fleet actions:</p> <ul> <li> <p> <a>StartFleetActions</a> </p> </li> <li> <p> <a>StopFleetActions</a> </p> </li> </ul> </li> </ul></p>
10525 async fn put_scaling_policy(
10526 &self,
10527 input: PutScalingPolicyInput,
10528 ) -> Result<PutScalingPolicyOutput, RusotoError<PutScalingPolicyError>> {
10529 let mut request = self.new_signed_request("POST", "/");
10530 request.add_header("x-amz-target", "GameLift.PutScalingPolicy");
10531 let encoded = serde_json::to_string(&input).unwrap();
10532 request.set_payload(Some(encoded));
10533
10534 let response = self
10535 .sign_and_dispatch(request, PutScalingPolicyError::from_response)
10536 .await?;
10537 let mut response = response;
10538 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10539 proto::json::ResponsePayload::new(&response).deserialize::<PutScalingPolicyOutput, _>()
10540 }
10541
10542 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Creates a new game server resource and notifies GameLift FleetIQ that the game server is ready to host gameplay and players. This action is called by a game server process that is running on an instance in a game server group. Registering game servers enables GameLift FleetIQ to track available game servers and enables game clients and services to claim a game server for a new game session. </p> <p>To register a game server, identify the game server group and instance where the game server is running, and provide a unique identifier for the game server. You can also include connection and game server data; when a game client or service requests a game server by calling <a>ClaimGameServer</a>, this information is returned in response.</p> <p>Once a game server is successfully registered, it is put in status AVAILABLE. A request to register a game server may fail if the instance it is in the process of shutting down as part of instance rebalancing or scale-down activity. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>RegisterGameServer</a> </p> </li> <li> <p> <a>ListGameServers</a> </p> </li> <li> <p> <a>ClaimGameServer</a> </p> </li> <li> <p> <a>DescribeGameServer</a> </p> </li> <li> <p> <a>UpdateGameServer</a> </p> </li> <li> <p> <a>DeregisterGameServer</a> </p> </li> </ul></p>
10543 async fn register_game_server(
10544 &self,
10545 input: RegisterGameServerInput,
10546 ) -> Result<RegisterGameServerOutput, RusotoError<RegisterGameServerError>> {
10547 let mut request = self.new_signed_request("POST", "/");
10548 request.add_header("x-amz-target", "GameLift.RegisterGameServer");
10549 let encoded = serde_json::to_string(&input).unwrap();
10550 request.set_payload(Some(encoded));
10551
10552 let response = self
10553 .sign_and_dispatch(request, RegisterGameServerError::from_response)
10554 .await?;
10555 let mut response = response;
10556 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10557 proto::json::ResponsePayload::new(&response).deserialize::<RegisterGameServerOutput, _>()
10558 }
10559
10560 /// <p><p>Retrieves a fresh set of credentials for use when uploading a new set of game build files to Amazon GameLift's Amazon S3. This is done as part of the build creation process; see <a>CreateBuild</a>.</p> <p>To request new credentials, specify the build ID as returned with an initial <code>CreateBuild</code> request. If successful, a new set of credentials are returned, along with the S3 storage location associated with the build ID.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html#gamelift-build-cli-uploading-create-build"> Create a Build with Files in S3</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateBuild</a> </p> </li> <li> <p> <a>ListBuilds</a> </p> </li> <li> <p> <a>DescribeBuild</a> </p> </li> <li> <p> <a>UpdateBuild</a> </p> </li> <li> <p> <a>DeleteBuild</a> </p> </li> </ul></p>
10561 async fn request_upload_credentials(
10562 &self,
10563 input: RequestUploadCredentialsInput,
10564 ) -> Result<RequestUploadCredentialsOutput, RusotoError<RequestUploadCredentialsError>> {
10565 let mut request = self.new_signed_request("POST", "/");
10566 request.add_header("x-amz-target", "GameLift.RequestUploadCredentials");
10567 let encoded = serde_json::to_string(&input).unwrap();
10568 request.set_payload(Some(encoded));
10569
10570 let response = self
10571 .sign_and_dispatch(request, RequestUploadCredentialsError::from_response)
10572 .await?;
10573 let mut response = response;
10574 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10575 proto::json::ResponsePayload::new(&response)
10576 .deserialize::<RequestUploadCredentialsOutput, _>()
10577 }
10578
10579 /// <p><p>Retrieves the fleet ID that an alias is currently pointing to.</p> <ul> <li> <p> <a>CreateAlias</a> </p> </li> <li> <p> <a>ListAliases</a> </p> </li> <li> <p> <a>DescribeAlias</a> </p> </li> <li> <p> <a>UpdateAlias</a> </p> </li> <li> <p> <a>DeleteAlias</a> </p> </li> <li> <p> <a>ResolveAlias</a> </p> </li> </ul></p>
10580 async fn resolve_alias(
10581 &self,
10582 input: ResolveAliasInput,
10583 ) -> Result<ResolveAliasOutput, RusotoError<ResolveAliasError>> {
10584 let mut request = self.new_signed_request("POST", "/");
10585 request.add_header("x-amz-target", "GameLift.ResolveAlias");
10586 let encoded = serde_json::to_string(&input).unwrap();
10587 request.set_payload(Some(encoded));
10588
10589 let response = self
10590 .sign_and_dispatch(request, ResolveAliasError::from_response)
10591 .await?;
10592 let mut response = response;
10593 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10594 proto::json::ResponsePayload::new(&response).deserialize::<ResolveAliasOutput, _>()
10595 }
10596
10597 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Reinstates activity on a game server group after it has been suspended. A game server group may be suspended by calling <a>SuspendGameServerGroup</a>, or it may have been involuntarily suspended due to a configuration problem. You can manually resume activity on the group once the configuration problem has been resolved. Refer to the game server group status and status reason for more information on why group activity is suspended.</p> <p>To resume activity, specify a game server group ARN and the type of activity to be resumed.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateGameServerGroup</a> </p> </li> <li> <p> <a>ListGameServerGroups</a> </p> </li> <li> <p> <a>DescribeGameServerGroup</a> </p> </li> <li> <p> <a>UpdateGameServerGroup</a> </p> </li> <li> <p> <a>DeleteGameServerGroup</a> </p> </li> <li> <p> <a>ResumeGameServerGroup</a> </p> </li> <li> <p> <a>SuspendGameServerGroup</a> </p> </li> </ul></p>
10598 async fn resume_game_server_group(
10599 &self,
10600 input: ResumeGameServerGroupInput,
10601 ) -> Result<ResumeGameServerGroupOutput, RusotoError<ResumeGameServerGroupError>> {
10602 let mut request = self.new_signed_request("POST", "/");
10603 request.add_header("x-amz-target", "GameLift.ResumeGameServerGroup");
10604 let encoded = serde_json::to_string(&input).unwrap();
10605 request.set_payload(Some(encoded));
10606
10607 let response = self
10608 .sign_and_dispatch(request, ResumeGameServerGroupError::from_response)
10609 .await?;
10610 let mut response = response;
10611 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10612 proto::json::ResponsePayload::new(&response).deserialize::<ResumeGameServerGroupOutput, _>()
10613 }
10614
10615 /// <p><p>Retrieves all active game sessions that match a set of search criteria and sorts them in a specified order. You can search or sort by the following game session attributes:</p> <ul> <li> <p> <b>gameSessionId</b> -- A unique identifier for the game session. You can use either a <code>GameSessionId</code> or <code>GameSessionArn</code> value. </p> </li> <li> <p> <b>gameSessionName</b> -- Name assigned to a game session. This value is set when requesting a new game session with <a>CreateGameSession</a> or updating with <a>UpdateGameSession</a>. Game session names do not need to be unique to a game session.</p> </li> <li> <p> <b>gameSessionProperties</b> -- Custom data defined in a game session's <code>GameProperty</code> parameter. <code>GameProperty</code> values are stored as key:value pairs; the filter expression must indicate the key and a string to search the data values for. For example, to search for game sessions with custom data containing the key:value pair "gameMode:brawl", specify the following: <code>gameSessionProperties.gameMode = "brawl"</code>. All custom data values are searched as strings.</p> </li> <li> <p> <b>maximumSessions</b> -- Maximum number of player sessions allowed for a game session. This value is set when requesting a new game session with <a>CreateGameSession</a> or updating with <a>UpdateGameSession</a>.</p> </li> <li> <p> <b>creationTimeMillis</b> -- Value indicating when a game session was created. It is expressed in Unix time as milliseconds.</p> </li> <li> <p> <b>playerSessionCount</b> -- Number of players currently connected to a game session. This value changes rapidly as players join the session or drop out.</p> </li> <li> <p> <b>hasAvailablePlayerSessions</b> -- Boolean value indicating whether a game session has reached its maximum number of players. It is highly recommended that all search requests include this filter attribute to optimize search performance and return only sessions that players can join. </p> </li> </ul> <note> <p>Returned values for <code>playerSessionCount</code> and <code>hasAvailablePlayerSessions</code> change quickly as players join sessions and others drop out. Results should be considered a snapshot in time. Be sure to refresh search results often, and handle sessions that fill up before a player can join. </p> </note> <p>To search or sort, specify either a fleet ID or an alias ID, and provide a search filter expression, a sort expression, or both. If successful, a collection of <a>GameSession</a> objects matching the request is returned. Use the pagination parameters to retrieve results as a set of sequential pages. </p> <p>You can search for game sessions one fleet at a time only. To find game sessions across multiple fleets, you must search each fleet separately and combine the results. This search feature finds only game sessions that are in <code>ACTIVE</code> status. To locate games in statuses other than active, use <a>DescribeGameSessionDetails</a>.</p> <ul> <li> <p> <a>CreateGameSession</a> </p> </li> <li> <p> <a>DescribeGameSessions</a> </p> </li> <li> <p> <a>DescribeGameSessionDetails</a> </p> </li> <li> <p> <a>SearchGameSessions</a> </p> </li> <li> <p> <a>UpdateGameSession</a> </p> </li> <li> <p> <a>GetGameSessionLogUrl</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
10616 async fn search_game_sessions(
10617 &self,
10618 input: SearchGameSessionsInput,
10619 ) -> Result<SearchGameSessionsOutput, RusotoError<SearchGameSessionsError>> {
10620 let mut request = self.new_signed_request("POST", "/");
10621 request.add_header("x-amz-target", "GameLift.SearchGameSessions");
10622 let encoded = serde_json::to_string(&input).unwrap();
10623 request.set_payload(Some(encoded));
10624
10625 let response = self
10626 .sign_and_dispatch(request, SearchGameSessionsError::from_response)
10627 .await?;
10628 let mut response = response;
10629 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10630 proto::json::ResponsePayload::new(&response).deserialize::<SearchGameSessionsOutput, _>()
10631 }
10632
10633 /// <p><p>Resumes activity on a fleet that was suspended with <a>StopFleetActions</a>. Currently, this operation is used to restart a fleet's auto-scaling activity. </p> <p>To start fleet actions, specify the fleet ID and the type of actions to restart. When auto-scaling fleet actions are restarted, Amazon GameLift once again initiates scaling events as triggered by the fleet's scaling policies. If actions on the fleet were never stopped, this operation will have no effect. You can view a fleet's stopped actions using <a>DescribeFleetAttributes</a>.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
10634 async fn start_fleet_actions(
10635 &self,
10636 input: StartFleetActionsInput,
10637 ) -> Result<StartFleetActionsOutput, RusotoError<StartFleetActionsError>> {
10638 let mut request = self.new_signed_request("POST", "/");
10639 request.add_header("x-amz-target", "GameLift.StartFleetActions");
10640 let encoded = serde_json::to_string(&input).unwrap();
10641 request.set_payload(Some(encoded));
10642
10643 let response = self
10644 .sign_and_dispatch(request, StartFleetActionsError::from_response)
10645 .await?;
10646 let mut response = response;
10647 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10648 proto::json::ResponsePayload::new(&response).deserialize::<StartFleetActionsOutput, _>()
10649 }
10650
10651 /// <p><p>Places a request for a new game session in a queue (see <a>CreateGameSessionQueue</a>). When processing a placement request, Amazon GameLift searches for available resources on the queue's destinations, scanning each until it finds resources or the placement request times out.</p> <p>A game session placement request can also request player sessions. When a new game session is successfully created, Amazon GameLift creates a player session for each player included in the request.</p> <p>When placing a game session, by default Amazon GameLift tries each fleet in the order they are listed in the queue configuration. Ideally, a queue's destinations are listed in preference order.</p> <p>Alternatively, when requesting a game session with players, you can also provide latency data for each player in relevant Regions. Latency data indicates the performance lag a player experiences when connected to a fleet in the Region. Amazon GameLift uses latency data to reorder the list of destinations to place the game session in a Region with minimal lag. If latency data is provided for multiple players, Amazon GameLift calculates each Region's average lag for all players and reorders to get the best game play across all players. </p> <p>To place a new game session request, specify the following:</p> <ul> <li> <p>The queue name and a set of game session properties and settings</p> </li> <li> <p>A unique ID (such as a UUID) for the placement. You use this ID to track the status of the placement request</p> </li> <li> <p>(Optional) A set of player data and a unique player ID for each player that you are joining to the new game session (player data is optional, but if you include it, you must also provide a unique ID for each player)</p> </li> <li> <p>Latency data for all players (if you want to optimize game play for the players)</p> </li> </ul> <p>If successful, a new game session placement is created.</p> <p>To track the status of a placement request, call <a>DescribeGameSessionPlacement</a> and check the request's status. If the status is <code>FULFILLED</code>, a new game session has been created and a game session ARN and Region are referenced. If the placement request times out, you can resubmit the request or retry it with a different queue. </p> <ul> <li> <p> <a>CreateGameSession</a> </p> </li> <li> <p> <a>DescribeGameSessions</a> </p> </li> <li> <p> <a>DescribeGameSessionDetails</a> </p> </li> <li> <p> <a>SearchGameSessions</a> </p> </li> <li> <p> <a>UpdateGameSession</a> </p> </li> <li> <p> <a>GetGameSessionLogUrl</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
10652 async fn start_game_session_placement(
10653 &self,
10654 input: StartGameSessionPlacementInput,
10655 ) -> Result<StartGameSessionPlacementOutput, RusotoError<StartGameSessionPlacementError>> {
10656 let mut request = self.new_signed_request("POST", "/");
10657 request.add_header("x-amz-target", "GameLift.StartGameSessionPlacement");
10658 let encoded = serde_json::to_string(&input).unwrap();
10659 request.set_payload(Some(encoded));
10660
10661 let response = self
10662 .sign_and_dispatch(request, StartGameSessionPlacementError::from_response)
10663 .await?;
10664 let mut response = response;
10665 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10666 proto::json::ResponsePayload::new(&response)
10667 .deserialize::<StartGameSessionPlacementOutput, _>()
10668 }
10669
10670 /// <p><p>Finds new players to fill open slots in an existing game session. This operation can be used to add players to matched games that start with fewer than the maximum number of players or to replace players when they drop out. By backfilling with the same matchmaker used to create the original match, you ensure that new players meet the match criteria and maintain a consistent experience throughout the game session. You can backfill a match anytime after a game session has been created. </p> <p>To request a match backfill, specify a unique ticket ID, the existing game session's ARN, a matchmaking configuration, and a set of data that describes all current players in the game session. If successful, a match backfill ticket is created and returned with status set to QUEUED. The ticket is placed in the matchmaker's ticket pool and processed. Track the status of the ticket to respond as needed. </p> <p>The process of finding backfill matches is essentially identical to the initial matchmaking process. The matchmaker searches the pool and groups tickets together to form potential matches, allowing only one backfill ticket per potential match. Once the a match is formed, the matchmaker creates player sessions for the new players. All tickets in the match are updated with the game session's connection information, and the <a>GameSession</a> object is updated to include matchmaker data on the new players. For more detail on how match backfill requests are processed, see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-match.html"> How Amazon GameLift FlexMatch Works</a>. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-backfill.html"> Backfill Existing Games with FlexMatch</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-match.html"> How GameLift FlexMatch Works</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>StartMatchmaking</a> </p> </li> <li> <p> <a>DescribeMatchmaking</a> </p> </li> <li> <p> <a>StopMatchmaking</a> </p> </li> <li> <p> <a>AcceptMatch</a> </p> </li> <li> <p> <a>StartMatchBackfill</a> </p> </li> </ul></p>
10671 async fn start_match_backfill(
10672 &self,
10673 input: StartMatchBackfillInput,
10674 ) -> Result<StartMatchBackfillOutput, RusotoError<StartMatchBackfillError>> {
10675 let mut request = self.new_signed_request("POST", "/");
10676 request.add_header("x-amz-target", "GameLift.StartMatchBackfill");
10677 let encoded = serde_json::to_string(&input).unwrap();
10678 request.set_payload(Some(encoded));
10679
10680 let response = self
10681 .sign_and_dispatch(request, StartMatchBackfillError::from_response)
10682 .await?;
10683 let mut response = response;
10684 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10685 proto::json::ResponsePayload::new(&response).deserialize::<StartMatchBackfillOutput, _>()
10686 }
10687
10688 /// <p><p>Uses FlexMatch to create a game match for a group of players based on custom matchmaking rules, and starts a new game for the matched players. Each matchmaking request specifies the type of match to build (team configuration, rules for an acceptable match, etc.). The request also specifies the players to find a match for and where to host the new game session for optimal performance. A matchmaking request might start with a single player or a group of players who want to play together. FlexMatch finds additional players as needed to fill the match. Match type, rules, and the queue used to place a new game session are defined in a <code>MatchmakingConfiguration</code>. </p> <p>To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration, and include the players to be matched. You must also include a set of player attributes relevant for the matchmaking configuration. If successful, a matchmaking ticket is returned with status set to <code>QUEUED</code>. Track the status of the ticket to respond as needed and acquire game session connection information for successfully completed matches.</p> <p> <b>Tracking ticket status</b> -- A couple of options are available for tracking the status of matchmaking requests: </p> <ul> <li> <p>Polling -- Call <code>DescribeMatchmaking</code>. This operation returns the full ticket object, including current status and (for completed tickets) game session connection info. We recommend polling no more than once every 10 seconds.</p> </li> <li> <p>Notifications -- Get event notifications for changes in ticket status using Amazon Simple Notification Service (SNS). Notifications are easy to set up (see <a>CreateMatchmakingConfiguration</a>) and typically deliver match status changes faster and more efficiently than polling. We recommend that you use polling to back up to notifications (since delivery is not guaranteed) and call <code>DescribeMatchmaking</code> only when notifications are not received within 30 seconds.</p> </li> </ul> <p> <b>Processing a matchmaking request</b> -- FlexMatch handles a matchmaking request as follows: </p> <ol> <li> <p>Your client code submits a <code>StartMatchmaking</code> request for one or more players and tracks the status of the request ticket. </p> </li> <li> <p>FlexMatch uses this ticket and others in process to build an acceptable match. When a potential match is identified, all tickets in the proposed match are advanced to the next status. </p> </li> <li> <p>If the match requires player acceptance (set in the matchmaking configuration), the tickets move into status <code>REQUIRES_ACCEPTANCE</code>. This status triggers your client code to solicit acceptance from all players in every ticket involved in the match, and then call <a>AcceptMatch</a> for each player. If any player rejects or fails to accept the match before a specified timeout, the proposed match is dropped (see <code>AcceptMatch</code> for more details).</p> </li> <li> <p>Once a match is proposed and accepted, the matchmaking tickets move into status <code>PLACING</code>. FlexMatch locates resources for a new game session using the game session queue (set in the matchmaking configuration) and creates the game session based on the match data. </p> </li> <li> <p>When the match is successfully placed, the matchmaking tickets move into <code>COMPLETED</code> status. Connection information (including game session endpoint and player session) is added to the matchmaking tickets. Matched players can use the connection information to join the game. </p> </li> </ol> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-client.html"> Add FlexMatch to a Game Client</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-notification.html"> Set Up FlexMatch Event Notification</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-tasks.html"> FlexMatch Integration Roadmap</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-match.html"> How GameLift FlexMatch Works</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>StartMatchmaking</a> </p> </li> <li> <p> <a>DescribeMatchmaking</a> </p> </li> <li> <p> <a>StopMatchmaking</a> </p> </li> <li> <p> <a>AcceptMatch</a> </p> </li> <li> <p> <a>StartMatchBackfill</a> </p> </li> </ul></p>
10689 async fn start_matchmaking(
10690 &self,
10691 input: StartMatchmakingInput,
10692 ) -> Result<StartMatchmakingOutput, RusotoError<StartMatchmakingError>> {
10693 let mut request = self.new_signed_request("POST", "/");
10694 request.add_header("x-amz-target", "GameLift.StartMatchmaking");
10695 let encoded = serde_json::to_string(&input).unwrap();
10696 request.set_payload(Some(encoded));
10697
10698 let response = self
10699 .sign_and_dispatch(request, StartMatchmakingError::from_response)
10700 .await?;
10701 let mut response = response;
10702 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10703 proto::json::ResponsePayload::new(&response).deserialize::<StartMatchmakingOutput, _>()
10704 }
10705
10706 /// <p><p>Suspends activity on a fleet. Currently, this operation is used to stop a fleet's auto-scaling activity. It is used to temporarily stop triggering scaling events. The policies can be retained and auto-scaling activity can be restarted using <a>StartFleetActions</a>. You can view a fleet's stopped actions using <a>DescribeFleetAttributes</a>.</p> <p>To stop fleet actions, specify the fleet ID and the type of actions to suspend. When auto-scaling fleet actions are stopped, Amazon GameLift no longer initiates scaling events except in response to manual changes using <a>UpdateFleetCapacity</a>. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
10707 async fn stop_fleet_actions(
10708 &self,
10709 input: StopFleetActionsInput,
10710 ) -> Result<StopFleetActionsOutput, RusotoError<StopFleetActionsError>> {
10711 let mut request = self.new_signed_request("POST", "/");
10712 request.add_header("x-amz-target", "GameLift.StopFleetActions");
10713 let encoded = serde_json::to_string(&input).unwrap();
10714 request.set_payload(Some(encoded));
10715
10716 let response = self
10717 .sign_and_dispatch(request, StopFleetActionsError::from_response)
10718 .await?;
10719 let mut response = response;
10720 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10721 proto::json::ResponsePayload::new(&response).deserialize::<StopFleetActionsOutput, _>()
10722 }
10723
10724 /// <p><p>Cancels a game session placement that is in <code>PENDING</code> status. To stop a placement, provide the placement ID values. If successful, the placement is moved to <code>CANCELLED</code> status.</p> <ul> <li> <p> <a>CreateGameSession</a> </p> </li> <li> <p> <a>DescribeGameSessions</a> </p> </li> <li> <p> <a>DescribeGameSessionDetails</a> </p> </li> <li> <p> <a>SearchGameSessions</a> </p> </li> <li> <p> <a>UpdateGameSession</a> </p> </li> <li> <p> <a>GetGameSessionLogUrl</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
10725 async fn stop_game_session_placement(
10726 &self,
10727 input: StopGameSessionPlacementInput,
10728 ) -> Result<StopGameSessionPlacementOutput, RusotoError<StopGameSessionPlacementError>> {
10729 let mut request = self.new_signed_request("POST", "/");
10730 request.add_header("x-amz-target", "GameLift.StopGameSessionPlacement");
10731 let encoded = serde_json::to_string(&input).unwrap();
10732 request.set_payload(Some(encoded));
10733
10734 let response = self
10735 .sign_and_dispatch(request, StopGameSessionPlacementError::from_response)
10736 .await?;
10737 let mut response = response;
10738 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10739 proto::json::ResponsePayload::new(&response)
10740 .deserialize::<StopGameSessionPlacementOutput, _>()
10741 }
10742
10743 /// <p><p>Cancels a matchmaking ticket or match backfill ticket that is currently being processed. To stop the matchmaking operation, specify the ticket ID. If successful, work on the ticket is stopped, and the ticket status is changed to <code>CANCELLED</code>.</p> <p>This call is also used to turn off automatic backfill for an individual game session. This is for game sessions that are created with a matchmaking configuration that has automatic backfill enabled. The ticket ID is included in the <code>MatchmakerData</code> of an updated game session object, which is provided to the game server.</p> <note> <p>If the action is successful, the service sends back an empty JSON struct with the HTTP 200 response (not an empty HTTP body).</p> </note> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-client.html"> Add FlexMatch to a Game Client</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>StartMatchmaking</a> </p> </li> <li> <p> <a>DescribeMatchmaking</a> </p> </li> <li> <p> <a>StopMatchmaking</a> </p> </li> <li> <p> <a>AcceptMatch</a> </p> </li> <li> <p> <a>StartMatchBackfill</a> </p> </li> </ul></p>
10744 async fn stop_matchmaking(
10745 &self,
10746 input: StopMatchmakingInput,
10747 ) -> Result<StopMatchmakingOutput, RusotoError<StopMatchmakingError>> {
10748 let mut request = self.new_signed_request("POST", "/");
10749 request.add_header("x-amz-target", "GameLift.StopMatchmaking");
10750 let encoded = serde_json::to_string(&input).unwrap();
10751 request.set_payload(Some(encoded));
10752
10753 let response = self
10754 .sign_and_dispatch(request, StopMatchmakingError::from_response)
10755 .await?;
10756 let mut response = response;
10757 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10758 proto::json::ResponsePayload::new(&response).deserialize::<StopMatchmakingOutput, _>()
10759 }
10760
10761 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Temporarily stops activity on a game server group without terminating instances or the game server group. Activity can be restarted by calling <a>ResumeGameServerGroup</a>. Activities that can suspended are:</p> <ul> <li> <p>Instance type replacement. This activity evaluates the current Spot viability of all instance types that are defined for the game server group. It updates the Auto Scaling group to remove nonviable Spot instance types (which have a higher chance of game server interruptions) and rebalances capacity across the remaining viable Spot instance types. When this activity is suspended, the Auto Scaling group continues with its current balance, regardless of viability. Instance protection, utilization metrics, and capacity autoscaling activities continue to be active. </p> </li> </ul> <p>To suspend activity, specify a game server group ARN and the type of activity to be suspended.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateGameServerGroup</a> </p> </li> <li> <p> <a>ListGameServerGroups</a> </p> </li> <li> <p> <a>DescribeGameServerGroup</a> </p> </li> <li> <p> <a>UpdateGameServerGroup</a> </p> </li> <li> <p> <a>DeleteGameServerGroup</a> </p> </li> <li> <p> <a>ResumeGameServerGroup</a> </p> </li> <li> <p> <a>SuspendGameServerGroup</a> </p> </li> </ul></p>
10762 async fn suspend_game_server_group(
10763 &self,
10764 input: SuspendGameServerGroupInput,
10765 ) -> Result<SuspendGameServerGroupOutput, RusotoError<SuspendGameServerGroupError>> {
10766 let mut request = self.new_signed_request("POST", "/");
10767 request.add_header("x-amz-target", "GameLift.SuspendGameServerGroup");
10768 let encoded = serde_json::to_string(&input).unwrap();
10769 request.set_payload(Some(encoded));
10770
10771 let response = self
10772 .sign_and_dispatch(request, SuspendGameServerGroupError::from_response)
10773 .await?;
10774 let mut response = response;
10775 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10776 proto::json::ResponsePayload::new(&response)
10777 .deserialize::<SuspendGameServerGroupOutput, _>()
10778 }
10779
10780 /// <p><p> Assigns a tag to a GameLift resource. AWS resource tags provide an additional management tool set. You can use tags to organize resources, create IAM permissions policies to manage access to groups of resources, customize AWS cost breakdowns, etc. This action handles the permissions necessary to manage tags for the following GameLift resource types:</p> <ul> <li> <p>Build</p> </li> <li> <p>Script</p> </li> <li> <p>Fleet</p> </li> <li> <p>Alias</p> </li> <li> <p>GameSessionQueue</p> </li> <li> <p>MatchmakingConfiguration</p> </li> <li> <p>MatchmakingRuleSet</p> </li> </ul> <p>To add a tag to a resource, specify the unique ARN value for the resource and provide a tag list containing one or more tags. The operation succeeds even if the list includes tags that are already assigned to the specified resource. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging AWS Resources</a> in the <i>AWS General Reference</i> </p> <p> <a href="http://aws.amazon.com/answers/account-management/aws-tagging-strategies/"> AWS Tagging Strategies</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>TagResource</a> </p> </li> <li> <p> <a>UntagResource</a> </p> </li> <li> <p> <a>ListTagsForResource</a> </p> </li> </ul></p>
10781 async fn tag_resource(
10782 &self,
10783 input: TagResourceRequest,
10784 ) -> Result<TagResourceResponse, RusotoError<TagResourceError>> {
10785 let mut request = self.new_signed_request("POST", "/");
10786 request.add_header("x-amz-target", "GameLift.TagResource");
10787 let encoded = serde_json::to_string(&input).unwrap();
10788 request.set_payload(Some(encoded));
10789
10790 let response = self
10791 .sign_and_dispatch(request, TagResourceError::from_response)
10792 .await?;
10793 let mut response = response;
10794 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10795 proto::json::ResponsePayload::new(&response).deserialize::<TagResourceResponse, _>()
10796 }
10797
10798 /// <p><p>Removes a tag that is assigned to a GameLift resource. Resource tags are used to organize AWS resources for a range of purposes. This action handles the permissions necessary to manage tags for the following GameLift resource types:</p> <ul> <li> <p>Build</p> </li> <li> <p>Script</p> </li> <li> <p>Fleet</p> </li> <li> <p>Alias</p> </li> <li> <p>GameSessionQueue</p> </li> <li> <p>MatchmakingConfiguration</p> </li> <li> <p>MatchmakingRuleSet</p> </li> </ul> <p>To remove a tag from a resource, specify the unique ARN value for the resource and provide a string list containing one or more tags to be removed. This action succeeds even if the list includes tags that are not currently assigned to the specified resource.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging AWS Resources</a> in the <i>AWS General Reference</i> </p> <p> <a href="http://aws.amazon.com/answers/account-management/aws-tagging-strategies/"> AWS Tagging Strategies</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>TagResource</a> </p> </li> <li> <p> <a>UntagResource</a> </p> </li> <li> <p> <a>ListTagsForResource</a> </p> </li> </ul></p>
10799 async fn untag_resource(
10800 &self,
10801 input: UntagResourceRequest,
10802 ) -> Result<UntagResourceResponse, RusotoError<UntagResourceError>> {
10803 let mut request = self.new_signed_request("POST", "/");
10804 request.add_header("x-amz-target", "GameLift.UntagResource");
10805 let encoded = serde_json::to_string(&input).unwrap();
10806 request.set_payload(Some(encoded));
10807
10808 let response = self
10809 .sign_and_dispatch(request, UntagResourceError::from_response)
10810 .await?;
10811 let mut response = response;
10812 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10813 proto::json::ResponsePayload::new(&response).deserialize::<UntagResourceResponse, _>()
10814 }
10815
10816 /// <p><p>Updates properties for an alias. To update properties, specify the alias ID to be updated and provide the information to be changed. To reassign an alias to another fleet, provide an updated routing strategy. If successful, the updated alias record is returned.</p> <ul> <li> <p> <a>CreateAlias</a> </p> </li> <li> <p> <a>ListAliases</a> </p> </li> <li> <p> <a>DescribeAlias</a> </p> </li> <li> <p> <a>UpdateAlias</a> </p> </li> <li> <p> <a>DeleteAlias</a> </p> </li> <li> <p> <a>ResolveAlias</a> </p> </li> </ul></p>
10817 async fn update_alias(
10818 &self,
10819 input: UpdateAliasInput,
10820 ) -> Result<UpdateAliasOutput, RusotoError<UpdateAliasError>> {
10821 let mut request = self.new_signed_request("POST", "/");
10822 request.add_header("x-amz-target", "GameLift.UpdateAlias");
10823 let encoded = serde_json::to_string(&input).unwrap();
10824 request.set_payload(Some(encoded));
10825
10826 let response = self
10827 .sign_and_dispatch(request, UpdateAliasError::from_response)
10828 .await?;
10829 let mut response = response;
10830 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10831 proto::json::ResponsePayload::new(&response).deserialize::<UpdateAliasOutput, _>()
10832 }
10833
10834 /// <p><p>Updates metadata in a build resource, including the build name and version. To update the metadata, specify the build ID to update and provide the new values. If successful, a build object containing the updated metadata is returned.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html"> Upload a Custom Server Build</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateBuild</a> </p> </li> <li> <p> <a>ListBuilds</a> </p> </li> <li> <p> <a>DescribeBuild</a> </p> </li> <li> <p> <a>UpdateBuild</a> </p> </li> <li> <p> <a>DeleteBuild</a> </p> </li> </ul></p>
10835 async fn update_build(
10836 &self,
10837 input: UpdateBuildInput,
10838 ) -> Result<UpdateBuildOutput, RusotoError<UpdateBuildError>> {
10839 let mut request = self.new_signed_request("POST", "/");
10840 request.add_header("x-amz-target", "GameLift.UpdateBuild");
10841 let encoded = serde_json::to_string(&input).unwrap();
10842 request.set_payload(Some(encoded));
10843
10844 let response = self
10845 .sign_and_dispatch(request, UpdateBuildError::from_response)
10846 .await?;
10847 let mut response = response;
10848 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10849 proto::json::ResponsePayload::new(&response).deserialize::<UpdateBuildOutput, _>()
10850 }
10851
10852 /// <p><p>Updates fleet properties, including name and description, for a fleet. To update metadata, specify the fleet ID and the property values that you want to change. If successful, the fleet ID for the updated fleet is returned.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p>Update fleets:</p> <ul> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetCapacity</a> </p> </li> <li> <p> <a>UpdateFleetPortSettings</a> </p> </li> <li> <p> <a>UpdateRuntimeConfiguration</a> </p> </li> </ul> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
10853 async fn update_fleet_attributes(
10854 &self,
10855 input: UpdateFleetAttributesInput,
10856 ) -> Result<UpdateFleetAttributesOutput, RusotoError<UpdateFleetAttributesError>> {
10857 let mut request = self.new_signed_request("POST", "/");
10858 request.add_header("x-amz-target", "GameLift.UpdateFleetAttributes");
10859 let encoded = serde_json::to_string(&input).unwrap();
10860 request.set_payload(Some(encoded));
10861
10862 let response = self
10863 .sign_and_dispatch(request, UpdateFleetAttributesError::from_response)
10864 .await?;
10865 let mut response = response;
10866 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10867 proto::json::ResponsePayload::new(&response).deserialize::<UpdateFleetAttributesOutput, _>()
10868 }
10869
10870 /// <p><p>Updates capacity settings for a fleet. Use this action to specify the number of EC2 instances (hosts) that you want this fleet to contain. Before calling this action, you may want to call <a>DescribeEC2InstanceLimits</a> to get the maximum capacity based on the fleet's EC2 instance type.</p> <p>Specify minimum and maximum number of instances. Amazon GameLift will not change fleet capacity to values fall outside of this range. This is particularly important when using auto-scaling (see <a>PutScalingPolicy</a>) to allow capacity to adjust based on player demand while imposing limits on automatic adjustments.</p> <p>To update fleet capacity, specify the fleet ID and the number of instances you want the fleet to host. If successful, Amazon GameLift starts or terminates instances so that the fleet's active instance count matches the desired instance count. You can view a fleet's current capacity information by calling <a>DescribeFleetCapacity</a>. If the desired instance count is higher than the instance type's limit, the "Limit Exceeded" exception occurs.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p>Update fleets:</p> <ul> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetCapacity</a> </p> </li> <li> <p> <a>UpdateFleetPortSettings</a> </p> </li> <li> <p> <a>UpdateRuntimeConfiguration</a> </p> </li> </ul> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
10871 async fn update_fleet_capacity(
10872 &self,
10873 input: UpdateFleetCapacityInput,
10874 ) -> Result<UpdateFleetCapacityOutput, RusotoError<UpdateFleetCapacityError>> {
10875 let mut request = self.new_signed_request("POST", "/");
10876 request.add_header("x-amz-target", "GameLift.UpdateFleetCapacity");
10877 let encoded = serde_json::to_string(&input).unwrap();
10878 request.set_payload(Some(encoded));
10879
10880 let response = self
10881 .sign_and_dispatch(request, UpdateFleetCapacityError::from_response)
10882 .await?;
10883 let mut response = response;
10884 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10885 proto::json::ResponsePayload::new(&response).deserialize::<UpdateFleetCapacityOutput, _>()
10886 }
10887
10888 /// <p><p>Updates port settings for a fleet. To update settings, specify the fleet ID to be updated and list the permissions you want to update. List the permissions you want to add in <code>InboundPermissionAuthorizations</code>, and permissions you want to remove in <code>InboundPermissionRevocations</code>. Permissions to be removed must match existing fleet permissions. If successful, the fleet ID for the updated fleet is returned.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p>Update fleets:</p> <ul> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetCapacity</a> </p> </li> <li> <p> <a>UpdateFleetPortSettings</a> </p> </li> <li> <p> <a>UpdateRuntimeConfiguration</a> </p> </li> </ul> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
10889 async fn update_fleet_port_settings(
10890 &self,
10891 input: UpdateFleetPortSettingsInput,
10892 ) -> Result<UpdateFleetPortSettingsOutput, RusotoError<UpdateFleetPortSettingsError>> {
10893 let mut request = self.new_signed_request("POST", "/");
10894 request.add_header("x-amz-target", "GameLift.UpdateFleetPortSettings");
10895 let encoded = serde_json::to_string(&input).unwrap();
10896 request.set_payload(Some(encoded));
10897
10898 let response = self
10899 .sign_and_dispatch(request, UpdateFleetPortSettingsError::from_response)
10900 .await?;
10901 let mut response = response;
10902 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10903 proto::json::ResponsePayload::new(&response)
10904 .deserialize::<UpdateFleetPortSettingsOutput, _>()
10905 }
10906
10907 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Updates information about a registered game server. This action is called by a game server process that is running on an instance in a game server group. There are three reasons to update game server information: (1) to change the utilization status of the game server, (2) to report game server health status, and (3) to change game server metadata. A registered game server should regularly report health and should update utilization status when it is supporting gameplay so that GameLift FleetIQ can accurately track game server availability. You can make all three types of updates in the same request.</p> <ul> <li> <p>To update the game server's utilization status, identify the game server and game server group and specify the current utilization status. Use this status to identify when game servers are currently hosting games and when they are available to be claimed. </p> </li> <li> <p>To report health status, identify the game server and game server group and set health check to HEALTHY. If a game server does not report health status for a certain length of time, the game server is no longer considered healthy and will be eventually de-registered from the game server group to avoid affecting utilization metrics. The best practice is to report health every 60 seconds.</p> </li> <li> <p>To change game server metadata, provide updated game server data and custom sort key values.</p> </li> </ul> <p>Once a game server is successfully updated, the relevant statuses and timestamps are updated.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>RegisterGameServer</a> </p> </li> <li> <p> <a>ListGameServers</a> </p> </li> <li> <p> <a>ClaimGameServer</a> </p> </li> <li> <p> <a>DescribeGameServer</a> </p> </li> <li> <p> <a>UpdateGameServer</a> </p> </li> <li> <p> <a>DeregisterGameServer</a> </p> </li> </ul></p>
10908 async fn update_game_server(
10909 &self,
10910 input: UpdateGameServerInput,
10911 ) -> Result<UpdateGameServerOutput, RusotoError<UpdateGameServerError>> {
10912 let mut request = self.new_signed_request("POST", "/");
10913 request.add_header("x-amz-target", "GameLift.UpdateGameServer");
10914 let encoded = serde_json::to_string(&input).unwrap();
10915 request.set_payload(Some(encoded));
10916
10917 let response = self
10918 .sign_and_dispatch(request, UpdateGameServerError::from_response)
10919 .await?;
10920 let mut response = response;
10921 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10922 proto::json::ResponsePayload::new(&response).deserialize::<UpdateGameServerOutput, _>()
10923 }
10924
10925 /// <p><p> <b>This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.</b> </p> <p>Updates GameLift FleetIQ-specific properties for a game server group. These properties include instance rebalancing and game server protection. Many Auto Scaling group properties are updated directly. These include autoscaling policies, minimum/maximum/desired instance counts, and launch template. </p> <p>To update the game server group, specify the game server group ID and provide the updated values.</p> <p>Updated properties are validated to ensure that GameLift FleetIQ can continue to perform its core instance rebalancing activity. When you change Auto Scaling group properties directly and the changes cause errors with GameLift FleetIQ activities, an alert is sent.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html">GameLift FleetIQ Guide</a> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-asgroups.html">Updating a GameLift FleetIQ-Linked Auto Scaling Group</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateGameServerGroup</a> </p> </li> <li> <p> <a>ListGameServerGroups</a> </p> </li> <li> <p> <a>DescribeGameServerGroup</a> </p> </li> <li> <p> <a>UpdateGameServerGroup</a> </p> </li> <li> <p> <a>DeleteGameServerGroup</a> </p> </li> <li> <p> <a>ResumeGameServerGroup</a> </p> </li> <li> <p> <a>SuspendGameServerGroup</a> </p> </li> </ul></p>
10926 async fn update_game_server_group(
10927 &self,
10928 input: UpdateGameServerGroupInput,
10929 ) -> Result<UpdateGameServerGroupOutput, RusotoError<UpdateGameServerGroupError>> {
10930 let mut request = self.new_signed_request("POST", "/");
10931 request.add_header("x-amz-target", "GameLift.UpdateGameServerGroup");
10932 let encoded = serde_json::to_string(&input).unwrap();
10933 request.set_payload(Some(encoded));
10934
10935 let response = self
10936 .sign_and_dispatch(request, UpdateGameServerGroupError::from_response)
10937 .await?;
10938 let mut response = response;
10939 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10940 proto::json::ResponsePayload::new(&response).deserialize::<UpdateGameServerGroupOutput, _>()
10941 }
10942
10943 /// <p><p>Updates game session properties. This includes the session name, maximum player count, protection policy, which controls whether or not an active game session can be terminated during a scale-down event, and the player session creation policy, which controls whether or not new players can join the session. To update a game session, specify the game session ID and the values you want to change. If successful, an updated <a>GameSession</a> object is returned. </p> <ul> <li> <p> <a>CreateGameSession</a> </p> </li> <li> <p> <a>DescribeGameSessions</a> </p> </li> <li> <p> <a>DescribeGameSessionDetails</a> </p> </li> <li> <p> <a>SearchGameSessions</a> </p> </li> <li> <p> <a>UpdateGameSession</a> </p> </li> <li> <p> <a>GetGameSessionLogUrl</a> </p> </li> <li> <p>Game session placements</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p> <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p> <a>StopGameSessionPlacement</a> </p> </li> </ul> </li> </ul></p>
10944 async fn update_game_session(
10945 &self,
10946 input: UpdateGameSessionInput,
10947 ) -> Result<UpdateGameSessionOutput, RusotoError<UpdateGameSessionError>> {
10948 let mut request = self.new_signed_request("POST", "/");
10949 request.add_header("x-amz-target", "GameLift.UpdateGameSession");
10950 let encoded = serde_json::to_string(&input).unwrap();
10951 request.set_payload(Some(encoded));
10952
10953 let response = self
10954 .sign_and_dispatch(request, UpdateGameSessionError::from_response)
10955 .await?;
10956 let mut response = response;
10957 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10958 proto::json::ResponsePayload::new(&response).deserialize::<UpdateGameSessionOutput, _>()
10959 }
10960
10961 /// <p><p>Updates settings for a game session queue, which determines how new game session requests in the queue are processed. To update settings, specify the queue name to be updated and provide the new settings. When updating destinations, provide a complete list of destinations. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-intro.html"> Using Multi-Region Queues</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateGameSessionQueue</a> </p> </li> <li> <p> <a>DescribeGameSessionQueues</a> </p> </li> <li> <p> <a>UpdateGameSessionQueue</a> </p> </li> <li> <p> <a>DeleteGameSessionQueue</a> </p> </li> </ul></p>
10962 async fn update_game_session_queue(
10963 &self,
10964 input: UpdateGameSessionQueueInput,
10965 ) -> Result<UpdateGameSessionQueueOutput, RusotoError<UpdateGameSessionQueueError>> {
10966 let mut request = self.new_signed_request("POST", "/");
10967 request.add_header("x-amz-target", "GameLift.UpdateGameSessionQueue");
10968 let encoded = serde_json::to_string(&input).unwrap();
10969 request.set_payload(Some(encoded));
10970
10971 let response = self
10972 .sign_and_dispatch(request, UpdateGameSessionQueueError::from_response)
10973 .await?;
10974 let mut response = response;
10975 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10976 proto::json::ResponsePayload::new(&response)
10977 .deserialize::<UpdateGameSessionQueueOutput, _>()
10978 }
10979
10980 /// <p><p>Updates settings for a FlexMatch matchmaking configuration. These changes affect all matches and game sessions that are created after the update. To update settings, specify the configuration name to be updated and provide the new settings. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-configuration.html"> Design a FlexMatch Matchmaker</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DescribeMatchmakingConfigurations</a> </p> </li> <li> <p> <a>UpdateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DeleteMatchmakingConfiguration</a> </p> </li> <li> <p> <a>CreateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DescribeMatchmakingRuleSets</a> </p> </li> <li> <p> <a>ValidateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DeleteMatchmakingRuleSet</a> </p> </li> </ul></p>
10981 async fn update_matchmaking_configuration(
10982 &self,
10983 input: UpdateMatchmakingConfigurationInput,
10984 ) -> Result<
10985 UpdateMatchmakingConfigurationOutput,
10986 RusotoError<UpdateMatchmakingConfigurationError>,
10987 > {
10988 let mut request = self.new_signed_request("POST", "/");
10989 request.add_header("x-amz-target", "GameLift.UpdateMatchmakingConfiguration");
10990 let encoded = serde_json::to_string(&input).unwrap();
10991 request.set_payload(Some(encoded));
10992
10993 let response = self
10994 .sign_and_dispatch(request, UpdateMatchmakingConfigurationError::from_response)
10995 .await?;
10996 let mut response = response;
10997 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
10998 proto::json::ResponsePayload::new(&response)
10999 .deserialize::<UpdateMatchmakingConfigurationOutput, _>()
11000 }
11001
11002 /// <p><p>Updates the current runtime configuration for the specified fleet, which tells Amazon GameLift how to launch server processes on instances in the fleet. You can update a fleet's runtime configuration at any time after the fleet is created; it does not need to be in an <code>ACTIVE</code> status.</p> <p>To update runtime configuration, specify the fleet ID and provide a <code>RuntimeConfiguration</code> object with an updated set of server process configurations.</p> <p>Each instance in a Amazon GameLift fleet checks regularly for an updated runtime configuration and changes how it launches server processes to comply with the latest version. Existing server processes are not affected by the update; runtime configuration changes are applied gradually as existing processes shut down and new processes are launched during Amazon GameLift's normal process recycling activity.</p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html">Setting up GameLift Fleets</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateFleet</a> </p> </li> <li> <p> <a>ListFleets</a> </p> </li> <li> <p> <a>DeleteFleet</a> </p> </li> <li> <p> <a>DescribeFleetAttributes</a> </p> </li> <li> <p>Update fleets:</p> <ul> <li> <p> <a>UpdateFleetAttributes</a> </p> </li> <li> <p> <a>UpdateFleetCapacity</a> </p> </li> <li> <p> <a>UpdateFleetPortSettings</a> </p> </li> <li> <p> <a>UpdateRuntimeConfiguration</a> </p> </li> </ul> </li> <li> <p> <a>StartFleetActions</a> or <a>StopFleetActions</a> </p> </li> </ul></p>
11003 async fn update_runtime_configuration(
11004 &self,
11005 input: UpdateRuntimeConfigurationInput,
11006 ) -> Result<UpdateRuntimeConfigurationOutput, RusotoError<UpdateRuntimeConfigurationError>>
11007 {
11008 let mut request = self.new_signed_request("POST", "/");
11009 request.add_header("x-amz-target", "GameLift.UpdateRuntimeConfiguration");
11010 let encoded = serde_json::to_string(&input).unwrap();
11011 request.set_payload(Some(encoded));
11012
11013 let response = self
11014 .sign_and_dispatch(request, UpdateRuntimeConfigurationError::from_response)
11015 .await?;
11016 let mut response = response;
11017 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
11018 proto::json::ResponsePayload::new(&response)
11019 .deserialize::<UpdateRuntimeConfigurationOutput, _>()
11020 }
11021
11022 /// <p><p>Updates Realtime script metadata and content.</p> <p>To update script metadata, specify the script ID and provide updated name and/or version values. </p> <p>To update script content, provide an updated zip file by pointing to either a local file or an Amazon S3 bucket location. You can use either method regardless of how the original script was uploaded. Use the <i>Version</i> parameter to track updates to the script.</p> <p>If the call is successful, the updated metadata is stored in the script record and a revised script is uploaded to the Amazon GameLift service. Once the script is updated and acquired by a fleet instance, the new version is used for all new game sessions. </p> <p> <b>Learn more</b> </p> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html">Amazon GameLift Realtime Servers</a> </p> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateScript</a> </p> </li> <li> <p> <a>ListScripts</a> </p> </li> <li> <p> <a>DescribeScript</a> </p> </li> <li> <p> <a>UpdateScript</a> </p> </li> <li> <p> <a>DeleteScript</a> </p> </li> </ul></p>
11023 async fn update_script(
11024 &self,
11025 input: UpdateScriptInput,
11026 ) -> Result<UpdateScriptOutput, RusotoError<UpdateScriptError>> {
11027 let mut request = self.new_signed_request("POST", "/");
11028 request.add_header("x-amz-target", "GameLift.UpdateScript");
11029 let encoded = serde_json::to_string(&input).unwrap();
11030 request.set_payload(Some(encoded));
11031
11032 let response = self
11033 .sign_and_dispatch(request, UpdateScriptError::from_response)
11034 .await?;
11035 let mut response = response;
11036 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
11037 proto::json::ResponsePayload::new(&response).deserialize::<UpdateScriptOutput, _>()
11038 }
11039
11040 /// <p><p>Validates the syntax of a matchmaking rule or rule set. This operation checks that the rule set is using syntactically correct JSON and that it conforms to allowed property expressions. To validate syntax, provide a rule set JSON string.</p> <p> <b>Learn more</b> </p> <ul> <li> <p> <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/match-rulesets.html">Build a Rule Set</a> </p> </li> </ul> <p> <b>Related operations</b> </p> <ul> <li> <p> <a>CreateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DescribeMatchmakingConfigurations</a> </p> </li> <li> <p> <a>UpdateMatchmakingConfiguration</a> </p> </li> <li> <p> <a>DeleteMatchmakingConfiguration</a> </p> </li> <li> <p> <a>CreateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DescribeMatchmakingRuleSets</a> </p> </li> <li> <p> <a>ValidateMatchmakingRuleSet</a> </p> </li> <li> <p> <a>DeleteMatchmakingRuleSet</a> </p> </li> </ul></p>
11041 async fn validate_matchmaking_rule_set(
11042 &self,
11043 input: ValidateMatchmakingRuleSetInput,
11044 ) -> Result<ValidateMatchmakingRuleSetOutput, RusotoError<ValidateMatchmakingRuleSetError>>
11045 {
11046 let mut request = self.new_signed_request("POST", "/");
11047 request.add_header("x-amz-target", "GameLift.ValidateMatchmakingRuleSet");
11048 let encoded = serde_json::to_string(&input).unwrap();
11049 request.set_payload(Some(encoded));
11050
11051 let response = self
11052 .sign_and_dispatch(request, ValidateMatchmakingRuleSetError::from_response)
11053 .await?;
11054 let mut response = response;
11055 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
11056 proto::json::ResponsePayload::new(&response)
11057 .deserialize::<ValidateMatchmakingRuleSetOutput, _>()
11058 }
11059}