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/EC2InstanceType.h>
12 #include <aws/gamelift/model/ProtectionPolicy.h>
13 #include <aws/gamelift/model/RuntimeConfiguration.h>
14 #include <aws/gamelift/model/ResourceCreationLimitPolicy.h>
15 #include <aws/gamelift/model/FleetType.h>
16 #include <aws/gamelift/model/CertificateConfiguration.h>
17 #include <aws/gamelift/model/IpPermission.h>
18 #include <aws/gamelift/model/LocationConfiguration.h>
19 #include <aws/gamelift/model/Tag.h>
20 #include <utility>
21 
22 namespace Aws
23 {
24 namespace GameLift
25 {
26 namespace Model
27 {
28 
29   /**
30    * <p>Represents the input for a request operation.</p><p><h3>See Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateFleetInput">AWS
32    * API Reference</a></p>
33    */
34   class AWS_GAMELIFT_API CreateFleetRequest : public GameLiftRequest
35   {
36   public:
37     CreateFleetRequest();
38 
39     // Service request name is the Operation name which will send this request out,
40     // each operation should has unique request name, so that we can get operation's name from this request.
41     // Note: this is not true for response, multiple operations may have the same response name,
42     // so we can not get operation's name from response.
GetServiceRequestName()43     inline virtual const char* GetServiceRequestName() const override { return "CreateFleet"; }
44 
45     Aws::String SerializePayload() const override;
46 
47     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
48 
49 
50     /**
51      * <p>A descriptive label that is associated with a fleet. Fleet names do not need
52      * to be unique.</p>
53      */
GetName()54     inline const Aws::String& GetName() const{ return m_name; }
55 
56     /**
57      * <p>A descriptive label that is associated with a fleet. Fleet names do not need
58      * to be unique.</p>
59      */
NameHasBeenSet()60     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
61 
62     /**
63      * <p>A descriptive label that is associated with a fleet. Fleet names do not need
64      * to be unique.</p>
65      */
SetName(const Aws::String & value)66     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
67 
68     /**
69      * <p>A descriptive label that is associated with a fleet. Fleet names do not need
70      * to be unique.</p>
71      */
SetName(Aws::String && value)72     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
73 
74     /**
75      * <p>A descriptive label that is associated with a fleet. Fleet names do not need
76      * to be unique.</p>
77      */
SetName(const char * value)78     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
79 
80     /**
81      * <p>A descriptive label that is associated with a fleet. Fleet names do not need
82      * to be unique.</p>
83      */
WithName(const Aws::String & value)84     inline CreateFleetRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
85 
86     /**
87      * <p>A descriptive label that is associated with a fleet. Fleet names do not need
88      * to be unique.</p>
89      */
WithName(Aws::String && value)90     inline CreateFleetRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
91 
92     /**
93      * <p>A descriptive label that is associated with a fleet. Fleet names do not need
94      * to be unique.</p>
95      */
WithName(const char * value)96     inline CreateFleetRequest& WithName(const char* value) { SetName(value); return *this;}
97 
98 
99     /**
100      * <p>A human-readable description of the fleet.</p>
101      */
GetDescription()102     inline const Aws::String& GetDescription() const{ return m_description; }
103 
104     /**
105      * <p>A human-readable description of the fleet.</p>
106      */
DescriptionHasBeenSet()107     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
108 
109     /**
110      * <p>A human-readable description of the fleet.</p>
111      */
SetDescription(const Aws::String & value)112     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
113 
114     /**
115      * <p>A human-readable description of the fleet.</p>
116      */
SetDescription(Aws::String && value)117     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
118 
119     /**
120      * <p>A human-readable description of the fleet.</p>
121      */
SetDescription(const char * value)122     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
123 
124     /**
125      * <p>A human-readable description of the fleet.</p>
126      */
WithDescription(const Aws::String & value)127     inline CreateFleetRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
128 
129     /**
130      * <p>A human-readable description of the fleet.</p>
131      */
WithDescription(Aws::String && value)132     inline CreateFleetRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
133 
134     /**
135      * <p>A human-readable description of the fleet.</p>
136      */
WithDescription(const char * value)137     inline CreateFleetRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
138 
139 
140     /**
141      * <p>The unique identifier for a custom game server build to be deployed on fleet
142      * instances. You can use either the build ID or ARN. The build must be uploaded to
143      * GameLift and in <code>READY</code> status. This fleet property cannot be changed
144      * later.</p>
145      */
GetBuildId()146     inline const Aws::String& GetBuildId() const{ return m_buildId; }
147 
148     /**
149      * <p>The unique identifier for a custom game server build to be deployed on fleet
150      * instances. You can use either the build ID or ARN. The build must be uploaded to
151      * GameLift and in <code>READY</code> status. This fleet property cannot be changed
152      * later.</p>
153      */
BuildIdHasBeenSet()154     inline bool BuildIdHasBeenSet() const { return m_buildIdHasBeenSet; }
155 
156     /**
157      * <p>The unique identifier for a custom game server build to be deployed on fleet
158      * instances. You can use either the build ID or ARN. The build must be uploaded to
159      * GameLift and in <code>READY</code> status. This fleet property cannot be changed
160      * later.</p>
161      */
SetBuildId(const Aws::String & value)162     inline void SetBuildId(const Aws::String& value) { m_buildIdHasBeenSet = true; m_buildId = value; }
163 
164     /**
165      * <p>The unique identifier for a custom game server build to be deployed on fleet
166      * instances. You can use either the build ID or ARN. The build must be uploaded to
167      * GameLift and in <code>READY</code> status. This fleet property cannot be changed
168      * later.</p>
169      */
SetBuildId(Aws::String && value)170     inline void SetBuildId(Aws::String&& value) { m_buildIdHasBeenSet = true; m_buildId = std::move(value); }
171 
172     /**
173      * <p>The unique identifier for a custom game server build to be deployed on fleet
174      * instances. You can use either the build ID or ARN. The build must be uploaded to
175      * GameLift and in <code>READY</code> status. This fleet property cannot be changed
176      * later.</p>
177      */
SetBuildId(const char * value)178     inline void SetBuildId(const char* value) { m_buildIdHasBeenSet = true; m_buildId.assign(value); }
179 
180     /**
181      * <p>The unique identifier for a custom game server build to be deployed on fleet
182      * instances. You can use either the build ID or ARN. The build must be uploaded to
183      * GameLift and in <code>READY</code> status. This fleet property cannot be changed
184      * later.</p>
185      */
WithBuildId(const Aws::String & value)186     inline CreateFleetRequest& WithBuildId(const Aws::String& value) { SetBuildId(value); return *this;}
187 
188     /**
189      * <p>The unique identifier for a custom game server build to be deployed on fleet
190      * instances. You can use either the build ID or ARN. The build must be uploaded to
191      * GameLift and in <code>READY</code> status. This fleet property cannot be changed
192      * later.</p>
193      */
WithBuildId(Aws::String && value)194     inline CreateFleetRequest& WithBuildId(Aws::String&& value) { SetBuildId(std::move(value)); return *this;}
195 
196     /**
197      * <p>The unique identifier for a custom game server build to be deployed on fleet
198      * instances. You can use either the build ID or ARN. The build must be uploaded to
199      * GameLift and in <code>READY</code> status. This fleet property cannot be changed
200      * later.</p>
201      */
WithBuildId(const char * value)202     inline CreateFleetRequest& WithBuildId(const char* value) { SetBuildId(value); return *this;}
203 
204 
205     /**
206      * <p>The unique identifier for a Realtime configuration script to be deployed on
207      * fleet instances. You can use either the script ID or ARN. Scripts must be
208      * uploaded to GameLift prior to creating the fleet. This fleet property cannot be
209      * changed later.</p>
210      */
GetScriptId()211     inline const Aws::String& GetScriptId() const{ return m_scriptId; }
212 
213     /**
214      * <p>The unique identifier for a Realtime configuration script to be deployed on
215      * fleet instances. You can use either the script ID or ARN. Scripts must be
216      * uploaded to GameLift prior to creating the fleet. This fleet property cannot be
217      * changed later.</p>
218      */
ScriptIdHasBeenSet()219     inline bool ScriptIdHasBeenSet() const { return m_scriptIdHasBeenSet; }
220 
221     /**
222      * <p>The unique identifier for a Realtime configuration script to be deployed on
223      * fleet instances. You can use either the script ID or ARN. Scripts must be
224      * uploaded to GameLift prior to creating the fleet. This fleet property cannot be
225      * changed later.</p>
226      */
SetScriptId(const Aws::String & value)227     inline void SetScriptId(const Aws::String& value) { m_scriptIdHasBeenSet = true; m_scriptId = value; }
228 
229     /**
230      * <p>The unique identifier for a Realtime configuration script to be deployed on
231      * fleet instances. You can use either the script ID or ARN. Scripts must be
232      * uploaded to GameLift prior to creating the fleet. This fleet property cannot be
233      * changed later.</p>
234      */
SetScriptId(Aws::String && value)235     inline void SetScriptId(Aws::String&& value) { m_scriptIdHasBeenSet = true; m_scriptId = std::move(value); }
236 
237     /**
238      * <p>The unique identifier for a Realtime configuration script to be deployed on
239      * fleet instances. You can use either the script ID or ARN. Scripts must be
240      * uploaded to GameLift prior to creating the fleet. This fleet property cannot be
241      * changed later.</p>
242      */
SetScriptId(const char * value)243     inline void SetScriptId(const char* value) { m_scriptIdHasBeenSet = true; m_scriptId.assign(value); }
244 
245     /**
246      * <p>The unique identifier for a Realtime configuration script to be deployed on
247      * fleet instances. You can use either the script ID or ARN. Scripts must be
248      * uploaded to GameLift prior to creating the fleet. This fleet property cannot be
249      * changed later.</p>
250      */
WithScriptId(const Aws::String & value)251     inline CreateFleetRequest& WithScriptId(const Aws::String& value) { SetScriptId(value); return *this;}
252 
253     /**
254      * <p>The unique identifier for a Realtime configuration script to be deployed on
255      * fleet instances. You can use either the script ID or ARN. Scripts must be
256      * uploaded to GameLift prior to creating the fleet. This fleet property cannot be
257      * changed later.</p>
258      */
WithScriptId(Aws::String && value)259     inline CreateFleetRequest& WithScriptId(Aws::String&& value) { SetScriptId(std::move(value)); return *this;}
260 
261     /**
262      * <p>The unique identifier for a Realtime configuration script to be deployed on
263      * fleet instances. You can use either the script ID or ARN. Scripts must be
264      * uploaded to GameLift prior to creating the fleet. This fleet property cannot be
265      * changed later.</p>
266      */
WithScriptId(const char * value)267     inline CreateFleetRequest& WithScriptId(const char* value) { SetScriptId(value); return *this;}
268 
269 
270     /**
271      * <p> <b>This parameter is no longer used.</b> Specify a server launch path using
272      * the <code>RuntimeConfiguration</code> parameter. Requests that use this
273      * parameter instead continue to be valid.</p>
274      */
GetServerLaunchPath()275     inline const Aws::String& GetServerLaunchPath() const{ return m_serverLaunchPath; }
276 
277     /**
278      * <p> <b>This parameter is no longer used.</b> Specify a server launch path using
279      * the <code>RuntimeConfiguration</code> parameter. Requests that use this
280      * parameter instead continue to be valid.</p>
281      */
ServerLaunchPathHasBeenSet()282     inline bool ServerLaunchPathHasBeenSet() const { return m_serverLaunchPathHasBeenSet; }
283 
284     /**
285      * <p> <b>This parameter is no longer used.</b> Specify a server launch path using
286      * the <code>RuntimeConfiguration</code> parameter. Requests that use this
287      * parameter instead continue to be valid.</p>
288      */
SetServerLaunchPath(const Aws::String & value)289     inline void SetServerLaunchPath(const Aws::String& value) { m_serverLaunchPathHasBeenSet = true; m_serverLaunchPath = value; }
290 
291     /**
292      * <p> <b>This parameter is no longer used.</b> Specify a server launch path using
293      * the <code>RuntimeConfiguration</code> parameter. Requests that use this
294      * parameter instead continue to be valid.</p>
295      */
SetServerLaunchPath(Aws::String && value)296     inline void SetServerLaunchPath(Aws::String&& value) { m_serverLaunchPathHasBeenSet = true; m_serverLaunchPath = std::move(value); }
297 
298     /**
299      * <p> <b>This parameter is no longer used.</b> Specify a server launch path using
300      * the <code>RuntimeConfiguration</code> parameter. Requests that use this
301      * parameter instead continue to be valid.</p>
302      */
SetServerLaunchPath(const char * value)303     inline void SetServerLaunchPath(const char* value) { m_serverLaunchPathHasBeenSet = true; m_serverLaunchPath.assign(value); }
304 
305     /**
306      * <p> <b>This parameter is no longer used.</b> Specify a server launch path using
307      * the <code>RuntimeConfiguration</code> parameter. Requests that use this
308      * parameter instead continue to be valid.</p>
309      */
WithServerLaunchPath(const Aws::String & value)310     inline CreateFleetRequest& WithServerLaunchPath(const Aws::String& value) { SetServerLaunchPath(value); return *this;}
311 
312     /**
313      * <p> <b>This parameter is no longer used.</b> Specify a server launch path using
314      * the <code>RuntimeConfiguration</code> parameter. Requests that use this
315      * parameter instead continue to be valid.</p>
316      */
WithServerLaunchPath(Aws::String && value)317     inline CreateFleetRequest& WithServerLaunchPath(Aws::String&& value) { SetServerLaunchPath(std::move(value)); return *this;}
318 
319     /**
320      * <p> <b>This parameter is no longer used.</b> Specify a server launch path using
321      * the <code>RuntimeConfiguration</code> parameter. Requests that use this
322      * parameter instead continue to be valid.</p>
323      */
WithServerLaunchPath(const char * value)324     inline CreateFleetRequest& WithServerLaunchPath(const char* value) { SetServerLaunchPath(value); return *this;}
325 
326 
327     /**
328      * <p> <b>This parameter is no longer used.</b> Specify server launch parameters
329      * using the <code>RuntimeConfiguration</code> parameter. Requests that use this
330      * parameter instead continue to be valid.</p>
331      */
GetServerLaunchParameters()332     inline const Aws::String& GetServerLaunchParameters() const{ return m_serverLaunchParameters; }
333 
334     /**
335      * <p> <b>This parameter is no longer used.</b> Specify server launch parameters
336      * using the <code>RuntimeConfiguration</code> parameter. Requests that use this
337      * parameter instead continue to be valid.</p>
338      */
ServerLaunchParametersHasBeenSet()339     inline bool ServerLaunchParametersHasBeenSet() const { return m_serverLaunchParametersHasBeenSet; }
340 
341     /**
342      * <p> <b>This parameter is no longer used.</b> Specify server launch parameters
343      * using the <code>RuntimeConfiguration</code> parameter. Requests that use this
344      * parameter instead continue to be valid.</p>
345      */
SetServerLaunchParameters(const Aws::String & value)346     inline void SetServerLaunchParameters(const Aws::String& value) { m_serverLaunchParametersHasBeenSet = true; m_serverLaunchParameters = value; }
347 
348     /**
349      * <p> <b>This parameter is no longer used.</b> Specify server launch parameters
350      * using the <code>RuntimeConfiguration</code> parameter. Requests that use this
351      * parameter instead continue to be valid.</p>
352      */
SetServerLaunchParameters(Aws::String && value)353     inline void SetServerLaunchParameters(Aws::String&& value) { m_serverLaunchParametersHasBeenSet = true; m_serverLaunchParameters = std::move(value); }
354 
355     /**
356      * <p> <b>This parameter is no longer used.</b> Specify server launch parameters
357      * using the <code>RuntimeConfiguration</code> parameter. Requests that use this
358      * parameter instead continue to be valid.</p>
359      */
SetServerLaunchParameters(const char * value)360     inline void SetServerLaunchParameters(const char* value) { m_serverLaunchParametersHasBeenSet = true; m_serverLaunchParameters.assign(value); }
361 
362     /**
363      * <p> <b>This parameter is no longer used.</b> Specify server launch parameters
364      * using the <code>RuntimeConfiguration</code> parameter. Requests that use this
365      * parameter instead continue to be valid.</p>
366      */
WithServerLaunchParameters(const Aws::String & value)367     inline CreateFleetRequest& WithServerLaunchParameters(const Aws::String& value) { SetServerLaunchParameters(value); return *this;}
368 
369     /**
370      * <p> <b>This parameter is no longer used.</b> Specify server launch parameters
371      * using the <code>RuntimeConfiguration</code> parameter. Requests that use this
372      * parameter instead continue to be valid.</p>
373      */
WithServerLaunchParameters(Aws::String && value)374     inline CreateFleetRequest& WithServerLaunchParameters(Aws::String&& value) { SetServerLaunchParameters(std::move(value)); return *this;}
375 
376     /**
377      * <p> <b>This parameter is no longer used.</b> Specify server launch parameters
378      * using the <code>RuntimeConfiguration</code> parameter. Requests that use this
379      * parameter instead continue to be valid.</p>
380      */
WithServerLaunchParameters(const char * value)381     inline CreateFleetRequest& WithServerLaunchParameters(const char* value) { SetServerLaunchParameters(value); return *this;}
382 
383 
384     /**
385      * <p> <b>This parameter is no longer used.</b> To specify where GameLift should
386      * store log files once a server process shuts down, use the GameLift server API
387      * <code>ProcessReady()</code> and specify one or more directory paths in
388      * <code>logParameters</code>. See more information in the <a
389      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api-ref.html#gamelift-sdk-server-api-ref-dataypes-process">Server
390      * API Reference</a>. </p>
391      */
GetLogPaths()392     inline const Aws::Vector<Aws::String>& GetLogPaths() const{ return m_logPaths; }
393 
394     /**
395      * <p> <b>This parameter is no longer used.</b> To specify where GameLift should
396      * store log files once a server process shuts down, use the GameLift server API
397      * <code>ProcessReady()</code> and specify one or more directory paths in
398      * <code>logParameters</code>. See more information in the <a
399      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api-ref.html#gamelift-sdk-server-api-ref-dataypes-process">Server
400      * API Reference</a>. </p>
401      */
LogPathsHasBeenSet()402     inline bool LogPathsHasBeenSet() const { return m_logPathsHasBeenSet; }
403 
404     /**
405      * <p> <b>This parameter is no longer used.</b> To specify where GameLift should
406      * store log files once a server process shuts down, use the GameLift server API
407      * <code>ProcessReady()</code> and specify one or more directory paths in
408      * <code>logParameters</code>. See more information in the <a
409      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api-ref.html#gamelift-sdk-server-api-ref-dataypes-process">Server
410      * API Reference</a>. </p>
411      */
SetLogPaths(const Aws::Vector<Aws::String> & value)412     inline void SetLogPaths(const Aws::Vector<Aws::String>& value) { m_logPathsHasBeenSet = true; m_logPaths = value; }
413 
414     /**
415      * <p> <b>This parameter is no longer used.</b> To specify where GameLift should
416      * store log files once a server process shuts down, use the GameLift server API
417      * <code>ProcessReady()</code> and specify one or more directory paths in
418      * <code>logParameters</code>. See more information in the <a
419      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api-ref.html#gamelift-sdk-server-api-ref-dataypes-process">Server
420      * API Reference</a>. </p>
421      */
SetLogPaths(Aws::Vector<Aws::String> && value)422     inline void SetLogPaths(Aws::Vector<Aws::String>&& value) { m_logPathsHasBeenSet = true; m_logPaths = std::move(value); }
423 
424     /**
425      * <p> <b>This parameter is no longer used.</b> To specify where GameLift should
426      * store log files once a server process shuts down, use the GameLift server API
427      * <code>ProcessReady()</code> and specify one or more directory paths in
428      * <code>logParameters</code>. See more information in the <a
429      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api-ref.html#gamelift-sdk-server-api-ref-dataypes-process">Server
430      * API Reference</a>. </p>
431      */
WithLogPaths(const Aws::Vector<Aws::String> & value)432     inline CreateFleetRequest& WithLogPaths(const Aws::Vector<Aws::String>& value) { SetLogPaths(value); return *this;}
433 
434     /**
435      * <p> <b>This parameter is no longer used.</b> To specify where GameLift should
436      * store log files once a server process shuts down, use the GameLift server API
437      * <code>ProcessReady()</code> and specify one or more directory paths in
438      * <code>logParameters</code>. See more information in the <a
439      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api-ref.html#gamelift-sdk-server-api-ref-dataypes-process">Server
440      * API Reference</a>. </p>
441      */
WithLogPaths(Aws::Vector<Aws::String> && value)442     inline CreateFleetRequest& WithLogPaths(Aws::Vector<Aws::String>&& value) { SetLogPaths(std::move(value)); return *this;}
443 
444     /**
445      * <p> <b>This parameter is no longer used.</b> To specify where GameLift should
446      * store log files once a server process shuts down, use the GameLift server API
447      * <code>ProcessReady()</code> and specify one or more directory paths in
448      * <code>logParameters</code>. See more information in the <a
449      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api-ref.html#gamelift-sdk-server-api-ref-dataypes-process">Server
450      * API Reference</a>. </p>
451      */
AddLogPaths(const Aws::String & value)452     inline CreateFleetRequest& AddLogPaths(const Aws::String& value) { m_logPathsHasBeenSet = true; m_logPaths.push_back(value); return *this; }
453 
454     /**
455      * <p> <b>This parameter is no longer used.</b> To specify where GameLift should
456      * store log files once a server process shuts down, use the GameLift server API
457      * <code>ProcessReady()</code> and specify one or more directory paths in
458      * <code>logParameters</code>. See more information in the <a
459      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api-ref.html#gamelift-sdk-server-api-ref-dataypes-process">Server
460      * API Reference</a>. </p>
461      */
AddLogPaths(Aws::String && value)462     inline CreateFleetRequest& AddLogPaths(Aws::String&& value) { m_logPathsHasBeenSet = true; m_logPaths.push_back(std::move(value)); return *this; }
463 
464     /**
465      * <p> <b>This parameter is no longer used.</b> To specify where GameLift should
466      * store log files once a server process shuts down, use the GameLift server API
467      * <code>ProcessReady()</code> and specify one or more directory paths in
468      * <code>logParameters</code>. See more information in the <a
469      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api-ref.html#gamelift-sdk-server-api-ref-dataypes-process">Server
470      * API Reference</a>. </p>
471      */
AddLogPaths(const char * value)472     inline CreateFleetRequest& AddLogPaths(const char* value) { m_logPathsHasBeenSet = true; m_logPaths.push_back(value); return *this; }
473 
474 
475     /**
476      * <p>The GameLift-supported EC2 instance type to use for all fleet instances.
477      * Instance type determines the computing resources that will be used to host your
478      * game servers, including CPU, memory, storage, and networking capacity. See <a
479      * href="http://aws.amazon.com/ec2/instance-types/">Amazon EC2 Instance Types</a>
480      * for detailed descriptions of EC2 instance types.</p>
481      */
GetEC2InstanceType()482     inline const EC2InstanceType& GetEC2InstanceType() const{ return m_eC2InstanceType; }
483 
484     /**
485      * <p>The GameLift-supported EC2 instance type to use for all fleet instances.
486      * Instance type determines the computing resources that will be used to host your
487      * game servers, including CPU, memory, storage, and networking capacity. See <a
488      * href="http://aws.amazon.com/ec2/instance-types/">Amazon EC2 Instance Types</a>
489      * for detailed descriptions of EC2 instance types.</p>
490      */
EC2InstanceTypeHasBeenSet()491     inline bool EC2InstanceTypeHasBeenSet() const { return m_eC2InstanceTypeHasBeenSet; }
492 
493     /**
494      * <p>The GameLift-supported EC2 instance type to use for all fleet instances.
495      * Instance type determines the computing resources that will be used to host your
496      * game servers, including CPU, memory, storage, and networking capacity. See <a
497      * href="http://aws.amazon.com/ec2/instance-types/">Amazon EC2 Instance Types</a>
498      * for detailed descriptions of EC2 instance types.</p>
499      */
SetEC2InstanceType(const EC2InstanceType & value)500     inline void SetEC2InstanceType(const EC2InstanceType& value) { m_eC2InstanceTypeHasBeenSet = true; m_eC2InstanceType = value; }
501 
502     /**
503      * <p>The GameLift-supported EC2 instance type to use for all fleet instances.
504      * Instance type determines the computing resources that will be used to host your
505      * game servers, including CPU, memory, storage, and networking capacity. See <a
506      * href="http://aws.amazon.com/ec2/instance-types/">Amazon EC2 Instance Types</a>
507      * for detailed descriptions of EC2 instance types.</p>
508      */
SetEC2InstanceType(EC2InstanceType && value)509     inline void SetEC2InstanceType(EC2InstanceType&& value) { m_eC2InstanceTypeHasBeenSet = true; m_eC2InstanceType = std::move(value); }
510 
511     /**
512      * <p>The GameLift-supported EC2 instance type to use for all fleet instances.
513      * Instance type determines the computing resources that will be used to host your
514      * game servers, including CPU, memory, storage, and networking capacity. See <a
515      * href="http://aws.amazon.com/ec2/instance-types/">Amazon EC2 Instance Types</a>
516      * for detailed descriptions of EC2 instance types.</p>
517      */
WithEC2InstanceType(const EC2InstanceType & value)518     inline CreateFleetRequest& WithEC2InstanceType(const EC2InstanceType& value) { SetEC2InstanceType(value); return *this;}
519 
520     /**
521      * <p>The GameLift-supported EC2 instance type to use for all fleet instances.
522      * Instance type determines the computing resources that will be used to host your
523      * game servers, including CPU, memory, storage, and networking capacity. See <a
524      * href="http://aws.amazon.com/ec2/instance-types/">Amazon EC2 Instance Types</a>
525      * for detailed descriptions of EC2 instance types.</p>
526      */
WithEC2InstanceType(EC2InstanceType && value)527     inline CreateFleetRequest& WithEC2InstanceType(EC2InstanceType&& value) { SetEC2InstanceType(std::move(value)); return *this;}
528 
529 
530     /**
531      * <p>The allowed IP address ranges and port settings that allow inbound traffic to
532      * access game sessions on this fleet. If the fleet is hosting a custom game build,
533      * this property must be set before players can connect to game sessions. For
534      * Realtime Servers fleets, GameLift automatically sets TCP and UDP ranges. </p>
535      */
GetEC2InboundPermissions()536     inline const Aws::Vector<IpPermission>& GetEC2InboundPermissions() const{ return m_eC2InboundPermissions; }
537 
538     /**
539      * <p>The allowed IP address ranges and port settings that allow inbound traffic to
540      * access game sessions on this fleet. If the fleet is hosting a custom game build,
541      * this property must be set before players can connect to game sessions. For
542      * Realtime Servers fleets, GameLift automatically sets TCP and UDP ranges. </p>
543      */
EC2InboundPermissionsHasBeenSet()544     inline bool EC2InboundPermissionsHasBeenSet() const { return m_eC2InboundPermissionsHasBeenSet; }
545 
546     /**
547      * <p>The allowed IP address ranges and port settings that allow inbound traffic to
548      * access game sessions on this fleet. If the fleet is hosting a custom game build,
549      * this property must be set before players can connect to game sessions. For
550      * Realtime Servers fleets, GameLift automatically sets TCP and UDP ranges. </p>
551      */
SetEC2InboundPermissions(const Aws::Vector<IpPermission> & value)552     inline void SetEC2InboundPermissions(const Aws::Vector<IpPermission>& value) { m_eC2InboundPermissionsHasBeenSet = true; m_eC2InboundPermissions = value; }
553 
554     /**
555      * <p>The allowed IP address ranges and port settings that allow inbound traffic to
556      * access game sessions on this fleet. If the fleet is hosting a custom game build,
557      * this property must be set before players can connect to game sessions. For
558      * Realtime Servers fleets, GameLift automatically sets TCP and UDP ranges. </p>
559      */
SetEC2InboundPermissions(Aws::Vector<IpPermission> && value)560     inline void SetEC2InboundPermissions(Aws::Vector<IpPermission>&& value) { m_eC2InboundPermissionsHasBeenSet = true; m_eC2InboundPermissions = std::move(value); }
561 
562     /**
563      * <p>The allowed IP address ranges and port settings that allow inbound traffic to
564      * access game sessions on this fleet. If the fleet is hosting a custom game build,
565      * this property must be set before players can connect to game sessions. For
566      * Realtime Servers fleets, GameLift automatically sets TCP and UDP ranges. </p>
567      */
WithEC2InboundPermissions(const Aws::Vector<IpPermission> & value)568     inline CreateFleetRequest& WithEC2InboundPermissions(const Aws::Vector<IpPermission>& value) { SetEC2InboundPermissions(value); return *this;}
569 
570     /**
571      * <p>The allowed IP address ranges and port settings that allow inbound traffic to
572      * access game sessions on this fleet. If the fleet is hosting a custom game build,
573      * this property must be set before players can connect to game sessions. For
574      * Realtime Servers fleets, GameLift automatically sets TCP and UDP ranges. </p>
575      */
WithEC2InboundPermissions(Aws::Vector<IpPermission> && value)576     inline CreateFleetRequest& WithEC2InboundPermissions(Aws::Vector<IpPermission>&& value) { SetEC2InboundPermissions(std::move(value)); return *this;}
577 
578     /**
579      * <p>The allowed IP address ranges and port settings that allow inbound traffic to
580      * access game sessions on this fleet. If the fleet is hosting a custom game build,
581      * this property must be set before players can connect to game sessions. For
582      * Realtime Servers fleets, GameLift automatically sets TCP and UDP ranges. </p>
583      */
AddEC2InboundPermissions(const IpPermission & value)584     inline CreateFleetRequest& AddEC2InboundPermissions(const IpPermission& value) { m_eC2InboundPermissionsHasBeenSet = true; m_eC2InboundPermissions.push_back(value); return *this; }
585 
586     /**
587      * <p>The allowed IP address ranges and port settings that allow inbound traffic to
588      * access game sessions on this fleet. If the fleet is hosting a custom game build,
589      * this property must be set before players can connect to game sessions. For
590      * Realtime Servers fleets, GameLift automatically sets TCP and UDP ranges. </p>
591      */
AddEC2InboundPermissions(IpPermission && value)592     inline CreateFleetRequest& AddEC2InboundPermissions(IpPermission&& value) { m_eC2InboundPermissionsHasBeenSet = true; m_eC2InboundPermissions.push_back(std::move(value)); return *this; }
593 
594 
595     /**
596      * <p>The status of termination protection for active game sessions on the fleet.
597      * By default, this property is set to <code>NoProtection</code>. You can also set
598      * game session protection for an individual game session by calling
599      * <a>UpdateGameSession</a>.</p> <ul> <li> <p> <b>NoProtection</b> - Game sessions
600      * can be terminated during active gameplay as a result of a scale-down event. </p>
601      * </li> <li> <p> <b>FullProtection</b> - Game sessions in <code>ACTIVE</code>
602      * status cannot be terminated during a scale-down event.</p> </li> </ul>
603      */
GetNewGameSessionProtectionPolicy()604     inline const ProtectionPolicy& GetNewGameSessionProtectionPolicy() const{ return m_newGameSessionProtectionPolicy; }
605 
606     /**
607      * <p>The status of termination protection for active game sessions on the fleet.
608      * By default, this property is set to <code>NoProtection</code>. You can also set
609      * game session protection for an individual game session by calling
610      * <a>UpdateGameSession</a>.</p> <ul> <li> <p> <b>NoProtection</b> - Game sessions
611      * can be terminated during active gameplay as a result of a scale-down event. </p>
612      * </li> <li> <p> <b>FullProtection</b> - Game sessions in <code>ACTIVE</code>
613      * status cannot be terminated during a scale-down event.</p> </li> </ul>
614      */
NewGameSessionProtectionPolicyHasBeenSet()615     inline bool NewGameSessionProtectionPolicyHasBeenSet() const { return m_newGameSessionProtectionPolicyHasBeenSet; }
616 
617     /**
618      * <p>The status of termination protection for active game sessions on the fleet.
619      * By default, this property is set to <code>NoProtection</code>. You can also set
620      * game session protection for an individual game session by calling
621      * <a>UpdateGameSession</a>.</p> <ul> <li> <p> <b>NoProtection</b> - Game sessions
622      * can be terminated during active gameplay as a result of a scale-down event. </p>
623      * </li> <li> <p> <b>FullProtection</b> - Game sessions in <code>ACTIVE</code>
624      * status cannot be terminated during a scale-down event.</p> </li> </ul>
625      */
SetNewGameSessionProtectionPolicy(const ProtectionPolicy & value)626     inline void SetNewGameSessionProtectionPolicy(const ProtectionPolicy& value) { m_newGameSessionProtectionPolicyHasBeenSet = true; m_newGameSessionProtectionPolicy = value; }
627 
628     /**
629      * <p>The status of termination protection for active game sessions on the fleet.
630      * By default, this property is set to <code>NoProtection</code>. You can also set
631      * game session protection for an individual game session by calling
632      * <a>UpdateGameSession</a>.</p> <ul> <li> <p> <b>NoProtection</b> - Game sessions
633      * can be terminated during active gameplay as a result of a scale-down event. </p>
634      * </li> <li> <p> <b>FullProtection</b> - Game sessions in <code>ACTIVE</code>
635      * status cannot be terminated during a scale-down event.</p> </li> </ul>
636      */
SetNewGameSessionProtectionPolicy(ProtectionPolicy && value)637     inline void SetNewGameSessionProtectionPolicy(ProtectionPolicy&& value) { m_newGameSessionProtectionPolicyHasBeenSet = true; m_newGameSessionProtectionPolicy = std::move(value); }
638 
639     /**
640      * <p>The status of termination protection for active game sessions on the fleet.
641      * By default, this property is set to <code>NoProtection</code>. You can also set
642      * game session protection for an individual game session by calling
643      * <a>UpdateGameSession</a>.</p> <ul> <li> <p> <b>NoProtection</b> - Game sessions
644      * can be terminated during active gameplay as a result of a scale-down event. </p>
645      * </li> <li> <p> <b>FullProtection</b> - Game sessions in <code>ACTIVE</code>
646      * status cannot be terminated during a scale-down event.</p> </li> </ul>
647      */
WithNewGameSessionProtectionPolicy(const ProtectionPolicy & value)648     inline CreateFleetRequest& WithNewGameSessionProtectionPolicy(const ProtectionPolicy& value) { SetNewGameSessionProtectionPolicy(value); return *this;}
649 
650     /**
651      * <p>The status of termination protection for active game sessions on the fleet.
652      * By default, this property is set to <code>NoProtection</code>. You can also set
653      * game session protection for an individual game session by calling
654      * <a>UpdateGameSession</a>.</p> <ul> <li> <p> <b>NoProtection</b> - Game sessions
655      * can be terminated during active gameplay as a result of a scale-down event. </p>
656      * </li> <li> <p> <b>FullProtection</b> - Game sessions in <code>ACTIVE</code>
657      * status cannot be terminated during a scale-down event.</p> </li> </ul>
658      */
WithNewGameSessionProtectionPolicy(ProtectionPolicy && value)659     inline CreateFleetRequest& WithNewGameSessionProtectionPolicy(ProtectionPolicy&& value) { SetNewGameSessionProtectionPolicy(std::move(value)); return *this;}
660 
661 
662     /**
663      * <p>Instructions for how to launch and maintain server processes on instances in
664      * the fleet. The runtime configuration defines one or more server process
665      * configurations, each identifying a build executable or Realtime script file and
666      * the number of processes of that type to run concurrently. </p>  <p>The
667      * <code>RuntimeConfiguration</code> parameter is required unless the fleet is
668      * being configured using the older parameters <code>ServerLaunchPath</code> and
669      * <code>ServerLaunchParameters</code>, which are still supported for backward
670      * compatibility.</p>
671      */
GetRuntimeConfiguration()672     inline const RuntimeConfiguration& GetRuntimeConfiguration() const{ return m_runtimeConfiguration; }
673 
674     /**
675      * <p>Instructions for how to launch and maintain server processes on instances in
676      * the fleet. The runtime configuration defines one or more server process
677      * configurations, each identifying a build executable or Realtime script file and
678      * the number of processes of that type to run concurrently. </p>  <p>The
679      * <code>RuntimeConfiguration</code> parameter is required unless the fleet is
680      * being configured using the older parameters <code>ServerLaunchPath</code> and
681      * <code>ServerLaunchParameters</code>, which are still supported for backward
682      * compatibility.</p>
683      */
RuntimeConfigurationHasBeenSet()684     inline bool RuntimeConfigurationHasBeenSet() const { return m_runtimeConfigurationHasBeenSet; }
685 
686     /**
687      * <p>Instructions for how to launch and maintain server processes on instances in
688      * the fleet. The runtime configuration defines one or more server process
689      * configurations, each identifying a build executable or Realtime script file and
690      * the number of processes of that type to run concurrently. </p>  <p>The
691      * <code>RuntimeConfiguration</code> parameter is required unless the fleet is
692      * being configured using the older parameters <code>ServerLaunchPath</code> and
693      * <code>ServerLaunchParameters</code>, which are still supported for backward
694      * compatibility.</p>
695      */
SetRuntimeConfiguration(const RuntimeConfiguration & value)696     inline void SetRuntimeConfiguration(const RuntimeConfiguration& value) { m_runtimeConfigurationHasBeenSet = true; m_runtimeConfiguration = value; }
697 
698     /**
699      * <p>Instructions for how to launch and maintain server processes on instances in
700      * the fleet. The runtime configuration defines one or more server process
701      * configurations, each identifying a build executable or Realtime script file and
702      * the number of processes of that type to run concurrently. </p>  <p>The
703      * <code>RuntimeConfiguration</code> parameter is required unless the fleet is
704      * being configured using the older parameters <code>ServerLaunchPath</code> and
705      * <code>ServerLaunchParameters</code>, which are still supported for backward
706      * compatibility.</p>
707      */
SetRuntimeConfiguration(RuntimeConfiguration && value)708     inline void SetRuntimeConfiguration(RuntimeConfiguration&& value) { m_runtimeConfigurationHasBeenSet = true; m_runtimeConfiguration = std::move(value); }
709 
710     /**
711      * <p>Instructions for how to launch and maintain server processes on instances in
712      * the fleet. The runtime configuration defines one or more server process
713      * configurations, each identifying a build executable or Realtime script file and
714      * the number of processes of that type to run concurrently. </p>  <p>The
715      * <code>RuntimeConfiguration</code> parameter is required unless the fleet is
716      * being configured using the older parameters <code>ServerLaunchPath</code> and
717      * <code>ServerLaunchParameters</code>, which are still supported for backward
718      * compatibility.</p>
719      */
WithRuntimeConfiguration(const RuntimeConfiguration & value)720     inline CreateFleetRequest& WithRuntimeConfiguration(const RuntimeConfiguration& value) { SetRuntimeConfiguration(value); return *this;}
721 
722     /**
723      * <p>Instructions for how to launch and maintain server processes on instances in
724      * the fleet. The runtime configuration defines one or more server process
725      * configurations, each identifying a build executable or Realtime script file and
726      * the number of processes of that type to run concurrently. </p>  <p>The
727      * <code>RuntimeConfiguration</code> parameter is required unless the fleet is
728      * being configured using the older parameters <code>ServerLaunchPath</code> and
729      * <code>ServerLaunchParameters</code>, which are still supported for backward
730      * compatibility.</p>
731      */
WithRuntimeConfiguration(RuntimeConfiguration && value)732     inline CreateFleetRequest& WithRuntimeConfiguration(RuntimeConfiguration&& value) { SetRuntimeConfiguration(std::move(value)); return *this;}
733 
734 
735     /**
736      * <p>A policy that limits the number of game sessions that an individual player
737      * can create on instances in this fleet within a specified span of time.</p>
738      */
GetResourceCreationLimitPolicy()739     inline const ResourceCreationLimitPolicy& GetResourceCreationLimitPolicy() const{ return m_resourceCreationLimitPolicy; }
740 
741     /**
742      * <p>A policy that limits the number of game sessions that an individual player
743      * can create on instances in this fleet within a specified span of time.</p>
744      */
ResourceCreationLimitPolicyHasBeenSet()745     inline bool ResourceCreationLimitPolicyHasBeenSet() const { return m_resourceCreationLimitPolicyHasBeenSet; }
746 
747     /**
748      * <p>A policy that limits the number of game sessions that an individual player
749      * can create on instances in this fleet within a specified span of time.</p>
750      */
SetResourceCreationLimitPolicy(const ResourceCreationLimitPolicy & value)751     inline void SetResourceCreationLimitPolicy(const ResourceCreationLimitPolicy& value) { m_resourceCreationLimitPolicyHasBeenSet = true; m_resourceCreationLimitPolicy = value; }
752 
753     /**
754      * <p>A policy that limits the number of game sessions that an individual player
755      * can create on instances in this fleet within a specified span of time.</p>
756      */
SetResourceCreationLimitPolicy(ResourceCreationLimitPolicy && value)757     inline void SetResourceCreationLimitPolicy(ResourceCreationLimitPolicy&& value) { m_resourceCreationLimitPolicyHasBeenSet = true; m_resourceCreationLimitPolicy = std::move(value); }
758 
759     /**
760      * <p>A policy that limits the number of game sessions that an individual player
761      * can create on instances in this fleet within a specified span of time.</p>
762      */
WithResourceCreationLimitPolicy(const ResourceCreationLimitPolicy & value)763     inline CreateFleetRequest& WithResourceCreationLimitPolicy(const ResourceCreationLimitPolicy& value) { SetResourceCreationLimitPolicy(value); return *this;}
764 
765     /**
766      * <p>A policy that limits the number of game sessions that an individual player
767      * can create on instances in this fleet within a specified span of time.</p>
768      */
WithResourceCreationLimitPolicy(ResourceCreationLimitPolicy && value)769     inline CreateFleetRequest& WithResourceCreationLimitPolicy(ResourceCreationLimitPolicy&& value) { SetResourceCreationLimitPolicy(std::move(value)); return *this;}
770 
771 
772     /**
773      * <p>The name of an AWS CloudWatch metric group to add this fleet to. A metric
774      * group is used to aggregate the metrics for multiple fleets. You can specify an
775      * existing metric group name or set a new name to create a new metric group. A
776      * fleet can be included in only one metric group at a time. </p>
777      */
GetMetricGroups()778     inline const Aws::Vector<Aws::String>& GetMetricGroups() const{ return m_metricGroups; }
779 
780     /**
781      * <p>The name of an AWS CloudWatch metric group to add this fleet to. A metric
782      * group is used to aggregate the metrics for multiple fleets. You can specify an
783      * existing metric group name or set a new name to create a new metric group. A
784      * fleet can be included in only one metric group at a time. </p>
785      */
MetricGroupsHasBeenSet()786     inline bool MetricGroupsHasBeenSet() const { return m_metricGroupsHasBeenSet; }
787 
788     /**
789      * <p>The name of an AWS CloudWatch metric group to add this fleet to. A metric
790      * group is used to aggregate the metrics for multiple fleets. You can specify an
791      * existing metric group name or set a new name to create a new metric group. A
792      * fleet can be included in only one metric group at a time. </p>
793      */
SetMetricGroups(const Aws::Vector<Aws::String> & value)794     inline void SetMetricGroups(const Aws::Vector<Aws::String>& value) { m_metricGroupsHasBeenSet = true; m_metricGroups = value; }
795 
796     /**
797      * <p>The name of an AWS CloudWatch metric group to add this fleet to. A metric
798      * group is used to aggregate the metrics for multiple fleets. You can specify an
799      * existing metric group name or set a new name to create a new metric group. A
800      * fleet can be included in only one metric group at a time. </p>
801      */
SetMetricGroups(Aws::Vector<Aws::String> && value)802     inline void SetMetricGroups(Aws::Vector<Aws::String>&& value) { m_metricGroupsHasBeenSet = true; m_metricGroups = std::move(value); }
803 
804     /**
805      * <p>The name of an AWS CloudWatch metric group to add this fleet to. A metric
806      * group is used to aggregate the metrics for multiple fleets. You can specify an
807      * existing metric group name or set a new name to create a new metric group. A
808      * fleet can be included in only one metric group at a time. </p>
809      */
WithMetricGroups(const Aws::Vector<Aws::String> & value)810     inline CreateFleetRequest& WithMetricGroups(const Aws::Vector<Aws::String>& value) { SetMetricGroups(value); return *this;}
811 
812     /**
813      * <p>The name of an AWS CloudWatch metric group to add this fleet to. A metric
814      * group is used to aggregate the metrics for multiple fleets. You can specify an
815      * existing metric group name or set a new name to create a new metric group. A
816      * fleet can be included in only one metric group at a time. </p>
817      */
WithMetricGroups(Aws::Vector<Aws::String> && value)818     inline CreateFleetRequest& WithMetricGroups(Aws::Vector<Aws::String>&& value) { SetMetricGroups(std::move(value)); return *this;}
819 
820     /**
821      * <p>The name of an AWS CloudWatch metric group to add this fleet to. A metric
822      * group is used to aggregate the metrics for multiple fleets. You can specify an
823      * existing metric group name or set a new name to create a new metric group. A
824      * fleet can be included in only one metric group at a time. </p>
825      */
AddMetricGroups(const Aws::String & value)826     inline CreateFleetRequest& AddMetricGroups(const Aws::String& value) { m_metricGroupsHasBeenSet = true; m_metricGroups.push_back(value); return *this; }
827 
828     /**
829      * <p>The name of an AWS CloudWatch metric group to add this fleet to. A metric
830      * group is used to aggregate the metrics for multiple fleets. You can specify an
831      * existing metric group name or set a new name to create a new metric group. A
832      * fleet can be included in only one metric group at a time. </p>
833      */
AddMetricGroups(Aws::String && value)834     inline CreateFleetRequest& AddMetricGroups(Aws::String&& value) { m_metricGroupsHasBeenSet = true; m_metricGroups.push_back(std::move(value)); return *this; }
835 
836     /**
837      * <p>The name of an AWS CloudWatch metric group to add this fleet to. A metric
838      * group is used to aggregate the metrics for multiple fleets. You can specify an
839      * existing metric group name or set a new name to create a new metric group. A
840      * fleet can be included in only one metric group at a time. </p>
841      */
AddMetricGroups(const char * value)842     inline CreateFleetRequest& AddMetricGroups(const char* value) { m_metricGroupsHasBeenSet = true; m_metricGroups.push_back(value); return *this; }
843 
844 
845     /**
846      * <p>Used when peering your GameLift fleet with a VPC, the unique identifier for
847      * the AWS account that owns the VPC. You can find your account ID in the AWS
848      * Management Console under account settings. </p>
849      */
GetPeerVpcAwsAccountId()850     inline const Aws::String& GetPeerVpcAwsAccountId() const{ return m_peerVpcAwsAccountId; }
851 
852     /**
853      * <p>Used when peering your GameLift fleet with a VPC, the unique identifier for
854      * the AWS account that owns the VPC. You can find your account ID in the AWS
855      * Management Console under account settings. </p>
856      */
PeerVpcAwsAccountIdHasBeenSet()857     inline bool PeerVpcAwsAccountIdHasBeenSet() const { return m_peerVpcAwsAccountIdHasBeenSet; }
858 
859     /**
860      * <p>Used when peering your GameLift fleet with a VPC, the unique identifier for
861      * the AWS account that owns the VPC. You can find your account ID in the AWS
862      * Management Console under account settings. </p>
863      */
SetPeerVpcAwsAccountId(const Aws::String & value)864     inline void SetPeerVpcAwsAccountId(const Aws::String& value) { m_peerVpcAwsAccountIdHasBeenSet = true; m_peerVpcAwsAccountId = value; }
865 
866     /**
867      * <p>Used when peering your GameLift fleet with a VPC, the unique identifier for
868      * the AWS account that owns the VPC. You can find your account ID in the AWS
869      * Management Console under account settings. </p>
870      */
SetPeerVpcAwsAccountId(Aws::String && value)871     inline void SetPeerVpcAwsAccountId(Aws::String&& value) { m_peerVpcAwsAccountIdHasBeenSet = true; m_peerVpcAwsAccountId = std::move(value); }
872 
873     /**
874      * <p>Used when peering your GameLift fleet with a VPC, the unique identifier for
875      * the AWS account that owns the VPC. You can find your account ID in the AWS
876      * Management Console under account settings. </p>
877      */
SetPeerVpcAwsAccountId(const char * value)878     inline void SetPeerVpcAwsAccountId(const char* value) { m_peerVpcAwsAccountIdHasBeenSet = true; m_peerVpcAwsAccountId.assign(value); }
879 
880     /**
881      * <p>Used when peering your GameLift fleet with a VPC, the unique identifier for
882      * the AWS account that owns the VPC. You can find your account ID in the AWS
883      * Management Console under account settings. </p>
884      */
WithPeerVpcAwsAccountId(const Aws::String & value)885     inline CreateFleetRequest& WithPeerVpcAwsAccountId(const Aws::String& value) { SetPeerVpcAwsAccountId(value); return *this;}
886 
887     /**
888      * <p>Used when peering your GameLift fleet with a VPC, the unique identifier for
889      * the AWS account that owns the VPC. You can find your account ID in the AWS
890      * Management Console under account settings. </p>
891      */
WithPeerVpcAwsAccountId(Aws::String && value)892     inline CreateFleetRequest& WithPeerVpcAwsAccountId(Aws::String&& value) { SetPeerVpcAwsAccountId(std::move(value)); return *this;}
893 
894     /**
895      * <p>Used when peering your GameLift fleet with a VPC, the unique identifier for
896      * the AWS account that owns the VPC. You can find your account ID in the AWS
897      * Management Console under account settings. </p>
898      */
WithPeerVpcAwsAccountId(const char * value)899     inline CreateFleetRequest& WithPeerVpcAwsAccountId(const char* value) { SetPeerVpcAwsAccountId(value); return *this;}
900 
901 
902     /**
903      * <p>A unique identifier for a VPC with resources to be accessed by your GameLift
904      * fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID,
905      * use the <a href="https://console.aws.amazon.com/vpc/">VPC Dashboard</a> in the
906      * AWS Management Console. Learn more about VPC peering in <a
907      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html">VPC
908      * Peering with GameLift Fleets</a>. </p>
909      */
GetPeerVpcId()910     inline const Aws::String& GetPeerVpcId() const{ return m_peerVpcId; }
911 
912     /**
913      * <p>A unique identifier for a VPC with resources to be accessed by your GameLift
914      * fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID,
915      * use the <a href="https://console.aws.amazon.com/vpc/">VPC Dashboard</a> in the
916      * AWS Management Console. Learn more about VPC peering in <a
917      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html">VPC
918      * Peering with GameLift Fleets</a>. </p>
919      */
PeerVpcIdHasBeenSet()920     inline bool PeerVpcIdHasBeenSet() const { return m_peerVpcIdHasBeenSet; }
921 
922     /**
923      * <p>A unique identifier for a VPC with resources to be accessed by your GameLift
924      * fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID,
925      * use the <a href="https://console.aws.amazon.com/vpc/">VPC Dashboard</a> in the
926      * AWS Management Console. Learn more about VPC peering in <a
927      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html">VPC
928      * Peering with GameLift Fleets</a>. </p>
929      */
SetPeerVpcId(const Aws::String & value)930     inline void SetPeerVpcId(const Aws::String& value) { m_peerVpcIdHasBeenSet = true; m_peerVpcId = value; }
931 
932     /**
933      * <p>A unique identifier for a VPC with resources to be accessed by your GameLift
934      * fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID,
935      * use the <a href="https://console.aws.amazon.com/vpc/">VPC Dashboard</a> in the
936      * AWS Management Console. Learn more about VPC peering in <a
937      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html">VPC
938      * Peering with GameLift Fleets</a>. </p>
939      */
SetPeerVpcId(Aws::String && value)940     inline void SetPeerVpcId(Aws::String&& value) { m_peerVpcIdHasBeenSet = true; m_peerVpcId = std::move(value); }
941 
942     /**
943      * <p>A unique identifier for a VPC with resources to be accessed by your GameLift
944      * fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID,
945      * use the <a href="https://console.aws.amazon.com/vpc/">VPC Dashboard</a> in the
946      * AWS Management Console. Learn more about VPC peering in <a
947      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html">VPC
948      * Peering with GameLift Fleets</a>. </p>
949      */
SetPeerVpcId(const char * value)950     inline void SetPeerVpcId(const char* value) { m_peerVpcIdHasBeenSet = true; m_peerVpcId.assign(value); }
951 
952     /**
953      * <p>A unique identifier for a VPC with resources to be accessed by your GameLift
954      * fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID,
955      * use the <a href="https://console.aws.amazon.com/vpc/">VPC Dashboard</a> in the
956      * AWS Management Console. Learn more about VPC peering in <a
957      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html">VPC
958      * Peering with GameLift Fleets</a>. </p>
959      */
WithPeerVpcId(const Aws::String & value)960     inline CreateFleetRequest& WithPeerVpcId(const Aws::String& value) { SetPeerVpcId(value); return *this;}
961 
962     /**
963      * <p>A unique identifier for a VPC with resources to be accessed by your GameLift
964      * fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID,
965      * use the <a href="https://console.aws.amazon.com/vpc/">VPC Dashboard</a> in the
966      * AWS Management Console. Learn more about VPC peering in <a
967      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html">VPC
968      * Peering with GameLift Fleets</a>. </p>
969      */
WithPeerVpcId(Aws::String && value)970     inline CreateFleetRequest& WithPeerVpcId(Aws::String&& value) { SetPeerVpcId(std::move(value)); return *this;}
971 
972     /**
973      * <p>A unique identifier for a VPC with resources to be accessed by your GameLift
974      * fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID,
975      * use the <a href="https://console.aws.amazon.com/vpc/">VPC Dashboard</a> in the
976      * AWS Management Console. Learn more about VPC peering in <a
977      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html">VPC
978      * Peering with GameLift Fleets</a>. </p>
979      */
WithPeerVpcId(const char * value)980     inline CreateFleetRequest& WithPeerVpcId(const char* value) { SetPeerVpcId(value); return *this;}
981 
982 
983     /**
984      * <p>Indicates whether to use On-Demand or Spot instances for this fleet. By
985      * default, this property is set to <code>ON_DEMAND</code>. Learn more about when
986      * to use <a
987      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html#gamelift-ec2-instances-spot">
988      * On-Demand versus Spot Instances</a>. This property cannot be changed after the
989      * fleet is created.</p>
990      */
GetFleetType()991     inline const FleetType& GetFleetType() const{ return m_fleetType; }
992 
993     /**
994      * <p>Indicates whether to use On-Demand or Spot instances for this fleet. By
995      * default, this property is set to <code>ON_DEMAND</code>. Learn more about when
996      * to use <a
997      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html#gamelift-ec2-instances-spot">
998      * On-Demand versus Spot Instances</a>. This property cannot be changed after the
999      * fleet is created.</p>
1000      */
FleetTypeHasBeenSet()1001     inline bool FleetTypeHasBeenSet() const { return m_fleetTypeHasBeenSet; }
1002 
1003     /**
1004      * <p>Indicates whether to use On-Demand or Spot instances for this fleet. By
1005      * default, this property is set to <code>ON_DEMAND</code>. Learn more about when
1006      * to use <a
1007      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html#gamelift-ec2-instances-spot">
1008      * On-Demand versus Spot Instances</a>. This property cannot be changed after the
1009      * fleet is created.</p>
1010      */
SetFleetType(const FleetType & value)1011     inline void SetFleetType(const FleetType& value) { m_fleetTypeHasBeenSet = true; m_fleetType = value; }
1012 
1013     /**
1014      * <p>Indicates whether to use On-Demand or Spot instances for this fleet. By
1015      * default, this property is set to <code>ON_DEMAND</code>. Learn more about when
1016      * to use <a
1017      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html#gamelift-ec2-instances-spot">
1018      * On-Demand versus Spot Instances</a>. This property cannot be changed after the
1019      * fleet is created.</p>
1020      */
SetFleetType(FleetType && value)1021     inline void SetFleetType(FleetType&& value) { m_fleetTypeHasBeenSet = true; m_fleetType = std::move(value); }
1022 
1023     /**
1024      * <p>Indicates whether to use On-Demand or Spot instances for this fleet. By
1025      * default, this property is set to <code>ON_DEMAND</code>. Learn more about when
1026      * to use <a
1027      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html#gamelift-ec2-instances-spot">
1028      * On-Demand versus Spot Instances</a>. This property cannot be changed after the
1029      * fleet is created.</p>
1030      */
WithFleetType(const FleetType & value)1031     inline CreateFleetRequest& WithFleetType(const FleetType& value) { SetFleetType(value); return *this;}
1032 
1033     /**
1034      * <p>Indicates whether to use On-Demand or Spot instances for this fleet. By
1035      * default, this property is set to <code>ON_DEMAND</code>. Learn more about when
1036      * to use <a
1037      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html#gamelift-ec2-instances-spot">
1038      * On-Demand versus Spot Instances</a>. This property cannot be changed after the
1039      * fleet is created.</p>
1040      */
WithFleetType(FleetType && value)1041     inline CreateFleetRequest& WithFleetType(FleetType&& value) { SetFleetType(std::move(value)); return *this;}
1042 
1043 
1044     /**
1045      * <p>A unique identifier for an AWS IAM role that manages access to your AWS
1046      * services. With an instance role ARN set, any application that runs on an
1047      * instance in this fleet can assume the role, including install scripts, server
1048      * processes, and daemons (background processes). Create a role or look up a role's
1049      * ARN by using the <a href="https://console.aws.amazon.com/iam/">IAM dashboard</a>
1050      * in the AWS Management Console. Learn more about using on-box credentials for
1051      * your game servers at <a
1052      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html">
1053      * Access external resources from a game server</a>. This property cannot be
1054      * changed after the fleet is created.</p>
1055      */
GetInstanceRoleArn()1056     inline const Aws::String& GetInstanceRoleArn() const{ return m_instanceRoleArn; }
1057 
1058     /**
1059      * <p>A unique identifier for an AWS IAM role that manages access to your AWS
1060      * services. With an instance role ARN set, any application that runs on an
1061      * instance in this fleet can assume the role, including install scripts, server
1062      * processes, and daemons (background processes). Create a role or look up a role's
1063      * ARN by using the <a href="https://console.aws.amazon.com/iam/">IAM dashboard</a>
1064      * in the AWS Management Console. Learn more about using on-box credentials for
1065      * your game servers at <a
1066      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html">
1067      * Access external resources from a game server</a>. This property cannot be
1068      * changed after the fleet is created.</p>
1069      */
InstanceRoleArnHasBeenSet()1070     inline bool InstanceRoleArnHasBeenSet() const { return m_instanceRoleArnHasBeenSet; }
1071 
1072     /**
1073      * <p>A unique identifier for an AWS IAM role that manages access to your AWS
1074      * services. With an instance role ARN set, any application that runs on an
1075      * instance in this fleet can assume the role, including install scripts, server
1076      * processes, and daemons (background processes). Create a role or look up a role's
1077      * ARN by using the <a href="https://console.aws.amazon.com/iam/">IAM dashboard</a>
1078      * in the AWS Management Console. Learn more about using on-box credentials for
1079      * your game servers at <a
1080      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html">
1081      * Access external resources from a game server</a>. This property cannot be
1082      * changed after the fleet is created.</p>
1083      */
SetInstanceRoleArn(const Aws::String & value)1084     inline void SetInstanceRoleArn(const Aws::String& value) { m_instanceRoleArnHasBeenSet = true; m_instanceRoleArn = value; }
1085 
1086     /**
1087      * <p>A unique identifier for an AWS IAM role that manages access to your AWS
1088      * services. With an instance role ARN set, any application that runs on an
1089      * instance in this fleet can assume the role, including install scripts, server
1090      * processes, and daemons (background processes). Create a role or look up a role's
1091      * ARN by using the <a href="https://console.aws.amazon.com/iam/">IAM dashboard</a>
1092      * in the AWS Management Console. Learn more about using on-box credentials for
1093      * your game servers at <a
1094      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html">
1095      * Access external resources from a game server</a>. This property cannot be
1096      * changed after the fleet is created.</p>
1097      */
SetInstanceRoleArn(Aws::String && value)1098     inline void SetInstanceRoleArn(Aws::String&& value) { m_instanceRoleArnHasBeenSet = true; m_instanceRoleArn = std::move(value); }
1099 
1100     /**
1101      * <p>A unique identifier for an AWS IAM role that manages access to your AWS
1102      * services. With an instance role ARN set, any application that runs on an
1103      * instance in this fleet can assume the role, including install scripts, server
1104      * processes, and daemons (background processes). Create a role or look up a role's
1105      * ARN by using the <a href="https://console.aws.amazon.com/iam/">IAM dashboard</a>
1106      * in the AWS Management Console. Learn more about using on-box credentials for
1107      * your game servers at <a
1108      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html">
1109      * Access external resources from a game server</a>. This property cannot be
1110      * changed after the fleet is created.</p>
1111      */
SetInstanceRoleArn(const char * value)1112     inline void SetInstanceRoleArn(const char* value) { m_instanceRoleArnHasBeenSet = true; m_instanceRoleArn.assign(value); }
1113 
1114     /**
1115      * <p>A unique identifier for an AWS IAM role that manages access to your AWS
1116      * services. With an instance role ARN set, any application that runs on an
1117      * instance in this fleet can assume the role, including install scripts, server
1118      * processes, and daemons (background processes). Create a role or look up a role's
1119      * ARN by using the <a href="https://console.aws.amazon.com/iam/">IAM dashboard</a>
1120      * in the AWS Management Console. Learn more about using on-box credentials for
1121      * your game servers at <a
1122      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html">
1123      * Access external resources from a game server</a>. This property cannot be
1124      * changed after the fleet is created.</p>
1125      */
WithInstanceRoleArn(const Aws::String & value)1126     inline CreateFleetRequest& WithInstanceRoleArn(const Aws::String& value) { SetInstanceRoleArn(value); return *this;}
1127 
1128     /**
1129      * <p>A unique identifier for an AWS IAM role that manages access to your AWS
1130      * services. With an instance role ARN set, any application that runs on an
1131      * instance in this fleet can assume the role, including install scripts, server
1132      * processes, and daemons (background processes). Create a role or look up a role's
1133      * ARN by using the <a href="https://console.aws.amazon.com/iam/">IAM dashboard</a>
1134      * in the AWS Management Console. Learn more about using on-box credentials for
1135      * your game servers at <a
1136      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html">
1137      * Access external resources from a game server</a>. This property cannot be
1138      * changed after the fleet is created.</p>
1139      */
WithInstanceRoleArn(Aws::String && value)1140     inline CreateFleetRequest& WithInstanceRoleArn(Aws::String&& value) { SetInstanceRoleArn(std::move(value)); return *this;}
1141 
1142     /**
1143      * <p>A unique identifier for an AWS IAM role that manages access to your AWS
1144      * services. With an instance role ARN set, any application that runs on an
1145      * instance in this fleet can assume the role, including install scripts, server
1146      * processes, and daemons (background processes). Create a role or look up a role's
1147      * ARN by using the <a href="https://console.aws.amazon.com/iam/">IAM dashboard</a>
1148      * in the AWS Management Console. Learn more about using on-box credentials for
1149      * your game servers at <a
1150      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html">
1151      * Access external resources from a game server</a>. This property cannot be
1152      * changed after the fleet is created.</p>
1153      */
WithInstanceRoleArn(const char * value)1154     inline CreateFleetRequest& WithInstanceRoleArn(const char* value) { SetInstanceRoleArn(value); return *this;}
1155 
1156 
1157     /**
1158      * <p>Prompts GameLift to generate a TLS/SSL certificate for the fleet. TLS
1159      * certificates are used for encrypting traffic between game clients and the game
1160      * servers that are running on GameLift. By default, the
1161      * <code>CertificateConfiguration</code> is set to <code>DISABLED</code>. Learn
1162      * more at <a
1163      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-howitworks.html#gamelift-howitworks-security">Securing
1164      * Client/Server Communication</a>. This property cannot be changed after the fleet
1165      * is created. </p> <p>Note: This feature requires the AWS Certificate Manager
1166      * (ACM) service, which is not available in all AWS regions. When working in a
1167      * region that does not support this feature, a fleet creation request with
1168      * certificate generation fails with a 4xx error.</p>
1169      */
GetCertificateConfiguration()1170     inline const CertificateConfiguration& GetCertificateConfiguration() const{ return m_certificateConfiguration; }
1171 
1172     /**
1173      * <p>Prompts GameLift to generate a TLS/SSL certificate for the fleet. TLS
1174      * certificates are used for encrypting traffic between game clients and the game
1175      * servers that are running on GameLift. By default, the
1176      * <code>CertificateConfiguration</code> is set to <code>DISABLED</code>. Learn
1177      * more at <a
1178      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-howitworks.html#gamelift-howitworks-security">Securing
1179      * Client/Server Communication</a>. This property cannot be changed after the fleet
1180      * is created. </p> <p>Note: This feature requires the AWS Certificate Manager
1181      * (ACM) service, which is not available in all AWS regions. When working in a
1182      * region that does not support this feature, a fleet creation request with
1183      * certificate generation fails with a 4xx error.</p>
1184      */
CertificateConfigurationHasBeenSet()1185     inline bool CertificateConfigurationHasBeenSet() const { return m_certificateConfigurationHasBeenSet; }
1186 
1187     /**
1188      * <p>Prompts GameLift to generate a TLS/SSL certificate for the fleet. TLS
1189      * certificates are used for encrypting traffic between game clients and the game
1190      * servers that are running on GameLift. By default, the
1191      * <code>CertificateConfiguration</code> is set to <code>DISABLED</code>. Learn
1192      * more at <a
1193      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-howitworks.html#gamelift-howitworks-security">Securing
1194      * Client/Server Communication</a>. This property cannot be changed after the fleet
1195      * is created. </p> <p>Note: This feature requires the AWS Certificate Manager
1196      * (ACM) service, which is not available in all AWS regions. When working in a
1197      * region that does not support this feature, a fleet creation request with
1198      * certificate generation fails with a 4xx error.</p>
1199      */
SetCertificateConfiguration(const CertificateConfiguration & value)1200     inline void SetCertificateConfiguration(const CertificateConfiguration& value) { m_certificateConfigurationHasBeenSet = true; m_certificateConfiguration = value; }
1201 
1202     /**
1203      * <p>Prompts GameLift to generate a TLS/SSL certificate for the fleet. TLS
1204      * certificates are used for encrypting traffic between game clients and the game
1205      * servers that are running on GameLift. By default, the
1206      * <code>CertificateConfiguration</code> is set to <code>DISABLED</code>. Learn
1207      * more at <a
1208      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-howitworks.html#gamelift-howitworks-security">Securing
1209      * Client/Server Communication</a>. This property cannot be changed after the fleet
1210      * is created. </p> <p>Note: This feature requires the AWS Certificate Manager
1211      * (ACM) service, which is not available in all AWS regions. When working in a
1212      * region that does not support this feature, a fleet creation request with
1213      * certificate generation fails with a 4xx error.</p>
1214      */
SetCertificateConfiguration(CertificateConfiguration && value)1215     inline void SetCertificateConfiguration(CertificateConfiguration&& value) { m_certificateConfigurationHasBeenSet = true; m_certificateConfiguration = std::move(value); }
1216 
1217     /**
1218      * <p>Prompts GameLift to generate a TLS/SSL certificate for the fleet. TLS
1219      * certificates are used for encrypting traffic between game clients and the game
1220      * servers that are running on GameLift. By default, the
1221      * <code>CertificateConfiguration</code> is set to <code>DISABLED</code>. Learn
1222      * more at <a
1223      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-howitworks.html#gamelift-howitworks-security">Securing
1224      * Client/Server Communication</a>. This property cannot be changed after the fleet
1225      * is created. </p> <p>Note: This feature requires the AWS Certificate Manager
1226      * (ACM) service, which is not available in all AWS regions. When working in a
1227      * region that does not support this feature, a fleet creation request with
1228      * certificate generation fails with a 4xx error.</p>
1229      */
WithCertificateConfiguration(const CertificateConfiguration & value)1230     inline CreateFleetRequest& WithCertificateConfiguration(const CertificateConfiguration& value) { SetCertificateConfiguration(value); return *this;}
1231 
1232     /**
1233      * <p>Prompts GameLift to generate a TLS/SSL certificate for the fleet. TLS
1234      * certificates are used for encrypting traffic between game clients and the game
1235      * servers that are running on GameLift. By default, the
1236      * <code>CertificateConfiguration</code> is set to <code>DISABLED</code>. Learn
1237      * more at <a
1238      * href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-howitworks.html#gamelift-howitworks-security">Securing
1239      * Client/Server Communication</a>. This property cannot be changed after the fleet
1240      * is created. </p> <p>Note: This feature requires the AWS Certificate Manager
1241      * (ACM) service, which is not available in all AWS regions. When working in a
1242      * region that does not support this feature, a fleet creation request with
1243      * certificate generation fails with a 4xx error.</p>
1244      */
WithCertificateConfiguration(CertificateConfiguration && value)1245     inline CreateFleetRequest& WithCertificateConfiguration(CertificateConfiguration&& value) { SetCertificateConfiguration(std::move(value)); return *this;}
1246 
1247 
1248     /**
1249      * <p>A set of remote locations to deploy additional instances to and manage as
1250      * part of the fleet. This parameter can only be used when creating fleets in AWS
1251      * Regions that support multiple locations. You can add any GameLift-supported AWS
1252      * Region as a remote location, in the form of an AWS Region code such as
1253      * <code>us-west-2</code>. To create a fleet with instances in the home Region
1254      * only, omit this parameter. </p>
1255      */
GetLocations()1256     inline const Aws::Vector<LocationConfiguration>& GetLocations() const{ return m_locations; }
1257 
1258     /**
1259      * <p>A set of remote locations to deploy additional instances to and manage as
1260      * part of the fleet. This parameter can only be used when creating fleets in AWS
1261      * Regions that support multiple locations. You can add any GameLift-supported AWS
1262      * Region as a remote location, in the form of an AWS Region code such as
1263      * <code>us-west-2</code>. To create a fleet with instances in the home Region
1264      * only, omit this parameter. </p>
1265      */
LocationsHasBeenSet()1266     inline bool LocationsHasBeenSet() const { return m_locationsHasBeenSet; }
1267 
1268     /**
1269      * <p>A set of remote locations to deploy additional instances to and manage as
1270      * part of the fleet. This parameter can only be used when creating fleets in AWS
1271      * Regions that support multiple locations. You can add any GameLift-supported AWS
1272      * Region as a remote location, in the form of an AWS Region code such as
1273      * <code>us-west-2</code>. To create a fleet with instances in the home Region
1274      * only, omit this parameter. </p>
1275      */
SetLocations(const Aws::Vector<LocationConfiguration> & value)1276     inline void SetLocations(const Aws::Vector<LocationConfiguration>& value) { m_locationsHasBeenSet = true; m_locations = value; }
1277 
1278     /**
1279      * <p>A set of remote locations to deploy additional instances to and manage as
1280      * part of the fleet. This parameter can only be used when creating fleets in AWS
1281      * Regions that support multiple locations. You can add any GameLift-supported AWS
1282      * Region as a remote location, in the form of an AWS Region code such as
1283      * <code>us-west-2</code>. To create a fleet with instances in the home Region
1284      * only, omit this parameter. </p>
1285      */
SetLocations(Aws::Vector<LocationConfiguration> && value)1286     inline void SetLocations(Aws::Vector<LocationConfiguration>&& value) { m_locationsHasBeenSet = true; m_locations = std::move(value); }
1287 
1288     /**
1289      * <p>A set of remote locations to deploy additional instances to and manage as
1290      * part of the fleet. This parameter can only be used when creating fleets in AWS
1291      * Regions that support multiple locations. You can add any GameLift-supported AWS
1292      * Region as a remote location, in the form of an AWS Region code such as
1293      * <code>us-west-2</code>. To create a fleet with instances in the home Region
1294      * only, omit this parameter. </p>
1295      */
WithLocations(const Aws::Vector<LocationConfiguration> & value)1296     inline CreateFleetRequest& WithLocations(const Aws::Vector<LocationConfiguration>& value) { SetLocations(value); return *this;}
1297 
1298     /**
1299      * <p>A set of remote locations to deploy additional instances to and manage as
1300      * part of the fleet. This parameter can only be used when creating fleets in AWS
1301      * Regions that support multiple locations. You can add any GameLift-supported AWS
1302      * Region as a remote location, in the form of an AWS Region code such as
1303      * <code>us-west-2</code>. To create a fleet with instances in the home Region
1304      * only, omit this parameter. </p>
1305      */
WithLocations(Aws::Vector<LocationConfiguration> && value)1306     inline CreateFleetRequest& WithLocations(Aws::Vector<LocationConfiguration>&& value) { SetLocations(std::move(value)); return *this;}
1307 
1308     /**
1309      * <p>A set of remote locations to deploy additional instances to and manage as
1310      * part of the fleet. This parameter can only be used when creating fleets in AWS
1311      * Regions that support multiple locations. You can add any GameLift-supported AWS
1312      * Region as a remote location, in the form of an AWS Region code such as
1313      * <code>us-west-2</code>. To create a fleet with instances in the home Region
1314      * only, omit this parameter. </p>
1315      */
AddLocations(const LocationConfiguration & value)1316     inline CreateFleetRequest& AddLocations(const LocationConfiguration& value) { m_locationsHasBeenSet = true; m_locations.push_back(value); return *this; }
1317 
1318     /**
1319      * <p>A set of remote locations to deploy additional instances to and manage as
1320      * part of the fleet. This parameter can only be used when creating fleets in AWS
1321      * Regions that support multiple locations. You can add any GameLift-supported AWS
1322      * Region as a remote location, in the form of an AWS Region code such as
1323      * <code>us-west-2</code>. To create a fleet with instances in the home Region
1324      * only, omit this parameter. </p>
1325      */
AddLocations(LocationConfiguration && value)1326     inline CreateFleetRequest& AddLocations(LocationConfiguration&& value) { m_locationsHasBeenSet = true; m_locations.push_back(std::move(value)); return *this; }
1327 
1328 
1329     /**
1330      * <p>A list of labels to assign to the new fleet resource. Tags are
1331      * developer-defined key-value pairs. Tagging AWS resources are useful for resource
1332      * management, access management and cost allocation. For more information, see <a
1333      * href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"> Tagging
1334      * AWS Resources</a> in the <i>AWS General Reference</i>. Once the fleet is
1335      * created, you can use <a>TagResource</a>, <a>UntagResource</a>, and
1336      * <a>ListTagsForResource</a> to add, remove, and view tags. The maximum tag limit
1337      * may be lower than stated. See the <i>AWS General Reference</i> for actual
1338      * tagging limits.</p>
1339      */
GetTags()1340     inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
1341 
1342     /**
1343      * <p>A list of labels to assign to the new fleet resource. Tags are
1344      * developer-defined key-value pairs. Tagging AWS resources are useful for resource
1345      * management, access management and cost allocation. For more information, see <a
1346      * href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"> Tagging
1347      * AWS Resources</a> in the <i>AWS General Reference</i>. Once the fleet is
1348      * created, you can use <a>TagResource</a>, <a>UntagResource</a>, and
1349      * <a>ListTagsForResource</a> to add, remove, and view tags. The maximum tag limit
1350      * may be lower than stated. See the <i>AWS General Reference</i> for actual
1351      * tagging limits.</p>
1352      */
TagsHasBeenSet()1353     inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
1354 
1355     /**
1356      * <p>A list of labels to assign to the new fleet resource. Tags are
1357      * developer-defined key-value pairs. Tagging AWS resources are useful for resource
1358      * management, access management and cost allocation. For more information, see <a
1359      * href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"> Tagging
1360      * AWS Resources</a> in the <i>AWS General Reference</i>. Once the fleet is
1361      * created, you can use <a>TagResource</a>, <a>UntagResource</a>, and
1362      * <a>ListTagsForResource</a> to add, remove, and view tags. The maximum tag limit
1363      * may be lower than stated. See the <i>AWS General Reference</i> for actual
1364      * tagging limits.</p>
1365      */
SetTags(const Aws::Vector<Tag> & value)1366     inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
1367 
1368     /**
1369      * <p>A list of labels to assign to the new fleet resource. Tags are
1370      * developer-defined key-value pairs. Tagging AWS resources are useful for resource
1371      * management, access management and cost allocation. For more information, see <a
1372      * href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"> Tagging
1373      * AWS Resources</a> in the <i>AWS General Reference</i>. Once the fleet is
1374      * created, you can use <a>TagResource</a>, <a>UntagResource</a>, and
1375      * <a>ListTagsForResource</a> to add, remove, and view tags. The maximum tag limit
1376      * may be lower than stated. See the <i>AWS General Reference</i> for actual
1377      * tagging limits.</p>
1378      */
SetTags(Aws::Vector<Tag> && value)1379     inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
1380 
1381     /**
1382      * <p>A list of labels to assign to the new fleet resource. Tags are
1383      * developer-defined key-value pairs. Tagging AWS resources are useful for resource
1384      * management, access management and cost allocation. For more information, see <a
1385      * href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"> Tagging
1386      * AWS Resources</a> in the <i>AWS General Reference</i>. Once the fleet is
1387      * created, you can use <a>TagResource</a>, <a>UntagResource</a>, and
1388      * <a>ListTagsForResource</a> to add, remove, and view tags. The maximum tag limit
1389      * may be lower than stated. See the <i>AWS General Reference</i> for actual
1390      * tagging limits.</p>
1391      */
WithTags(const Aws::Vector<Tag> & value)1392     inline CreateFleetRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
1393 
1394     /**
1395      * <p>A list of labels to assign to the new fleet resource. Tags are
1396      * developer-defined key-value pairs. Tagging AWS resources are useful for resource
1397      * management, access management and cost allocation. For more information, see <a
1398      * href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"> Tagging
1399      * AWS Resources</a> in the <i>AWS General Reference</i>. Once the fleet is
1400      * created, you can use <a>TagResource</a>, <a>UntagResource</a>, and
1401      * <a>ListTagsForResource</a> to add, remove, and view tags. The maximum tag limit
1402      * may be lower than stated. See the <i>AWS General Reference</i> for actual
1403      * tagging limits.</p>
1404      */
WithTags(Aws::Vector<Tag> && value)1405     inline CreateFleetRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
1406 
1407     /**
1408      * <p>A list of labels to assign to the new fleet resource. Tags are
1409      * developer-defined key-value pairs. Tagging AWS resources are useful for resource
1410      * management, access management and cost allocation. For more information, see <a
1411      * href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"> Tagging
1412      * AWS Resources</a> in the <i>AWS General Reference</i>. Once the fleet is
1413      * created, you can use <a>TagResource</a>, <a>UntagResource</a>, and
1414      * <a>ListTagsForResource</a> to add, remove, and view tags. The maximum tag limit
1415      * may be lower than stated. See the <i>AWS General Reference</i> for actual
1416      * tagging limits.</p>
1417      */
AddTags(const Tag & value)1418     inline CreateFleetRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
1419 
1420     /**
1421      * <p>A list of labels to assign to the new fleet resource. Tags are
1422      * developer-defined key-value pairs. Tagging AWS resources are useful for resource
1423      * management, access management and cost allocation. For more information, see <a
1424      * href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"> Tagging
1425      * AWS Resources</a> in the <i>AWS General Reference</i>. Once the fleet is
1426      * created, you can use <a>TagResource</a>, <a>UntagResource</a>, and
1427      * <a>ListTagsForResource</a> to add, remove, and view tags. The maximum tag limit
1428      * may be lower than stated. See the <i>AWS General Reference</i> for actual
1429      * tagging limits.</p>
1430      */
AddTags(Tag && value)1431     inline CreateFleetRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
1432 
1433   private:
1434 
1435     Aws::String m_name;
1436     bool m_nameHasBeenSet;
1437 
1438     Aws::String m_description;
1439     bool m_descriptionHasBeenSet;
1440 
1441     Aws::String m_buildId;
1442     bool m_buildIdHasBeenSet;
1443 
1444     Aws::String m_scriptId;
1445     bool m_scriptIdHasBeenSet;
1446 
1447     Aws::String m_serverLaunchPath;
1448     bool m_serverLaunchPathHasBeenSet;
1449 
1450     Aws::String m_serverLaunchParameters;
1451     bool m_serverLaunchParametersHasBeenSet;
1452 
1453     Aws::Vector<Aws::String> m_logPaths;
1454     bool m_logPathsHasBeenSet;
1455 
1456     EC2InstanceType m_eC2InstanceType;
1457     bool m_eC2InstanceTypeHasBeenSet;
1458 
1459     Aws::Vector<IpPermission> m_eC2InboundPermissions;
1460     bool m_eC2InboundPermissionsHasBeenSet;
1461 
1462     ProtectionPolicy m_newGameSessionProtectionPolicy;
1463     bool m_newGameSessionProtectionPolicyHasBeenSet;
1464 
1465     RuntimeConfiguration m_runtimeConfiguration;
1466     bool m_runtimeConfigurationHasBeenSet;
1467 
1468     ResourceCreationLimitPolicy m_resourceCreationLimitPolicy;
1469     bool m_resourceCreationLimitPolicyHasBeenSet;
1470 
1471     Aws::Vector<Aws::String> m_metricGroups;
1472     bool m_metricGroupsHasBeenSet;
1473 
1474     Aws::String m_peerVpcAwsAccountId;
1475     bool m_peerVpcAwsAccountIdHasBeenSet;
1476 
1477     Aws::String m_peerVpcId;
1478     bool m_peerVpcIdHasBeenSet;
1479 
1480     FleetType m_fleetType;
1481     bool m_fleetTypeHasBeenSet;
1482 
1483     Aws::String m_instanceRoleArn;
1484     bool m_instanceRoleArnHasBeenSet;
1485 
1486     CertificateConfiguration m_certificateConfiguration;
1487     bool m_certificateConfigurationHasBeenSet;
1488 
1489     Aws::Vector<LocationConfiguration> m_locations;
1490     bool m_locationsHasBeenSet;
1491 
1492     Aws::Vector<Tag> m_tags;
1493     bool m_tagsHasBeenSet;
1494   };
1495 
1496 } // namespace Model
1497 } // namespace GameLift
1498 } // namespace Aws
1499