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