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/translate/Translate_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/translate/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 Translate
24 {
25 namespace Model
26 {
27 
28   /**
29    * <p>Provides information for filtering a list of translation jobs. For more
30    * information, see <a>ListTextTranslationJobs</a>.</p><p><h3>See Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/translate-2017-07-01/TextTranslationJobFilter">AWS
32    * API Reference</a></p>
33    */
34   class AWS_TRANSLATE_API TextTranslationJobFilter
35   {
36   public:
37     TextTranslationJobFilter();
38     TextTranslationJobFilter(Aws::Utils::Json::JsonView jsonValue);
39     TextTranslationJobFilter& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43     /**
44      * <p>Filters the list of jobs by name.</p>
45      */
GetJobName()46     inline const Aws::String& GetJobName() const{ return m_jobName; }
47 
48     /**
49      * <p>Filters the list of jobs by name.</p>
50      */
JobNameHasBeenSet()51     inline bool JobNameHasBeenSet() const { return m_jobNameHasBeenSet; }
52 
53     /**
54      * <p>Filters the list of jobs by name.</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 the list of jobs by name.</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 the list of jobs by name.</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 the list of jobs by name.</p>
70      */
WithJobName(const Aws::String & value)71     inline TextTranslationJobFilter& WithJobName(const Aws::String& value) { SetJobName(value); return *this;}
72 
73     /**
74      * <p>Filters the list of jobs by name.</p>
75      */
WithJobName(Aws::String && value)76     inline TextTranslationJobFilter& WithJobName(Aws::String&& value) { SetJobName(std::move(value)); return *this;}
77 
78     /**
79      * <p>Filters the list of jobs by name.</p>
80      */
WithJobName(const char * value)81     inline TextTranslationJobFilter& WithJobName(const char* value) { SetJobName(value); return *this;}
82 
83 
84     /**
85      * <p>Filters the list of jobs based by job status.</p>
86      */
GetJobStatus()87     inline const JobStatus& GetJobStatus() const{ return m_jobStatus; }
88 
89     /**
90      * <p>Filters the list of jobs based by job status.</p>
91      */
JobStatusHasBeenSet()92     inline bool JobStatusHasBeenSet() const { return m_jobStatusHasBeenSet; }
93 
94     /**
95      * <p>Filters the list of jobs based by job status.</p>
96      */
SetJobStatus(const JobStatus & value)97     inline void SetJobStatus(const JobStatus& value) { m_jobStatusHasBeenSet = true; m_jobStatus = value; }
98 
99     /**
100      * <p>Filters the list of jobs based by job status.</p>
101      */
SetJobStatus(JobStatus && value)102     inline void SetJobStatus(JobStatus&& value) { m_jobStatusHasBeenSet = true; m_jobStatus = std::move(value); }
103 
104     /**
105      * <p>Filters the list of jobs based by job status.</p>
106      */
WithJobStatus(const JobStatus & value)107     inline TextTranslationJobFilter& WithJobStatus(const JobStatus& value) { SetJobStatus(value); return *this;}
108 
109     /**
110      * <p>Filters the list of jobs based by job status.</p>
111      */
WithJobStatus(JobStatus && value)112     inline TextTranslationJobFilter& WithJobStatus(JobStatus&& value) { SetJobStatus(std::move(value)); return *this;}
113 
114 
115     /**
116      * <p>Filters the list of jobs based on the time that the job was submitted for
117      * processing and returns only the jobs submitted before the specified time. Jobs
118      * are returned in ascending order, oldest to newest.</p>
119      */
GetSubmittedBeforeTime()120     inline const Aws::Utils::DateTime& GetSubmittedBeforeTime() const{ return m_submittedBeforeTime; }
121 
122     /**
123      * <p>Filters the list of jobs based on the time that the job was submitted for
124      * processing and returns only the jobs submitted before the specified time. Jobs
125      * are returned in ascending order, oldest to newest.</p>
126      */
SubmittedBeforeTimeHasBeenSet()127     inline bool SubmittedBeforeTimeHasBeenSet() const { return m_submittedBeforeTimeHasBeenSet; }
128 
129     /**
130      * <p>Filters the list of jobs based on the time that the job was submitted for
131      * processing and returns only the jobs submitted before the specified time. Jobs
132      * are returned in ascending order, oldest to newest.</p>
133      */
SetSubmittedBeforeTime(const Aws::Utils::DateTime & value)134     inline void SetSubmittedBeforeTime(const Aws::Utils::DateTime& value) { m_submittedBeforeTimeHasBeenSet = true; m_submittedBeforeTime = value; }
135 
136     /**
137      * <p>Filters the list of jobs based on the time that the job was submitted for
138      * processing and returns only the jobs submitted before the specified time. Jobs
139      * are returned in ascending order, oldest to newest.</p>
140      */
SetSubmittedBeforeTime(Aws::Utils::DateTime && value)141     inline void SetSubmittedBeforeTime(Aws::Utils::DateTime&& value) { m_submittedBeforeTimeHasBeenSet = true; m_submittedBeforeTime = std::move(value); }
142 
143     /**
144      * <p>Filters the list of jobs based on the time that the job was submitted for
145      * processing and returns only the jobs submitted before the specified time. Jobs
146      * are returned in ascending order, oldest to newest.</p>
147      */
WithSubmittedBeforeTime(const Aws::Utils::DateTime & value)148     inline TextTranslationJobFilter& WithSubmittedBeforeTime(const Aws::Utils::DateTime& value) { SetSubmittedBeforeTime(value); return *this;}
149 
150     /**
151      * <p>Filters the list of jobs based on the time that the job was submitted for
152      * processing and returns only the jobs submitted before the specified time. Jobs
153      * are returned in ascending order, oldest to newest.</p>
154      */
WithSubmittedBeforeTime(Aws::Utils::DateTime && value)155     inline TextTranslationJobFilter& WithSubmittedBeforeTime(Aws::Utils::DateTime&& value) { SetSubmittedBeforeTime(std::move(value)); return *this;}
156 
157 
158     /**
159      * <p>Filters the list of jobs based on the time that the job was submitted for
160      * processing and returns only the jobs submitted after the specified time. Jobs
161      * are returned in descending order, newest to oldest.</p>
162      */
GetSubmittedAfterTime()163     inline const Aws::Utils::DateTime& GetSubmittedAfterTime() const{ return m_submittedAfterTime; }
164 
165     /**
166      * <p>Filters the list of jobs based on the time that the job was submitted for
167      * processing and returns only the jobs submitted after the specified time. Jobs
168      * are returned in descending order, newest to oldest.</p>
169      */
SubmittedAfterTimeHasBeenSet()170     inline bool SubmittedAfterTimeHasBeenSet() const { return m_submittedAfterTimeHasBeenSet; }
171 
172     /**
173      * <p>Filters the list of jobs based on the time that the job was submitted for
174      * processing and returns only the jobs submitted after the specified time. Jobs
175      * are returned in descending order, newest to oldest.</p>
176      */
SetSubmittedAfterTime(const Aws::Utils::DateTime & value)177     inline void SetSubmittedAfterTime(const Aws::Utils::DateTime& value) { m_submittedAfterTimeHasBeenSet = true; m_submittedAfterTime = value; }
178 
179     /**
180      * <p>Filters the list of jobs based on the time that the job was submitted for
181      * processing and returns only the jobs submitted after the specified time. Jobs
182      * are returned in descending order, newest to oldest.</p>
183      */
SetSubmittedAfterTime(Aws::Utils::DateTime && value)184     inline void SetSubmittedAfterTime(Aws::Utils::DateTime&& value) { m_submittedAfterTimeHasBeenSet = true; m_submittedAfterTime = std::move(value); }
185 
186     /**
187      * <p>Filters the list of jobs based on the time that the job was submitted for
188      * processing and returns only the jobs submitted after the specified time. Jobs
189      * are returned in descending order, newest to oldest.</p>
190      */
WithSubmittedAfterTime(const Aws::Utils::DateTime & value)191     inline TextTranslationJobFilter& WithSubmittedAfterTime(const Aws::Utils::DateTime& value) { SetSubmittedAfterTime(value); return *this;}
192 
193     /**
194      * <p>Filters the list of jobs based on the time that the job was submitted for
195      * processing and returns only the jobs submitted after the specified time. Jobs
196      * are returned in descending order, newest to oldest.</p>
197      */
WithSubmittedAfterTime(Aws::Utils::DateTime && value)198     inline TextTranslationJobFilter& WithSubmittedAfterTime(Aws::Utils::DateTime&& value) { SetSubmittedAfterTime(std::move(value)); return *this;}
199 
200   private:
201 
202     Aws::String m_jobName;
203     bool m_jobNameHasBeenSet;
204 
205     JobStatus m_jobStatus;
206     bool m_jobStatusHasBeenSet;
207 
208     Aws::Utils::DateTime m_submittedBeforeTime;
209     bool m_submittedBeforeTimeHasBeenSet;
210 
211     Aws::Utils::DateTime m_submittedAfterTime;
212     bool m_submittedAfterTimeHasBeenSet;
213   };
214 
215 } // namespace Model
216 } // namespace Translate
217 } // namespace Aws
218