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/route53/Route53_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSVector.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/route53/model/RRType.h>
11 #include <aws/route53/model/TrafficPolicyInstance.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 template<typename RESULT_TYPE>
17 class AmazonWebServiceResult;
18 
19 namespace Utils
20 {
21 namespace Xml
22 {
23   class XmlDocument;
24 } // namespace Xml
25 } // namespace Utils
26 namespace Route53
27 {
28 namespace Model
29 {
30   /**
31    * <p>A complex type that contains the response information for the
32    * request.</p><p><h3>See Also:</h3>   <a
33    * href="http://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyInstancesResponse">AWS
34    * API Reference</a></p>
35    */
36   class AWS_ROUTE53_API ListTrafficPolicyInstancesResult
37   {
38   public:
39     ListTrafficPolicyInstancesResult();
40     ListTrafficPolicyInstancesResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
41     ListTrafficPolicyInstancesResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
42 
43 
44     /**
45      * <p>A list that contains one <code>TrafficPolicyInstance</code> element for each
46      * traffic policy instance that matches the elements in the request.</p>
47      */
GetTrafficPolicyInstances()48     inline const Aws::Vector<TrafficPolicyInstance>& GetTrafficPolicyInstances() const{ return m_trafficPolicyInstances; }
49 
50     /**
51      * <p>A list that contains one <code>TrafficPolicyInstance</code> element for each
52      * traffic policy instance that matches the elements in the request.</p>
53      */
SetTrafficPolicyInstances(const Aws::Vector<TrafficPolicyInstance> & value)54     inline void SetTrafficPolicyInstances(const Aws::Vector<TrafficPolicyInstance>& value) { m_trafficPolicyInstances = value; }
55 
56     /**
57      * <p>A list that contains one <code>TrafficPolicyInstance</code> element for each
58      * traffic policy instance that matches the elements in the request.</p>
59      */
SetTrafficPolicyInstances(Aws::Vector<TrafficPolicyInstance> && value)60     inline void SetTrafficPolicyInstances(Aws::Vector<TrafficPolicyInstance>&& value) { m_trafficPolicyInstances = std::move(value); }
61 
62     /**
63      * <p>A list that contains one <code>TrafficPolicyInstance</code> element for each
64      * traffic policy instance that matches the elements in the request.</p>
65      */
WithTrafficPolicyInstances(const Aws::Vector<TrafficPolicyInstance> & value)66     inline ListTrafficPolicyInstancesResult& WithTrafficPolicyInstances(const Aws::Vector<TrafficPolicyInstance>& value) { SetTrafficPolicyInstances(value); return *this;}
67 
68     /**
69      * <p>A list that contains one <code>TrafficPolicyInstance</code> element for each
70      * traffic policy instance that matches the elements in the request.</p>
71      */
WithTrafficPolicyInstances(Aws::Vector<TrafficPolicyInstance> && value)72     inline ListTrafficPolicyInstancesResult& WithTrafficPolicyInstances(Aws::Vector<TrafficPolicyInstance>&& value) { SetTrafficPolicyInstances(std::move(value)); return *this;}
73 
74     /**
75      * <p>A list that contains one <code>TrafficPolicyInstance</code> element for each
76      * traffic policy instance that matches the elements in the request.</p>
77      */
AddTrafficPolicyInstances(const TrafficPolicyInstance & value)78     inline ListTrafficPolicyInstancesResult& AddTrafficPolicyInstances(const TrafficPolicyInstance& value) { m_trafficPolicyInstances.push_back(value); return *this; }
79 
80     /**
81      * <p>A list that contains one <code>TrafficPolicyInstance</code> element for each
82      * traffic policy instance that matches the elements in the request.</p>
83      */
AddTrafficPolicyInstances(TrafficPolicyInstance && value)84     inline ListTrafficPolicyInstancesResult& AddTrafficPolicyInstances(TrafficPolicyInstance&& value) { m_trafficPolicyInstances.push_back(std::move(value)); return *this; }
85 
86 
87     /**
88      * <p>If <code>IsTruncated</code> is <code>true</code>,
89      * <code>HostedZoneIdMarker</code> is the ID of the hosted zone of the first
90      * traffic policy instance that Route 53 will return if you submit another
91      * <code>ListTrafficPolicyInstances</code> request. </p>
92      */
GetHostedZoneIdMarker()93     inline const Aws::String& GetHostedZoneIdMarker() const{ return m_hostedZoneIdMarker; }
94 
95     /**
96      * <p>If <code>IsTruncated</code> is <code>true</code>,
97      * <code>HostedZoneIdMarker</code> is the ID of the hosted zone of the first
98      * traffic policy instance that Route 53 will return if you submit another
99      * <code>ListTrafficPolicyInstances</code> request. </p>
100      */
SetHostedZoneIdMarker(const Aws::String & value)101     inline void SetHostedZoneIdMarker(const Aws::String& value) { m_hostedZoneIdMarker = value; }
102 
103     /**
104      * <p>If <code>IsTruncated</code> is <code>true</code>,
105      * <code>HostedZoneIdMarker</code> is the ID of the hosted zone of the first
106      * traffic policy instance that Route 53 will return if you submit another
107      * <code>ListTrafficPolicyInstances</code> request. </p>
108      */
SetHostedZoneIdMarker(Aws::String && value)109     inline void SetHostedZoneIdMarker(Aws::String&& value) { m_hostedZoneIdMarker = std::move(value); }
110 
111     /**
112      * <p>If <code>IsTruncated</code> is <code>true</code>,
113      * <code>HostedZoneIdMarker</code> is the ID of the hosted zone of the first
114      * traffic policy instance that Route 53 will return if you submit another
115      * <code>ListTrafficPolicyInstances</code> request. </p>
116      */
SetHostedZoneIdMarker(const char * value)117     inline void SetHostedZoneIdMarker(const char* value) { m_hostedZoneIdMarker.assign(value); }
118 
119     /**
120      * <p>If <code>IsTruncated</code> is <code>true</code>,
121      * <code>HostedZoneIdMarker</code> is the ID of the hosted zone of the first
122      * traffic policy instance that Route 53 will return if you submit another
123      * <code>ListTrafficPolicyInstances</code> request. </p>
124      */
WithHostedZoneIdMarker(const Aws::String & value)125     inline ListTrafficPolicyInstancesResult& WithHostedZoneIdMarker(const Aws::String& value) { SetHostedZoneIdMarker(value); return *this;}
126 
127     /**
128      * <p>If <code>IsTruncated</code> is <code>true</code>,
129      * <code>HostedZoneIdMarker</code> is the ID of the hosted zone of the first
130      * traffic policy instance that Route 53 will return if you submit another
131      * <code>ListTrafficPolicyInstances</code> request. </p>
132      */
WithHostedZoneIdMarker(Aws::String && value)133     inline ListTrafficPolicyInstancesResult& WithHostedZoneIdMarker(Aws::String&& value) { SetHostedZoneIdMarker(std::move(value)); return *this;}
134 
135     /**
136      * <p>If <code>IsTruncated</code> is <code>true</code>,
137      * <code>HostedZoneIdMarker</code> is the ID of the hosted zone of the first
138      * traffic policy instance that Route 53 will return if you submit another
139      * <code>ListTrafficPolicyInstances</code> request. </p>
140      */
WithHostedZoneIdMarker(const char * value)141     inline ListTrafficPolicyInstancesResult& WithHostedZoneIdMarker(const char* value) { SetHostedZoneIdMarker(value); return *this;}
142 
143 
144     /**
145      * <p>If <code>IsTruncated</code> is <code>true</code>,
146      * <code>TrafficPolicyInstanceNameMarker</code> is the name of the first traffic
147      * policy instance that Route 53 will return if you submit another
148      * <code>ListTrafficPolicyInstances</code> request. </p>
149      */
GetTrafficPolicyInstanceNameMarker()150     inline const Aws::String& GetTrafficPolicyInstanceNameMarker() const{ return m_trafficPolicyInstanceNameMarker; }
151 
152     /**
153      * <p>If <code>IsTruncated</code> is <code>true</code>,
154      * <code>TrafficPolicyInstanceNameMarker</code> is the name of the first traffic
155      * policy instance that Route 53 will return if you submit another
156      * <code>ListTrafficPolicyInstances</code> request. </p>
157      */
SetTrafficPolicyInstanceNameMarker(const Aws::String & value)158     inline void SetTrafficPolicyInstanceNameMarker(const Aws::String& value) { m_trafficPolicyInstanceNameMarker = value; }
159 
160     /**
161      * <p>If <code>IsTruncated</code> is <code>true</code>,
162      * <code>TrafficPolicyInstanceNameMarker</code> is the name of the first traffic
163      * policy instance that Route 53 will return if you submit another
164      * <code>ListTrafficPolicyInstances</code> request. </p>
165      */
SetTrafficPolicyInstanceNameMarker(Aws::String && value)166     inline void SetTrafficPolicyInstanceNameMarker(Aws::String&& value) { m_trafficPolicyInstanceNameMarker = std::move(value); }
167 
168     /**
169      * <p>If <code>IsTruncated</code> is <code>true</code>,
170      * <code>TrafficPolicyInstanceNameMarker</code> is the name of the first traffic
171      * policy instance that Route 53 will return if you submit another
172      * <code>ListTrafficPolicyInstances</code> request. </p>
173      */
SetTrafficPolicyInstanceNameMarker(const char * value)174     inline void SetTrafficPolicyInstanceNameMarker(const char* value) { m_trafficPolicyInstanceNameMarker.assign(value); }
175 
176     /**
177      * <p>If <code>IsTruncated</code> is <code>true</code>,
178      * <code>TrafficPolicyInstanceNameMarker</code> is the name of the first traffic
179      * policy instance that Route 53 will return if you submit another
180      * <code>ListTrafficPolicyInstances</code> request. </p>
181      */
WithTrafficPolicyInstanceNameMarker(const Aws::String & value)182     inline ListTrafficPolicyInstancesResult& WithTrafficPolicyInstanceNameMarker(const Aws::String& value) { SetTrafficPolicyInstanceNameMarker(value); return *this;}
183 
184     /**
185      * <p>If <code>IsTruncated</code> is <code>true</code>,
186      * <code>TrafficPolicyInstanceNameMarker</code> is the name of the first traffic
187      * policy instance that Route 53 will return if you submit another
188      * <code>ListTrafficPolicyInstances</code> request. </p>
189      */
WithTrafficPolicyInstanceNameMarker(Aws::String && value)190     inline ListTrafficPolicyInstancesResult& WithTrafficPolicyInstanceNameMarker(Aws::String&& value) { SetTrafficPolicyInstanceNameMarker(std::move(value)); return *this;}
191 
192     /**
193      * <p>If <code>IsTruncated</code> is <code>true</code>,
194      * <code>TrafficPolicyInstanceNameMarker</code> is the name of the first traffic
195      * policy instance that Route 53 will return if you submit another
196      * <code>ListTrafficPolicyInstances</code> request. </p>
197      */
WithTrafficPolicyInstanceNameMarker(const char * value)198     inline ListTrafficPolicyInstancesResult& WithTrafficPolicyInstanceNameMarker(const char* value) { SetTrafficPolicyInstanceNameMarker(value); return *this;}
199 
200 
201     /**
202      * <p>If <code>IsTruncated</code> is <code>true</code>,
203      * <code>TrafficPolicyInstanceTypeMarker</code> is the DNS type of the resource
204      * record sets that are associated with the first traffic policy instance that
205      * Amazon Route 53 will return if you submit another
206      * <code>ListTrafficPolicyInstances</code> request. </p>
207      */
GetTrafficPolicyInstanceTypeMarker()208     inline const RRType& GetTrafficPolicyInstanceTypeMarker() const{ return m_trafficPolicyInstanceTypeMarker; }
209 
210     /**
211      * <p>If <code>IsTruncated</code> is <code>true</code>,
212      * <code>TrafficPolicyInstanceTypeMarker</code> is the DNS type of the resource
213      * record sets that are associated with the first traffic policy instance that
214      * Amazon Route 53 will return if you submit another
215      * <code>ListTrafficPolicyInstances</code> request. </p>
216      */
SetTrafficPolicyInstanceTypeMarker(const RRType & value)217     inline void SetTrafficPolicyInstanceTypeMarker(const RRType& value) { m_trafficPolicyInstanceTypeMarker = value; }
218 
219     /**
220      * <p>If <code>IsTruncated</code> is <code>true</code>,
221      * <code>TrafficPolicyInstanceTypeMarker</code> is the DNS type of the resource
222      * record sets that are associated with the first traffic policy instance that
223      * Amazon Route 53 will return if you submit another
224      * <code>ListTrafficPolicyInstances</code> request. </p>
225      */
SetTrafficPolicyInstanceTypeMarker(RRType && value)226     inline void SetTrafficPolicyInstanceTypeMarker(RRType&& value) { m_trafficPolicyInstanceTypeMarker = std::move(value); }
227 
228     /**
229      * <p>If <code>IsTruncated</code> is <code>true</code>,
230      * <code>TrafficPolicyInstanceTypeMarker</code> is the DNS type of the resource
231      * record sets that are associated with the first traffic policy instance that
232      * Amazon Route 53 will return if you submit another
233      * <code>ListTrafficPolicyInstances</code> request. </p>
234      */
WithTrafficPolicyInstanceTypeMarker(const RRType & value)235     inline ListTrafficPolicyInstancesResult& WithTrafficPolicyInstanceTypeMarker(const RRType& value) { SetTrafficPolicyInstanceTypeMarker(value); return *this;}
236 
237     /**
238      * <p>If <code>IsTruncated</code> is <code>true</code>,
239      * <code>TrafficPolicyInstanceTypeMarker</code> is the DNS type of the resource
240      * record sets that are associated with the first traffic policy instance that
241      * Amazon Route 53 will return if you submit another
242      * <code>ListTrafficPolicyInstances</code> request. </p>
243      */
WithTrafficPolicyInstanceTypeMarker(RRType && value)244     inline ListTrafficPolicyInstancesResult& WithTrafficPolicyInstanceTypeMarker(RRType&& value) { SetTrafficPolicyInstanceTypeMarker(std::move(value)); return *this;}
245 
246 
247     /**
248      * <p>A flag that indicates whether there are more traffic policy instances to be
249      * listed. If the response was truncated, you can get more traffic policy instances
250      * by calling <code>ListTrafficPolicyInstances</code> again and specifying the
251      * values of the <code>HostedZoneIdMarker</code>,
252      * <code>TrafficPolicyInstanceNameMarker</code>, and
253      * <code>TrafficPolicyInstanceTypeMarker</code> in the corresponding request
254      * parameters.</p>
255      */
GetIsTruncated()256     inline bool GetIsTruncated() const{ return m_isTruncated; }
257 
258     /**
259      * <p>A flag that indicates whether there are more traffic policy instances to be
260      * listed. If the response was truncated, you can get more traffic policy instances
261      * by calling <code>ListTrafficPolicyInstances</code> again and specifying the
262      * values of the <code>HostedZoneIdMarker</code>,
263      * <code>TrafficPolicyInstanceNameMarker</code>, and
264      * <code>TrafficPolicyInstanceTypeMarker</code> in the corresponding request
265      * parameters.</p>
266      */
SetIsTruncated(bool value)267     inline void SetIsTruncated(bool value) { m_isTruncated = value; }
268 
269     /**
270      * <p>A flag that indicates whether there are more traffic policy instances to be
271      * listed. If the response was truncated, you can get more traffic policy instances
272      * by calling <code>ListTrafficPolicyInstances</code> again and specifying the
273      * values of the <code>HostedZoneIdMarker</code>,
274      * <code>TrafficPolicyInstanceNameMarker</code>, and
275      * <code>TrafficPolicyInstanceTypeMarker</code> in the corresponding request
276      * parameters.</p>
277      */
WithIsTruncated(bool value)278     inline ListTrafficPolicyInstancesResult& WithIsTruncated(bool value) { SetIsTruncated(value); return *this;}
279 
280 
281     /**
282      * <p>The value that you specified for the <code>MaxItems</code> parameter in the
283      * call to <code>ListTrafficPolicyInstances</code> that produced the current
284      * response.</p>
285      */
GetMaxItems()286     inline const Aws::String& GetMaxItems() const{ return m_maxItems; }
287 
288     /**
289      * <p>The value that you specified for the <code>MaxItems</code> parameter in the
290      * call to <code>ListTrafficPolicyInstances</code> that produced the current
291      * response.</p>
292      */
SetMaxItems(const Aws::String & value)293     inline void SetMaxItems(const Aws::String& value) { m_maxItems = value; }
294 
295     /**
296      * <p>The value that you specified for the <code>MaxItems</code> parameter in the
297      * call to <code>ListTrafficPolicyInstances</code> that produced the current
298      * response.</p>
299      */
SetMaxItems(Aws::String && value)300     inline void SetMaxItems(Aws::String&& value) { m_maxItems = std::move(value); }
301 
302     /**
303      * <p>The value that you specified for the <code>MaxItems</code> parameter in the
304      * call to <code>ListTrafficPolicyInstances</code> that produced the current
305      * response.</p>
306      */
SetMaxItems(const char * value)307     inline void SetMaxItems(const char* value) { m_maxItems.assign(value); }
308 
309     /**
310      * <p>The value that you specified for the <code>MaxItems</code> parameter in the
311      * call to <code>ListTrafficPolicyInstances</code> that produced the current
312      * response.</p>
313      */
WithMaxItems(const Aws::String & value)314     inline ListTrafficPolicyInstancesResult& WithMaxItems(const Aws::String& value) { SetMaxItems(value); return *this;}
315 
316     /**
317      * <p>The value that you specified for the <code>MaxItems</code> parameter in the
318      * call to <code>ListTrafficPolicyInstances</code> that produced the current
319      * response.</p>
320      */
WithMaxItems(Aws::String && value)321     inline ListTrafficPolicyInstancesResult& WithMaxItems(Aws::String&& value) { SetMaxItems(std::move(value)); return *this;}
322 
323     /**
324      * <p>The value that you specified for the <code>MaxItems</code> parameter in the
325      * call to <code>ListTrafficPolicyInstances</code> that produced the current
326      * response.</p>
327      */
WithMaxItems(const char * value)328     inline ListTrafficPolicyInstancesResult& WithMaxItems(const char* value) { SetMaxItems(value); return *this;}
329 
330   private:
331 
332     Aws::Vector<TrafficPolicyInstance> m_trafficPolicyInstances;
333 
334     Aws::String m_hostedZoneIdMarker;
335 
336     Aws::String m_trafficPolicyInstanceNameMarker;
337 
338     RRType m_trafficPolicyInstanceTypeMarker;
339 
340     bool m_isTruncated;
341 
342     Aws::String m_maxItems;
343   };
344 
345 } // namespace Model
346 } // namespace Route53
347 } // namespace Aws
348