1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/gamelift/GameLift_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/gamelift/model/GameSessionPlacementState.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <aws/core/utils/DateTime.h>
12 #include <aws/gamelift/model/GameProperty.h>
13 #include <aws/gamelift/model/PlayerLatency.h>
14 #include <aws/gamelift/model/PlacedPlayerSession.h>
15 #include <utility>
16 
17 namespace Aws
18 {
19 namespace Utils
20 {
21 namespace Json
22 {
23   class JsonValue;
24   class JsonView;
25 } // namespace Json
26 } // namespace Utils
27 namespace GameLift
28 {
29 namespace Model
30 {
31 
32   /**
33    * <p>Object that describes a <a>StartGameSessionPlacement</a> request. This object
34    * includes the full details of the original request plus the current status and
35    * start/end time stamps.</p> <p>Game session placement-related operations
36    * include:</p> <ul> <li> <p> <a>StartGameSessionPlacement</a> </p> </li> <li> <p>
37    * <a>DescribeGameSessionPlacement</a> </p> </li> <li> <p>
38    * <a>StopGameSessionPlacement</a> </p> </li> </ul><p><h3>See Also:</h3>   <a
39    * href="http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GameSessionPlacement">AWS
40    * API Reference</a></p>
41    */
42   class AWS_GAMELIFT_API GameSessionPlacement
43   {
44   public:
45     GameSessionPlacement();
46     GameSessionPlacement(Aws::Utils::Json::JsonView jsonValue);
47     GameSessionPlacement& operator=(Aws::Utils::Json::JsonView jsonValue);
48     Aws::Utils::Json::JsonValue Jsonize() const;
49 
50 
51     /**
52      * <p>A unique identifier for a game session placement.</p>
53      */
GetPlacementId()54     inline const Aws::String& GetPlacementId() const{ return m_placementId; }
55 
56     /**
57      * <p>A unique identifier for a game session placement.</p>
58      */
PlacementIdHasBeenSet()59     inline bool PlacementIdHasBeenSet() const { return m_placementIdHasBeenSet; }
60 
61     /**
62      * <p>A unique identifier for a game session placement.</p>
63      */
SetPlacementId(const Aws::String & value)64     inline void SetPlacementId(const Aws::String& value) { m_placementIdHasBeenSet = true; m_placementId = value; }
65 
66     /**
67      * <p>A unique identifier for a game session placement.</p>
68      */
SetPlacementId(Aws::String && value)69     inline void SetPlacementId(Aws::String&& value) { m_placementIdHasBeenSet = true; m_placementId = std::move(value); }
70 
71     /**
72      * <p>A unique identifier for a game session placement.</p>
73      */
SetPlacementId(const char * value)74     inline void SetPlacementId(const char* value) { m_placementIdHasBeenSet = true; m_placementId.assign(value); }
75 
76     /**
77      * <p>A unique identifier for a game session placement.</p>
78      */
WithPlacementId(const Aws::String & value)79     inline GameSessionPlacement& WithPlacementId(const Aws::String& value) { SetPlacementId(value); return *this;}
80 
81     /**
82      * <p>A unique identifier for a game session placement.</p>
83      */
WithPlacementId(Aws::String && value)84     inline GameSessionPlacement& WithPlacementId(Aws::String&& value) { SetPlacementId(std::move(value)); return *this;}
85 
86     /**
87      * <p>A unique identifier for a game session placement.</p>
88      */
WithPlacementId(const char * value)89     inline GameSessionPlacement& WithPlacementId(const char* value) { SetPlacementId(value); return *this;}
90 
91 
92     /**
93      * <p>A descriptive label that is associated with game session queue. Queue names
94      * must be unique within each Region.</p>
95      */
GetGameSessionQueueName()96     inline const Aws::String& GetGameSessionQueueName() const{ return m_gameSessionQueueName; }
97 
98     /**
99      * <p>A descriptive label that is associated with game session queue. Queue names
100      * must be unique within each Region.</p>
101      */
GameSessionQueueNameHasBeenSet()102     inline bool GameSessionQueueNameHasBeenSet() const { return m_gameSessionQueueNameHasBeenSet; }
103 
104     /**
105      * <p>A descriptive label that is associated with game session queue. Queue names
106      * must be unique within each Region.</p>
107      */
SetGameSessionQueueName(const Aws::String & value)108     inline void SetGameSessionQueueName(const Aws::String& value) { m_gameSessionQueueNameHasBeenSet = true; m_gameSessionQueueName = value; }
109 
110     /**
111      * <p>A descriptive label that is associated with game session queue. Queue names
112      * must be unique within each Region.</p>
113      */
SetGameSessionQueueName(Aws::String && value)114     inline void SetGameSessionQueueName(Aws::String&& value) { m_gameSessionQueueNameHasBeenSet = true; m_gameSessionQueueName = std::move(value); }
115 
116     /**
117      * <p>A descriptive label that is associated with game session queue. Queue names
118      * must be unique within each Region.</p>
119      */
SetGameSessionQueueName(const char * value)120     inline void SetGameSessionQueueName(const char* value) { m_gameSessionQueueNameHasBeenSet = true; m_gameSessionQueueName.assign(value); }
121 
122     /**
123      * <p>A descriptive label that is associated with game session queue. Queue names
124      * must be unique within each Region.</p>
125      */
WithGameSessionQueueName(const Aws::String & value)126     inline GameSessionPlacement& WithGameSessionQueueName(const Aws::String& value) { SetGameSessionQueueName(value); return *this;}
127 
128     /**
129      * <p>A descriptive label that is associated with game session queue. Queue names
130      * must be unique within each Region.</p>
131      */
WithGameSessionQueueName(Aws::String && value)132     inline GameSessionPlacement& WithGameSessionQueueName(Aws::String&& value) { SetGameSessionQueueName(std::move(value)); return *this;}
133 
134     /**
135      * <p>A descriptive label that is associated with game session queue. Queue names
136      * must be unique within each Region.</p>
137      */
WithGameSessionQueueName(const char * value)138     inline GameSessionPlacement& WithGameSessionQueueName(const char* value) { SetGameSessionQueueName(value); return *this;}
139 
140 
141     /**
142      * <p>Current status of the game session placement request.</p> <ul> <li> <p>
143      * <b>PENDING</b> -- The placement request is currently in the queue waiting to be
144      * processed.</p> </li> <li> <p> <b>FULFILLED</b> -- A new game session and player
145      * sessions (if requested) have been successfully created. Values for
146      * <i>GameSessionArn</i> and <i>GameSessionRegion</i> are available. </p> </li>
147      * <li> <p> <b>CANCELLED</b> -- The placement request was canceled with a call to
148      * <a>StopGameSessionPlacement</a>.</p> </li> <li> <p> <b>TIMED_OUT</b> -- A new
149      * game session was not successfully created before the time limit expired. You can
150      * resubmit the placement request as needed.</p> </li> <li> <p> <b>FAILED</b> --
151      * GameLift is not able to complete the process of placing the game session. Common
152      * reasons are the game session terminated before the placement process was
153      * completed, or an unexpected internal error.</p> </li> </ul>
154      */
GetStatus()155     inline const GameSessionPlacementState& GetStatus() const{ return m_status; }
156 
157     /**
158      * <p>Current status of the game session placement request.</p> <ul> <li> <p>
159      * <b>PENDING</b> -- The placement request is currently in the queue waiting to be
160      * processed.</p> </li> <li> <p> <b>FULFILLED</b> -- A new game session and player
161      * sessions (if requested) have been successfully created. Values for
162      * <i>GameSessionArn</i> and <i>GameSessionRegion</i> are available. </p> </li>
163      * <li> <p> <b>CANCELLED</b> -- The placement request was canceled with a call to
164      * <a>StopGameSessionPlacement</a>.</p> </li> <li> <p> <b>TIMED_OUT</b> -- A new
165      * game session was not successfully created before the time limit expired. You can
166      * resubmit the placement request as needed.</p> </li> <li> <p> <b>FAILED</b> --
167      * GameLift is not able to complete the process of placing the game session. Common
168      * reasons are the game session terminated before the placement process was
169      * completed, or an unexpected internal error.</p> </li> </ul>
170      */
StatusHasBeenSet()171     inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
172 
173     /**
174      * <p>Current status of the game session placement request.</p> <ul> <li> <p>
175      * <b>PENDING</b> -- The placement request is currently in the queue waiting to be
176      * processed.</p> </li> <li> <p> <b>FULFILLED</b> -- A new game session and player
177      * sessions (if requested) have been successfully created. Values for
178      * <i>GameSessionArn</i> and <i>GameSessionRegion</i> are available. </p> </li>
179      * <li> <p> <b>CANCELLED</b> -- The placement request was canceled with a call to
180      * <a>StopGameSessionPlacement</a>.</p> </li> <li> <p> <b>TIMED_OUT</b> -- A new
181      * game session was not successfully created before the time limit expired. You can
182      * resubmit the placement request as needed.</p> </li> <li> <p> <b>FAILED</b> --
183      * GameLift is not able to complete the process of placing the game session. Common
184      * reasons are the game session terminated before the placement process was
185      * completed, or an unexpected internal error.</p> </li> </ul>
186      */
SetStatus(const GameSessionPlacementState & value)187     inline void SetStatus(const GameSessionPlacementState& value) { m_statusHasBeenSet = true; m_status = value; }
188 
189     /**
190      * <p>Current status of the game session placement request.</p> <ul> <li> <p>
191      * <b>PENDING</b> -- The placement request is currently in the queue waiting to be
192      * processed.</p> </li> <li> <p> <b>FULFILLED</b> -- A new game session and player
193      * sessions (if requested) have been successfully created. Values for
194      * <i>GameSessionArn</i> and <i>GameSessionRegion</i> are available. </p> </li>
195      * <li> <p> <b>CANCELLED</b> -- The placement request was canceled with a call to
196      * <a>StopGameSessionPlacement</a>.</p> </li> <li> <p> <b>TIMED_OUT</b> -- A new
197      * game session was not successfully created before the time limit expired. You can
198      * resubmit the placement request as needed.</p> </li> <li> <p> <b>FAILED</b> --
199      * GameLift is not able to complete the process of placing the game session. Common
200      * reasons are the game session terminated before the placement process was
201      * completed, or an unexpected internal error.</p> </li> </ul>
202      */
SetStatus(GameSessionPlacementState && value)203     inline void SetStatus(GameSessionPlacementState&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
204 
205     /**
206      * <p>Current status of the game session placement request.</p> <ul> <li> <p>
207      * <b>PENDING</b> -- The placement request is currently in the queue waiting to be
208      * processed.</p> </li> <li> <p> <b>FULFILLED</b> -- A new game session and player
209      * sessions (if requested) have been successfully created. Values for
210      * <i>GameSessionArn</i> and <i>GameSessionRegion</i> are available. </p> </li>
211      * <li> <p> <b>CANCELLED</b> -- The placement request was canceled with a call to
212      * <a>StopGameSessionPlacement</a>.</p> </li> <li> <p> <b>TIMED_OUT</b> -- A new
213      * game session was not successfully created before the time limit expired. You can
214      * resubmit the placement request as needed.</p> </li> <li> <p> <b>FAILED</b> --
215      * GameLift is not able to complete the process of placing the game session. Common
216      * reasons are the game session terminated before the placement process was
217      * completed, or an unexpected internal error.</p> </li> </ul>
218      */
WithStatus(const GameSessionPlacementState & value)219     inline GameSessionPlacement& WithStatus(const GameSessionPlacementState& value) { SetStatus(value); return *this;}
220 
221     /**
222      * <p>Current status of the game session placement request.</p> <ul> <li> <p>
223      * <b>PENDING</b> -- The placement request is currently in the queue waiting to be
224      * processed.</p> </li> <li> <p> <b>FULFILLED</b> -- A new game session and player
225      * sessions (if requested) have been successfully created. Values for
226      * <i>GameSessionArn</i> and <i>GameSessionRegion</i> are available. </p> </li>
227      * <li> <p> <b>CANCELLED</b> -- The placement request was canceled with a call to
228      * <a>StopGameSessionPlacement</a>.</p> </li> <li> <p> <b>TIMED_OUT</b> -- A new
229      * game session was not successfully created before the time limit expired. You can
230      * resubmit the placement request as needed.</p> </li> <li> <p> <b>FAILED</b> --
231      * GameLift is not able to complete the process of placing the game session. Common
232      * reasons are the game session terminated before the placement process was
233      * completed, or an unexpected internal error.</p> </li> </ul>
234      */
WithStatus(GameSessionPlacementState && value)235     inline GameSessionPlacement& WithStatus(GameSessionPlacementState&& value) { SetStatus(std::move(value)); return *this;}
236 
237 
238     /**
239      * <p>A set of custom properties for a game session, formatted as key:value pairs.
240      * These properties are passed to a game server process in the <a>GameSession</a>
241      * object with a request to start a new game session (see <a
242      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
243      * a Game Session</a>).</p>
244      */
GetGameProperties()245     inline const Aws::Vector<GameProperty>& GetGameProperties() const{ return m_gameProperties; }
246 
247     /**
248      * <p>A set of custom properties for a game session, formatted as key:value pairs.
249      * These properties are passed to a game server process in the <a>GameSession</a>
250      * object with a request to start a new game session (see <a
251      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
252      * a Game Session</a>).</p>
253      */
GamePropertiesHasBeenSet()254     inline bool GamePropertiesHasBeenSet() const { return m_gamePropertiesHasBeenSet; }
255 
256     /**
257      * <p>A set of custom properties for a game session, formatted as key:value pairs.
258      * These properties are passed to a game server process in the <a>GameSession</a>
259      * object with a request to start a new game session (see <a
260      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
261      * a Game Session</a>).</p>
262      */
SetGameProperties(const Aws::Vector<GameProperty> & value)263     inline void SetGameProperties(const Aws::Vector<GameProperty>& value) { m_gamePropertiesHasBeenSet = true; m_gameProperties = value; }
264 
265     /**
266      * <p>A set of custom properties for a game session, formatted as key:value pairs.
267      * These properties are passed to a game server process in the <a>GameSession</a>
268      * object with a request to start a new game session (see <a
269      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
270      * a Game Session</a>).</p>
271      */
SetGameProperties(Aws::Vector<GameProperty> && value)272     inline void SetGameProperties(Aws::Vector<GameProperty>&& value) { m_gamePropertiesHasBeenSet = true; m_gameProperties = std::move(value); }
273 
274     /**
275      * <p>A set of custom properties for a game session, formatted as key:value pairs.
276      * These properties are passed to a game server process in the <a>GameSession</a>
277      * object with a request to start a new game session (see <a
278      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
279      * a Game Session</a>).</p>
280      */
WithGameProperties(const Aws::Vector<GameProperty> & value)281     inline GameSessionPlacement& WithGameProperties(const Aws::Vector<GameProperty>& value) { SetGameProperties(value); return *this;}
282 
283     /**
284      * <p>A set of custom properties for a game session, formatted as key:value pairs.
285      * These properties are passed to a game server process in the <a>GameSession</a>
286      * object with a request to start a new game session (see <a
287      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
288      * a Game Session</a>).</p>
289      */
WithGameProperties(Aws::Vector<GameProperty> && value)290     inline GameSessionPlacement& WithGameProperties(Aws::Vector<GameProperty>&& value) { SetGameProperties(std::move(value)); return *this;}
291 
292     /**
293      * <p>A set of custom properties for a game session, formatted as key:value pairs.
294      * These properties are passed to a game server process in the <a>GameSession</a>
295      * object with a request to start a new game session (see <a
296      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
297      * a Game Session</a>).</p>
298      */
AddGameProperties(const GameProperty & value)299     inline GameSessionPlacement& AddGameProperties(const GameProperty& value) { m_gamePropertiesHasBeenSet = true; m_gameProperties.push_back(value); return *this; }
300 
301     /**
302      * <p>A set of custom properties for a game session, formatted as key:value pairs.
303      * These properties are passed to a game server process in the <a>GameSession</a>
304      * object with a request to start a new game session (see <a
305      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
306      * a Game Session</a>).</p>
307      */
AddGameProperties(GameProperty && value)308     inline GameSessionPlacement& AddGameProperties(GameProperty&& value) { m_gamePropertiesHasBeenSet = true; m_gameProperties.push_back(std::move(value)); return *this; }
309 
310 
311     /**
312      * <p>The maximum number of players that can be connected simultaneously to the
313      * game session.</p>
314      */
GetMaximumPlayerSessionCount()315     inline int GetMaximumPlayerSessionCount() const{ return m_maximumPlayerSessionCount; }
316 
317     /**
318      * <p>The maximum number of players that can be connected simultaneously to the
319      * game session.</p>
320      */
MaximumPlayerSessionCountHasBeenSet()321     inline bool MaximumPlayerSessionCountHasBeenSet() const { return m_maximumPlayerSessionCountHasBeenSet; }
322 
323     /**
324      * <p>The maximum number of players that can be connected simultaneously to the
325      * game session.</p>
326      */
SetMaximumPlayerSessionCount(int value)327     inline void SetMaximumPlayerSessionCount(int value) { m_maximumPlayerSessionCountHasBeenSet = true; m_maximumPlayerSessionCount = value; }
328 
329     /**
330      * <p>The maximum number of players that can be connected simultaneously to the
331      * game session.</p>
332      */
WithMaximumPlayerSessionCount(int value)333     inline GameSessionPlacement& WithMaximumPlayerSessionCount(int value) { SetMaximumPlayerSessionCount(value); return *this;}
334 
335 
336     /**
337      * <p>A descriptive label that is associated with a game session. Session names do
338      * not need to be unique.</p>
339      */
GetGameSessionName()340     inline const Aws::String& GetGameSessionName() const{ return m_gameSessionName; }
341 
342     /**
343      * <p>A descriptive label that is associated with a game session. Session names do
344      * not need to be unique.</p>
345      */
GameSessionNameHasBeenSet()346     inline bool GameSessionNameHasBeenSet() const { return m_gameSessionNameHasBeenSet; }
347 
348     /**
349      * <p>A descriptive label that is associated with a game session. Session names do
350      * not need to be unique.</p>
351      */
SetGameSessionName(const Aws::String & value)352     inline void SetGameSessionName(const Aws::String& value) { m_gameSessionNameHasBeenSet = true; m_gameSessionName = value; }
353 
354     /**
355      * <p>A descriptive label that is associated with a game session. Session names do
356      * not need to be unique.</p>
357      */
SetGameSessionName(Aws::String && value)358     inline void SetGameSessionName(Aws::String&& value) { m_gameSessionNameHasBeenSet = true; m_gameSessionName = std::move(value); }
359 
360     /**
361      * <p>A descriptive label that is associated with a game session. Session names do
362      * not need to be unique.</p>
363      */
SetGameSessionName(const char * value)364     inline void SetGameSessionName(const char* value) { m_gameSessionNameHasBeenSet = true; m_gameSessionName.assign(value); }
365 
366     /**
367      * <p>A descriptive label that is associated with a game session. Session names do
368      * not need to be unique.</p>
369      */
WithGameSessionName(const Aws::String & value)370     inline GameSessionPlacement& WithGameSessionName(const Aws::String& value) { SetGameSessionName(value); return *this;}
371 
372     /**
373      * <p>A descriptive label that is associated with a game session. Session names do
374      * not need to be unique.</p>
375      */
WithGameSessionName(Aws::String && value)376     inline GameSessionPlacement& WithGameSessionName(Aws::String&& value) { SetGameSessionName(std::move(value)); return *this;}
377 
378     /**
379      * <p>A descriptive label that is associated with a game session. Session names do
380      * not need to be unique.</p>
381      */
WithGameSessionName(const char * value)382     inline GameSessionPlacement& WithGameSessionName(const char* value) { SetGameSessionName(value); return *this;}
383 
384 
385     /**
386      * <p>A unique identifier for the game session. This value is set once the new game
387      * session is placed (placement status is <code>FULFILLED</code>).</p>
388      */
GetGameSessionId()389     inline const Aws::String& GetGameSessionId() const{ return m_gameSessionId; }
390 
391     /**
392      * <p>A unique identifier for the game session. This value is set once the new game
393      * session is placed (placement status is <code>FULFILLED</code>).</p>
394      */
GameSessionIdHasBeenSet()395     inline bool GameSessionIdHasBeenSet() const { return m_gameSessionIdHasBeenSet; }
396 
397     /**
398      * <p>A unique identifier for the game session. This value is set once the new game
399      * session is placed (placement status is <code>FULFILLED</code>).</p>
400      */
SetGameSessionId(const Aws::String & value)401     inline void SetGameSessionId(const Aws::String& value) { m_gameSessionIdHasBeenSet = true; m_gameSessionId = value; }
402 
403     /**
404      * <p>A unique identifier for the game session. This value is set once the new game
405      * session is placed (placement status is <code>FULFILLED</code>).</p>
406      */
SetGameSessionId(Aws::String && value)407     inline void SetGameSessionId(Aws::String&& value) { m_gameSessionIdHasBeenSet = true; m_gameSessionId = std::move(value); }
408 
409     /**
410      * <p>A unique identifier for the game session. This value is set once the new game
411      * session is placed (placement status is <code>FULFILLED</code>).</p>
412      */
SetGameSessionId(const char * value)413     inline void SetGameSessionId(const char* value) { m_gameSessionIdHasBeenSet = true; m_gameSessionId.assign(value); }
414 
415     /**
416      * <p>A unique identifier for the game session. This value is set once the new game
417      * session is placed (placement status is <code>FULFILLED</code>).</p>
418      */
WithGameSessionId(const Aws::String & value)419     inline GameSessionPlacement& WithGameSessionId(const Aws::String& value) { SetGameSessionId(value); return *this;}
420 
421     /**
422      * <p>A unique identifier for the game session. This value is set once the new game
423      * session is placed (placement status is <code>FULFILLED</code>).</p>
424      */
WithGameSessionId(Aws::String && value)425     inline GameSessionPlacement& WithGameSessionId(Aws::String&& value) { SetGameSessionId(std::move(value)); return *this;}
426 
427     /**
428      * <p>A unique identifier for the game session. This value is set once the new game
429      * session is placed (placement status is <code>FULFILLED</code>).</p>
430      */
WithGameSessionId(const char * value)431     inline GameSessionPlacement& WithGameSessionId(const char* value) { SetGameSessionId(value); return *this;}
432 
433 
434     /**
435      * <p>Identifier for the game session created by this placement request. This value
436      * is set once the new game session is placed (placement status is
437      * <code>FULFILLED</code>). This identifier is unique across all Regions. You can
438      * use this value as a <code>GameSessionId</code> value as needed.</p>
439      */
GetGameSessionArn()440     inline const Aws::String& GetGameSessionArn() const{ return m_gameSessionArn; }
441 
442     /**
443      * <p>Identifier for the game session created by this placement request. This value
444      * is set once the new game session is placed (placement status is
445      * <code>FULFILLED</code>). This identifier is unique across all Regions. You can
446      * use this value as a <code>GameSessionId</code> value as needed.</p>
447      */
GameSessionArnHasBeenSet()448     inline bool GameSessionArnHasBeenSet() const { return m_gameSessionArnHasBeenSet; }
449 
450     /**
451      * <p>Identifier for the game session created by this placement request. This value
452      * is set once the new game session is placed (placement status is
453      * <code>FULFILLED</code>). This identifier is unique across all Regions. You can
454      * use this value as a <code>GameSessionId</code> value as needed.</p>
455      */
SetGameSessionArn(const Aws::String & value)456     inline void SetGameSessionArn(const Aws::String& value) { m_gameSessionArnHasBeenSet = true; m_gameSessionArn = value; }
457 
458     /**
459      * <p>Identifier for the game session created by this placement request. This value
460      * is set once the new game session is placed (placement status is
461      * <code>FULFILLED</code>). This identifier is unique across all Regions. You can
462      * use this value as a <code>GameSessionId</code> value as needed.</p>
463      */
SetGameSessionArn(Aws::String && value)464     inline void SetGameSessionArn(Aws::String&& value) { m_gameSessionArnHasBeenSet = true; m_gameSessionArn = std::move(value); }
465 
466     /**
467      * <p>Identifier for the game session created by this placement request. This value
468      * is set once the new game session is placed (placement status is
469      * <code>FULFILLED</code>). This identifier is unique across all Regions. You can
470      * use this value as a <code>GameSessionId</code> value as needed.</p>
471      */
SetGameSessionArn(const char * value)472     inline void SetGameSessionArn(const char* value) { m_gameSessionArnHasBeenSet = true; m_gameSessionArn.assign(value); }
473 
474     /**
475      * <p>Identifier for the game session created by this placement request. This value
476      * is set once the new game session is placed (placement status is
477      * <code>FULFILLED</code>). This identifier is unique across all Regions. You can
478      * use this value as a <code>GameSessionId</code> value as needed.</p>
479      */
WithGameSessionArn(const Aws::String & value)480     inline GameSessionPlacement& WithGameSessionArn(const Aws::String& value) { SetGameSessionArn(value); return *this;}
481 
482     /**
483      * <p>Identifier for the game session created by this placement request. This value
484      * is set once the new game session is placed (placement status is
485      * <code>FULFILLED</code>). This identifier is unique across all Regions. You can
486      * use this value as a <code>GameSessionId</code> value as needed.</p>
487      */
WithGameSessionArn(Aws::String && value)488     inline GameSessionPlacement& WithGameSessionArn(Aws::String&& value) { SetGameSessionArn(std::move(value)); return *this;}
489 
490     /**
491      * <p>Identifier for the game session created by this placement request. This value
492      * is set once the new game session is placed (placement status is
493      * <code>FULFILLED</code>). This identifier is unique across all Regions. You can
494      * use this value as a <code>GameSessionId</code> value as needed.</p>
495      */
WithGameSessionArn(const char * value)496     inline GameSessionPlacement& WithGameSessionArn(const char* value) { SetGameSessionArn(value); return *this;}
497 
498 
499     /**
500      * <p>Name of the Region where the game session created by this placement request
501      * is running. This value is set once the new game session is placed (placement
502      * status is <code>FULFILLED</code>).</p>
503      */
GetGameSessionRegion()504     inline const Aws::String& GetGameSessionRegion() const{ return m_gameSessionRegion; }
505 
506     /**
507      * <p>Name of the Region where the game session created by this placement request
508      * is running. This value is set once the new game session is placed (placement
509      * status is <code>FULFILLED</code>).</p>
510      */
GameSessionRegionHasBeenSet()511     inline bool GameSessionRegionHasBeenSet() const { return m_gameSessionRegionHasBeenSet; }
512 
513     /**
514      * <p>Name of the Region where the game session created by this placement request
515      * is running. This value is set once the new game session is placed (placement
516      * status is <code>FULFILLED</code>).</p>
517      */
SetGameSessionRegion(const Aws::String & value)518     inline void SetGameSessionRegion(const Aws::String& value) { m_gameSessionRegionHasBeenSet = true; m_gameSessionRegion = value; }
519 
520     /**
521      * <p>Name of the Region where the game session created by this placement request
522      * is running. This value is set once the new game session is placed (placement
523      * status is <code>FULFILLED</code>).</p>
524      */
SetGameSessionRegion(Aws::String && value)525     inline void SetGameSessionRegion(Aws::String&& value) { m_gameSessionRegionHasBeenSet = true; m_gameSessionRegion = std::move(value); }
526 
527     /**
528      * <p>Name of the Region where the game session created by this placement request
529      * is running. This value is set once the new game session is placed (placement
530      * status is <code>FULFILLED</code>).</p>
531      */
SetGameSessionRegion(const char * value)532     inline void SetGameSessionRegion(const char* value) { m_gameSessionRegionHasBeenSet = true; m_gameSessionRegion.assign(value); }
533 
534     /**
535      * <p>Name of the Region where the game session created by this placement request
536      * is running. This value is set once the new game session is placed (placement
537      * status is <code>FULFILLED</code>).</p>
538      */
WithGameSessionRegion(const Aws::String & value)539     inline GameSessionPlacement& WithGameSessionRegion(const Aws::String& value) { SetGameSessionRegion(value); return *this;}
540 
541     /**
542      * <p>Name of the Region where the game session created by this placement request
543      * is running. This value is set once the new game session is placed (placement
544      * status is <code>FULFILLED</code>).</p>
545      */
WithGameSessionRegion(Aws::String && value)546     inline GameSessionPlacement& WithGameSessionRegion(Aws::String&& value) { SetGameSessionRegion(std::move(value)); return *this;}
547 
548     /**
549      * <p>Name of the Region where the game session created by this placement request
550      * is running. This value is set once the new game session is placed (placement
551      * status is <code>FULFILLED</code>).</p>
552      */
WithGameSessionRegion(const char * value)553     inline GameSessionPlacement& WithGameSessionRegion(const char* value) { SetGameSessionRegion(value); return *this;}
554 
555 
556     /**
557      * <p>A set of values, expressed in milliseconds, that indicates the amount of
558      * latency that a player experiences when connected to AWS Regions.</p>
559      */
GetPlayerLatencies()560     inline const Aws::Vector<PlayerLatency>& GetPlayerLatencies() const{ return m_playerLatencies; }
561 
562     /**
563      * <p>A set of values, expressed in milliseconds, that indicates the amount of
564      * latency that a player experiences when connected to AWS Regions.</p>
565      */
PlayerLatenciesHasBeenSet()566     inline bool PlayerLatenciesHasBeenSet() const { return m_playerLatenciesHasBeenSet; }
567 
568     /**
569      * <p>A set of values, expressed in milliseconds, that indicates the amount of
570      * latency that a player experiences when connected to AWS Regions.</p>
571      */
SetPlayerLatencies(const Aws::Vector<PlayerLatency> & value)572     inline void SetPlayerLatencies(const Aws::Vector<PlayerLatency>& value) { m_playerLatenciesHasBeenSet = true; m_playerLatencies = value; }
573 
574     /**
575      * <p>A set of values, expressed in milliseconds, that indicates the amount of
576      * latency that a player experiences when connected to AWS Regions.</p>
577      */
SetPlayerLatencies(Aws::Vector<PlayerLatency> && value)578     inline void SetPlayerLatencies(Aws::Vector<PlayerLatency>&& value) { m_playerLatenciesHasBeenSet = true; m_playerLatencies = std::move(value); }
579 
580     /**
581      * <p>A set of values, expressed in milliseconds, that indicates the amount of
582      * latency that a player experiences when connected to AWS Regions.</p>
583      */
WithPlayerLatencies(const Aws::Vector<PlayerLatency> & value)584     inline GameSessionPlacement& WithPlayerLatencies(const Aws::Vector<PlayerLatency>& value) { SetPlayerLatencies(value); return *this;}
585 
586     /**
587      * <p>A set of values, expressed in milliseconds, that indicates the amount of
588      * latency that a player experiences when connected to AWS Regions.</p>
589      */
WithPlayerLatencies(Aws::Vector<PlayerLatency> && value)590     inline GameSessionPlacement& WithPlayerLatencies(Aws::Vector<PlayerLatency>&& value) { SetPlayerLatencies(std::move(value)); return *this;}
591 
592     /**
593      * <p>A set of values, expressed in milliseconds, that indicates the amount of
594      * latency that a player experiences when connected to AWS Regions.</p>
595      */
AddPlayerLatencies(const PlayerLatency & value)596     inline GameSessionPlacement& AddPlayerLatencies(const PlayerLatency& value) { m_playerLatenciesHasBeenSet = true; m_playerLatencies.push_back(value); return *this; }
597 
598     /**
599      * <p>A set of values, expressed in milliseconds, that indicates the amount of
600      * latency that a player experiences when connected to AWS Regions.</p>
601      */
AddPlayerLatencies(PlayerLatency && value)602     inline GameSessionPlacement& AddPlayerLatencies(PlayerLatency&& value) { m_playerLatenciesHasBeenSet = true; m_playerLatencies.push_back(std::move(value)); return *this; }
603 
604 
605     /**
606      * <p>Time stamp indicating when this request was placed in the queue. Format is a
607      * number expressed in Unix time as milliseconds (for example
608      * <code>"1469498468.057"</code>).</p>
609      */
GetStartTime()610     inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; }
611 
612     /**
613      * <p>Time stamp indicating when this request was placed in the queue. Format is a
614      * number expressed in Unix time as milliseconds (for example
615      * <code>"1469498468.057"</code>).</p>
616      */
StartTimeHasBeenSet()617     inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
618 
619     /**
620      * <p>Time stamp indicating when this request was placed in the queue. Format is a
621      * number expressed in Unix time as milliseconds (for example
622      * <code>"1469498468.057"</code>).</p>
623      */
SetStartTime(const Aws::Utils::DateTime & value)624     inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; }
625 
626     /**
627      * <p>Time stamp indicating when this request was placed in the queue. Format is a
628      * number expressed in Unix time as milliseconds (for example
629      * <code>"1469498468.057"</code>).</p>
630      */
SetStartTime(Aws::Utils::DateTime && value)631     inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); }
632 
633     /**
634      * <p>Time stamp indicating when this request was placed in the queue. Format is a
635      * number expressed in Unix time as milliseconds (for example
636      * <code>"1469498468.057"</code>).</p>
637      */
WithStartTime(const Aws::Utils::DateTime & value)638     inline GameSessionPlacement& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;}
639 
640     /**
641      * <p>Time stamp indicating when this request was placed in the queue. Format is a
642      * number expressed in Unix time as milliseconds (for example
643      * <code>"1469498468.057"</code>).</p>
644      */
WithStartTime(Aws::Utils::DateTime && value)645     inline GameSessionPlacement& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;}
646 
647 
648     /**
649      * <p>Time stamp indicating when this request was completed, canceled, or timed
650      * out.</p>
651      */
GetEndTime()652     inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; }
653 
654     /**
655      * <p>Time stamp indicating when this request was completed, canceled, or timed
656      * out.</p>
657      */
EndTimeHasBeenSet()658     inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
659 
660     /**
661      * <p>Time stamp indicating when this request was completed, canceled, or timed
662      * out.</p>
663      */
SetEndTime(const Aws::Utils::DateTime & value)664     inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; }
665 
666     /**
667      * <p>Time stamp indicating when this request was completed, canceled, or timed
668      * out.</p>
669      */
SetEndTime(Aws::Utils::DateTime && value)670     inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); }
671 
672     /**
673      * <p>Time stamp indicating when this request was completed, canceled, or timed
674      * out.</p>
675      */
WithEndTime(const Aws::Utils::DateTime & value)676     inline GameSessionPlacement& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;}
677 
678     /**
679      * <p>Time stamp indicating when this request was completed, canceled, or timed
680      * out.</p>
681      */
WithEndTime(Aws::Utils::DateTime && value)682     inline GameSessionPlacement& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;}
683 
684 
685     /**
686      * <p>The IP address of the game session. To connect to a GameLift game server, an
687      * app needs both the IP address and port number. This value is set once the new
688      * game session is placed (placement status is <code>FULFILLED</code>). </p>
689      */
GetIpAddress()690     inline const Aws::String& GetIpAddress() const{ return m_ipAddress; }
691 
692     /**
693      * <p>The IP address of the game session. To connect to a GameLift game server, an
694      * app needs both the IP address and port number. This value is set once the new
695      * game session is placed (placement status is <code>FULFILLED</code>). </p>
696      */
IpAddressHasBeenSet()697     inline bool IpAddressHasBeenSet() const { return m_ipAddressHasBeenSet; }
698 
699     /**
700      * <p>The IP address of the game session. To connect to a GameLift game server, an
701      * app needs both the IP address and port number. This value is set once the new
702      * game session is placed (placement status is <code>FULFILLED</code>). </p>
703      */
SetIpAddress(const Aws::String & value)704     inline void SetIpAddress(const Aws::String& value) { m_ipAddressHasBeenSet = true; m_ipAddress = value; }
705 
706     /**
707      * <p>The IP address of the game session. To connect to a GameLift game server, an
708      * app needs both the IP address and port number. This value is set once the new
709      * game session is placed (placement status is <code>FULFILLED</code>). </p>
710      */
SetIpAddress(Aws::String && value)711     inline void SetIpAddress(Aws::String&& value) { m_ipAddressHasBeenSet = true; m_ipAddress = std::move(value); }
712 
713     /**
714      * <p>The IP address of the game session. To connect to a GameLift game server, an
715      * app needs both the IP address and port number. This value is set once the new
716      * game session is placed (placement status is <code>FULFILLED</code>). </p>
717      */
SetIpAddress(const char * value)718     inline void SetIpAddress(const char* value) { m_ipAddressHasBeenSet = true; m_ipAddress.assign(value); }
719 
720     /**
721      * <p>The IP address of the game session. To connect to a GameLift game server, an
722      * app needs both the IP address and port number. This value is set once the new
723      * game session is placed (placement status is <code>FULFILLED</code>). </p>
724      */
WithIpAddress(const Aws::String & value)725     inline GameSessionPlacement& WithIpAddress(const Aws::String& value) { SetIpAddress(value); return *this;}
726 
727     /**
728      * <p>The IP address of the game session. To connect to a GameLift game server, an
729      * app needs both the IP address and port number. This value is set once the new
730      * game session is placed (placement status is <code>FULFILLED</code>). </p>
731      */
WithIpAddress(Aws::String && value)732     inline GameSessionPlacement& WithIpAddress(Aws::String&& value) { SetIpAddress(std::move(value)); return *this;}
733 
734     /**
735      * <p>The IP address of the game session. To connect to a GameLift game server, an
736      * app needs both the IP address and port number. This value is set once the new
737      * game session is placed (placement status is <code>FULFILLED</code>). </p>
738      */
WithIpAddress(const char * value)739     inline GameSessionPlacement& WithIpAddress(const char* value) { SetIpAddress(value); return *this;}
740 
741 
742     /**
743      * <p>The DNS identifier assigned to the instance that is running the game session.
744      * Values have the following format:</p> <ul> <li> <p>TLS-enabled fleets:
745      * <code>&lt;unique identifier&gt;.&lt;region
746      * identifier&gt;.amazongamelift.com</code>.</p> </li> <li> <p>Non-TLS-enabled
747      * fleets: <code>ec2-&lt;unique identifier&gt;.compute.amazonaws.com</code>. (See
748      * <a
749      * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses">Amazon
750      * EC2 Instance IP Addressing</a>.)</p> </li> </ul> <p>When connecting to a game
751      * session that is running on a TLS-enabled fleet, you must use the DNS name, not
752      * the IP address.</p>
753      */
GetDnsName()754     inline const Aws::String& GetDnsName() const{ return m_dnsName; }
755 
756     /**
757      * <p>The DNS identifier assigned to the instance that is running the game session.
758      * Values have the following format:</p> <ul> <li> <p>TLS-enabled fleets:
759      * <code>&lt;unique identifier&gt;.&lt;region
760      * identifier&gt;.amazongamelift.com</code>.</p> </li> <li> <p>Non-TLS-enabled
761      * fleets: <code>ec2-&lt;unique identifier&gt;.compute.amazonaws.com</code>. (See
762      * <a
763      * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses">Amazon
764      * EC2 Instance IP Addressing</a>.)</p> </li> </ul> <p>When connecting to a game
765      * session that is running on a TLS-enabled fleet, you must use the DNS name, not
766      * the IP address.</p>
767      */
DnsNameHasBeenSet()768     inline bool DnsNameHasBeenSet() const { return m_dnsNameHasBeenSet; }
769 
770     /**
771      * <p>The DNS identifier assigned to the instance that is running the game session.
772      * Values have the following format:</p> <ul> <li> <p>TLS-enabled fleets:
773      * <code>&lt;unique identifier&gt;.&lt;region
774      * identifier&gt;.amazongamelift.com</code>.</p> </li> <li> <p>Non-TLS-enabled
775      * fleets: <code>ec2-&lt;unique identifier&gt;.compute.amazonaws.com</code>. (See
776      * <a
777      * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses">Amazon
778      * EC2 Instance IP Addressing</a>.)</p> </li> </ul> <p>When connecting to a game
779      * session that is running on a TLS-enabled fleet, you must use the DNS name, not
780      * the IP address.</p>
781      */
SetDnsName(const Aws::String & value)782     inline void SetDnsName(const Aws::String& value) { m_dnsNameHasBeenSet = true; m_dnsName = value; }
783 
784     /**
785      * <p>The DNS identifier assigned to the instance that is running the game session.
786      * Values have the following format:</p> <ul> <li> <p>TLS-enabled fleets:
787      * <code>&lt;unique identifier&gt;.&lt;region
788      * identifier&gt;.amazongamelift.com</code>.</p> </li> <li> <p>Non-TLS-enabled
789      * fleets: <code>ec2-&lt;unique identifier&gt;.compute.amazonaws.com</code>. (See
790      * <a
791      * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses">Amazon
792      * EC2 Instance IP Addressing</a>.)</p> </li> </ul> <p>When connecting to a game
793      * session that is running on a TLS-enabled fleet, you must use the DNS name, not
794      * the IP address.</p>
795      */
SetDnsName(Aws::String && value)796     inline void SetDnsName(Aws::String&& value) { m_dnsNameHasBeenSet = true; m_dnsName = std::move(value); }
797 
798     /**
799      * <p>The DNS identifier assigned to the instance that is running the game session.
800      * Values have the following format:</p> <ul> <li> <p>TLS-enabled fleets:
801      * <code>&lt;unique identifier&gt;.&lt;region
802      * identifier&gt;.amazongamelift.com</code>.</p> </li> <li> <p>Non-TLS-enabled
803      * fleets: <code>ec2-&lt;unique identifier&gt;.compute.amazonaws.com</code>. (See
804      * <a
805      * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses">Amazon
806      * EC2 Instance IP Addressing</a>.)</p> </li> </ul> <p>When connecting to a game
807      * session that is running on a TLS-enabled fleet, you must use the DNS name, not
808      * the IP address.</p>
809      */
SetDnsName(const char * value)810     inline void SetDnsName(const char* value) { m_dnsNameHasBeenSet = true; m_dnsName.assign(value); }
811 
812     /**
813      * <p>The DNS identifier assigned to the instance that is running the game session.
814      * Values have the following format:</p> <ul> <li> <p>TLS-enabled fleets:
815      * <code>&lt;unique identifier&gt;.&lt;region
816      * identifier&gt;.amazongamelift.com</code>.</p> </li> <li> <p>Non-TLS-enabled
817      * fleets: <code>ec2-&lt;unique identifier&gt;.compute.amazonaws.com</code>. (See
818      * <a
819      * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses">Amazon
820      * EC2 Instance IP Addressing</a>.)</p> </li> </ul> <p>When connecting to a game
821      * session that is running on a TLS-enabled fleet, you must use the DNS name, not
822      * the IP address.</p>
823      */
WithDnsName(const Aws::String & value)824     inline GameSessionPlacement& WithDnsName(const Aws::String& value) { SetDnsName(value); return *this;}
825 
826     /**
827      * <p>The DNS identifier assigned to the instance that is running the game session.
828      * Values have the following format:</p> <ul> <li> <p>TLS-enabled fleets:
829      * <code>&lt;unique identifier&gt;.&lt;region
830      * identifier&gt;.amazongamelift.com</code>.</p> </li> <li> <p>Non-TLS-enabled
831      * fleets: <code>ec2-&lt;unique identifier&gt;.compute.amazonaws.com</code>. (See
832      * <a
833      * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses">Amazon
834      * EC2 Instance IP Addressing</a>.)</p> </li> </ul> <p>When connecting to a game
835      * session that is running on a TLS-enabled fleet, you must use the DNS name, not
836      * the IP address.</p>
837      */
WithDnsName(Aws::String && value)838     inline GameSessionPlacement& WithDnsName(Aws::String&& value) { SetDnsName(std::move(value)); return *this;}
839 
840     /**
841      * <p>The DNS identifier assigned to the instance that is running the game session.
842      * Values have the following format:</p> <ul> <li> <p>TLS-enabled fleets:
843      * <code>&lt;unique identifier&gt;.&lt;region
844      * identifier&gt;.amazongamelift.com</code>.</p> </li> <li> <p>Non-TLS-enabled
845      * fleets: <code>ec2-&lt;unique identifier&gt;.compute.amazonaws.com</code>. (See
846      * <a
847      * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses">Amazon
848      * EC2 Instance IP Addressing</a>.)</p> </li> </ul> <p>When connecting to a game
849      * session that is running on a TLS-enabled fleet, you must use the DNS name, not
850      * the IP address.</p>
851      */
WithDnsName(const char * value)852     inline GameSessionPlacement& WithDnsName(const char* value) { SetDnsName(value); return *this;}
853 
854 
855     /**
856      * <p>The port number for the game session. To connect to a GameLift game server,
857      * an app needs both the IP address and port number. This value is set once the new
858      * game session is placed (placement status is <code>FULFILLED</code>).</p>
859      */
GetPort()860     inline int GetPort() const{ return m_port; }
861 
862     /**
863      * <p>The port number for the game session. To connect to a GameLift game server,
864      * an app needs both the IP address and port number. This value is set once the new
865      * game session is placed (placement status is <code>FULFILLED</code>).</p>
866      */
PortHasBeenSet()867     inline bool PortHasBeenSet() const { return m_portHasBeenSet; }
868 
869     /**
870      * <p>The port number for the game session. To connect to a GameLift game server,
871      * an app needs both the IP address and port number. This value is set once the new
872      * game session is placed (placement status is <code>FULFILLED</code>).</p>
873      */
SetPort(int value)874     inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; }
875 
876     /**
877      * <p>The port number for the game session. To connect to a GameLift game server,
878      * an app needs both the IP address and port number. This value is set once the new
879      * game session is placed (placement status is <code>FULFILLED</code>).</p>
880      */
WithPort(int value)881     inline GameSessionPlacement& WithPort(int value) { SetPort(value); return *this;}
882 
883 
884     /**
885      * <p>A collection of information on player sessions created in response to the
886      * game session placement request. These player sessions are created only once a
887      * new game session is successfully placed (placement status is
888      * <code>FULFILLED</code>). This information includes the player ID (as provided in
889      * the placement request) and the corresponding player session ID. Retrieve full
890      * player sessions by calling <a>DescribePlayerSessions</a> with the player session
891      * ID.</p>
892      */
GetPlacedPlayerSessions()893     inline const Aws::Vector<PlacedPlayerSession>& GetPlacedPlayerSessions() const{ return m_placedPlayerSessions; }
894 
895     /**
896      * <p>A collection of information on player sessions created in response to the
897      * game session placement request. These player sessions are created only once a
898      * new game session is successfully placed (placement status is
899      * <code>FULFILLED</code>). This information includes the player ID (as provided in
900      * the placement request) and the corresponding player session ID. Retrieve full
901      * player sessions by calling <a>DescribePlayerSessions</a> with the player session
902      * ID.</p>
903      */
PlacedPlayerSessionsHasBeenSet()904     inline bool PlacedPlayerSessionsHasBeenSet() const { return m_placedPlayerSessionsHasBeenSet; }
905 
906     /**
907      * <p>A collection of information on player sessions created in response to the
908      * game session placement request. These player sessions are created only once a
909      * new game session is successfully placed (placement status is
910      * <code>FULFILLED</code>). This information includes the player ID (as provided in
911      * the placement request) and the corresponding player session ID. Retrieve full
912      * player sessions by calling <a>DescribePlayerSessions</a> with the player session
913      * ID.</p>
914      */
SetPlacedPlayerSessions(const Aws::Vector<PlacedPlayerSession> & value)915     inline void SetPlacedPlayerSessions(const Aws::Vector<PlacedPlayerSession>& value) { m_placedPlayerSessionsHasBeenSet = true; m_placedPlayerSessions = value; }
916 
917     /**
918      * <p>A collection of information on player sessions created in response to the
919      * game session placement request. These player sessions are created only once a
920      * new game session is successfully placed (placement status is
921      * <code>FULFILLED</code>). This information includes the player ID (as provided in
922      * the placement request) and the corresponding player session ID. Retrieve full
923      * player sessions by calling <a>DescribePlayerSessions</a> with the player session
924      * ID.</p>
925      */
SetPlacedPlayerSessions(Aws::Vector<PlacedPlayerSession> && value)926     inline void SetPlacedPlayerSessions(Aws::Vector<PlacedPlayerSession>&& value) { m_placedPlayerSessionsHasBeenSet = true; m_placedPlayerSessions = std::move(value); }
927 
928     /**
929      * <p>A collection of information on player sessions created in response to the
930      * game session placement request. These player sessions are created only once a
931      * new game session is successfully placed (placement status is
932      * <code>FULFILLED</code>). This information includes the player ID (as provided in
933      * the placement request) and the corresponding player session ID. Retrieve full
934      * player sessions by calling <a>DescribePlayerSessions</a> with the player session
935      * ID.</p>
936      */
WithPlacedPlayerSessions(const Aws::Vector<PlacedPlayerSession> & value)937     inline GameSessionPlacement& WithPlacedPlayerSessions(const Aws::Vector<PlacedPlayerSession>& value) { SetPlacedPlayerSessions(value); return *this;}
938 
939     /**
940      * <p>A collection of information on player sessions created in response to the
941      * game session placement request. These player sessions are created only once a
942      * new game session is successfully placed (placement status is
943      * <code>FULFILLED</code>). This information includes the player ID (as provided in
944      * the placement request) and the corresponding player session ID. Retrieve full
945      * player sessions by calling <a>DescribePlayerSessions</a> with the player session
946      * ID.</p>
947      */
WithPlacedPlayerSessions(Aws::Vector<PlacedPlayerSession> && value)948     inline GameSessionPlacement& WithPlacedPlayerSessions(Aws::Vector<PlacedPlayerSession>&& value) { SetPlacedPlayerSessions(std::move(value)); return *this;}
949 
950     /**
951      * <p>A collection of information on player sessions created in response to the
952      * game session placement request. These player sessions are created only once a
953      * new game session is successfully placed (placement status is
954      * <code>FULFILLED</code>). This information includes the player ID (as provided in
955      * the placement request) and the corresponding player session ID. Retrieve full
956      * player sessions by calling <a>DescribePlayerSessions</a> with the player session
957      * ID.</p>
958      */
AddPlacedPlayerSessions(const PlacedPlayerSession & value)959     inline GameSessionPlacement& AddPlacedPlayerSessions(const PlacedPlayerSession& value) { m_placedPlayerSessionsHasBeenSet = true; m_placedPlayerSessions.push_back(value); return *this; }
960 
961     /**
962      * <p>A collection of information on player sessions created in response to the
963      * game session placement request. These player sessions are created only once a
964      * new game session is successfully placed (placement status is
965      * <code>FULFILLED</code>). This information includes the player ID (as provided in
966      * the placement request) and the corresponding player session ID. Retrieve full
967      * player sessions by calling <a>DescribePlayerSessions</a> with the player session
968      * ID.</p>
969      */
AddPlacedPlayerSessions(PlacedPlayerSession && value)970     inline GameSessionPlacement& AddPlacedPlayerSessions(PlacedPlayerSession&& value) { m_placedPlayerSessionsHasBeenSet = true; m_placedPlayerSessions.push_back(std::move(value)); return *this; }
971 
972 
973     /**
974      * <p>A set of custom game session properties, formatted as a single string value.
975      * This data is passed to a game server process in the <a>GameSession</a> object
976      * with a request to start a new game session (see <a
977      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
978      * a Game Session</a>).</p>
979      */
GetGameSessionData()980     inline const Aws::String& GetGameSessionData() const{ return m_gameSessionData; }
981 
982     /**
983      * <p>A set of custom game session properties, formatted as a single string value.
984      * This data is passed to a game server process in the <a>GameSession</a> object
985      * with a request to start a new game session (see <a
986      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
987      * a Game Session</a>).</p>
988      */
GameSessionDataHasBeenSet()989     inline bool GameSessionDataHasBeenSet() const { return m_gameSessionDataHasBeenSet; }
990 
991     /**
992      * <p>A set of custom game session properties, formatted as a single string value.
993      * This data is passed to a game server process in the <a>GameSession</a> object
994      * with a request to start a new game session (see <a
995      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
996      * a Game Session</a>).</p>
997      */
SetGameSessionData(const Aws::String & value)998     inline void SetGameSessionData(const Aws::String& value) { m_gameSessionDataHasBeenSet = true; m_gameSessionData = value; }
999 
1000     /**
1001      * <p>A set of custom game session properties, formatted as a single string value.
1002      * This data is passed to a game server process in the <a>GameSession</a> object
1003      * with a request to start a new game session (see <a
1004      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
1005      * a Game Session</a>).</p>
1006      */
SetGameSessionData(Aws::String && value)1007     inline void SetGameSessionData(Aws::String&& value) { m_gameSessionDataHasBeenSet = true; m_gameSessionData = std::move(value); }
1008 
1009     /**
1010      * <p>A set of custom game session properties, formatted as a single string value.
1011      * This data is passed to a game server process in the <a>GameSession</a> object
1012      * with a request to start a new game session (see <a
1013      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
1014      * a Game Session</a>).</p>
1015      */
SetGameSessionData(const char * value)1016     inline void SetGameSessionData(const char* value) { m_gameSessionDataHasBeenSet = true; m_gameSessionData.assign(value); }
1017 
1018     /**
1019      * <p>A set of custom game session properties, formatted as a single string value.
1020      * This data is passed to a game server process in the <a>GameSession</a> object
1021      * with a request to start a new game session (see <a
1022      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
1023      * a Game Session</a>).</p>
1024      */
WithGameSessionData(const Aws::String & value)1025     inline GameSessionPlacement& WithGameSessionData(const Aws::String& value) { SetGameSessionData(value); return *this;}
1026 
1027     /**
1028      * <p>A set of custom game session properties, formatted as a single string value.
1029      * This data is passed to a game server process in the <a>GameSession</a> object
1030      * with a request to start a new game session (see <a
1031      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
1032      * a Game Session</a>).</p>
1033      */
WithGameSessionData(Aws::String && value)1034     inline GameSessionPlacement& WithGameSessionData(Aws::String&& value) { SetGameSessionData(std::move(value)); return *this;}
1035 
1036     /**
1037      * <p>A set of custom game session properties, formatted as a single string value.
1038      * This data is passed to a game server process in the <a>GameSession</a> object
1039      * with a request to start a new game session (see <a
1040      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
1041      * a Game Session</a>).</p>
1042      */
WithGameSessionData(const char * value)1043     inline GameSessionPlacement& WithGameSessionData(const char* value) { SetGameSessionData(value); return *this;}
1044 
1045 
1046     /**
1047      * <p>Information on the matchmaking process for this game. Data is in JSON syntax,
1048      * formatted as a string. It identifies the matchmaking configuration used to
1049      * create the match, and contains data on all players assigned to the match,
1050      * including player attributes and team assignments. For more details on matchmaker
1051      * data, see <a
1052      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-server.html#match-server-data">Match
1053      * Data</a>.</p>
1054      */
GetMatchmakerData()1055     inline const Aws::String& GetMatchmakerData() const{ return m_matchmakerData; }
1056 
1057     /**
1058      * <p>Information on the matchmaking process for this game. Data is in JSON syntax,
1059      * formatted as a string. It identifies the matchmaking configuration used to
1060      * create the match, and contains data on all players assigned to the match,
1061      * including player attributes and team assignments. For more details on matchmaker
1062      * data, see <a
1063      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-server.html#match-server-data">Match
1064      * Data</a>.</p>
1065      */
MatchmakerDataHasBeenSet()1066     inline bool MatchmakerDataHasBeenSet() const { return m_matchmakerDataHasBeenSet; }
1067 
1068     /**
1069      * <p>Information on the matchmaking process for this game. Data is in JSON syntax,
1070      * formatted as a string. It identifies the matchmaking configuration used to
1071      * create the match, and contains data on all players assigned to the match,
1072      * including player attributes and team assignments. For more details on matchmaker
1073      * data, see <a
1074      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-server.html#match-server-data">Match
1075      * Data</a>.</p>
1076      */
SetMatchmakerData(const Aws::String & value)1077     inline void SetMatchmakerData(const Aws::String& value) { m_matchmakerDataHasBeenSet = true; m_matchmakerData = value; }
1078 
1079     /**
1080      * <p>Information on the matchmaking process for this game. Data is in JSON syntax,
1081      * formatted as a string. It identifies the matchmaking configuration used to
1082      * create the match, and contains data on all players assigned to the match,
1083      * including player attributes and team assignments. For more details on matchmaker
1084      * data, see <a
1085      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-server.html#match-server-data">Match
1086      * Data</a>.</p>
1087      */
SetMatchmakerData(Aws::String && value)1088     inline void SetMatchmakerData(Aws::String&& value) { m_matchmakerDataHasBeenSet = true; m_matchmakerData = std::move(value); }
1089 
1090     /**
1091      * <p>Information on the matchmaking process for this game. Data is in JSON syntax,
1092      * formatted as a string. It identifies the matchmaking configuration used to
1093      * create the match, and contains data on all players assigned to the match,
1094      * including player attributes and team assignments. For more details on matchmaker
1095      * data, see <a
1096      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-server.html#match-server-data">Match
1097      * Data</a>.</p>
1098      */
SetMatchmakerData(const char * value)1099     inline void SetMatchmakerData(const char* value) { m_matchmakerDataHasBeenSet = true; m_matchmakerData.assign(value); }
1100 
1101     /**
1102      * <p>Information on the matchmaking process for this game. Data is in JSON syntax,
1103      * formatted as a string. It identifies the matchmaking configuration used to
1104      * create the match, and contains data on all players assigned to the match,
1105      * including player attributes and team assignments. For more details on matchmaker
1106      * data, see <a
1107      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-server.html#match-server-data">Match
1108      * Data</a>.</p>
1109      */
WithMatchmakerData(const Aws::String & value)1110     inline GameSessionPlacement& WithMatchmakerData(const Aws::String& value) { SetMatchmakerData(value); return *this;}
1111 
1112     /**
1113      * <p>Information on the matchmaking process for this game. Data is in JSON syntax,
1114      * formatted as a string. It identifies the matchmaking configuration used to
1115      * create the match, and contains data on all players assigned to the match,
1116      * including player attributes and team assignments. For more details on matchmaker
1117      * data, see <a
1118      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-server.html#match-server-data">Match
1119      * Data</a>.</p>
1120      */
WithMatchmakerData(Aws::String && value)1121     inline GameSessionPlacement& WithMatchmakerData(Aws::String&& value) { SetMatchmakerData(std::move(value)); return *this;}
1122 
1123     /**
1124      * <p>Information on the matchmaking process for this game. Data is in JSON syntax,
1125      * formatted as a string. It identifies the matchmaking configuration used to
1126      * create the match, and contains data on all players assigned to the match,
1127      * including player attributes and team assignments. For more details on matchmaker
1128      * data, see <a
1129      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-server.html#match-server-data">Match
1130      * Data</a>.</p>
1131      */
WithMatchmakerData(const char * value)1132     inline GameSessionPlacement& WithMatchmakerData(const char* value) { SetMatchmakerData(value); return *this;}
1133 
1134   private:
1135 
1136     Aws::String m_placementId;
1137     bool m_placementIdHasBeenSet;
1138 
1139     Aws::String m_gameSessionQueueName;
1140     bool m_gameSessionQueueNameHasBeenSet;
1141 
1142     GameSessionPlacementState m_status;
1143     bool m_statusHasBeenSet;
1144 
1145     Aws::Vector<GameProperty> m_gameProperties;
1146     bool m_gamePropertiesHasBeenSet;
1147 
1148     int m_maximumPlayerSessionCount;
1149     bool m_maximumPlayerSessionCountHasBeenSet;
1150 
1151     Aws::String m_gameSessionName;
1152     bool m_gameSessionNameHasBeenSet;
1153 
1154     Aws::String m_gameSessionId;
1155     bool m_gameSessionIdHasBeenSet;
1156 
1157     Aws::String m_gameSessionArn;
1158     bool m_gameSessionArnHasBeenSet;
1159 
1160     Aws::String m_gameSessionRegion;
1161     bool m_gameSessionRegionHasBeenSet;
1162 
1163     Aws::Vector<PlayerLatency> m_playerLatencies;
1164     bool m_playerLatenciesHasBeenSet;
1165 
1166     Aws::Utils::DateTime m_startTime;
1167     bool m_startTimeHasBeenSet;
1168 
1169     Aws::Utils::DateTime m_endTime;
1170     bool m_endTimeHasBeenSet;
1171 
1172     Aws::String m_ipAddress;
1173     bool m_ipAddressHasBeenSet;
1174 
1175     Aws::String m_dnsName;
1176     bool m_dnsNameHasBeenSet;
1177 
1178     int m_port;
1179     bool m_portHasBeenSet;
1180 
1181     Aws::Vector<PlacedPlayerSession> m_placedPlayerSessions;
1182     bool m_placedPlayerSessionsHasBeenSet;
1183 
1184     Aws::String m_gameSessionData;
1185     bool m_gameSessionDataHasBeenSet;
1186 
1187     Aws::String m_matchmakerData;
1188     bool m_matchmakerDataHasBeenSet;
1189   };
1190 
1191 } // namespace Model
1192 } // namespace GameLift
1193 } // namespace Aws
1194