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/comprehend/Comprehend_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/comprehend/model/JobStatus.h>
10 #include <aws/core/utils/DateTime.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Utils
16 {
17 namespace Json
18 {
19   class JsonValue;
20   class JsonView;
21 } // namespace Json
22 } // namespace Utils
23 namespace Comprehend
24 {
25 namespace Model
26 {
27 
28   /**
29    * <p>Provides information for filtering a list of document classification jobs.
30    * For more information, see the operation. You can provide only one filter
31    * parameter in each request.</p><p><h3>See Also:</h3>   <a
32    * href="http://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DocumentClassificationJobFilter">AWS
33    * API Reference</a></p>
34    */
35   class AWS_COMPREHEND_API DocumentClassificationJobFilter
36   {
37   public:
38     DocumentClassificationJobFilter();
39     DocumentClassificationJobFilter(Aws::Utils::Json::JsonView jsonValue);
40     DocumentClassificationJobFilter& operator=(Aws::Utils::Json::JsonView jsonValue);
41     Aws::Utils::Json::JsonValue Jsonize() const;
42 
43 
44     /**
45      * <p>Filters on the name of the job.</p>
46      */
GetJobName()47     inline const Aws::String& GetJobName() const{ return m_jobName; }
48 
49     /**
50      * <p>Filters on the name of the job.</p>
51      */
JobNameHasBeenSet()52     inline bool JobNameHasBeenSet() const { return m_jobNameHasBeenSet; }
53 
54     /**
55      * <p>Filters on the name of the job.</p>
56      */
SetJobName(const Aws::String & value)57     inline void SetJobName(const Aws::String& value) { m_jobNameHasBeenSet = true; m_jobName = value; }
58 
59     /**
60      * <p>Filters on the name of the job.</p>
61      */
SetJobName(Aws::String && value)62     inline void SetJobName(Aws::String&& value) { m_jobNameHasBeenSet = true; m_jobName = std::move(value); }
63 
64     /**
65      * <p>Filters on the name of the job.</p>
66      */
SetJobName(const char * value)67     inline void SetJobName(const char* value) { m_jobNameHasBeenSet = true; m_jobName.assign(value); }
68 
69     /**
70      * <p>Filters on the name of the job.</p>
71      */
WithJobName(const Aws::String & value)72     inline DocumentClassificationJobFilter& WithJobName(const Aws::String& value) { SetJobName(value); return *this;}
73 
74     /**
75      * <p>Filters on the name of the job.</p>
76      */
WithJobName(Aws::String && value)77     inline DocumentClassificationJobFilter& WithJobName(Aws::String&& value) { SetJobName(std::move(value)); return *this;}
78 
79     /**
80      * <p>Filters on the name of the job.</p>
81      */
WithJobName(const char * value)82     inline DocumentClassificationJobFilter& WithJobName(const char* value) { SetJobName(value); return *this;}
83 
84 
85     /**
86      * <p>Filters the list based on job status. Returns only jobs with the specified
87      * status.</p>
88      */
GetJobStatus()89     inline const JobStatus& GetJobStatus() const{ return m_jobStatus; }
90 
91     /**
92      * <p>Filters the list based on job status. Returns only jobs with the specified
93      * status.</p>
94      */
JobStatusHasBeenSet()95     inline bool JobStatusHasBeenSet() const { return m_jobStatusHasBeenSet; }
96 
97     /**
98      * <p>Filters the list based on job status. Returns only jobs with the specified
99      * status.</p>
100      */
SetJobStatus(const JobStatus & value)101     inline void SetJobStatus(const JobStatus& value) { m_jobStatusHasBeenSet = true; m_jobStatus = value; }
102 
103     /**
104      * <p>Filters the list based on job status. Returns only jobs with the specified
105      * status.</p>
106      */
SetJobStatus(JobStatus && value)107     inline void SetJobStatus(JobStatus&& value) { m_jobStatusHasBeenSet = true; m_jobStatus = std::move(value); }
108 
109     /**
110      * <p>Filters the list based on job status. Returns only jobs with the specified
111      * status.</p>
112      */
WithJobStatus(const JobStatus & value)113     inline DocumentClassificationJobFilter& WithJobStatus(const JobStatus& value) { SetJobStatus(value); return *this;}
114 
115     /**
116      * <p>Filters the list based on job status. Returns only jobs with the specified
117      * status.</p>
118      */
WithJobStatus(JobStatus && value)119     inline DocumentClassificationJobFilter& WithJobStatus(JobStatus&& value) { SetJobStatus(std::move(value)); return *this;}
120 
121 
122     /**
123      * <p>Filters the list of jobs based on the time that the job was submitted for
124      * processing. Returns only jobs submitted before the specified time. Jobs are
125      * returned in ascending order, oldest to newest.</p>
126      */
GetSubmitTimeBefore()127     inline const Aws::Utils::DateTime& GetSubmitTimeBefore() const{ return m_submitTimeBefore; }
128 
129     /**
130      * <p>Filters the list of jobs based on the time that the job was submitted for
131      * processing. Returns only jobs submitted before the specified time. Jobs are
132      * returned in ascending order, oldest to newest.</p>
133      */
SubmitTimeBeforeHasBeenSet()134     inline bool SubmitTimeBeforeHasBeenSet() const { return m_submitTimeBeforeHasBeenSet; }
135 
136     /**
137      * <p>Filters the list of jobs based on the time that the job was submitted for
138      * processing. Returns only jobs submitted before the specified time. Jobs are
139      * returned in ascending order, oldest to newest.</p>
140      */
SetSubmitTimeBefore(const Aws::Utils::DateTime & value)141     inline void SetSubmitTimeBefore(const Aws::Utils::DateTime& value) { m_submitTimeBeforeHasBeenSet = true; m_submitTimeBefore = value; }
142 
143     /**
144      * <p>Filters the list of jobs based on the time that the job was submitted for
145      * processing. Returns only jobs submitted before the specified time. Jobs are
146      * returned in ascending order, oldest to newest.</p>
147      */
SetSubmitTimeBefore(Aws::Utils::DateTime && value)148     inline void SetSubmitTimeBefore(Aws::Utils::DateTime&& value) { m_submitTimeBeforeHasBeenSet = true; m_submitTimeBefore = std::move(value); }
149 
150     /**
151      * <p>Filters the list of jobs based on the time that the job was submitted for
152      * processing. Returns only jobs submitted before the specified time. Jobs are
153      * returned in ascending order, oldest to newest.</p>
154      */
WithSubmitTimeBefore(const Aws::Utils::DateTime & value)155     inline DocumentClassificationJobFilter& WithSubmitTimeBefore(const Aws::Utils::DateTime& value) { SetSubmitTimeBefore(value); return *this;}
156 
157     /**
158      * <p>Filters the list of jobs based on the time that the job was submitted for
159      * processing. Returns only jobs submitted before the specified time. Jobs are
160      * returned in ascending order, oldest to newest.</p>
161      */
WithSubmitTimeBefore(Aws::Utils::DateTime && value)162     inline DocumentClassificationJobFilter& WithSubmitTimeBefore(Aws::Utils::DateTime&& value) { SetSubmitTimeBefore(std::move(value)); return *this;}
163 
164 
165     /**
166      * <p>Filters the list of jobs based on the time that the job was submitted for
167      * processing. Returns only jobs submitted after the specified time. Jobs are
168      * returned in descending order, newest to oldest.</p>
169      */
GetSubmitTimeAfter()170     inline const Aws::Utils::DateTime& GetSubmitTimeAfter() const{ return m_submitTimeAfter; }
171 
172     /**
173      * <p>Filters the list of jobs based on the time that the job was submitted for
174      * processing. Returns only jobs submitted after the specified time. Jobs are
175      * returned in descending order, newest to oldest.</p>
176      */
SubmitTimeAfterHasBeenSet()177     inline bool SubmitTimeAfterHasBeenSet() const { return m_submitTimeAfterHasBeenSet; }
178 
179     /**
180      * <p>Filters the list of jobs based on the time that the job was submitted for
181      * processing. Returns only jobs submitted after the specified time. Jobs are
182      * returned in descending order, newest to oldest.</p>
183      */
SetSubmitTimeAfter(const Aws::Utils::DateTime & value)184     inline void SetSubmitTimeAfter(const Aws::Utils::DateTime& value) { m_submitTimeAfterHasBeenSet = true; m_submitTimeAfter = value; }
185 
186     /**
187      * <p>Filters the list of jobs based on the time that the job was submitted for
188      * processing. Returns only jobs submitted after the specified time. Jobs are
189      * returned in descending order, newest to oldest.</p>
190      */
SetSubmitTimeAfter(Aws::Utils::DateTime && value)191     inline void SetSubmitTimeAfter(Aws::Utils::DateTime&& value) { m_submitTimeAfterHasBeenSet = true; m_submitTimeAfter = std::move(value); }
192 
193     /**
194      * <p>Filters the list of jobs based on the time that the job was submitted for
195      * processing. Returns only jobs submitted after the specified time. Jobs are
196      * returned in descending order, newest to oldest.</p>
197      */
WithSubmitTimeAfter(const Aws::Utils::DateTime & value)198     inline DocumentClassificationJobFilter& WithSubmitTimeAfter(const Aws::Utils::DateTime& value) { SetSubmitTimeAfter(value); return *this;}
199 
200     /**
201      * <p>Filters the list of jobs based on the time that the job was submitted for
202      * processing. Returns only jobs submitted after the specified time. Jobs are
203      * returned in descending order, newest to oldest.</p>
204      */
WithSubmitTimeAfter(Aws::Utils::DateTime && value)205     inline DocumentClassificationJobFilter& WithSubmitTimeAfter(Aws::Utils::DateTime&& value) { SetSubmitTimeAfter(std::move(value)); return *this;}
206 
207   private:
208 
209     Aws::String m_jobName;
210     bool m_jobNameHasBeenSet;
211 
212     JobStatus m_jobStatus;
213     bool m_jobStatusHasBeenSet;
214 
215     Aws::Utils::DateTime m_submitTimeBefore;
216     bool m_submitTimeBeforeHasBeenSet;
217 
218     Aws::Utils::DateTime m_submitTimeAfter;
219     bool m_submitTimeAfterHasBeenSet;
220   };
221 
222 } // namespace Model
223 } // namespace Comprehend
224 } // namespace Aws
225