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/discovery/ApplicationDiscoveryService_EXPORTS.h>
8 #include <aws/discovery/ApplicationDiscoveryServiceRequest.h>
9 #include <aws/discovery/model/ConfigurationItemType.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <aws/core/utils/memory/stl/AWSString.h>
12 #include <aws/discovery/model/Filter.h>
13 #include <aws/discovery/model/OrderByElement.h>
14 #include <utility>
15 
16 namespace Aws
17 {
18 namespace ApplicationDiscoveryService
19 {
20 namespace Model
21 {
22 
23   /**
24    */
25   class AWS_APPLICATIONDISCOVERYSERVICE_API ListConfigurationsRequest : public ApplicationDiscoveryServiceRequest
26   {
27   public:
28     ListConfigurationsRequest();
29 
30     // Service request name is the Operation name which will send this request out,
31     // each operation should has unique request name, so that we can get operation's name from this request.
32     // Note: this is not true for response, multiple operations may have the same response name,
33     // so we can not get operation's name from response.
GetServiceRequestName()34     inline virtual const char* GetServiceRequestName() const override { return "ListConfigurations"; }
35 
36     Aws::String SerializePayload() const override;
37 
38     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
39 
40 
41     /**
42      * <p>A valid configuration identified by Application Discovery Service. </p>
43      */
GetConfigurationType()44     inline const ConfigurationItemType& GetConfigurationType() const{ return m_configurationType; }
45 
46     /**
47      * <p>A valid configuration identified by Application Discovery Service. </p>
48      */
ConfigurationTypeHasBeenSet()49     inline bool ConfigurationTypeHasBeenSet() const { return m_configurationTypeHasBeenSet; }
50 
51     /**
52      * <p>A valid configuration identified by Application Discovery Service. </p>
53      */
SetConfigurationType(const ConfigurationItemType & value)54     inline void SetConfigurationType(const ConfigurationItemType& value) { m_configurationTypeHasBeenSet = true; m_configurationType = value; }
55 
56     /**
57      * <p>A valid configuration identified by Application Discovery Service. </p>
58      */
SetConfigurationType(ConfigurationItemType && value)59     inline void SetConfigurationType(ConfigurationItemType&& value) { m_configurationTypeHasBeenSet = true; m_configurationType = std::move(value); }
60 
61     /**
62      * <p>A valid configuration identified by Application Discovery Service. </p>
63      */
WithConfigurationType(const ConfigurationItemType & value)64     inline ListConfigurationsRequest& WithConfigurationType(const ConfigurationItemType& value) { SetConfigurationType(value); return *this;}
65 
66     /**
67      * <p>A valid configuration identified by Application Discovery Service. </p>
68      */
WithConfigurationType(ConfigurationItemType && value)69     inline ListConfigurationsRequest& WithConfigurationType(ConfigurationItemType&& value) { SetConfigurationType(std::move(value)); return *this;}
70 
71 
72     /**
73      * <p>You can filter the request using various logical operators and a
74      * <i>key</i>-<i>value</i> format. For example: </p> <p> <code>{"key":
75      * "serverType", "value": "webServer"}</code> </p> <p>For a complete list of filter
76      * options and guidance about using them with this action, see <a
77      * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-api-queries.html#ListConfigurations">Using
78      * the ListConfigurations Action</a> in the <i>AWS Application Discovery Service
79      * User Guide</i>.</p>
80      */
GetFilters()81     inline const Aws::Vector<Filter>& GetFilters() const{ return m_filters; }
82 
83     /**
84      * <p>You can filter the request using various logical operators and a
85      * <i>key</i>-<i>value</i> format. For example: </p> <p> <code>{"key":
86      * "serverType", "value": "webServer"}</code> </p> <p>For a complete list of filter
87      * options and guidance about using them with this action, see <a
88      * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-api-queries.html#ListConfigurations">Using
89      * the ListConfigurations Action</a> in the <i>AWS Application Discovery Service
90      * User Guide</i>.</p>
91      */
FiltersHasBeenSet()92     inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; }
93 
94     /**
95      * <p>You can filter the request using various logical operators and a
96      * <i>key</i>-<i>value</i> format. For example: </p> <p> <code>{"key":
97      * "serverType", "value": "webServer"}</code> </p> <p>For a complete list of filter
98      * options and guidance about using them with this action, see <a
99      * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-api-queries.html#ListConfigurations">Using
100      * the ListConfigurations Action</a> in the <i>AWS Application Discovery Service
101      * User Guide</i>.</p>
102      */
SetFilters(const Aws::Vector<Filter> & value)103     inline void SetFilters(const Aws::Vector<Filter>& value) { m_filtersHasBeenSet = true; m_filters = value; }
104 
105     /**
106      * <p>You can filter the request using various logical operators and a
107      * <i>key</i>-<i>value</i> format. For example: </p> <p> <code>{"key":
108      * "serverType", "value": "webServer"}</code> </p> <p>For a complete list of filter
109      * options and guidance about using them with this action, see <a
110      * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-api-queries.html#ListConfigurations">Using
111      * the ListConfigurations Action</a> in the <i>AWS Application Discovery Service
112      * User Guide</i>.</p>
113      */
SetFilters(Aws::Vector<Filter> && value)114     inline void SetFilters(Aws::Vector<Filter>&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); }
115 
116     /**
117      * <p>You can filter the request using various logical operators and a
118      * <i>key</i>-<i>value</i> format. For example: </p> <p> <code>{"key":
119      * "serverType", "value": "webServer"}</code> </p> <p>For a complete list of filter
120      * options and guidance about using them with this action, see <a
121      * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-api-queries.html#ListConfigurations">Using
122      * the ListConfigurations Action</a> in the <i>AWS Application Discovery Service
123      * User Guide</i>.</p>
124      */
WithFilters(const Aws::Vector<Filter> & value)125     inline ListConfigurationsRequest& WithFilters(const Aws::Vector<Filter>& value) { SetFilters(value); return *this;}
126 
127     /**
128      * <p>You can filter the request using various logical operators and a
129      * <i>key</i>-<i>value</i> format. For example: </p> <p> <code>{"key":
130      * "serverType", "value": "webServer"}</code> </p> <p>For a complete list of filter
131      * options and guidance about using them with this action, see <a
132      * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-api-queries.html#ListConfigurations">Using
133      * the ListConfigurations Action</a> in the <i>AWS Application Discovery Service
134      * User Guide</i>.</p>
135      */
WithFilters(Aws::Vector<Filter> && value)136     inline ListConfigurationsRequest& WithFilters(Aws::Vector<Filter>&& value) { SetFilters(std::move(value)); return *this;}
137 
138     /**
139      * <p>You can filter the request using various logical operators and a
140      * <i>key</i>-<i>value</i> format. For example: </p> <p> <code>{"key":
141      * "serverType", "value": "webServer"}</code> </p> <p>For a complete list of filter
142      * options and guidance about using them with this action, see <a
143      * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-api-queries.html#ListConfigurations">Using
144      * the ListConfigurations Action</a> in the <i>AWS Application Discovery Service
145      * User Guide</i>.</p>
146      */
AddFilters(const Filter & value)147     inline ListConfigurationsRequest& AddFilters(const Filter& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; }
148 
149     /**
150      * <p>You can filter the request using various logical operators and a
151      * <i>key</i>-<i>value</i> format. For example: </p> <p> <code>{"key":
152      * "serverType", "value": "webServer"}</code> </p> <p>For a complete list of filter
153      * options and guidance about using them with this action, see <a
154      * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-api-queries.html#ListConfigurations">Using
155      * the ListConfigurations Action</a> in the <i>AWS Application Discovery Service
156      * User Guide</i>.</p>
157      */
AddFilters(Filter && value)158     inline ListConfigurationsRequest& AddFilters(Filter&& value) { m_filtersHasBeenSet = true; m_filters.push_back(std::move(value)); return *this; }
159 
160 
161     /**
162      * <p>The total number of items to return. The maximum value is 100.</p>
163      */
GetMaxResults()164     inline int GetMaxResults() const{ return m_maxResults; }
165 
166     /**
167      * <p>The total number of items to return. The maximum value is 100.</p>
168      */
MaxResultsHasBeenSet()169     inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
170 
171     /**
172      * <p>The total number of items to return. The maximum value is 100.</p>
173      */
SetMaxResults(int value)174     inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
175 
176     /**
177      * <p>The total number of items to return. The maximum value is 100.</p>
178      */
WithMaxResults(int value)179     inline ListConfigurationsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
180 
181 
182     /**
183      * <p>Token to retrieve the next set of results. For example, if a previous call to
184      * ListConfigurations returned 100 items, but you set
185      * <code>ListConfigurationsRequest$maxResults</code> to 10, you received a set of
186      * 10 results along with a token. Use that token in this query to get the next set
187      * of 10.</p>
188      */
GetNextToken()189     inline const Aws::String& GetNextToken() const{ return m_nextToken; }
190 
191     /**
192      * <p>Token to retrieve the next set of results. For example, if a previous call to
193      * ListConfigurations returned 100 items, but you set
194      * <code>ListConfigurationsRequest$maxResults</code> to 10, you received a set of
195      * 10 results along with a token. Use that token in this query to get the next set
196      * of 10.</p>
197      */
NextTokenHasBeenSet()198     inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
199 
200     /**
201      * <p>Token to retrieve the next set of results. For example, if a previous call to
202      * ListConfigurations returned 100 items, but you set
203      * <code>ListConfigurationsRequest$maxResults</code> to 10, you received a set of
204      * 10 results along with a token. Use that token in this query to get the next set
205      * of 10.</p>
206      */
SetNextToken(const Aws::String & value)207     inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
208 
209     /**
210      * <p>Token to retrieve the next set of results. For example, if a previous call to
211      * ListConfigurations returned 100 items, but you set
212      * <code>ListConfigurationsRequest$maxResults</code> to 10, you received a set of
213      * 10 results along with a token. Use that token in this query to get the next set
214      * of 10.</p>
215      */
SetNextToken(Aws::String && value)216     inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
217 
218     /**
219      * <p>Token to retrieve the next set of results. For example, if a previous call to
220      * ListConfigurations returned 100 items, but you set
221      * <code>ListConfigurationsRequest$maxResults</code> to 10, you received a set of
222      * 10 results along with a token. Use that token in this query to get the next set
223      * of 10.</p>
224      */
SetNextToken(const char * value)225     inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
226 
227     /**
228      * <p>Token to retrieve the next set of results. For example, if a previous call to
229      * ListConfigurations returned 100 items, but you set
230      * <code>ListConfigurationsRequest$maxResults</code> to 10, you received a set of
231      * 10 results along with a token. Use that token in this query to get the next set
232      * of 10.</p>
233      */
WithNextToken(const Aws::String & value)234     inline ListConfigurationsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
235 
236     /**
237      * <p>Token to retrieve the next set of results. For example, if a previous call to
238      * ListConfigurations returned 100 items, but you set
239      * <code>ListConfigurationsRequest$maxResults</code> to 10, you received a set of
240      * 10 results along with a token. Use that token in this query to get the next set
241      * of 10.</p>
242      */
WithNextToken(Aws::String && value)243     inline ListConfigurationsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
244 
245     /**
246      * <p>Token to retrieve the next set of results. For example, if a previous call to
247      * ListConfigurations returned 100 items, but you set
248      * <code>ListConfigurationsRequest$maxResults</code> to 10, you received a set of
249      * 10 results along with a token. Use that token in this query to get the next set
250      * of 10.</p>
251      */
WithNextToken(const char * value)252     inline ListConfigurationsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
253 
254 
255     /**
256      * <p>Certain filter criteria return output that can be sorted in ascending or
257      * descending order. For a list of output characteristics for each filter, see <a
258      * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-api-queries.html#ListConfigurations">Using
259      * the ListConfigurations Action</a> in the <i>AWS Application Discovery Service
260      * User Guide</i>.</p>
261      */
GetOrderBy()262     inline const Aws::Vector<OrderByElement>& GetOrderBy() const{ return m_orderBy; }
263 
264     /**
265      * <p>Certain filter criteria return output that can be sorted in ascending or
266      * descending order. For a list of output characteristics for each filter, see <a
267      * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-api-queries.html#ListConfigurations">Using
268      * the ListConfigurations Action</a> in the <i>AWS Application Discovery Service
269      * User Guide</i>.</p>
270      */
OrderByHasBeenSet()271     inline bool OrderByHasBeenSet() const { return m_orderByHasBeenSet; }
272 
273     /**
274      * <p>Certain filter criteria return output that can be sorted in ascending or
275      * descending order. For a list of output characteristics for each filter, see <a
276      * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-api-queries.html#ListConfigurations">Using
277      * the ListConfigurations Action</a> in the <i>AWS Application Discovery Service
278      * User Guide</i>.</p>
279      */
SetOrderBy(const Aws::Vector<OrderByElement> & value)280     inline void SetOrderBy(const Aws::Vector<OrderByElement>& value) { m_orderByHasBeenSet = true; m_orderBy = value; }
281 
282     /**
283      * <p>Certain filter criteria return output that can be sorted in ascending or
284      * descending order. For a list of output characteristics for each filter, see <a
285      * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-api-queries.html#ListConfigurations">Using
286      * the ListConfigurations Action</a> in the <i>AWS Application Discovery Service
287      * User Guide</i>.</p>
288      */
SetOrderBy(Aws::Vector<OrderByElement> && value)289     inline void SetOrderBy(Aws::Vector<OrderByElement>&& value) { m_orderByHasBeenSet = true; m_orderBy = std::move(value); }
290 
291     /**
292      * <p>Certain filter criteria return output that can be sorted in ascending or
293      * descending order. For a list of output characteristics for each filter, see <a
294      * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-api-queries.html#ListConfigurations">Using
295      * the ListConfigurations Action</a> in the <i>AWS Application Discovery Service
296      * User Guide</i>.</p>
297      */
WithOrderBy(const Aws::Vector<OrderByElement> & value)298     inline ListConfigurationsRequest& WithOrderBy(const Aws::Vector<OrderByElement>& value) { SetOrderBy(value); return *this;}
299 
300     /**
301      * <p>Certain filter criteria return output that can be sorted in ascending or
302      * descending order. For a list of output characteristics for each filter, see <a
303      * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-api-queries.html#ListConfigurations">Using
304      * the ListConfigurations Action</a> in the <i>AWS Application Discovery Service
305      * User Guide</i>.</p>
306      */
WithOrderBy(Aws::Vector<OrderByElement> && value)307     inline ListConfigurationsRequest& WithOrderBy(Aws::Vector<OrderByElement>&& value) { SetOrderBy(std::move(value)); return *this;}
308 
309     /**
310      * <p>Certain filter criteria return output that can be sorted in ascending or
311      * descending order. For a list of output characteristics for each filter, see <a
312      * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-api-queries.html#ListConfigurations">Using
313      * the ListConfigurations Action</a> in the <i>AWS Application Discovery Service
314      * User Guide</i>.</p>
315      */
AddOrderBy(const OrderByElement & value)316     inline ListConfigurationsRequest& AddOrderBy(const OrderByElement& value) { m_orderByHasBeenSet = true; m_orderBy.push_back(value); return *this; }
317 
318     /**
319      * <p>Certain filter criteria return output that can be sorted in ascending or
320      * descending order. For a list of output characteristics for each filter, see <a
321      * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-api-queries.html#ListConfigurations">Using
322      * the ListConfigurations Action</a> in the <i>AWS Application Discovery Service
323      * User Guide</i>.</p>
324      */
AddOrderBy(OrderByElement && value)325     inline ListConfigurationsRequest& AddOrderBy(OrderByElement&& value) { m_orderByHasBeenSet = true; m_orderBy.push_back(std::move(value)); return *this; }
326 
327   private:
328 
329     ConfigurationItemType m_configurationType;
330     bool m_configurationTypeHasBeenSet;
331 
332     Aws::Vector<Filter> m_filters;
333     bool m_filtersHasBeenSet;
334 
335     int m_maxResults;
336     bool m_maxResultsHasBeenSet;
337 
338     Aws::String m_nextToken;
339     bool m_nextTokenHasBeenSet;
340 
341     Aws::Vector<OrderByElement> m_orderBy;
342     bool m_orderByHasBeenSet;
343   };
344 
345 } // namespace Model
346 } // namespace ApplicationDiscoveryService
347 } // namespace Aws
348