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/ecs/ECS_EXPORTS.h>
8 #include <aws/ecs/ECSRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/ecs/model/TargetType.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace ECS
16 {
17 namespace Model
18 {
19 
20   /**
21    */
22   class AWS_ECS_API ListAttributesRequest : public ECSRequest
23   {
24   public:
25     ListAttributesRequest();
26 
27     // Service request name is the Operation name which will send this request out,
28     // each operation should has unique request name, so that we can get operation's name from this request.
29     // Note: this is not true for response, multiple operations may have the same response name,
30     // so we can not get operation's name from response.
GetServiceRequestName()31     inline virtual const char* GetServiceRequestName() const override { return "ListAttributes"; }
32 
33     Aws::String SerializePayload() const override;
34 
35     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
36 
37 
38     /**
39      * <p>The short name or full Amazon Resource Name (ARN) of the cluster to list
40      * attributes. If you do not specify a cluster, the default cluster is assumed.</p>
41      */
GetCluster()42     inline const Aws::String& GetCluster() const{ return m_cluster; }
43 
44     /**
45      * <p>The short name or full Amazon Resource Name (ARN) of the cluster to list
46      * attributes. If you do not specify a cluster, the default cluster is assumed.</p>
47      */
ClusterHasBeenSet()48     inline bool ClusterHasBeenSet() const { return m_clusterHasBeenSet; }
49 
50     /**
51      * <p>The short name or full Amazon Resource Name (ARN) of the cluster to list
52      * attributes. If you do not specify a cluster, the default cluster is assumed.</p>
53      */
SetCluster(const Aws::String & value)54     inline void SetCluster(const Aws::String& value) { m_clusterHasBeenSet = true; m_cluster = value; }
55 
56     /**
57      * <p>The short name or full Amazon Resource Name (ARN) of the cluster to list
58      * attributes. If you do not specify a cluster, the default cluster is assumed.</p>
59      */
SetCluster(Aws::String && value)60     inline void SetCluster(Aws::String&& value) { m_clusterHasBeenSet = true; m_cluster = std::move(value); }
61 
62     /**
63      * <p>The short name or full Amazon Resource Name (ARN) of the cluster to list
64      * attributes. If you do not specify a cluster, the default cluster is assumed.</p>
65      */
SetCluster(const char * value)66     inline void SetCluster(const char* value) { m_clusterHasBeenSet = true; m_cluster.assign(value); }
67 
68     /**
69      * <p>The short name or full Amazon Resource Name (ARN) of the cluster to list
70      * attributes. If you do not specify a cluster, the default cluster is assumed.</p>
71      */
WithCluster(const Aws::String & value)72     inline ListAttributesRequest& WithCluster(const Aws::String& value) { SetCluster(value); return *this;}
73 
74     /**
75      * <p>The short name or full Amazon Resource Name (ARN) of the cluster to list
76      * attributes. If you do not specify a cluster, the default cluster is assumed.</p>
77      */
WithCluster(Aws::String && value)78     inline ListAttributesRequest& WithCluster(Aws::String&& value) { SetCluster(std::move(value)); return *this;}
79 
80     /**
81      * <p>The short name or full Amazon Resource Name (ARN) of the cluster to list
82      * attributes. If you do not specify a cluster, the default cluster is assumed.</p>
83      */
WithCluster(const char * value)84     inline ListAttributesRequest& WithCluster(const char* value) { SetCluster(value); return *this;}
85 
86 
87     /**
88      * <p>The type of the target with which to list attributes.</p>
89      */
GetTargetType()90     inline const TargetType& GetTargetType() const{ return m_targetType; }
91 
92     /**
93      * <p>The type of the target with which to list attributes.</p>
94      */
TargetTypeHasBeenSet()95     inline bool TargetTypeHasBeenSet() const { return m_targetTypeHasBeenSet; }
96 
97     /**
98      * <p>The type of the target with which to list attributes.</p>
99      */
SetTargetType(const TargetType & value)100     inline void SetTargetType(const TargetType& value) { m_targetTypeHasBeenSet = true; m_targetType = value; }
101 
102     /**
103      * <p>The type of the target with which to list attributes.</p>
104      */
SetTargetType(TargetType && value)105     inline void SetTargetType(TargetType&& value) { m_targetTypeHasBeenSet = true; m_targetType = std::move(value); }
106 
107     /**
108      * <p>The type of the target with which to list attributes.</p>
109      */
WithTargetType(const TargetType & value)110     inline ListAttributesRequest& WithTargetType(const TargetType& value) { SetTargetType(value); return *this;}
111 
112     /**
113      * <p>The type of the target with which to list attributes.</p>
114      */
WithTargetType(TargetType && value)115     inline ListAttributesRequest& WithTargetType(TargetType&& value) { SetTargetType(std::move(value)); return *this;}
116 
117 
118     /**
119      * <p>The name of the attribute with which to filter the results. </p>
120      */
GetAttributeName()121     inline const Aws::String& GetAttributeName() const{ return m_attributeName; }
122 
123     /**
124      * <p>The name of the attribute with which to filter the results. </p>
125      */
AttributeNameHasBeenSet()126     inline bool AttributeNameHasBeenSet() const { return m_attributeNameHasBeenSet; }
127 
128     /**
129      * <p>The name of the attribute with which to filter the results. </p>
130      */
SetAttributeName(const Aws::String & value)131     inline void SetAttributeName(const Aws::String& value) { m_attributeNameHasBeenSet = true; m_attributeName = value; }
132 
133     /**
134      * <p>The name of the attribute with which to filter the results. </p>
135      */
SetAttributeName(Aws::String && value)136     inline void SetAttributeName(Aws::String&& value) { m_attributeNameHasBeenSet = true; m_attributeName = std::move(value); }
137 
138     /**
139      * <p>The name of the attribute with which to filter the results. </p>
140      */
SetAttributeName(const char * value)141     inline void SetAttributeName(const char* value) { m_attributeNameHasBeenSet = true; m_attributeName.assign(value); }
142 
143     /**
144      * <p>The name of the attribute with which to filter the results. </p>
145      */
WithAttributeName(const Aws::String & value)146     inline ListAttributesRequest& WithAttributeName(const Aws::String& value) { SetAttributeName(value); return *this;}
147 
148     /**
149      * <p>The name of the attribute with which to filter the results. </p>
150      */
WithAttributeName(Aws::String && value)151     inline ListAttributesRequest& WithAttributeName(Aws::String&& value) { SetAttributeName(std::move(value)); return *this;}
152 
153     /**
154      * <p>The name of the attribute with which to filter the results. </p>
155      */
WithAttributeName(const char * value)156     inline ListAttributesRequest& WithAttributeName(const char* value) { SetAttributeName(value); return *this;}
157 
158 
159     /**
160      * <p>The value of the attribute with which to filter results. You must also
161      * specify an attribute name to use this parameter.</p>
162      */
GetAttributeValue()163     inline const Aws::String& GetAttributeValue() const{ return m_attributeValue; }
164 
165     /**
166      * <p>The value of the attribute with which to filter results. You must also
167      * specify an attribute name to use this parameter.</p>
168      */
AttributeValueHasBeenSet()169     inline bool AttributeValueHasBeenSet() const { return m_attributeValueHasBeenSet; }
170 
171     /**
172      * <p>The value of the attribute with which to filter results. You must also
173      * specify an attribute name to use this parameter.</p>
174      */
SetAttributeValue(const Aws::String & value)175     inline void SetAttributeValue(const Aws::String& value) { m_attributeValueHasBeenSet = true; m_attributeValue = value; }
176 
177     /**
178      * <p>The value of the attribute with which to filter results. You must also
179      * specify an attribute name to use this parameter.</p>
180      */
SetAttributeValue(Aws::String && value)181     inline void SetAttributeValue(Aws::String&& value) { m_attributeValueHasBeenSet = true; m_attributeValue = std::move(value); }
182 
183     /**
184      * <p>The value of the attribute with which to filter results. You must also
185      * specify an attribute name to use this parameter.</p>
186      */
SetAttributeValue(const char * value)187     inline void SetAttributeValue(const char* value) { m_attributeValueHasBeenSet = true; m_attributeValue.assign(value); }
188 
189     /**
190      * <p>The value of the attribute with which to filter results. You must also
191      * specify an attribute name to use this parameter.</p>
192      */
WithAttributeValue(const Aws::String & value)193     inline ListAttributesRequest& WithAttributeValue(const Aws::String& value) { SetAttributeValue(value); return *this;}
194 
195     /**
196      * <p>The value of the attribute with which to filter results. You must also
197      * specify an attribute name to use this parameter.</p>
198      */
WithAttributeValue(Aws::String && value)199     inline ListAttributesRequest& WithAttributeValue(Aws::String&& value) { SetAttributeValue(std::move(value)); return *this;}
200 
201     /**
202      * <p>The value of the attribute with which to filter results. You must also
203      * specify an attribute name to use this parameter.</p>
204      */
WithAttributeValue(const char * value)205     inline ListAttributesRequest& WithAttributeValue(const char* value) { SetAttributeValue(value); return *this;}
206 
207 
208     /**
209      * <p>The <code>nextToken</code> value returned from a <code>ListAttributes</code>
210      * request indicating that more results are available to fulfill the request and
211      * further calls will be needed. If <code>maxResults</code> was provided, it is
212      * possible the number of results to be fewer than <code>maxResults</code>.</p>
213      *  <p>This token should be treated as an opaque identifier that is only used
214      * to retrieve the next items in a list and not for other programmatic
215      * purposes.</p>
216      */
GetNextToken()217     inline const Aws::String& GetNextToken() const{ return m_nextToken; }
218 
219     /**
220      * <p>The <code>nextToken</code> value returned from a <code>ListAttributes</code>
221      * request indicating that more results are available to fulfill the request and
222      * further calls will be needed. If <code>maxResults</code> was provided, it is
223      * possible the number of results to be fewer than <code>maxResults</code>.</p>
224      *  <p>This token should be treated as an opaque identifier that is only used
225      * to retrieve the next items in a list and not for other programmatic
226      * purposes.</p>
227      */
NextTokenHasBeenSet()228     inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
229 
230     /**
231      * <p>The <code>nextToken</code> value returned from a <code>ListAttributes</code>
232      * request indicating that more results are available to fulfill the request and
233      * further calls will be needed. If <code>maxResults</code> was provided, it is
234      * possible the number of results to be fewer than <code>maxResults</code>.</p>
235      *  <p>This token should be treated as an opaque identifier that is only used
236      * to retrieve the next items in a list and not for other programmatic
237      * purposes.</p>
238      */
SetNextToken(const Aws::String & value)239     inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
240 
241     /**
242      * <p>The <code>nextToken</code> value returned from a <code>ListAttributes</code>
243      * request indicating that more results are available to fulfill the request and
244      * further calls will be needed. If <code>maxResults</code> was provided, it is
245      * possible the number of results to be fewer than <code>maxResults</code>.</p>
246      *  <p>This token should be treated as an opaque identifier that is only used
247      * to retrieve the next items in a list and not for other programmatic
248      * purposes.</p>
249      */
SetNextToken(Aws::String && value)250     inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
251 
252     /**
253      * <p>The <code>nextToken</code> value returned from a <code>ListAttributes</code>
254      * request indicating that more results are available to fulfill the request and
255      * further calls will be needed. If <code>maxResults</code> was provided, it is
256      * possible the number of results to be fewer than <code>maxResults</code>.</p>
257      *  <p>This token should be treated as an opaque identifier that is only used
258      * to retrieve the next items in a list and not for other programmatic
259      * purposes.</p>
260      */
SetNextToken(const char * value)261     inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
262 
263     /**
264      * <p>The <code>nextToken</code> value returned from a <code>ListAttributes</code>
265      * request indicating that more results are available to fulfill the request and
266      * further calls will be needed. If <code>maxResults</code> was provided, it is
267      * possible the number of results to be fewer than <code>maxResults</code>.</p>
268      *  <p>This token should be treated as an opaque identifier that is only used
269      * to retrieve the next items in a list and not for other programmatic
270      * purposes.</p>
271      */
WithNextToken(const Aws::String & value)272     inline ListAttributesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
273 
274     /**
275      * <p>The <code>nextToken</code> value returned from a <code>ListAttributes</code>
276      * request indicating that more results are available to fulfill the request and
277      * further calls will be needed. If <code>maxResults</code> was provided, it is
278      * possible the number of results to be fewer than <code>maxResults</code>.</p>
279      *  <p>This token should be treated as an opaque identifier that is only used
280      * to retrieve the next items in a list and not for other programmatic
281      * purposes.</p>
282      */
WithNextToken(Aws::String && value)283     inline ListAttributesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
284 
285     /**
286      * <p>The <code>nextToken</code> value returned from a <code>ListAttributes</code>
287      * request indicating that more results are available to fulfill the request and
288      * further calls will be needed. If <code>maxResults</code> was provided, it is
289      * possible the number of results to be fewer than <code>maxResults</code>.</p>
290      *  <p>This token should be treated as an opaque identifier that is only used
291      * to retrieve the next items in a list and not for other programmatic
292      * purposes.</p>
293      */
WithNextToken(const char * value)294     inline ListAttributesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
295 
296 
297     /**
298      * <p>The maximum number of cluster results returned by <code>ListAttributes</code>
299      * in paginated output. When this parameter is used, <code>ListAttributes</code>
300      * only returns <code>maxResults</code> results in a single page along with a
301      * <code>nextToken</code> response element. The remaining results of the initial
302      * request can be seen by sending another <code>ListAttributes</code> request with
303      * the returned <code>nextToken</code> value. This value can be between 1 and 100.
304      * If this parameter is not used, then <code>ListAttributes</code> returns up to
305      * 100 results and a <code>nextToken</code> value if applicable.</p>
306      */
GetMaxResults()307     inline int GetMaxResults() const{ return m_maxResults; }
308 
309     /**
310      * <p>The maximum number of cluster results returned by <code>ListAttributes</code>
311      * in paginated output. When this parameter is used, <code>ListAttributes</code>
312      * only returns <code>maxResults</code> results in a single page along with a
313      * <code>nextToken</code> response element. The remaining results of the initial
314      * request can be seen by sending another <code>ListAttributes</code> request with
315      * the returned <code>nextToken</code> value. This value can be between 1 and 100.
316      * If this parameter is not used, then <code>ListAttributes</code> returns up to
317      * 100 results and a <code>nextToken</code> value if applicable.</p>
318      */
MaxResultsHasBeenSet()319     inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
320 
321     /**
322      * <p>The maximum number of cluster results returned by <code>ListAttributes</code>
323      * in paginated output. When this parameter is used, <code>ListAttributes</code>
324      * only returns <code>maxResults</code> results in a single page along with a
325      * <code>nextToken</code> response element. The remaining results of the initial
326      * request can be seen by sending another <code>ListAttributes</code> request with
327      * the returned <code>nextToken</code> value. This value can be between 1 and 100.
328      * If this parameter is not used, then <code>ListAttributes</code> returns up to
329      * 100 results and a <code>nextToken</code> value if applicable.</p>
330      */
SetMaxResults(int value)331     inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
332 
333     /**
334      * <p>The maximum number of cluster results returned by <code>ListAttributes</code>
335      * in paginated output. When this parameter is used, <code>ListAttributes</code>
336      * only returns <code>maxResults</code> results in a single page along with a
337      * <code>nextToken</code> response element. The remaining results of the initial
338      * request can be seen by sending another <code>ListAttributes</code> request with
339      * the returned <code>nextToken</code> value. This value can be between 1 and 100.
340      * If this parameter is not used, then <code>ListAttributes</code> returns up to
341      * 100 results and a <code>nextToken</code> value if applicable.</p>
342      */
WithMaxResults(int value)343     inline ListAttributesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
344 
345   private:
346 
347     Aws::String m_cluster;
348     bool m_clusterHasBeenSet;
349 
350     TargetType m_targetType;
351     bool m_targetTypeHasBeenSet;
352 
353     Aws::String m_attributeName;
354     bool m_attributeNameHasBeenSet;
355 
356     Aws::String m_attributeValue;
357     bool m_attributeValueHasBeenSet;
358 
359     Aws::String m_nextToken;
360     bool m_nextTokenHasBeenSet;
361 
362     int m_maxResults;
363     bool m_maxResultsHasBeenSet;
364   };
365 
366 } // namespace Model
367 } // namespace ECS
368 } // namespace Aws
369