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/cloudformation/CloudFormation_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSVector.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/cloudformation/model/ResponseMetadata.h>
11 #include <aws/cloudformation/model/TypeVersionSummary.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 CloudFormation
27 {
28 namespace Model
29 {
30   class AWS_CLOUDFORMATION_API ListTypeVersionsResult
31   {
32   public:
33     ListTypeVersionsResult();
34     ListTypeVersionsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
35     ListTypeVersionsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
36 
37 
38     /**
39      * <p>A list of <code>TypeVersionSummary</code> structures that contain information
40      * about the specified extension's versions.</p>
41      */
GetTypeVersionSummaries()42     inline const Aws::Vector<TypeVersionSummary>& GetTypeVersionSummaries() const{ return m_typeVersionSummaries; }
43 
44     /**
45      * <p>A list of <code>TypeVersionSummary</code> structures that contain information
46      * about the specified extension's versions.</p>
47      */
SetTypeVersionSummaries(const Aws::Vector<TypeVersionSummary> & value)48     inline void SetTypeVersionSummaries(const Aws::Vector<TypeVersionSummary>& value) { m_typeVersionSummaries = value; }
49 
50     /**
51      * <p>A list of <code>TypeVersionSummary</code> structures that contain information
52      * about the specified extension's versions.</p>
53      */
SetTypeVersionSummaries(Aws::Vector<TypeVersionSummary> && value)54     inline void SetTypeVersionSummaries(Aws::Vector<TypeVersionSummary>&& value) { m_typeVersionSummaries = std::move(value); }
55 
56     /**
57      * <p>A list of <code>TypeVersionSummary</code> structures that contain information
58      * about the specified extension's versions.</p>
59      */
WithTypeVersionSummaries(const Aws::Vector<TypeVersionSummary> & value)60     inline ListTypeVersionsResult& WithTypeVersionSummaries(const Aws::Vector<TypeVersionSummary>& value) { SetTypeVersionSummaries(value); return *this;}
61 
62     /**
63      * <p>A list of <code>TypeVersionSummary</code> structures that contain information
64      * about the specified extension's versions.</p>
65      */
WithTypeVersionSummaries(Aws::Vector<TypeVersionSummary> && value)66     inline ListTypeVersionsResult& WithTypeVersionSummaries(Aws::Vector<TypeVersionSummary>&& value) { SetTypeVersionSummaries(std::move(value)); return *this;}
67 
68     /**
69      * <p>A list of <code>TypeVersionSummary</code> structures that contain information
70      * about the specified extension's versions.</p>
71      */
AddTypeVersionSummaries(const TypeVersionSummary & value)72     inline ListTypeVersionsResult& AddTypeVersionSummaries(const TypeVersionSummary& value) { m_typeVersionSummaries.push_back(value); return *this; }
73 
74     /**
75      * <p>A list of <code>TypeVersionSummary</code> structures that contain information
76      * about the specified extension's versions.</p>
77      */
AddTypeVersionSummaries(TypeVersionSummary && value)78     inline ListTypeVersionsResult& AddTypeVersionSummaries(TypeVersionSummary&& value) { m_typeVersionSummaries.push_back(std::move(value)); return *this; }
79 
80 
81     /**
82      * <p>If the request doesn't return all of the remaining results,
83      * <code>NextToken</code> is set to a token. To retrieve the next set of results,
84      * call this action again and assign that token to the request object's
85      * <code>NextToken</code> parameter. If the request returns all results,
86      * <code>NextToken</code> is set to <code>null</code>.</p>
87      */
GetNextToken()88     inline const Aws::String& GetNextToken() const{ return m_nextToken; }
89 
90     /**
91      * <p>If the request doesn't return all of the remaining results,
92      * <code>NextToken</code> is set to a token. To retrieve the next set of results,
93      * call this action again and assign that token to the request object's
94      * <code>NextToken</code> parameter. If the request returns all results,
95      * <code>NextToken</code> is set to <code>null</code>.</p>
96      */
SetNextToken(const Aws::String & value)97     inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
98 
99     /**
100      * <p>If the request doesn't return all of the remaining results,
101      * <code>NextToken</code> is set to a token. To retrieve the next set of results,
102      * call this action again and assign that token to the request object's
103      * <code>NextToken</code> parameter. If the request returns all results,
104      * <code>NextToken</code> is set to <code>null</code>.</p>
105      */
SetNextToken(Aws::String && value)106     inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
107 
108     /**
109      * <p>If the request doesn't return all of the remaining results,
110      * <code>NextToken</code> is set to a token. To retrieve the next set of results,
111      * call this action again and assign that token to the request object's
112      * <code>NextToken</code> parameter. If the request returns all results,
113      * <code>NextToken</code> is set to <code>null</code>.</p>
114      */
SetNextToken(const char * value)115     inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
116 
117     /**
118      * <p>If the request doesn't return all of the remaining results,
119      * <code>NextToken</code> is set to a token. To retrieve the next set of results,
120      * call this action again and assign that token to the request object's
121      * <code>NextToken</code> parameter. If the request returns all results,
122      * <code>NextToken</code> is set to <code>null</code>.</p>
123      */
WithNextToken(const Aws::String & value)124     inline ListTypeVersionsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
125 
126     /**
127      * <p>If the request doesn't return all of the remaining results,
128      * <code>NextToken</code> is set to a token. To retrieve the next set of results,
129      * call this action again and assign that token to the request object's
130      * <code>NextToken</code> parameter. If the request returns all results,
131      * <code>NextToken</code> is set to <code>null</code>.</p>
132      */
WithNextToken(Aws::String && value)133     inline ListTypeVersionsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
134 
135     /**
136      * <p>If the request doesn't return all of the remaining results,
137      * <code>NextToken</code> is set to a token. To retrieve the next set of results,
138      * call this action again and assign that token to the request object's
139      * <code>NextToken</code> parameter. If the request returns all results,
140      * <code>NextToken</code> is set to <code>null</code>.</p>
141      */
WithNextToken(const char * value)142     inline ListTypeVersionsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
143 
144 
145 
GetResponseMetadata()146     inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
147 
148 
SetResponseMetadata(const ResponseMetadata & value)149     inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
150 
151 
SetResponseMetadata(ResponseMetadata && value)152     inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
153 
154 
WithResponseMetadata(const ResponseMetadata & value)155     inline ListTypeVersionsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
156 
157 
WithResponseMetadata(ResponseMetadata && value)158     inline ListTypeVersionsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
159 
160   private:
161 
162     Aws::Vector<TypeVersionSummary> m_typeVersionSummaries;
163 
164     Aws::String m_nextToken;
165 
166     ResponseMetadata m_responseMetadata;
167   };
168 
169 } // namespace Model
170 } // namespace CloudFormation
171 } // namespace Aws
172