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/gamelift/GameLiftRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <aws/gamelift/model/BackfillMode.h>
12 #include <aws/gamelift/model/FlexMatchMode.h>
13 #include <aws/gamelift/model/GameProperty.h>
14 #include <utility>
15 
16 namespace Aws
17 {
18 namespace GameLift
19 {
20 namespace Model
21 {
22 
23   /**
24    * <p>Represents the input for a request operation.</p><p><h3>See Also:</h3>   <a
25    * href="http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateMatchmakingConfigurationInput">AWS
26    * API Reference</a></p>
27    */
28   class AWS_GAMELIFT_API UpdateMatchmakingConfigurationRequest : public GameLiftRequest
29   {
30   public:
31     UpdateMatchmakingConfigurationRequest();
32 
33     // Service request name is the Operation name which will send this request out,
34     // each operation should has unique request name, so that we can get operation's name from this request.
35     // Note: this is not true for response, multiple operations may have the same response name,
36     // so we can not get operation's name from response.
GetServiceRequestName()37     inline virtual const char* GetServiceRequestName() const override { return "UpdateMatchmakingConfiguration"; }
38 
39     Aws::String SerializePayload() const override;
40 
41     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
42 
43 
44     /**
45      * <p>A unique identifier for the matchmaking configuration to update. You can use
46      * either the configuration name or ARN value. </p>
47      */
GetName()48     inline const Aws::String& GetName() const{ return m_name; }
49 
50     /**
51      * <p>A unique identifier for the matchmaking configuration to update. You can use
52      * either the configuration name or ARN value. </p>
53      */
NameHasBeenSet()54     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
55 
56     /**
57      * <p>A unique identifier for the matchmaking configuration to update. You can use
58      * either the configuration name or ARN value. </p>
59      */
SetName(const Aws::String & value)60     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
61 
62     /**
63      * <p>A unique identifier for the matchmaking configuration to update. You can use
64      * either the configuration name or ARN value. </p>
65      */
SetName(Aws::String && value)66     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
67 
68     /**
69      * <p>A unique identifier for the matchmaking configuration to update. You can use
70      * either the configuration name or ARN value. </p>
71      */
SetName(const char * value)72     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
73 
74     /**
75      * <p>A unique identifier for the matchmaking configuration to update. You can use
76      * either the configuration name or ARN value. </p>
77      */
WithName(const Aws::String & value)78     inline UpdateMatchmakingConfigurationRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
79 
80     /**
81      * <p>A unique identifier for the matchmaking configuration to update. You can use
82      * either the configuration name or ARN value. </p>
83      */
WithName(Aws::String && value)84     inline UpdateMatchmakingConfigurationRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
85 
86     /**
87      * <p>A unique identifier for the matchmaking configuration to update. You can use
88      * either the configuration name or ARN value. </p>
89      */
WithName(const char * value)90     inline UpdateMatchmakingConfigurationRequest& WithName(const char* value) { SetName(value); return *this;}
91 
92 
93     /**
94      * <p>A descriptive label that is associated with matchmaking configuration.</p>
95      */
GetDescription()96     inline const Aws::String& GetDescription() const{ return m_description; }
97 
98     /**
99      * <p>A descriptive label that is associated with matchmaking configuration.</p>
100      */
DescriptionHasBeenSet()101     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
102 
103     /**
104      * <p>A descriptive label that is associated with matchmaking configuration.</p>
105      */
SetDescription(const Aws::String & value)106     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
107 
108     /**
109      * <p>A descriptive label that is associated with matchmaking configuration.</p>
110      */
SetDescription(Aws::String && value)111     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
112 
113     /**
114      * <p>A descriptive label that is associated with matchmaking configuration.</p>
115      */
SetDescription(const char * value)116     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
117 
118     /**
119      * <p>A descriptive label that is associated with matchmaking configuration.</p>
120      */
WithDescription(const Aws::String & value)121     inline UpdateMatchmakingConfigurationRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
122 
123     /**
124      * <p>A descriptive label that is associated with matchmaking configuration.</p>
125      */
WithDescription(Aws::String && value)126     inline UpdateMatchmakingConfigurationRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
127 
128     /**
129      * <p>A descriptive label that is associated with matchmaking configuration.</p>
130      */
WithDescription(const char * value)131     inline UpdateMatchmakingConfigurationRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
132 
133 
134     /**
135      * <p>The Amazon Resource Name (<a
136      * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>)
137      * that is assigned to a GameLift game session queue resource and uniquely
138      * identifies it. ARNs are unique across all Regions. Format is
139      * <code>arn:aws:gamelift:&lt;region&gt;::gamesessionqueue/&lt;queue
140      * name&gt;</code>. Queues can be located in any Region. Queues are used to start
141      * new GameLift-hosted game sessions for matches that are created with this
142      * matchmaking configuration. If <code>FlexMatchMode</code> is set to
143      * <code>STANDALONE</code>, do not set this parameter.</p>
144      */
GetGameSessionQueueArns()145     inline const Aws::Vector<Aws::String>& GetGameSessionQueueArns() const{ return m_gameSessionQueueArns; }
146 
147     /**
148      * <p>The Amazon Resource Name (<a
149      * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>)
150      * that is assigned to a GameLift game session queue resource and uniquely
151      * identifies it. ARNs are unique across all Regions. Format is
152      * <code>arn:aws:gamelift:&lt;region&gt;::gamesessionqueue/&lt;queue
153      * name&gt;</code>. Queues can be located in any Region. Queues are used to start
154      * new GameLift-hosted game sessions for matches that are created with this
155      * matchmaking configuration. If <code>FlexMatchMode</code> is set to
156      * <code>STANDALONE</code>, do not set this parameter.</p>
157      */
GameSessionQueueArnsHasBeenSet()158     inline bool GameSessionQueueArnsHasBeenSet() const { return m_gameSessionQueueArnsHasBeenSet; }
159 
160     /**
161      * <p>The Amazon Resource Name (<a
162      * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>)
163      * that is assigned to a GameLift game session queue resource and uniquely
164      * identifies it. ARNs are unique across all Regions. Format is
165      * <code>arn:aws:gamelift:&lt;region&gt;::gamesessionqueue/&lt;queue
166      * name&gt;</code>. Queues can be located in any Region. Queues are used to start
167      * new GameLift-hosted game sessions for matches that are created with this
168      * matchmaking configuration. If <code>FlexMatchMode</code> is set to
169      * <code>STANDALONE</code>, do not set this parameter.</p>
170      */
SetGameSessionQueueArns(const Aws::Vector<Aws::String> & value)171     inline void SetGameSessionQueueArns(const Aws::Vector<Aws::String>& value) { m_gameSessionQueueArnsHasBeenSet = true; m_gameSessionQueueArns = value; }
172 
173     /**
174      * <p>The Amazon Resource Name (<a
175      * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>)
176      * that is assigned to a GameLift game session queue resource and uniquely
177      * identifies it. ARNs are unique across all Regions. Format is
178      * <code>arn:aws:gamelift:&lt;region&gt;::gamesessionqueue/&lt;queue
179      * name&gt;</code>. Queues can be located in any Region. Queues are used to start
180      * new GameLift-hosted game sessions for matches that are created with this
181      * matchmaking configuration. If <code>FlexMatchMode</code> is set to
182      * <code>STANDALONE</code>, do not set this parameter.</p>
183      */
SetGameSessionQueueArns(Aws::Vector<Aws::String> && value)184     inline void SetGameSessionQueueArns(Aws::Vector<Aws::String>&& value) { m_gameSessionQueueArnsHasBeenSet = true; m_gameSessionQueueArns = std::move(value); }
185 
186     /**
187      * <p>The Amazon Resource Name (<a
188      * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>)
189      * that is assigned to a GameLift game session queue resource and uniquely
190      * identifies it. ARNs are unique across all Regions. Format is
191      * <code>arn:aws:gamelift:&lt;region&gt;::gamesessionqueue/&lt;queue
192      * name&gt;</code>. Queues can be located in any Region. Queues are used to start
193      * new GameLift-hosted game sessions for matches that are created with this
194      * matchmaking configuration. If <code>FlexMatchMode</code> is set to
195      * <code>STANDALONE</code>, do not set this parameter.</p>
196      */
WithGameSessionQueueArns(const Aws::Vector<Aws::String> & value)197     inline UpdateMatchmakingConfigurationRequest& WithGameSessionQueueArns(const Aws::Vector<Aws::String>& value) { SetGameSessionQueueArns(value); return *this;}
198 
199     /**
200      * <p>The Amazon Resource Name (<a
201      * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>)
202      * that is assigned to a GameLift game session queue resource and uniquely
203      * identifies it. ARNs are unique across all Regions. Format is
204      * <code>arn:aws:gamelift:&lt;region&gt;::gamesessionqueue/&lt;queue
205      * name&gt;</code>. Queues can be located in any Region. Queues are used to start
206      * new GameLift-hosted game sessions for matches that are created with this
207      * matchmaking configuration. If <code>FlexMatchMode</code> is set to
208      * <code>STANDALONE</code>, do not set this parameter.</p>
209      */
WithGameSessionQueueArns(Aws::Vector<Aws::String> && value)210     inline UpdateMatchmakingConfigurationRequest& WithGameSessionQueueArns(Aws::Vector<Aws::String>&& value) { SetGameSessionQueueArns(std::move(value)); return *this;}
211 
212     /**
213      * <p>The Amazon Resource Name (<a
214      * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>)
215      * that is assigned to a GameLift game session queue resource and uniquely
216      * identifies it. ARNs are unique across all Regions. Format is
217      * <code>arn:aws:gamelift:&lt;region&gt;::gamesessionqueue/&lt;queue
218      * name&gt;</code>. Queues can be located in any Region. Queues are used to start
219      * new GameLift-hosted game sessions for matches that are created with this
220      * matchmaking configuration. If <code>FlexMatchMode</code> is set to
221      * <code>STANDALONE</code>, do not set this parameter.</p>
222      */
AddGameSessionQueueArns(const Aws::String & value)223     inline UpdateMatchmakingConfigurationRequest& AddGameSessionQueueArns(const Aws::String& value) { m_gameSessionQueueArnsHasBeenSet = true; m_gameSessionQueueArns.push_back(value); return *this; }
224 
225     /**
226      * <p>The Amazon Resource Name (<a
227      * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>)
228      * that is assigned to a GameLift game session queue resource and uniquely
229      * identifies it. ARNs are unique across all Regions. Format is
230      * <code>arn:aws:gamelift:&lt;region&gt;::gamesessionqueue/&lt;queue
231      * name&gt;</code>. Queues can be located in any Region. Queues are used to start
232      * new GameLift-hosted game sessions for matches that are created with this
233      * matchmaking configuration. If <code>FlexMatchMode</code> is set to
234      * <code>STANDALONE</code>, do not set this parameter.</p>
235      */
AddGameSessionQueueArns(Aws::String && value)236     inline UpdateMatchmakingConfigurationRequest& AddGameSessionQueueArns(Aws::String&& value) { m_gameSessionQueueArnsHasBeenSet = true; m_gameSessionQueueArns.push_back(std::move(value)); return *this; }
237 
238     /**
239      * <p>The Amazon Resource Name (<a
240      * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>)
241      * that is assigned to a GameLift game session queue resource and uniquely
242      * identifies it. ARNs are unique across all Regions. Format is
243      * <code>arn:aws:gamelift:&lt;region&gt;::gamesessionqueue/&lt;queue
244      * name&gt;</code>. Queues can be located in any Region. Queues are used to start
245      * new GameLift-hosted game sessions for matches that are created with this
246      * matchmaking configuration. If <code>FlexMatchMode</code> is set to
247      * <code>STANDALONE</code>, do not set this parameter.</p>
248      */
AddGameSessionQueueArns(const char * value)249     inline UpdateMatchmakingConfigurationRequest& AddGameSessionQueueArns(const char* value) { m_gameSessionQueueArnsHasBeenSet = true; m_gameSessionQueueArns.push_back(value); return *this; }
250 
251 
252     /**
253      * <p>The maximum duration, in seconds, that a matchmaking ticket can remain in
254      * process before timing out. Requests that fail due to timing out can be
255      * resubmitted as needed.</p>
256      */
GetRequestTimeoutSeconds()257     inline int GetRequestTimeoutSeconds() const{ return m_requestTimeoutSeconds; }
258 
259     /**
260      * <p>The maximum duration, in seconds, that a matchmaking ticket can remain in
261      * process before timing out. Requests that fail due to timing out can be
262      * resubmitted as needed.</p>
263      */
RequestTimeoutSecondsHasBeenSet()264     inline bool RequestTimeoutSecondsHasBeenSet() const { return m_requestTimeoutSecondsHasBeenSet; }
265 
266     /**
267      * <p>The maximum duration, in seconds, that a matchmaking ticket can remain in
268      * process before timing out. Requests that fail due to timing out can be
269      * resubmitted as needed.</p>
270      */
SetRequestTimeoutSeconds(int value)271     inline void SetRequestTimeoutSeconds(int value) { m_requestTimeoutSecondsHasBeenSet = true; m_requestTimeoutSeconds = value; }
272 
273     /**
274      * <p>The maximum duration, in seconds, that a matchmaking ticket can remain in
275      * process before timing out. Requests that fail due to timing out can be
276      * resubmitted as needed.</p>
277      */
WithRequestTimeoutSeconds(int value)278     inline UpdateMatchmakingConfigurationRequest& WithRequestTimeoutSeconds(int value) { SetRequestTimeoutSeconds(value); return *this;}
279 
280 
281     /**
282      * <p>The length of time (in seconds) to wait for players to accept a proposed
283      * match, if acceptance is required.</p>
284      */
GetAcceptanceTimeoutSeconds()285     inline int GetAcceptanceTimeoutSeconds() const{ return m_acceptanceTimeoutSeconds; }
286 
287     /**
288      * <p>The length of time (in seconds) to wait for players to accept a proposed
289      * match, if acceptance is required.</p>
290      */
AcceptanceTimeoutSecondsHasBeenSet()291     inline bool AcceptanceTimeoutSecondsHasBeenSet() const { return m_acceptanceTimeoutSecondsHasBeenSet; }
292 
293     /**
294      * <p>The length of time (in seconds) to wait for players to accept a proposed
295      * match, if acceptance is required.</p>
296      */
SetAcceptanceTimeoutSeconds(int value)297     inline void SetAcceptanceTimeoutSeconds(int value) { m_acceptanceTimeoutSecondsHasBeenSet = true; m_acceptanceTimeoutSeconds = value; }
298 
299     /**
300      * <p>The length of time (in seconds) to wait for players to accept a proposed
301      * match, if acceptance is required.</p>
302      */
WithAcceptanceTimeoutSeconds(int value)303     inline UpdateMatchmakingConfigurationRequest& WithAcceptanceTimeoutSeconds(int value) { SetAcceptanceTimeoutSeconds(value); return *this;}
304 
305 
306     /**
307      * <p>A flag that indicates whether a match that was created with this
308      * configuration must be accepted by the matched players. To require acceptance,
309      * set to TRUE. With this option enabled, matchmaking tickets use the status
310      * <code>REQUIRES_ACCEPTANCE</code> to indicate when a completed potential match is
311      * waiting for player acceptance. </p>
312      */
GetAcceptanceRequired()313     inline bool GetAcceptanceRequired() const{ return m_acceptanceRequired; }
314 
315     /**
316      * <p>A flag that indicates whether a match that was created with this
317      * configuration must be accepted by the matched players. To require acceptance,
318      * set to TRUE. With this option enabled, matchmaking tickets use the status
319      * <code>REQUIRES_ACCEPTANCE</code> to indicate when a completed potential match is
320      * waiting for player acceptance. </p>
321      */
AcceptanceRequiredHasBeenSet()322     inline bool AcceptanceRequiredHasBeenSet() const { return m_acceptanceRequiredHasBeenSet; }
323 
324     /**
325      * <p>A flag that indicates whether a match that was created with this
326      * configuration must be accepted by the matched players. To require acceptance,
327      * set to TRUE. With this option enabled, matchmaking tickets use the status
328      * <code>REQUIRES_ACCEPTANCE</code> to indicate when a completed potential match is
329      * waiting for player acceptance. </p>
330      */
SetAcceptanceRequired(bool value)331     inline void SetAcceptanceRequired(bool value) { m_acceptanceRequiredHasBeenSet = true; m_acceptanceRequired = value; }
332 
333     /**
334      * <p>A flag that indicates whether a match that was created with this
335      * configuration must be accepted by the matched players. To require acceptance,
336      * set to TRUE. With this option enabled, matchmaking tickets use the status
337      * <code>REQUIRES_ACCEPTANCE</code> to indicate when a completed potential match is
338      * waiting for player acceptance. </p>
339      */
WithAcceptanceRequired(bool value)340     inline UpdateMatchmakingConfigurationRequest& WithAcceptanceRequired(bool value) { SetAcceptanceRequired(value); return *this;}
341 
342 
343     /**
344      * <p>A unique identifier for the matchmaking rule set to use with this
345      * configuration. You can use either the rule set name or ARN value. A matchmaking
346      * configuration can only use rule sets that are defined in the same Region.</p>
347      */
GetRuleSetName()348     inline const Aws::String& GetRuleSetName() const{ return m_ruleSetName; }
349 
350     /**
351      * <p>A unique identifier for the matchmaking rule set to use with this
352      * configuration. You can use either the rule set name or ARN value. A matchmaking
353      * configuration can only use rule sets that are defined in the same Region.</p>
354      */
RuleSetNameHasBeenSet()355     inline bool RuleSetNameHasBeenSet() const { return m_ruleSetNameHasBeenSet; }
356 
357     /**
358      * <p>A unique identifier for the matchmaking rule set to use with this
359      * configuration. You can use either the rule set name or ARN value. A matchmaking
360      * configuration can only use rule sets that are defined in the same Region.</p>
361      */
SetRuleSetName(const Aws::String & value)362     inline void SetRuleSetName(const Aws::String& value) { m_ruleSetNameHasBeenSet = true; m_ruleSetName = value; }
363 
364     /**
365      * <p>A unique identifier for the matchmaking rule set to use with this
366      * configuration. You can use either the rule set name or ARN value. A matchmaking
367      * configuration can only use rule sets that are defined in the same Region.</p>
368      */
SetRuleSetName(Aws::String && value)369     inline void SetRuleSetName(Aws::String&& value) { m_ruleSetNameHasBeenSet = true; m_ruleSetName = std::move(value); }
370 
371     /**
372      * <p>A unique identifier for the matchmaking rule set to use with this
373      * configuration. You can use either the rule set name or ARN value. A matchmaking
374      * configuration can only use rule sets that are defined in the same Region.</p>
375      */
SetRuleSetName(const char * value)376     inline void SetRuleSetName(const char* value) { m_ruleSetNameHasBeenSet = true; m_ruleSetName.assign(value); }
377 
378     /**
379      * <p>A unique identifier for the matchmaking rule set to use with this
380      * configuration. You can use either the rule set name or ARN value. A matchmaking
381      * configuration can only use rule sets that are defined in the same Region.</p>
382      */
WithRuleSetName(const Aws::String & value)383     inline UpdateMatchmakingConfigurationRequest& WithRuleSetName(const Aws::String& value) { SetRuleSetName(value); return *this;}
384 
385     /**
386      * <p>A unique identifier for the matchmaking rule set to use with this
387      * configuration. You can use either the rule set name or ARN value. A matchmaking
388      * configuration can only use rule sets that are defined in the same Region.</p>
389      */
WithRuleSetName(Aws::String && value)390     inline UpdateMatchmakingConfigurationRequest& WithRuleSetName(Aws::String&& value) { SetRuleSetName(std::move(value)); return *this;}
391 
392     /**
393      * <p>A unique identifier for the matchmaking rule set to use with this
394      * configuration. You can use either the rule set name or ARN value. A matchmaking
395      * configuration can only use rule sets that are defined in the same Region.</p>
396      */
WithRuleSetName(const char * value)397     inline UpdateMatchmakingConfigurationRequest& WithRuleSetName(const char* value) { SetRuleSetName(value); return *this;}
398 
399 
400     /**
401      * <p>An SNS topic ARN that is set up to receive matchmaking notifications. See <a
402      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html">
403      * Setting up notifications for matchmaking</a> for more information.</p>
404      */
GetNotificationTarget()405     inline const Aws::String& GetNotificationTarget() const{ return m_notificationTarget; }
406 
407     /**
408      * <p>An SNS topic ARN that is set up to receive matchmaking notifications. See <a
409      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html">
410      * Setting up notifications for matchmaking</a> for more information.</p>
411      */
NotificationTargetHasBeenSet()412     inline bool NotificationTargetHasBeenSet() const { return m_notificationTargetHasBeenSet; }
413 
414     /**
415      * <p>An SNS topic ARN that is set up to receive matchmaking notifications. See <a
416      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html">
417      * Setting up notifications for matchmaking</a> for more information.</p>
418      */
SetNotificationTarget(const Aws::String & value)419     inline void SetNotificationTarget(const Aws::String& value) { m_notificationTargetHasBeenSet = true; m_notificationTarget = value; }
420 
421     /**
422      * <p>An SNS topic ARN that is set up to receive matchmaking notifications. See <a
423      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html">
424      * Setting up notifications for matchmaking</a> for more information.</p>
425      */
SetNotificationTarget(Aws::String && value)426     inline void SetNotificationTarget(Aws::String&& value) { m_notificationTargetHasBeenSet = true; m_notificationTarget = std::move(value); }
427 
428     /**
429      * <p>An SNS topic ARN that is set up to receive matchmaking notifications. See <a
430      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html">
431      * Setting up notifications for matchmaking</a> for more information.</p>
432      */
SetNotificationTarget(const char * value)433     inline void SetNotificationTarget(const char* value) { m_notificationTargetHasBeenSet = true; m_notificationTarget.assign(value); }
434 
435     /**
436      * <p>An SNS topic ARN that is set up to receive matchmaking notifications. See <a
437      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html">
438      * Setting up notifications for matchmaking</a> for more information.</p>
439      */
WithNotificationTarget(const Aws::String & value)440     inline UpdateMatchmakingConfigurationRequest& WithNotificationTarget(const Aws::String& value) { SetNotificationTarget(value); return *this;}
441 
442     /**
443      * <p>An SNS topic ARN that is set up to receive matchmaking notifications. See <a
444      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html">
445      * Setting up notifications for matchmaking</a> for more information.</p>
446      */
WithNotificationTarget(Aws::String && value)447     inline UpdateMatchmakingConfigurationRequest& WithNotificationTarget(Aws::String&& value) { SetNotificationTarget(std::move(value)); return *this;}
448 
449     /**
450      * <p>An SNS topic ARN that is set up to receive matchmaking notifications. See <a
451      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html">
452      * Setting up notifications for matchmaking</a> for more information.</p>
453      */
WithNotificationTarget(const char * value)454     inline UpdateMatchmakingConfigurationRequest& WithNotificationTarget(const char* value) { SetNotificationTarget(value); return *this;}
455 
456 
457     /**
458      * <p>The number of player slots in a match to keep open for future players. For
459      * example, if the configuration's rule set specifies a match for a single
460      * 12-person team, and the additional player count is set to 2, only 10 players are
461      * selected for the match. This parameter is not used if <code>FlexMatchMode</code>
462      * is set to <code>STANDALONE</code>.</p>
463      */
GetAdditionalPlayerCount()464     inline int GetAdditionalPlayerCount() const{ return m_additionalPlayerCount; }
465 
466     /**
467      * <p>The number of player slots in a match to keep open for future players. For
468      * example, if the configuration's rule set specifies a match for a single
469      * 12-person team, and the additional player count is set to 2, only 10 players are
470      * selected for the match. This parameter is not used if <code>FlexMatchMode</code>
471      * is set to <code>STANDALONE</code>.</p>
472      */
AdditionalPlayerCountHasBeenSet()473     inline bool AdditionalPlayerCountHasBeenSet() const { return m_additionalPlayerCountHasBeenSet; }
474 
475     /**
476      * <p>The number of player slots in a match to keep open for future players. For
477      * example, if the configuration's rule set specifies a match for a single
478      * 12-person team, and the additional player count is set to 2, only 10 players are
479      * selected for the match. This parameter is not used if <code>FlexMatchMode</code>
480      * is set to <code>STANDALONE</code>.</p>
481      */
SetAdditionalPlayerCount(int value)482     inline void SetAdditionalPlayerCount(int value) { m_additionalPlayerCountHasBeenSet = true; m_additionalPlayerCount = value; }
483 
484     /**
485      * <p>The number of player slots in a match to keep open for future players. For
486      * example, if the configuration's rule set specifies a match for a single
487      * 12-person team, and the additional player count is set to 2, only 10 players are
488      * selected for the match. This parameter is not used if <code>FlexMatchMode</code>
489      * is set to <code>STANDALONE</code>.</p>
490      */
WithAdditionalPlayerCount(int value)491     inline UpdateMatchmakingConfigurationRequest& WithAdditionalPlayerCount(int value) { SetAdditionalPlayerCount(value); return *this;}
492 
493 
494     /**
495      * <p>Information to add to all events related to the matchmaking configuration.
496      * </p>
497      */
GetCustomEventData()498     inline const Aws::String& GetCustomEventData() const{ return m_customEventData; }
499 
500     /**
501      * <p>Information to add to all events related to the matchmaking configuration.
502      * </p>
503      */
CustomEventDataHasBeenSet()504     inline bool CustomEventDataHasBeenSet() const { return m_customEventDataHasBeenSet; }
505 
506     /**
507      * <p>Information to add to all events related to the matchmaking configuration.
508      * </p>
509      */
SetCustomEventData(const Aws::String & value)510     inline void SetCustomEventData(const Aws::String& value) { m_customEventDataHasBeenSet = true; m_customEventData = value; }
511 
512     /**
513      * <p>Information to add to all events related to the matchmaking configuration.
514      * </p>
515      */
SetCustomEventData(Aws::String && value)516     inline void SetCustomEventData(Aws::String&& value) { m_customEventDataHasBeenSet = true; m_customEventData = std::move(value); }
517 
518     /**
519      * <p>Information to add to all events related to the matchmaking configuration.
520      * </p>
521      */
SetCustomEventData(const char * value)522     inline void SetCustomEventData(const char* value) { m_customEventDataHasBeenSet = true; m_customEventData.assign(value); }
523 
524     /**
525      * <p>Information to add to all events related to the matchmaking configuration.
526      * </p>
527      */
WithCustomEventData(const Aws::String & value)528     inline UpdateMatchmakingConfigurationRequest& WithCustomEventData(const Aws::String& value) { SetCustomEventData(value); return *this;}
529 
530     /**
531      * <p>Information to add to all events related to the matchmaking configuration.
532      * </p>
533      */
WithCustomEventData(Aws::String && value)534     inline UpdateMatchmakingConfigurationRequest& WithCustomEventData(Aws::String&& value) { SetCustomEventData(std::move(value)); return *this;}
535 
536     /**
537      * <p>Information to add to all events related to the matchmaking configuration.
538      * </p>
539      */
WithCustomEventData(const char * value)540     inline UpdateMatchmakingConfigurationRequest& WithCustomEventData(const char* value) { SetCustomEventData(value); return *this;}
541 
542 
543     /**
544      * <p>A set of custom properties for a game session, formatted as key:value pairs.
545      * These properties are passed to a game server process in the <a>GameSession</a>
546      * object with a request to start a new game session (see <a
547      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
548      * a Game Session</a>). This information is added to the new <a>GameSession</a>
549      * object that is created for a successful match. This parameter is not used if
550      * <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
551      */
GetGameProperties()552     inline const Aws::Vector<GameProperty>& GetGameProperties() const{ return m_gameProperties; }
553 
554     /**
555      * <p>A set of custom properties for a game session, formatted as key:value pairs.
556      * These properties are passed to a game server process in the <a>GameSession</a>
557      * object with a request to start a new game session (see <a
558      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
559      * a Game Session</a>). This information is added to the new <a>GameSession</a>
560      * object that is created for a successful match. This parameter is not used if
561      * <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
562      */
GamePropertiesHasBeenSet()563     inline bool GamePropertiesHasBeenSet() const { return m_gamePropertiesHasBeenSet; }
564 
565     /**
566      * <p>A set of custom properties for a game session, formatted as key:value pairs.
567      * These properties are passed to a game server process in the <a>GameSession</a>
568      * object with a request to start a new game session (see <a
569      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
570      * a Game Session</a>). This information is added to the new <a>GameSession</a>
571      * object that is created for a successful match. This parameter is not used if
572      * <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
573      */
SetGameProperties(const Aws::Vector<GameProperty> & value)574     inline void SetGameProperties(const Aws::Vector<GameProperty>& value) { m_gamePropertiesHasBeenSet = true; m_gameProperties = value; }
575 
576     /**
577      * <p>A set of custom properties for a game session, formatted as key:value pairs.
578      * These properties are passed to a game server process in the <a>GameSession</a>
579      * object with a request to start a new game session (see <a
580      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
581      * a Game Session</a>). This information is added to the new <a>GameSession</a>
582      * object that is created for a successful match. This parameter is not used if
583      * <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
584      */
SetGameProperties(Aws::Vector<GameProperty> && value)585     inline void SetGameProperties(Aws::Vector<GameProperty>&& value) { m_gamePropertiesHasBeenSet = true; m_gameProperties = std::move(value); }
586 
587     /**
588      * <p>A set of custom properties for a game session, formatted as key:value pairs.
589      * These properties are passed to a game server process in the <a>GameSession</a>
590      * object with a request to start a new game session (see <a
591      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
592      * a Game Session</a>). This information is added to the new <a>GameSession</a>
593      * object that is created for a successful match. This parameter is not used if
594      * <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
595      */
WithGameProperties(const Aws::Vector<GameProperty> & value)596     inline UpdateMatchmakingConfigurationRequest& WithGameProperties(const Aws::Vector<GameProperty>& value) { SetGameProperties(value); return *this;}
597 
598     /**
599      * <p>A set of custom properties for a game session, formatted as key:value pairs.
600      * These properties are passed to a game server process in the <a>GameSession</a>
601      * object with a request to start a new game session (see <a
602      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
603      * a Game Session</a>). This information is added to the new <a>GameSession</a>
604      * object that is created for a successful match. This parameter is not used if
605      * <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
606      */
WithGameProperties(Aws::Vector<GameProperty> && value)607     inline UpdateMatchmakingConfigurationRequest& WithGameProperties(Aws::Vector<GameProperty>&& value) { SetGameProperties(std::move(value)); return *this;}
608 
609     /**
610      * <p>A set of custom properties for a game session, formatted as key:value pairs.
611      * These properties are passed to a game server process in the <a>GameSession</a>
612      * object with a request to start a new game session (see <a
613      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
614      * a Game Session</a>). This information is added to the new <a>GameSession</a>
615      * object that is created for a successful match. This parameter is not used if
616      * <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
617      */
AddGameProperties(const GameProperty & value)618     inline UpdateMatchmakingConfigurationRequest& AddGameProperties(const GameProperty& value) { m_gamePropertiesHasBeenSet = true; m_gameProperties.push_back(value); return *this; }
619 
620     /**
621      * <p>A set of custom properties for a game session, formatted as key:value pairs.
622      * These properties are passed to a game server process in the <a>GameSession</a>
623      * object with a request to start a new game session (see <a
624      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
625      * a Game Session</a>). This information is added to the new <a>GameSession</a>
626      * object that is created for a successful match. This parameter is not used if
627      * <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
628      */
AddGameProperties(GameProperty && value)629     inline UpdateMatchmakingConfigurationRequest& AddGameProperties(GameProperty&& value) { m_gamePropertiesHasBeenSet = true; m_gameProperties.push_back(std::move(value)); return *this; }
630 
631 
632     /**
633      * <p>A set of custom game session properties, formatted as a single string value.
634      * This data is passed to a game server process in the <a>GameSession</a> object
635      * with a request to start a new game session (see <a
636      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
637      * a Game Session</a>). This information is added to the new <a>GameSession</a>
638      * object that is created for a successful match. This parameter is not used if
639      * <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
640      */
GetGameSessionData()641     inline const Aws::String& GetGameSessionData() const{ return m_gameSessionData; }
642 
643     /**
644      * <p>A set of custom game session properties, formatted as a single string value.
645      * This data is passed to a game server process in the <a>GameSession</a> object
646      * with a request to start a new game session (see <a
647      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
648      * a Game Session</a>). This information is added to the new <a>GameSession</a>
649      * object that is created for a successful match. This parameter is not used if
650      * <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
651      */
GameSessionDataHasBeenSet()652     inline bool GameSessionDataHasBeenSet() const { return m_gameSessionDataHasBeenSet; }
653 
654     /**
655      * <p>A set of custom game session properties, formatted as a single string value.
656      * This data is passed to a game server process in the <a>GameSession</a> object
657      * with a request to start a new game session (see <a
658      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
659      * a Game Session</a>). This information is added to the new <a>GameSession</a>
660      * object that is created for a successful match. This parameter is not used if
661      * <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
662      */
SetGameSessionData(const Aws::String & value)663     inline void SetGameSessionData(const Aws::String& value) { m_gameSessionDataHasBeenSet = true; m_gameSessionData = value; }
664 
665     /**
666      * <p>A set of custom game session properties, formatted as a single string value.
667      * This data is passed to a game server process in the <a>GameSession</a> object
668      * with a request to start a new game session (see <a
669      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
670      * a Game Session</a>). This information is added to the new <a>GameSession</a>
671      * object that is created for a successful match. This parameter is not used if
672      * <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
673      */
SetGameSessionData(Aws::String && value)674     inline void SetGameSessionData(Aws::String&& value) { m_gameSessionDataHasBeenSet = true; m_gameSessionData = std::move(value); }
675 
676     /**
677      * <p>A set of custom game session properties, formatted as a single string value.
678      * This data is passed to a game server process in the <a>GameSession</a> object
679      * with a request to start a new game session (see <a
680      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
681      * a Game Session</a>). This information is added to the new <a>GameSession</a>
682      * object that is created for a successful match. This parameter is not used if
683      * <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
684      */
SetGameSessionData(const char * value)685     inline void SetGameSessionData(const char* value) { m_gameSessionDataHasBeenSet = true; m_gameSessionData.assign(value); }
686 
687     /**
688      * <p>A set of custom game session properties, formatted as a single string value.
689      * This data is passed to a game server process in the <a>GameSession</a> object
690      * with a request to start a new game session (see <a
691      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
692      * a Game Session</a>). This information is added to the new <a>GameSession</a>
693      * object that is created for a successful match. This parameter is not used if
694      * <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
695      */
WithGameSessionData(const Aws::String & value)696     inline UpdateMatchmakingConfigurationRequest& WithGameSessionData(const Aws::String& value) { SetGameSessionData(value); return *this;}
697 
698     /**
699      * <p>A set of custom game session properties, formatted as a single string value.
700      * This data is passed to a game server process in the <a>GameSession</a> object
701      * with a request to start a new game session (see <a
702      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
703      * a Game Session</a>). This information is added to the new <a>GameSession</a>
704      * object that is created for a successful match. This parameter is not used if
705      * <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
706      */
WithGameSessionData(Aws::String && value)707     inline UpdateMatchmakingConfigurationRequest& WithGameSessionData(Aws::String&& value) { SetGameSessionData(std::move(value)); return *this;}
708 
709     /**
710      * <p>A set of custom game session properties, formatted as a single string value.
711      * This data is passed to a game server process in the <a>GameSession</a> object
712      * with a request to start a new game session (see <a
713      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start
714      * a Game Session</a>). This information is added to the new <a>GameSession</a>
715      * object that is created for a successful match. This parameter is not used if
716      * <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
717      */
WithGameSessionData(const char * value)718     inline UpdateMatchmakingConfigurationRequest& WithGameSessionData(const char* value) { SetGameSessionData(value); return *this;}
719 
720 
721     /**
722      * <p>The method that is used to backfill game sessions created with this
723      * matchmaking configuration. Specify MANUAL when your game manages backfill
724      * requests manually or does not use the match backfill feature. Specify AUTOMATIC
725      * to have GameLift create a <a>StartMatchBackfill</a> request whenever a game
726      * session has one or more open slots. Learn more about manual and automatic
727      * backfill in <a
728      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html">Backfill
729      * Existing Games with FlexMatch</a>. Automatic backfill is not available when
730      * <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
731      */
GetBackfillMode()732     inline const BackfillMode& GetBackfillMode() const{ return m_backfillMode; }
733 
734     /**
735      * <p>The method that is used to backfill game sessions created with this
736      * matchmaking configuration. Specify MANUAL when your game manages backfill
737      * requests manually or does not use the match backfill feature. Specify AUTOMATIC
738      * to have GameLift create a <a>StartMatchBackfill</a> request whenever a game
739      * session has one or more open slots. Learn more about manual and automatic
740      * backfill in <a
741      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html">Backfill
742      * Existing Games with FlexMatch</a>. Automatic backfill is not available when
743      * <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
744      */
BackfillModeHasBeenSet()745     inline bool BackfillModeHasBeenSet() const { return m_backfillModeHasBeenSet; }
746 
747     /**
748      * <p>The method that is used to backfill game sessions created with this
749      * matchmaking configuration. Specify MANUAL when your game manages backfill
750      * requests manually or does not use the match backfill feature. Specify AUTOMATIC
751      * to have GameLift create a <a>StartMatchBackfill</a> request whenever a game
752      * session has one or more open slots. Learn more about manual and automatic
753      * backfill in <a
754      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html">Backfill
755      * Existing Games with FlexMatch</a>. Automatic backfill is not available when
756      * <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
757      */
SetBackfillMode(const BackfillMode & value)758     inline void SetBackfillMode(const BackfillMode& value) { m_backfillModeHasBeenSet = true; m_backfillMode = value; }
759 
760     /**
761      * <p>The method that is used to backfill game sessions created with this
762      * matchmaking configuration. Specify MANUAL when your game manages backfill
763      * requests manually or does not use the match backfill feature. Specify AUTOMATIC
764      * to have GameLift create a <a>StartMatchBackfill</a> request whenever a game
765      * session has one or more open slots. Learn more about manual and automatic
766      * backfill in <a
767      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html">Backfill
768      * Existing Games with FlexMatch</a>. Automatic backfill is not available when
769      * <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
770      */
SetBackfillMode(BackfillMode && value)771     inline void SetBackfillMode(BackfillMode&& value) { m_backfillModeHasBeenSet = true; m_backfillMode = std::move(value); }
772 
773     /**
774      * <p>The method that is used to backfill game sessions created with this
775      * matchmaking configuration. Specify MANUAL when your game manages backfill
776      * requests manually or does not use the match backfill feature. Specify AUTOMATIC
777      * to have GameLift create a <a>StartMatchBackfill</a> request whenever a game
778      * session has one or more open slots. Learn more about manual and automatic
779      * backfill in <a
780      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html">Backfill
781      * Existing Games with FlexMatch</a>. Automatic backfill is not available when
782      * <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
783      */
WithBackfillMode(const BackfillMode & value)784     inline UpdateMatchmakingConfigurationRequest& WithBackfillMode(const BackfillMode& value) { SetBackfillMode(value); return *this;}
785 
786     /**
787      * <p>The method that is used to backfill game sessions created with this
788      * matchmaking configuration. Specify MANUAL when your game manages backfill
789      * requests manually or does not use the match backfill feature. Specify AUTOMATIC
790      * to have GameLift create a <a>StartMatchBackfill</a> request whenever a game
791      * session has one or more open slots. Learn more about manual and automatic
792      * backfill in <a
793      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html">Backfill
794      * Existing Games with FlexMatch</a>. Automatic backfill is not available when
795      * <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
796      */
WithBackfillMode(BackfillMode && value)797     inline UpdateMatchmakingConfigurationRequest& WithBackfillMode(BackfillMode&& value) { SetBackfillMode(std::move(value)); return *this;}
798 
799 
800     /**
801      * <p>Indicates whether this matchmaking configuration is being used with GameLift
802      * hosting or as a standalone matchmaking solution. </p> <ul> <li> <p>
803      * <b>STANDALONE</b> - FlexMatch forms matches and returns match information,
804      * including players and team assignments, in a <a
805      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-events.html#match-events-matchmakingsucceeded">
806      * MatchmakingSucceeded</a> event.</p> </li> <li> <p> <b>WITH_QUEUE</b> - FlexMatch
807      * forms matches and uses the specified GameLift queue to start a game session for
808      * the match. </p> </li> </ul>
809      */
GetFlexMatchMode()810     inline const FlexMatchMode& GetFlexMatchMode() const{ return m_flexMatchMode; }
811 
812     /**
813      * <p>Indicates whether this matchmaking configuration is being used with GameLift
814      * hosting or as a standalone matchmaking solution. </p> <ul> <li> <p>
815      * <b>STANDALONE</b> - FlexMatch forms matches and returns match information,
816      * including players and team assignments, in a <a
817      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-events.html#match-events-matchmakingsucceeded">
818      * MatchmakingSucceeded</a> event.</p> </li> <li> <p> <b>WITH_QUEUE</b> - FlexMatch
819      * forms matches and uses the specified GameLift queue to start a game session for
820      * the match. </p> </li> </ul>
821      */
FlexMatchModeHasBeenSet()822     inline bool FlexMatchModeHasBeenSet() const { return m_flexMatchModeHasBeenSet; }
823 
824     /**
825      * <p>Indicates whether this matchmaking configuration is being used with GameLift
826      * hosting or as a standalone matchmaking solution. </p> <ul> <li> <p>
827      * <b>STANDALONE</b> - FlexMatch forms matches and returns match information,
828      * including players and team assignments, in a <a
829      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-events.html#match-events-matchmakingsucceeded">
830      * MatchmakingSucceeded</a> event.</p> </li> <li> <p> <b>WITH_QUEUE</b> - FlexMatch
831      * forms matches and uses the specified GameLift queue to start a game session for
832      * the match. </p> </li> </ul>
833      */
SetFlexMatchMode(const FlexMatchMode & value)834     inline void SetFlexMatchMode(const FlexMatchMode& value) { m_flexMatchModeHasBeenSet = true; m_flexMatchMode = value; }
835 
836     /**
837      * <p>Indicates whether this matchmaking configuration is being used with GameLift
838      * hosting or as a standalone matchmaking solution. </p> <ul> <li> <p>
839      * <b>STANDALONE</b> - FlexMatch forms matches and returns match information,
840      * including players and team assignments, in a <a
841      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-events.html#match-events-matchmakingsucceeded">
842      * MatchmakingSucceeded</a> event.</p> </li> <li> <p> <b>WITH_QUEUE</b> - FlexMatch
843      * forms matches and uses the specified GameLift queue to start a game session for
844      * the match. </p> </li> </ul>
845      */
SetFlexMatchMode(FlexMatchMode && value)846     inline void SetFlexMatchMode(FlexMatchMode&& value) { m_flexMatchModeHasBeenSet = true; m_flexMatchMode = std::move(value); }
847 
848     /**
849      * <p>Indicates whether this matchmaking configuration is being used with GameLift
850      * hosting or as a standalone matchmaking solution. </p> <ul> <li> <p>
851      * <b>STANDALONE</b> - FlexMatch forms matches and returns match information,
852      * including players and team assignments, in a <a
853      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-events.html#match-events-matchmakingsucceeded">
854      * MatchmakingSucceeded</a> event.</p> </li> <li> <p> <b>WITH_QUEUE</b> - FlexMatch
855      * forms matches and uses the specified GameLift queue to start a game session for
856      * the match. </p> </li> </ul>
857      */
WithFlexMatchMode(const FlexMatchMode & value)858     inline UpdateMatchmakingConfigurationRequest& WithFlexMatchMode(const FlexMatchMode& value) { SetFlexMatchMode(value); return *this;}
859 
860     /**
861      * <p>Indicates whether this matchmaking configuration is being used with GameLift
862      * hosting or as a standalone matchmaking solution. </p> <ul> <li> <p>
863      * <b>STANDALONE</b> - FlexMatch forms matches and returns match information,
864      * including players and team assignments, in a <a
865      * href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-events.html#match-events-matchmakingsucceeded">
866      * MatchmakingSucceeded</a> event.</p> </li> <li> <p> <b>WITH_QUEUE</b> - FlexMatch
867      * forms matches and uses the specified GameLift queue to start a game session for
868      * the match. </p> </li> </ul>
869      */
WithFlexMatchMode(FlexMatchMode && value)870     inline UpdateMatchmakingConfigurationRequest& WithFlexMatchMode(FlexMatchMode&& value) { SetFlexMatchMode(std::move(value)); return *this;}
871 
872   private:
873 
874     Aws::String m_name;
875     bool m_nameHasBeenSet;
876 
877     Aws::String m_description;
878     bool m_descriptionHasBeenSet;
879 
880     Aws::Vector<Aws::String> m_gameSessionQueueArns;
881     bool m_gameSessionQueueArnsHasBeenSet;
882 
883     int m_requestTimeoutSeconds;
884     bool m_requestTimeoutSecondsHasBeenSet;
885 
886     int m_acceptanceTimeoutSeconds;
887     bool m_acceptanceTimeoutSecondsHasBeenSet;
888 
889     bool m_acceptanceRequired;
890     bool m_acceptanceRequiredHasBeenSet;
891 
892     Aws::String m_ruleSetName;
893     bool m_ruleSetNameHasBeenSet;
894 
895     Aws::String m_notificationTarget;
896     bool m_notificationTargetHasBeenSet;
897 
898     int m_additionalPlayerCount;
899     bool m_additionalPlayerCountHasBeenSet;
900 
901     Aws::String m_customEventData;
902     bool m_customEventDataHasBeenSet;
903 
904     Aws::Vector<GameProperty> m_gameProperties;
905     bool m_gamePropertiesHasBeenSet;
906 
907     Aws::String m_gameSessionData;
908     bool m_gameSessionDataHasBeenSet;
909 
910     BackfillMode m_backfillMode;
911     bool m_backfillModeHasBeenSet;
912 
913     FlexMatchMode m_flexMatchMode;
914     bool m_flexMatchModeHasBeenSet;
915   };
916 
917 } // namespace Model
918 } // namespace GameLift
919 } // namespace Aws
920