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/transcribe/TranscribeService_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/DateTime.h>
10 #include <aws/transcribe/model/CLMLanguageCode.h>
11 #include <aws/transcribe/model/BaseModelName.h>
12 #include <aws/transcribe/model/ModelStatus.h>
13 #include <aws/transcribe/model/InputDataConfig.h>
14 #include <utility>
15 
16 namespace Aws
17 {
18 namespace Utils
19 {
20 namespace Json
21 {
22   class JsonValue;
23   class JsonView;
24 } // namespace Json
25 } // namespace Utils
26 namespace TranscribeService
27 {
28 namespace Model
29 {
30 
31   /**
32    * <p>The structure used to describe a custom language model.</p><p><h3>See
33    * Also:</h3>   <a
34    * href="http://docs.aws.amazon.com/goto/WebAPI/transcribe-2017-10-26/LanguageModel">AWS
35    * API Reference</a></p>
36    */
37   class AWS_TRANSCRIBESERVICE_API LanguageModel
38   {
39   public:
40     LanguageModel();
41     LanguageModel(Aws::Utils::Json::JsonView jsonValue);
42     LanguageModel& operator=(Aws::Utils::Json::JsonView jsonValue);
43     Aws::Utils::Json::JsonValue Jsonize() const;
44 
45 
46     /**
47      * <p>The name of the custom language model.</p>
48      */
GetModelName()49     inline const Aws::String& GetModelName() const{ return m_modelName; }
50 
51     /**
52      * <p>The name of the custom language model.</p>
53      */
ModelNameHasBeenSet()54     inline bool ModelNameHasBeenSet() const { return m_modelNameHasBeenSet; }
55 
56     /**
57      * <p>The name of the custom language model.</p>
58      */
SetModelName(const Aws::String & value)59     inline void SetModelName(const Aws::String& value) { m_modelNameHasBeenSet = true; m_modelName = value; }
60 
61     /**
62      * <p>The name of the custom language model.</p>
63      */
SetModelName(Aws::String && value)64     inline void SetModelName(Aws::String&& value) { m_modelNameHasBeenSet = true; m_modelName = std::move(value); }
65 
66     /**
67      * <p>The name of the custom language model.</p>
68      */
SetModelName(const char * value)69     inline void SetModelName(const char* value) { m_modelNameHasBeenSet = true; m_modelName.assign(value); }
70 
71     /**
72      * <p>The name of the custom language model.</p>
73      */
WithModelName(const Aws::String & value)74     inline LanguageModel& WithModelName(const Aws::String& value) { SetModelName(value); return *this;}
75 
76     /**
77      * <p>The name of the custom language model.</p>
78      */
WithModelName(Aws::String && value)79     inline LanguageModel& WithModelName(Aws::String&& value) { SetModelName(std::move(value)); return *this;}
80 
81     /**
82      * <p>The name of the custom language model.</p>
83      */
WithModelName(const char * value)84     inline LanguageModel& WithModelName(const char* value) { SetModelName(value); return *this;}
85 
86 
87     /**
88      * <p>The time the custom language model was created.</p>
89      */
GetCreateTime()90     inline const Aws::Utils::DateTime& GetCreateTime() const{ return m_createTime; }
91 
92     /**
93      * <p>The time the custom language model was created.</p>
94      */
CreateTimeHasBeenSet()95     inline bool CreateTimeHasBeenSet() const { return m_createTimeHasBeenSet; }
96 
97     /**
98      * <p>The time the custom language model was created.</p>
99      */
SetCreateTime(const Aws::Utils::DateTime & value)100     inline void SetCreateTime(const Aws::Utils::DateTime& value) { m_createTimeHasBeenSet = true; m_createTime = value; }
101 
102     /**
103      * <p>The time the custom language model was created.</p>
104      */
SetCreateTime(Aws::Utils::DateTime && value)105     inline void SetCreateTime(Aws::Utils::DateTime&& value) { m_createTimeHasBeenSet = true; m_createTime = std::move(value); }
106 
107     /**
108      * <p>The time the custom language model was created.</p>
109      */
WithCreateTime(const Aws::Utils::DateTime & value)110     inline LanguageModel& WithCreateTime(const Aws::Utils::DateTime& value) { SetCreateTime(value); return *this;}
111 
112     /**
113      * <p>The time the custom language model was created.</p>
114      */
WithCreateTime(Aws::Utils::DateTime && value)115     inline LanguageModel& WithCreateTime(Aws::Utils::DateTime&& value) { SetCreateTime(std::move(value)); return *this;}
116 
117 
118     /**
119      * <p>The most recent time the custom language model was modified.</p>
120      */
GetLastModifiedTime()121     inline const Aws::Utils::DateTime& GetLastModifiedTime() const{ return m_lastModifiedTime; }
122 
123     /**
124      * <p>The most recent time the custom language model was modified.</p>
125      */
LastModifiedTimeHasBeenSet()126     inline bool LastModifiedTimeHasBeenSet() const { return m_lastModifiedTimeHasBeenSet; }
127 
128     /**
129      * <p>The most recent time the custom language model was modified.</p>
130      */
SetLastModifiedTime(const Aws::Utils::DateTime & value)131     inline void SetLastModifiedTime(const Aws::Utils::DateTime& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = value; }
132 
133     /**
134      * <p>The most recent time the custom language model was modified.</p>
135      */
SetLastModifiedTime(Aws::Utils::DateTime && value)136     inline void SetLastModifiedTime(Aws::Utils::DateTime&& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = std::move(value); }
137 
138     /**
139      * <p>The most recent time the custom language model was modified.</p>
140      */
WithLastModifiedTime(const Aws::Utils::DateTime & value)141     inline LanguageModel& WithLastModifiedTime(const Aws::Utils::DateTime& value) { SetLastModifiedTime(value); return *this;}
142 
143     /**
144      * <p>The most recent time the custom language model was modified.</p>
145      */
WithLastModifiedTime(Aws::Utils::DateTime && value)146     inline LanguageModel& WithLastModifiedTime(Aws::Utils::DateTime&& value) { SetLastModifiedTime(std::move(value)); return *this;}
147 
148 
149     /**
150      * <p>The language code you used to create your custom language model.</p>
151      */
GetLanguageCode()152     inline const CLMLanguageCode& GetLanguageCode() const{ return m_languageCode; }
153 
154     /**
155      * <p>The language code you used to create your custom language model.</p>
156      */
LanguageCodeHasBeenSet()157     inline bool LanguageCodeHasBeenSet() const { return m_languageCodeHasBeenSet; }
158 
159     /**
160      * <p>The language code you used to create your custom language model.</p>
161      */
SetLanguageCode(const CLMLanguageCode & value)162     inline void SetLanguageCode(const CLMLanguageCode& value) { m_languageCodeHasBeenSet = true; m_languageCode = value; }
163 
164     /**
165      * <p>The language code you used to create your custom language model.</p>
166      */
SetLanguageCode(CLMLanguageCode && value)167     inline void SetLanguageCode(CLMLanguageCode&& value) { m_languageCodeHasBeenSet = true; m_languageCode = std::move(value); }
168 
169     /**
170      * <p>The language code you used to create your custom language model.</p>
171      */
WithLanguageCode(const CLMLanguageCode & value)172     inline LanguageModel& WithLanguageCode(const CLMLanguageCode& value) { SetLanguageCode(value); return *this;}
173 
174     /**
175      * <p>The language code you used to create your custom language model.</p>
176      */
WithLanguageCode(CLMLanguageCode && value)177     inline LanguageModel& WithLanguageCode(CLMLanguageCode&& value) { SetLanguageCode(std::move(value)); return *this;}
178 
179 
180     /**
181      * <p>The Amazon Transcribe standard language model, or base model used to create
182      * the custom language model.</p>
183      */
GetBaseModelName()184     inline const BaseModelName& GetBaseModelName() const{ return m_baseModelName; }
185 
186     /**
187      * <p>The Amazon Transcribe standard language model, or base model used to create
188      * the custom language model.</p>
189      */
BaseModelNameHasBeenSet()190     inline bool BaseModelNameHasBeenSet() const { return m_baseModelNameHasBeenSet; }
191 
192     /**
193      * <p>The Amazon Transcribe standard language model, or base model used to create
194      * the custom language model.</p>
195      */
SetBaseModelName(const BaseModelName & value)196     inline void SetBaseModelName(const BaseModelName& value) { m_baseModelNameHasBeenSet = true; m_baseModelName = value; }
197 
198     /**
199      * <p>The Amazon Transcribe standard language model, or base model used to create
200      * the custom language model.</p>
201      */
SetBaseModelName(BaseModelName && value)202     inline void SetBaseModelName(BaseModelName&& value) { m_baseModelNameHasBeenSet = true; m_baseModelName = std::move(value); }
203 
204     /**
205      * <p>The Amazon Transcribe standard language model, or base model used to create
206      * the custom language model.</p>
207      */
WithBaseModelName(const BaseModelName & value)208     inline LanguageModel& WithBaseModelName(const BaseModelName& value) { SetBaseModelName(value); return *this;}
209 
210     /**
211      * <p>The Amazon Transcribe standard language model, or base model used to create
212      * the custom language model.</p>
213      */
WithBaseModelName(BaseModelName && value)214     inline LanguageModel& WithBaseModelName(BaseModelName&& value) { SetBaseModelName(std::move(value)); return *this;}
215 
216 
217     /**
218      * <p>The creation status of a custom language model. When the status is
219      * <code>COMPLETED</code> the model is ready for use.</p>
220      */
GetModelStatus()221     inline const ModelStatus& GetModelStatus() const{ return m_modelStatus; }
222 
223     /**
224      * <p>The creation status of a custom language model. When the status is
225      * <code>COMPLETED</code> the model is ready for use.</p>
226      */
ModelStatusHasBeenSet()227     inline bool ModelStatusHasBeenSet() const { return m_modelStatusHasBeenSet; }
228 
229     /**
230      * <p>The creation status of a custom language model. When the status is
231      * <code>COMPLETED</code> the model is ready for use.</p>
232      */
SetModelStatus(const ModelStatus & value)233     inline void SetModelStatus(const ModelStatus& value) { m_modelStatusHasBeenSet = true; m_modelStatus = value; }
234 
235     /**
236      * <p>The creation status of a custom language model. When the status is
237      * <code>COMPLETED</code> the model is ready for use.</p>
238      */
SetModelStatus(ModelStatus && value)239     inline void SetModelStatus(ModelStatus&& value) { m_modelStatusHasBeenSet = true; m_modelStatus = std::move(value); }
240 
241     /**
242      * <p>The creation status of a custom language model. When the status is
243      * <code>COMPLETED</code> the model is ready for use.</p>
244      */
WithModelStatus(const ModelStatus & value)245     inline LanguageModel& WithModelStatus(const ModelStatus& value) { SetModelStatus(value); return *this;}
246 
247     /**
248      * <p>The creation status of a custom language model. When the status is
249      * <code>COMPLETED</code> the model is ready for use.</p>
250      */
WithModelStatus(ModelStatus && value)251     inline LanguageModel& WithModelStatus(ModelStatus&& value) { SetModelStatus(std::move(value)); return *this;}
252 
253 
254     /**
255      * <p>Whether the base model used for the custom language model is up to date. If
256      * this field is <code>true</code> then you are running the most up-to-date version
257      * of the base model in your custom language model.</p>
258      */
GetUpgradeAvailability()259     inline bool GetUpgradeAvailability() const{ return m_upgradeAvailability; }
260 
261     /**
262      * <p>Whether the base model used for the custom language model is up to date. If
263      * this field is <code>true</code> then you are running the most up-to-date version
264      * of the base model in your custom language model.</p>
265      */
UpgradeAvailabilityHasBeenSet()266     inline bool UpgradeAvailabilityHasBeenSet() const { return m_upgradeAvailabilityHasBeenSet; }
267 
268     /**
269      * <p>Whether the base model used for the custom language model is up to date. If
270      * this field is <code>true</code> then you are running the most up-to-date version
271      * of the base model in your custom language model.</p>
272      */
SetUpgradeAvailability(bool value)273     inline void SetUpgradeAvailability(bool value) { m_upgradeAvailabilityHasBeenSet = true; m_upgradeAvailability = value; }
274 
275     /**
276      * <p>Whether the base model used for the custom language model is up to date. If
277      * this field is <code>true</code> then you are running the most up-to-date version
278      * of the base model in your custom language model.</p>
279      */
WithUpgradeAvailability(bool value)280     inline LanguageModel& WithUpgradeAvailability(bool value) { SetUpgradeAvailability(value); return *this;}
281 
282 
283     /**
284      * <p>The reason why the custom language model couldn't be created.</p>
285      */
GetFailureReason()286     inline const Aws::String& GetFailureReason() const{ return m_failureReason; }
287 
288     /**
289      * <p>The reason why the custom language model couldn't be created.</p>
290      */
FailureReasonHasBeenSet()291     inline bool FailureReasonHasBeenSet() const { return m_failureReasonHasBeenSet; }
292 
293     /**
294      * <p>The reason why the custom language model couldn't be created.</p>
295      */
SetFailureReason(const Aws::String & value)296     inline void SetFailureReason(const Aws::String& value) { m_failureReasonHasBeenSet = true; m_failureReason = value; }
297 
298     /**
299      * <p>The reason why the custom language model couldn't be created.</p>
300      */
SetFailureReason(Aws::String && value)301     inline void SetFailureReason(Aws::String&& value) { m_failureReasonHasBeenSet = true; m_failureReason = std::move(value); }
302 
303     /**
304      * <p>The reason why the custom language model couldn't be created.</p>
305      */
SetFailureReason(const char * value)306     inline void SetFailureReason(const char* value) { m_failureReasonHasBeenSet = true; m_failureReason.assign(value); }
307 
308     /**
309      * <p>The reason why the custom language model couldn't be created.</p>
310      */
WithFailureReason(const Aws::String & value)311     inline LanguageModel& WithFailureReason(const Aws::String& value) { SetFailureReason(value); return *this;}
312 
313     /**
314      * <p>The reason why the custom language model couldn't be created.</p>
315      */
WithFailureReason(Aws::String && value)316     inline LanguageModel& WithFailureReason(Aws::String&& value) { SetFailureReason(std::move(value)); return *this;}
317 
318     /**
319      * <p>The reason why the custom language model couldn't be created.</p>
320      */
WithFailureReason(const char * value)321     inline LanguageModel& WithFailureReason(const char* value) { SetFailureReason(value); return *this;}
322 
323 
324     /**
325      * <p>The data access role and Amazon S3 prefixes for the input files used to train
326      * the custom language model.</p>
327      */
GetInputDataConfig()328     inline const InputDataConfig& GetInputDataConfig() const{ return m_inputDataConfig; }
329 
330     /**
331      * <p>The data access role and Amazon S3 prefixes for the input files used to train
332      * the custom language model.</p>
333      */
InputDataConfigHasBeenSet()334     inline bool InputDataConfigHasBeenSet() const { return m_inputDataConfigHasBeenSet; }
335 
336     /**
337      * <p>The data access role and Amazon S3 prefixes for the input files used to train
338      * the custom language model.</p>
339      */
SetInputDataConfig(const InputDataConfig & value)340     inline void SetInputDataConfig(const InputDataConfig& value) { m_inputDataConfigHasBeenSet = true; m_inputDataConfig = value; }
341 
342     /**
343      * <p>The data access role and Amazon S3 prefixes for the input files used to train
344      * the custom language model.</p>
345      */
SetInputDataConfig(InputDataConfig && value)346     inline void SetInputDataConfig(InputDataConfig&& value) { m_inputDataConfigHasBeenSet = true; m_inputDataConfig = std::move(value); }
347 
348     /**
349      * <p>The data access role and Amazon S3 prefixes for the input files used to train
350      * the custom language model.</p>
351      */
WithInputDataConfig(const InputDataConfig & value)352     inline LanguageModel& WithInputDataConfig(const InputDataConfig& value) { SetInputDataConfig(value); return *this;}
353 
354     /**
355      * <p>The data access role and Amazon S3 prefixes for the input files used to train
356      * the custom language model.</p>
357      */
WithInputDataConfig(InputDataConfig && value)358     inline LanguageModel& WithInputDataConfig(InputDataConfig&& value) { SetInputDataConfig(std::move(value)); return *this;}
359 
360   private:
361 
362     Aws::String m_modelName;
363     bool m_modelNameHasBeenSet;
364 
365     Aws::Utils::DateTime m_createTime;
366     bool m_createTimeHasBeenSet;
367 
368     Aws::Utils::DateTime m_lastModifiedTime;
369     bool m_lastModifiedTimeHasBeenSet;
370 
371     CLMLanguageCode m_languageCode;
372     bool m_languageCodeHasBeenSet;
373 
374     BaseModelName m_baseModelName;
375     bool m_baseModelNameHasBeenSet;
376 
377     ModelStatus m_modelStatus;
378     bool m_modelStatusHasBeenSet;
379 
380     bool m_upgradeAvailability;
381     bool m_upgradeAvailabilityHasBeenSet;
382 
383     Aws::String m_failureReason;
384     bool m_failureReasonHasBeenSet;
385 
386     InputDataConfig m_inputDataConfig;
387     bool m_inputDataConfigHasBeenSet;
388   };
389 
390 } // namespace Model
391 } // namespace TranscribeService
392 } // namespace Aws
393