1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/gamelift/GameLift_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/gamelift/model/LocationState.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 template<typename RESULT_TYPE>
16 class AmazonWebServiceResult;
17 
18 namespace Utils
19 {
20 namespace Json
21 {
22   class JsonValue;
23 } // namespace Json
24 } // namespace Utils
25 namespace GameLift
26 {
27 namespace Model
28 {
29   /**
30    * <p>Represents the returned data in response to a request operation.
31    * </p><p><h3>See Also:</h3>   <a
32    * href="http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateFleetLocationsOutput">AWS
33    * API Reference</a></p>
34    */
35   class AWS_GAMELIFT_API CreateFleetLocationsResult
36   {
37   public:
38     CreateFleetLocationsResult();
39     CreateFleetLocationsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
40     CreateFleetLocationsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
41 
42 
43     /**
44      * <p>A unique identifier for the fleet that was updated with new locations.</p>
45      */
GetFleetId()46     inline const Aws::String& GetFleetId() const{ return m_fleetId; }
47 
48     /**
49      * <p>A unique identifier for the fleet that was updated with new locations.</p>
50      */
SetFleetId(const Aws::String & value)51     inline void SetFleetId(const Aws::String& value) { m_fleetId = value; }
52 
53     /**
54      * <p>A unique identifier for the fleet that was updated with new locations.</p>
55      */
SetFleetId(Aws::String && value)56     inline void SetFleetId(Aws::String&& value) { m_fleetId = std::move(value); }
57 
58     /**
59      * <p>A unique identifier for the fleet that was updated with new locations.</p>
60      */
SetFleetId(const char * value)61     inline void SetFleetId(const char* value) { m_fleetId.assign(value); }
62 
63     /**
64      * <p>A unique identifier for the fleet that was updated with new locations.</p>
65      */
WithFleetId(const Aws::String & value)66     inline CreateFleetLocationsResult& WithFleetId(const Aws::String& value) { SetFleetId(value); return *this;}
67 
68     /**
69      * <p>A unique identifier for the fleet that was updated with new locations.</p>
70      */
WithFleetId(Aws::String && value)71     inline CreateFleetLocationsResult& WithFleetId(Aws::String&& value) { SetFleetId(std::move(value)); return *this;}
72 
73     /**
74      * <p>A unique identifier for the fleet that was updated with new locations.</p>
75      */
WithFleetId(const char * value)76     inline CreateFleetLocationsResult& WithFleetId(const char* value) { SetFleetId(value); return *this;}
77 
78 
79     /**
80      * <p>The Amazon Resource Name (<a
81      * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>)
82      * that is assigned to a GameLift fleet resource and uniquely identifies it. ARNs
83      * are unique across all Regions. Format is
84      * <code>arn:aws:gamelift:&lt;region&gt;::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912</code>.
85      * </p>
86      */
GetFleetArn()87     inline const Aws::String& GetFleetArn() const{ return m_fleetArn; }
88 
89     /**
90      * <p>The Amazon Resource Name (<a
91      * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>)
92      * that is assigned to a GameLift fleet resource and uniquely identifies it. ARNs
93      * are unique across all Regions. Format is
94      * <code>arn:aws:gamelift:&lt;region&gt;::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912</code>.
95      * </p>
96      */
SetFleetArn(const Aws::String & value)97     inline void SetFleetArn(const Aws::String& value) { m_fleetArn = value; }
98 
99     /**
100      * <p>The Amazon Resource Name (<a
101      * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>)
102      * that is assigned to a GameLift fleet resource and uniquely identifies it. ARNs
103      * are unique across all Regions. Format is
104      * <code>arn:aws:gamelift:&lt;region&gt;::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912</code>.
105      * </p>
106      */
SetFleetArn(Aws::String && value)107     inline void SetFleetArn(Aws::String&& value) { m_fleetArn = std::move(value); }
108 
109     /**
110      * <p>The Amazon Resource Name (<a
111      * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>)
112      * that is assigned to a GameLift fleet resource and uniquely identifies it. ARNs
113      * are unique across all Regions. Format is
114      * <code>arn:aws:gamelift:&lt;region&gt;::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912</code>.
115      * </p>
116      */
SetFleetArn(const char * value)117     inline void SetFleetArn(const char* value) { m_fleetArn.assign(value); }
118 
119     /**
120      * <p>The Amazon Resource Name (<a
121      * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>)
122      * that is assigned to a GameLift fleet resource and uniquely identifies it. ARNs
123      * are unique across all Regions. Format is
124      * <code>arn:aws:gamelift:&lt;region&gt;::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912</code>.
125      * </p>
126      */
WithFleetArn(const Aws::String & value)127     inline CreateFleetLocationsResult& WithFleetArn(const Aws::String& value) { SetFleetArn(value); return *this;}
128 
129     /**
130      * <p>The Amazon Resource Name (<a
131      * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>)
132      * that is assigned to a GameLift fleet resource and uniquely identifies it. ARNs
133      * are unique across all Regions. Format is
134      * <code>arn:aws:gamelift:&lt;region&gt;::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912</code>.
135      * </p>
136      */
WithFleetArn(Aws::String && value)137     inline CreateFleetLocationsResult& WithFleetArn(Aws::String&& value) { SetFleetArn(std::move(value)); return *this;}
138 
139     /**
140      * <p>The Amazon Resource Name (<a
141      * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>)
142      * that is assigned to a GameLift fleet resource and uniquely identifies it. ARNs
143      * are unique across all Regions. Format is
144      * <code>arn:aws:gamelift:&lt;region&gt;::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912</code>.
145      * </p>
146      */
WithFleetArn(const char * value)147     inline CreateFleetLocationsResult& WithFleetArn(const char* value) { SetFleetArn(value); return *this;}
148 
149 
150     /**
151      * <p>The remote locations that are being added to the fleet, and the life-cycle
152      * status of each location. For new locations, the status is set to
153      * <code>NEW</code>. During location creation, GameLift updates each location's
154      * status as instances are deployed there and prepared for game hosting. This list
155      * does not include the fleet home Region or any remote locations that were already
156      * added to the fleet.</p>
157      */
GetLocationStates()158     inline const Aws::Vector<LocationState>& GetLocationStates() const{ return m_locationStates; }
159 
160     /**
161      * <p>The remote locations that are being added to the fleet, and the life-cycle
162      * status of each location. For new locations, the status is set to
163      * <code>NEW</code>. During location creation, GameLift updates each location's
164      * status as instances are deployed there and prepared for game hosting. This list
165      * does not include the fleet home Region or any remote locations that were already
166      * added to the fleet.</p>
167      */
SetLocationStates(const Aws::Vector<LocationState> & value)168     inline void SetLocationStates(const Aws::Vector<LocationState>& value) { m_locationStates = value; }
169 
170     /**
171      * <p>The remote locations that are being added to the fleet, and the life-cycle
172      * status of each location. For new locations, the status is set to
173      * <code>NEW</code>. During location creation, GameLift updates each location's
174      * status as instances are deployed there and prepared for game hosting. This list
175      * does not include the fleet home Region or any remote locations that were already
176      * added to the fleet.</p>
177      */
SetLocationStates(Aws::Vector<LocationState> && value)178     inline void SetLocationStates(Aws::Vector<LocationState>&& value) { m_locationStates = std::move(value); }
179 
180     /**
181      * <p>The remote locations that are being added to the fleet, and the life-cycle
182      * status of each location. For new locations, the status is set to
183      * <code>NEW</code>. During location creation, GameLift updates each location's
184      * status as instances are deployed there and prepared for game hosting. This list
185      * does not include the fleet home Region or any remote locations that were already
186      * added to the fleet.</p>
187      */
WithLocationStates(const Aws::Vector<LocationState> & value)188     inline CreateFleetLocationsResult& WithLocationStates(const Aws::Vector<LocationState>& value) { SetLocationStates(value); return *this;}
189 
190     /**
191      * <p>The remote locations that are being added to the fleet, and the life-cycle
192      * status of each location. For new locations, the status is set to
193      * <code>NEW</code>. During location creation, GameLift updates each location's
194      * status as instances are deployed there and prepared for game hosting. This list
195      * does not include the fleet home Region or any remote locations that were already
196      * added to the fleet.</p>
197      */
WithLocationStates(Aws::Vector<LocationState> && value)198     inline CreateFleetLocationsResult& WithLocationStates(Aws::Vector<LocationState>&& value) { SetLocationStates(std::move(value)); return *this;}
199 
200     /**
201      * <p>The remote locations that are being added to the fleet, and the life-cycle
202      * status of each location. For new locations, the status is set to
203      * <code>NEW</code>. During location creation, GameLift updates each location's
204      * status as instances are deployed there and prepared for game hosting. This list
205      * does not include the fleet home Region or any remote locations that were already
206      * added to the fleet.</p>
207      */
AddLocationStates(const LocationState & value)208     inline CreateFleetLocationsResult& AddLocationStates(const LocationState& value) { m_locationStates.push_back(value); return *this; }
209 
210     /**
211      * <p>The remote locations that are being added to the fleet, and the life-cycle
212      * status of each location. For new locations, the status is set to
213      * <code>NEW</code>. During location creation, GameLift updates each location's
214      * status as instances are deployed there and prepared for game hosting. This list
215      * does not include the fleet home Region or any remote locations that were already
216      * added to the fleet.</p>
217      */
AddLocationStates(LocationState && value)218     inline CreateFleetLocationsResult& AddLocationStates(LocationState&& value) { m_locationStates.push_back(std::move(value)); return *this; }
219 
220   private:
221 
222     Aws::String m_fleetId;
223 
224     Aws::String m_fleetArn;
225 
226     Aws::Vector<LocationState> m_locationStates;
227   };
228 
229 } // namespace Model
230 } // namespace GameLift
231 } // namespace Aws
232