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/ResourceRecordSet.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 list information for the resource record
32    * set.</p><p><h3>See Also:</h3>   <a
33    * href="http://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListResourceRecordSetsResponse">AWS
34    * API Reference</a></p>
35    */
36   class AWS_ROUTE53_API ListResourceRecordSetsResult
37   {
38   public:
39     ListResourceRecordSetsResult();
40     ListResourceRecordSetsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
41     ListResourceRecordSetsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
42 
43 
44     /**
45      * <p>Information about multiple resource record sets.</p>
46      */
GetResourceRecordSets()47     inline const Aws::Vector<ResourceRecordSet>& GetResourceRecordSets() const{ return m_resourceRecordSets; }
48 
49     /**
50      * <p>Information about multiple resource record sets.</p>
51      */
SetResourceRecordSets(const Aws::Vector<ResourceRecordSet> & value)52     inline void SetResourceRecordSets(const Aws::Vector<ResourceRecordSet>& value) { m_resourceRecordSets = value; }
53 
54     /**
55      * <p>Information about multiple resource record sets.</p>
56      */
SetResourceRecordSets(Aws::Vector<ResourceRecordSet> && value)57     inline void SetResourceRecordSets(Aws::Vector<ResourceRecordSet>&& value) { m_resourceRecordSets = std::move(value); }
58 
59     /**
60      * <p>Information about multiple resource record sets.</p>
61      */
WithResourceRecordSets(const Aws::Vector<ResourceRecordSet> & value)62     inline ListResourceRecordSetsResult& WithResourceRecordSets(const Aws::Vector<ResourceRecordSet>& value) { SetResourceRecordSets(value); return *this;}
63 
64     /**
65      * <p>Information about multiple resource record sets.</p>
66      */
WithResourceRecordSets(Aws::Vector<ResourceRecordSet> && value)67     inline ListResourceRecordSetsResult& WithResourceRecordSets(Aws::Vector<ResourceRecordSet>&& value) { SetResourceRecordSets(std::move(value)); return *this;}
68 
69     /**
70      * <p>Information about multiple resource record sets.</p>
71      */
AddResourceRecordSets(const ResourceRecordSet & value)72     inline ListResourceRecordSetsResult& AddResourceRecordSets(const ResourceRecordSet& value) { m_resourceRecordSets.push_back(value); return *this; }
73 
74     /**
75      * <p>Information about multiple resource record sets.</p>
76      */
AddResourceRecordSets(ResourceRecordSet && value)77     inline ListResourceRecordSetsResult& AddResourceRecordSets(ResourceRecordSet&& value) { m_resourceRecordSets.push_back(std::move(value)); return *this; }
78 
79 
80     /**
81      * <p>A flag that indicates whether more resource record sets remain to be listed.
82      * If your results were truncated, you can make a follow-up pagination request by
83      * using the <code>NextRecordName</code> element.</p>
84      */
GetIsTruncated()85     inline bool GetIsTruncated() const{ return m_isTruncated; }
86 
87     /**
88      * <p>A flag that indicates whether more resource record sets remain to be listed.
89      * If your results were truncated, you can make a follow-up pagination request by
90      * using the <code>NextRecordName</code> element.</p>
91      */
SetIsTruncated(bool value)92     inline void SetIsTruncated(bool value) { m_isTruncated = value; }
93 
94     /**
95      * <p>A flag that indicates whether more resource record sets remain to be listed.
96      * If your results were truncated, you can make a follow-up pagination request by
97      * using the <code>NextRecordName</code> element.</p>
98      */
WithIsTruncated(bool value)99     inline ListResourceRecordSetsResult& WithIsTruncated(bool value) { SetIsTruncated(value); return *this;}
100 
101 
102     /**
103      * <p>If the results were truncated, the name of the next record in the list.</p>
104      * <p>This element is present only if <code>IsTruncated</code> is true. </p>
105      */
GetNextRecordName()106     inline const Aws::String& GetNextRecordName() const{ return m_nextRecordName; }
107 
108     /**
109      * <p>If the results were truncated, the name of the next record in the list.</p>
110      * <p>This element is present only if <code>IsTruncated</code> is true. </p>
111      */
SetNextRecordName(const Aws::String & value)112     inline void SetNextRecordName(const Aws::String& value) { m_nextRecordName = value; }
113 
114     /**
115      * <p>If the results were truncated, the name of the next record in the list.</p>
116      * <p>This element is present only if <code>IsTruncated</code> is true. </p>
117      */
SetNextRecordName(Aws::String && value)118     inline void SetNextRecordName(Aws::String&& value) { m_nextRecordName = std::move(value); }
119 
120     /**
121      * <p>If the results were truncated, the name of the next record in the list.</p>
122      * <p>This element is present only if <code>IsTruncated</code> is true. </p>
123      */
SetNextRecordName(const char * value)124     inline void SetNextRecordName(const char* value) { m_nextRecordName.assign(value); }
125 
126     /**
127      * <p>If the results were truncated, the name of the next record in the list.</p>
128      * <p>This element is present only if <code>IsTruncated</code> is true. </p>
129      */
WithNextRecordName(const Aws::String & value)130     inline ListResourceRecordSetsResult& WithNextRecordName(const Aws::String& value) { SetNextRecordName(value); return *this;}
131 
132     /**
133      * <p>If the results were truncated, the name of the next record in the list.</p>
134      * <p>This element is present only if <code>IsTruncated</code> is true. </p>
135      */
WithNextRecordName(Aws::String && value)136     inline ListResourceRecordSetsResult& WithNextRecordName(Aws::String&& value) { SetNextRecordName(std::move(value)); return *this;}
137 
138     /**
139      * <p>If the results were truncated, the name of the next record in the list.</p>
140      * <p>This element is present only if <code>IsTruncated</code> is true. </p>
141      */
WithNextRecordName(const char * value)142     inline ListResourceRecordSetsResult& WithNextRecordName(const char* value) { SetNextRecordName(value); return *this;}
143 
144 
145     /**
146      * <p>If the results were truncated, the type of the next record in the list.</p>
147      * <p>This element is present only if <code>IsTruncated</code> is true. </p>
148      */
GetNextRecordType()149     inline const RRType& GetNextRecordType() const{ return m_nextRecordType; }
150 
151     /**
152      * <p>If the results were truncated, the type of the next record in the list.</p>
153      * <p>This element is present only if <code>IsTruncated</code> is true. </p>
154      */
SetNextRecordType(const RRType & value)155     inline void SetNextRecordType(const RRType& value) { m_nextRecordType = value; }
156 
157     /**
158      * <p>If the results were truncated, the type of the next record in the list.</p>
159      * <p>This element is present only if <code>IsTruncated</code> is true. </p>
160      */
SetNextRecordType(RRType && value)161     inline void SetNextRecordType(RRType&& value) { m_nextRecordType = std::move(value); }
162 
163     /**
164      * <p>If the results were truncated, the type of the next record in the list.</p>
165      * <p>This element is present only if <code>IsTruncated</code> is true. </p>
166      */
WithNextRecordType(const RRType & value)167     inline ListResourceRecordSetsResult& WithNextRecordType(const RRType& value) { SetNextRecordType(value); return *this;}
168 
169     /**
170      * <p>If the results were truncated, the type of the next record in the list.</p>
171      * <p>This element is present only if <code>IsTruncated</code> is true. </p>
172      */
WithNextRecordType(RRType && value)173     inline ListResourceRecordSetsResult& WithNextRecordType(RRType&& value) { SetNextRecordType(std::move(value)); return *this;}
174 
175 
176     /**
177      * <p> <i>Resource record sets that have a routing policy other than simple:</i> If
178      * results were truncated for a given DNS name and type, the value of
179      * <code>SetIdentifier</code> for the next resource record set that has the current
180      * DNS name and type.</p> <p>For information about routing policies, see <a
181      * href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html">Choosing
182      * a Routing Policy</a> in the <i>Amazon Route 53 Developer Guide</i>.</p>
183      */
GetNextRecordIdentifier()184     inline const Aws::String& GetNextRecordIdentifier() const{ return m_nextRecordIdentifier; }
185 
186     /**
187      * <p> <i>Resource record sets that have a routing policy other than simple:</i> If
188      * results were truncated for a given DNS name and type, the value of
189      * <code>SetIdentifier</code> for the next resource record set that has the current
190      * DNS name and type.</p> <p>For information about routing policies, see <a
191      * href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html">Choosing
192      * a Routing Policy</a> in the <i>Amazon Route 53 Developer Guide</i>.</p>
193      */
SetNextRecordIdentifier(const Aws::String & value)194     inline void SetNextRecordIdentifier(const Aws::String& value) { m_nextRecordIdentifier = value; }
195 
196     /**
197      * <p> <i>Resource record sets that have a routing policy other than simple:</i> If
198      * results were truncated for a given DNS name and type, the value of
199      * <code>SetIdentifier</code> for the next resource record set that has the current
200      * DNS name and type.</p> <p>For information about routing policies, see <a
201      * href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html">Choosing
202      * a Routing Policy</a> in the <i>Amazon Route 53 Developer Guide</i>.</p>
203      */
SetNextRecordIdentifier(Aws::String && value)204     inline void SetNextRecordIdentifier(Aws::String&& value) { m_nextRecordIdentifier = std::move(value); }
205 
206     /**
207      * <p> <i>Resource record sets that have a routing policy other than simple:</i> If
208      * results were truncated for a given DNS name and type, the value of
209      * <code>SetIdentifier</code> for the next resource record set that has the current
210      * DNS name and type.</p> <p>For information about routing policies, see <a
211      * href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html">Choosing
212      * a Routing Policy</a> in the <i>Amazon Route 53 Developer Guide</i>.</p>
213      */
SetNextRecordIdentifier(const char * value)214     inline void SetNextRecordIdentifier(const char* value) { m_nextRecordIdentifier.assign(value); }
215 
216     /**
217      * <p> <i>Resource record sets that have a routing policy other than simple:</i> If
218      * results were truncated for a given DNS name and type, the value of
219      * <code>SetIdentifier</code> for the next resource record set that has the current
220      * DNS name and type.</p> <p>For information about routing policies, see <a
221      * href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html">Choosing
222      * a Routing Policy</a> in the <i>Amazon Route 53 Developer Guide</i>.</p>
223      */
WithNextRecordIdentifier(const Aws::String & value)224     inline ListResourceRecordSetsResult& WithNextRecordIdentifier(const Aws::String& value) { SetNextRecordIdentifier(value); return *this;}
225 
226     /**
227      * <p> <i>Resource record sets that have a routing policy other than simple:</i> If
228      * results were truncated for a given DNS name and type, the value of
229      * <code>SetIdentifier</code> for the next resource record set that has the current
230      * DNS name and type.</p> <p>For information about routing policies, see <a
231      * href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html">Choosing
232      * a Routing Policy</a> in the <i>Amazon Route 53 Developer Guide</i>.</p>
233      */
WithNextRecordIdentifier(Aws::String && value)234     inline ListResourceRecordSetsResult& WithNextRecordIdentifier(Aws::String&& value) { SetNextRecordIdentifier(std::move(value)); return *this;}
235 
236     /**
237      * <p> <i>Resource record sets that have a routing policy other than simple:</i> If
238      * results were truncated for a given DNS name and type, the value of
239      * <code>SetIdentifier</code> for the next resource record set that has the current
240      * DNS name and type.</p> <p>For information about routing policies, see <a
241      * href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html">Choosing
242      * a Routing Policy</a> in the <i>Amazon Route 53 Developer Guide</i>.</p>
243      */
WithNextRecordIdentifier(const char * value)244     inline ListResourceRecordSetsResult& WithNextRecordIdentifier(const char* value) { SetNextRecordIdentifier(value); return *this;}
245 
246 
247     /**
248      * <p>The maximum number of records you requested.</p>
249      */
GetMaxItems()250     inline const Aws::String& GetMaxItems() const{ return m_maxItems; }
251 
252     /**
253      * <p>The maximum number of records you requested.</p>
254      */
SetMaxItems(const Aws::String & value)255     inline void SetMaxItems(const Aws::String& value) { m_maxItems = value; }
256 
257     /**
258      * <p>The maximum number of records you requested.</p>
259      */
SetMaxItems(Aws::String && value)260     inline void SetMaxItems(Aws::String&& value) { m_maxItems = std::move(value); }
261 
262     /**
263      * <p>The maximum number of records you requested.</p>
264      */
SetMaxItems(const char * value)265     inline void SetMaxItems(const char* value) { m_maxItems.assign(value); }
266 
267     /**
268      * <p>The maximum number of records you requested.</p>
269      */
WithMaxItems(const Aws::String & value)270     inline ListResourceRecordSetsResult& WithMaxItems(const Aws::String& value) { SetMaxItems(value); return *this;}
271 
272     /**
273      * <p>The maximum number of records you requested.</p>
274      */
WithMaxItems(Aws::String && value)275     inline ListResourceRecordSetsResult& WithMaxItems(Aws::String&& value) { SetMaxItems(std::move(value)); return *this;}
276 
277     /**
278      * <p>The maximum number of records you requested.</p>
279      */
WithMaxItems(const char * value)280     inline ListResourceRecordSetsResult& WithMaxItems(const char* value) { SetMaxItems(value); return *this;}
281 
282   private:
283 
284     Aws::Vector<ResourceRecordSet> m_resourceRecordSets;
285 
286     bool m_isTruncated;
287 
288     Aws::String m_nextRecordName;
289 
290     RRType m_nextRecordType;
291 
292     Aws::String m_nextRecordIdentifier;
293 
294     Aws::String m_maxItems;
295   };
296 
297 } // namespace Model
298 } // namespace Route53
299 } // namespace Aws
300