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/core/utils/memory/stl/AWSVector.h>
11 #include <aws/ecs/model/TaskSetField.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace ECS
17 {
18 namespace Model
19 {
20 
21   /**
22    */
23   class AWS_ECS_API DescribeTaskSetsRequest : public ECSRequest
24   {
25   public:
26     DescribeTaskSetsRequest();
27 
28     // Service request name is the Operation name which will send this request out,
29     // each operation should has unique request name, so that we can get operation's name from this request.
30     // Note: this is not true for response, multiple operations may have the same response name,
31     // so we can not get operation's name from response.
GetServiceRequestName()32     inline virtual const char* GetServiceRequestName() const override { return "DescribeTaskSets"; }
33 
34     Aws::String SerializePayload() const override;
35 
36     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
37 
38 
39     /**
40      * <p>The short name or full Amazon Resource Name (ARN) of the cluster that hosts
41      * the service that the task sets exist in.</p>
42      */
GetCluster()43     inline const Aws::String& GetCluster() const{ return m_cluster; }
44 
45     /**
46      * <p>The short name or full Amazon Resource Name (ARN) of the cluster that hosts
47      * the service that the task sets exist in.</p>
48      */
ClusterHasBeenSet()49     inline bool ClusterHasBeenSet() const { return m_clusterHasBeenSet; }
50 
51     /**
52      * <p>The short name or full Amazon Resource Name (ARN) of the cluster that hosts
53      * the service that the task sets exist in.</p>
54      */
SetCluster(const Aws::String & value)55     inline void SetCluster(const Aws::String& value) { m_clusterHasBeenSet = true; m_cluster = value; }
56 
57     /**
58      * <p>The short name or full Amazon Resource Name (ARN) of the cluster that hosts
59      * the service that the task sets exist in.</p>
60      */
SetCluster(Aws::String && value)61     inline void SetCluster(Aws::String&& value) { m_clusterHasBeenSet = true; m_cluster = std::move(value); }
62 
63     /**
64      * <p>The short name or full Amazon Resource Name (ARN) of the cluster that hosts
65      * the service that the task sets exist in.</p>
66      */
SetCluster(const char * value)67     inline void SetCluster(const char* value) { m_clusterHasBeenSet = true; m_cluster.assign(value); }
68 
69     /**
70      * <p>The short name or full Amazon Resource Name (ARN) of the cluster that hosts
71      * the service that the task sets exist in.</p>
72      */
WithCluster(const Aws::String & value)73     inline DescribeTaskSetsRequest& WithCluster(const Aws::String& value) { SetCluster(value); return *this;}
74 
75     /**
76      * <p>The short name or full Amazon Resource Name (ARN) of the cluster that hosts
77      * the service that the task sets exist in.</p>
78      */
WithCluster(Aws::String && value)79     inline DescribeTaskSetsRequest& WithCluster(Aws::String&& value) { SetCluster(std::move(value)); return *this;}
80 
81     /**
82      * <p>The short name or full Amazon Resource Name (ARN) of the cluster that hosts
83      * the service that the task sets exist in.</p>
84      */
WithCluster(const char * value)85     inline DescribeTaskSetsRequest& WithCluster(const char* value) { SetCluster(value); return *this;}
86 
87 
88     /**
89      * <p>The short name or full Amazon Resource Name (ARN) of the service that the
90      * task sets exist in.</p>
91      */
GetService()92     inline const Aws::String& GetService() const{ return m_service; }
93 
94     /**
95      * <p>The short name or full Amazon Resource Name (ARN) of the service that the
96      * task sets exist in.</p>
97      */
ServiceHasBeenSet()98     inline bool ServiceHasBeenSet() const { return m_serviceHasBeenSet; }
99 
100     /**
101      * <p>The short name or full Amazon Resource Name (ARN) of the service that the
102      * task sets exist in.</p>
103      */
SetService(const Aws::String & value)104     inline void SetService(const Aws::String& value) { m_serviceHasBeenSet = true; m_service = value; }
105 
106     /**
107      * <p>The short name or full Amazon Resource Name (ARN) of the service that the
108      * task sets exist in.</p>
109      */
SetService(Aws::String && value)110     inline void SetService(Aws::String&& value) { m_serviceHasBeenSet = true; m_service = std::move(value); }
111 
112     /**
113      * <p>The short name or full Amazon Resource Name (ARN) of the service that the
114      * task sets exist in.</p>
115      */
SetService(const char * value)116     inline void SetService(const char* value) { m_serviceHasBeenSet = true; m_service.assign(value); }
117 
118     /**
119      * <p>The short name or full Amazon Resource Name (ARN) of the service that the
120      * task sets exist in.</p>
121      */
WithService(const Aws::String & value)122     inline DescribeTaskSetsRequest& WithService(const Aws::String& value) { SetService(value); return *this;}
123 
124     /**
125      * <p>The short name or full Amazon Resource Name (ARN) of the service that the
126      * task sets exist in.</p>
127      */
WithService(Aws::String && value)128     inline DescribeTaskSetsRequest& WithService(Aws::String&& value) { SetService(std::move(value)); return *this;}
129 
130     /**
131      * <p>The short name or full Amazon Resource Name (ARN) of the service that the
132      * task sets exist in.</p>
133      */
WithService(const char * value)134     inline DescribeTaskSetsRequest& WithService(const char* value) { SetService(value); return *this;}
135 
136 
137     /**
138      * <p>The ID or full Amazon Resource Name (ARN) of task sets to describe.</p>
139      */
GetTaskSets()140     inline const Aws::Vector<Aws::String>& GetTaskSets() const{ return m_taskSets; }
141 
142     /**
143      * <p>The ID or full Amazon Resource Name (ARN) of task sets to describe.</p>
144      */
TaskSetsHasBeenSet()145     inline bool TaskSetsHasBeenSet() const { return m_taskSetsHasBeenSet; }
146 
147     /**
148      * <p>The ID or full Amazon Resource Name (ARN) of task sets to describe.</p>
149      */
SetTaskSets(const Aws::Vector<Aws::String> & value)150     inline void SetTaskSets(const Aws::Vector<Aws::String>& value) { m_taskSetsHasBeenSet = true; m_taskSets = value; }
151 
152     /**
153      * <p>The ID or full Amazon Resource Name (ARN) of task sets to describe.</p>
154      */
SetTaskSets(Aws::Vector<Aws::String> && value)155     inline void SetTaskSets(Aws::Vector<Aws::String>&& value) { m_taskSetsHasBeenSet = true; m_taskSets = std::move(value); }
156 
157     /**
158      * <p>The ID or full Amazon Resource Name (ARN) of task sets to describe.</p>
159      */
WithTaskSets(const Aws::Vector<Aws::String> & value)160     inline DescribeTaskSetsRequest& WithTaskSets(const Aws::Vector<Aws::String>& value) { SetTaskSets(value); return *this;}
161 
162     /**
163      * <p>The ID or full Amazon Resource Name (ARN) of task sets to describe.</p>
164      */
WithTaskSets(Aws::Vector<Aws::String> && value)165     inline DescribeTaskSetsRequest& WithTaskSets(Aws::Vector<Aws::String>&& value) { SetTaskSets(std::move(value)); return *this;}
166 
167     /**
168      * <p>The ID or full Amazon Resource Name (ARN) of task sets to describe.</p>
169      */
AddTaskSets(const Aws::String & value)170     inline DescribeTaskSetsRequest& AddTaskSets(const Aws::String& value) { m_taskSetsHasBeenSet = true; m_taskSets.push_back(value); return *this; }
171 
172     /**
173      * <p>The ID or full Amazon Resource Name (ARN) of task sets to describe.</p>
174      */
AddTaskSets(Aws::String && value)175     inline DescribeTaskSetsRequest& AddTaskSets(Aws::String&& value) { m_taskSetsHasBeenSet = true; m_taskSets.push_back(std::move(value)); return *this; }
176 
177     /**
178      * <p>The ID or full Amazon Resource Name (ARN) of task sets to describe.</p>
179      */
AddTaskSets(const char * value)180     inline DescribeTaskSetsRequest& AddTaskSets(const char* value) { m_taskSetsHasBeenSet = true; m_taskSets.push_back(value); return *this; }
181 
182 
183     /**
184      * <p>Specifies whether to see the resource tags for the task set. If
185      * <code>TAGS</code> is specified, the tags are included in the response. If this
186      * field is omitted, tags are not included in the response.</p>
187      */
GetInclude()188     inline const Aws::Vector<TaskSetField>& GetInclude() const{ return m_include; }
189 
190     /**
191      * <p>Specifies whether to see the resource tags for the task set. If
192      * <code>TAGS</code> is specified, the tags are included in the response. If this
193      * field is omitted, tags are not included in the response.</p>
194      */
IncludeHasBeenSet()195     inline bool IncludeHasBeenSet() const { return m_includeHasBeenSet; }
196 
197     /**
198      * <p>Specifies whether to see the resource tags for the task set. If
199      * <code>TAGS</code> is specified, the tags are included in the response. If this
200      * field is omitted, tags are not included in the response.</p>
201      */
SetInclude(const Aws::Vector<TaskSetField> & value)202     inline void SetInclude(const Aws::Vector<TaskSetField>& value) { m_includeHasBeenSet = true; m_include = value; }
203 
204     /**
205      * <p>Specifies whether to see the resource tags for the task set. If
206      * <code>TAGS</code> is specified, the tags are included in the response. If this
207      * field is omitted, tags are not included in the response.</p>
208      */
SetInclude(Aws::Vector<TaskSetField> && value)209     inline void SetInclude(Aws::Vector<TaskSetField>&& value) { m_includeHasBeenSet = true; m_include = std::move(value); }
210 
211     /**
212      * <p>Specifies whether to see the resource tags for the task set. If
213      * <code>TAGS</code> is specified, the tags are included in the response. If this
214      * field is omitted, tags are not included in the response.</p>
215      */
WithInclude(const Aws::Vector<TaskSetField> & value)216     inline DescribeTaskSetsRequest& WithInclude(const Aws::Vector<TaskSetField>& value) { SetInclude(value); return *this;}
217 
218     /**
219      * <p>Specifies whether to see the resource tags for the task set. If
220      * <code>TAGS</code> is specified, the tags are included in the response. If this
221      * field is omitted, tags are not included in the response.</p>
222      */
WithInclude(Aws::Vector<TaskSetField> && value)223     inline DescribeTaskSetsRequest& WithInclude(Aws::Vector<TaskSetField>&& value) { SetInclude(std::move(value)); return *this;}
224 
225     /**
226      * <p>Specifies whether to see the resource tags for the task set. If
227      * <code>TAGS</code> is specified, the tags are included in the response. If this
228      * field is omitted, tags are not included in the response.</p>
229      */
AddInclude(const TaskSetField & value)230     inline DescribeTaskSetsRequest& AddInclude(const TaskSetField& value) { m_includeHasBeenSet = true; m_include.push_back(value); return *this; }
231 
232     /**
233      * <p>Specifies whether to see the resource tags for the task set. If
234      * <code>TAGS</code> is specified, the tags are included in the response. If this
235      * field is omitted, tags are not included in the response.</p>
236      */
AddInclude(TaskSetField && value)237     inline DescribeTaskSetsRequest& AddInclude(TaskSetField&& value) { m_includeHasBeenSet = true; m_include.push_back(std::move(value)); return *this; }
238 
239   private:
240 
241     Aws::String m_cluster;
242     bool m_clusterHasBeenSet;
243 
244     Aws::String m_service;
245     bool m_serviceHasBeenSet;
246 
247     Aws::Vector<Aws::String> m_taskSets;
248     bool m_taskSetsHasBeenSet;
249 
250     Aws::Vector<TaskSetField> m_include;
251     bool m_includeHasBeenSet;
252   };
253 
254 } // namespace Model
255 } // namespace ECS
256 } // namespace Aws
257