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/backup/Backup_EXPORTS.h>
8 #include <aws/backup/BackupRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/DateTime.h>
11 #include <aws/backup/model/RestoreJobStatus.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace Http
17 {
18     class URI;
19 } //namespace Http
20 namespace Backup
21 {
22 namespace Model
23 {
24 
25   /**
26    */
27   class AWS_BACKUP_API ListRestoreJobsRequest : public BackupRequest
28   {
29   public:
30     ListRestoreJobsRequest();
31 
32     // Service request name is the Operation name which will send this request out,
33     // each operation should has unique request name, so that we can get operation's name from this request.
34     // Note: this is not true for response, multiple operations may have the same response name,
35     // so we can not get operation's name from response.
GetServiceRequestName()36     inline virtual const char* GetServiceRequestName() const override { return "ListRestoreJobs"; }
37 
38     Aws::String SerializePayload() const override;
39 
40     void AddQueryStringParameters(Aws::Http::URI& uri) const override;
41 
42 
43     /**
44      * <p>The next item following a partial list of returned items. For example, if a
45      * request is made to return <code>maxResults</code> number of items,
46      * <code>NextToken</code> allows you to return more items in your list starting at
47      * the location pointed to by the next token.</p>
48      */
GetNextToken()49     inline const Aws::String& GetNextToken() const{ return m_nextToken; }
50 
51     /**
52      * <p>The next item following a partial list of returned items. For example, if a
53      * request is made to return <code>maxResults</code> number of items,
54      * <code>NextToken</code> allows you to return more items in your list starting at
55      * the location pointed to by the next token.</p>
56      */
NextTokenHasBeenSet()57     inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
58 
59     /**
60      * <p>The next item following a partial list of returned items. For example, if a
61      * request is made to return <code>maxResults</code> number of items,
62      * <code>NextToken</code> allows you to return more items in your list starting at
63      * the location pointed to by the next token.</p>
64      */
SetNextToken(const Aws::String & value)65     inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
66 
67     /**
68      * <p>The next item following a partial list of returned items. For example, if a
69      * request is made to return <code>maxResults</code> number of items,
70      * <code>NextToken</code> allows you to return more items in your list starting at
71      * the location pointed to by the next token.</p>
72      */
SetNextToken(Aws::String && value)73     inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
74 
75     /**
76      * <p>The next item following a partial list of returned items. For example, if a
77      * request is made to return <code>maxResults</code> number of items,
78      * <code>NextToken</code> allows you to return more items in your list starting at
79      * the location pointed to by the next token.</p>
80      */
SetNextToken(const char * value)81     inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
82 
83     /**
84      * <p>The next item following a partial list of returned items. For example, if a
85      * request is made to return <code>maxResults</code> number of items,
86      * <code>NextToken</code> allows you to return more items in your list starting at
87      * the location pointed to by the next token.</p>
88      */
WithNextToken(const Aws::String & value)89     inline ListRestoreJobsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
90 
91     /**
92      * <p>The next item following a partial list of returned items. For example, if a
93      * request is made to return <code>maxResults</code> number of items,
94      * <code>NextToken</code> allows you to return more items in your list starting at
95      * the location pointed to by the next token.</p>
96      */
WithNextToken(Aws::String && value)97     inline ListRestoreJobsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
98 
99     /**
100      * <p>The next item following a partial list of returned items. For example, if a
101      * request is made to return <code>maxResults</code> number of items,
102      * <code>NextToken</code> allows you to return more items in your list starting at
103      * the location pointed to by the next token.</p>
104      */
WithNextToken(const char * value)105     inline ListRestoreJobsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
106 
107 
108     /**
109      * <p>The maximum number of items to be returned.</p>
110      */
GetMaxResults()111     inline int GetMaxResults() const{ return m_maxResults; }
112 
113     /**
114      * <p>The maximum number of items to be returned.</p>
115      */
MaxResultsHasBeenSet()116     inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
117 
118     /**
119      * <p>The maximum number of items to be returned.</p>
120      */
SetMaxResults(int value)121     inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
122 
123     /**
124      * <p>The maximum number of items to be returned.</p>
125      */
WithMaxResults(int value)126     inline ListRestoreJobsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
127 
128 
129     /**
130      * <p>The account ID to list the jobs from. Returns only restore jobs associated
131      * with the specified account ID.</p>
132      */
GetByAccountId()133     inline const Aws::String& GetByAccountId() const{ return m_byAccountId; }
134 
135     /**
136      * <p>The account ID to list the jobs from. Returns only restore jobs associated
137      * with the specified account ID.</p>
138      */
ByAccountIdHasBeenSet()139     inline bool ByAccountIdHasBeenSet() const { return m_byAccountIdHasBeenSet; }
140 
141     /**
142      * <p>The account ID to list the jobs from. Returns only restore jobs associated
143      * with the specified account ID.</p>
144      */
SetByAccountId(const Aws::String & value)145     inline void SetByAccountId(const Aws::String& value) { m_byAccountIdHasBeenSet = true; m_byAccountId = value; }
146 
147     /**
148      * <p>The account ID to list the jobs from. Returns only restore jobs associated
149      * with the specified account ID.</p>
150      */
SetByAccountId(Aws::String && value)151     inline void SetByAccountId(Aws::String&& value) { m_byAccountIdHasBeenSet = true; m_byAccountId = std::move(value); }
152 
153     /**
154      * <p>The account ID to list the jobs from. Returns only restore jobs associated
155      * with the specified account ID.</p>
156      */
SetByAccountId(const char * value)157     inline void SetByAccountId(const char* value) { m_byAccountIdHasBeenSet = true; m_byAccountId.assign(value); }
158 
159     /**
160      * <p>The account ID to list the jobs from. Returns only restore jobs associated
161      * with the specified account ID.</p>
162      */
WithByAccountId(const Aws::String & value)163     inline ListRestoreJobsRequest& WithByAccountId(const Aws::String& value) { SetByAccountId(value); return *this;}
164 
165     /**
166      * <p>The account ID to list the jobs from. Returns only restore jobs associated
167      * with the specified account ID.</p>
168      */
WithByAccountId(Aws::String && value)169     inline ListRestoreJobsRequest& WithByAccountId(Aws::String&& value) { SetByAccountId(std::move(value)); return *this;}
170 
171     /**
172      * <p>The account ID to list the jobs from. Returns only restore jobs associated
173      * with the specified account ID.</p>
174      */
WithByAccountId(const char * value)175     inline ListRestoreJobsRequest& WithByAccountId(const char* value) { SetByAccountId(value); return *this;}
176 
177 
178     /**
179      * <p>Returns only restore jobs that were created before the specified date.</p>
180      */
GetByCreatedBefore()181     inline const Aws::Utils::DateTime& GetByCreatedBefore() const{ return m_byCreatedBefore; }
182 
183     /**
184      * <p>Returns only restore jobs that were created before the specified date.</p>
185      */
ByCreatedBeforeHasBeenSet()186     inline bool ByCreatedBeforeHasBeenSet() const { return m_byCreatedBeforeHasBeenSet; }
187 
188     /**
189      * <p>Returns only restore jobs that were created before the specified date.</p>
190      */
SetByCreatedBefore(const Aws::Utils::DateTime & value)191     inline void SetByCreatedBefore(const Aws::Utils::DateTime& value) { m_byCreatedBeforeHasBeenSet = true; m_byCreatedBefore = value; }
192 
193     /**
194      * <p>Returns only restore jobs that were created before the specified date.</p>
195      */
SetByCreatedBefore(Aws::Utils::DateTime && value)196     inline void SetByCreatedBefore(Aws::Utils::DateTime&& value) { m_byCreatedBeforeHasBeenSet = true; m_byCreatedBefore = std::move(value); }
197 
198     /**
199      * <p>Returns only restore jobs that were created before the specified date.</p>
200      */
WithByCreatedBefore(const Aws::Utils::DateTime & value)201     inline ListRestoreJobsRequest& WithByCreatedBefore(const Aws::Utils::DateTime& value) { SetByCreatedBefore(value); return *this;}
202 
203     /**
204      * <p>Returns only restore jobs that were created before the specified date.</p>
205      */
WithByCreatedBefore(Aws::Utils::DateTime && value)206     inline ListRestoreJobsRequest& WithByCreatedBefore(Aws::Utils::DateTime&& value) { SetByCreatedBefore(std::move(value)); return *this;}
207 
208 
209     /**
210      * <p>Returns only restore jobs that were created after the specified date.</p>
211      */
GetByCreatedAfter()212     inline const Aws::Utils::DateTime& GetByCreatedAfter() const{ return m_byCreatedAfter; }
213 
214     /**
215      * <p>Returns only restore jobs that were created after the specified date.</p>
216      */
ByCreatedAfterHasBeenSet()217     inline bool ByCreatedAfterHasBeenSet() const { return m_byCreatedAfterHasBeenSet; }
218 
219     /**
220      * <p>Returns only restore jobs that were created after the specified date.</p>
221      */
SetByCreatedAfter(const Aws::Utils::DateTime & value)222     inline void SetByCreatedAfter(const Aws::Utils::DateTime& value) { m_byCreatedAfterHasBeenSet = true; m_byCreatedAfter = value; }
223 
224     /**
225      * <p>Returns only restore jobs that were created after the specified date.</p>
226      */
SetByCreatedAfter(Aws::Utils::DateTime && value)227     inline void SetByCreatedAfter(Aws::Utils::DateTime&& value) { m_byCreatedAfterHasBeenSet = true; m_byCreatedAfter = std::move(value); }
228 
229     /**
230      * <p>Returns only restore jobs that were created after the specified date.</p>
231      */
WithByCreatedAfter(const Aws::Utils::DateTime & value)232     inline ListRestoreJobsRequest& WithByCreatedAfter(const Aws::Utils::DateTime& value) { SetByCreatedAfter(value); return *this;}
233 
234     /**
235      * <p>Returns only restore jobs that were created after the specified date.</p>
236      */
WithByCreatedAfter(Aws::Utils::DateTime && value)237     inline ListRestoreJobsRequest& WithByCreatedAfter(Aws::Utils::DateTime&& value) { SetByCreatedAfter(std::move(value)); return *this;}
238 
239 
240     /**
241      * <p>Returns only restore jobs associated with the specified job status.</p>
242      */
GetByStatus()243     inline const RestoreJobStatus& GetByStatus() const{ return m_byStatus; }
244 
245     /**
246      * <p>Returns only restore jobs associated with the specified job status.</p>
247      */
ByStatusHasBeenSet()248     inline bool ByStatusHasBeenSet() const { return m_byStatusHasBeenSet; }
249 
250     /**
251      * <p>Returns only restore jobs associated with the specified job status.</p>
252      */
SetByStatus(const RestoreJobStatus & value)253     inline void SetByStatus(const RestoreJobStatus& value) { m_byStatusHasBeenSet = true; m_byStatus = value; }
254 
255     /**
256      * <p>Returns only restore jobs associated with the specified job status.</p>
257      */
SetByStatus(RestoreJobStatus && value)258     inline void SetByStatus(RestoreJobStatus&& value) { m_byStatusHasBeenSet = true; m_byStatus = std::move(value); }
259 
260     /**
261      * <p>Returns only restore jobs associated with the specified job status.</p>
262      */
WithByStatus(const RestoreJobStatus & value)263     inline ListRestoreJobsRequest& WithByStatus(const RestoreJobStatus& value) { SetByStatus(value); return *this;}
264 
265     /**
266      * <p>Returns only restore jobs associated with the specified job status.</p>
267      */
WithByStatus(RestoreJobStatus && value)268     inline ListRestoreJobsRequest& WithByStatus(RestoreJobStatus&& value) { SetByStatus(std::move(value)); return *this;}
269 
270   private:
271 
272     Aws::String m_nextToken;
273     bool m_nextTokenHasBeenSet;
274 
275     int m_maxResults;
276     bool m_maxResultsHasBeenSet;
277 
278     Aws::String m_byAccountId;
279     bool m_byAccountIdHasBeenSet;
280 
281     Aws::Utils::DateTime m_byCreatedBefore;
282     bool m_byCreatedBeforeHasBeenSet;
283 
284     Aws::Utils::DateTime m_byCreatedAfter;
285     bool m_byCreatedAfterHasBeenSet;
286 
287     RestoreJobStatus m_byStatus;
288     bool m_byStatusHasBeenSet;
289   };
290 
291 } // namespace Model
292 } // namespace Backup
293 } // namespace Aws
294