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/elastictranscoder/ElasticTranscoder_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/elastictranscoder/model/Encryption.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <aws/elastictranscoder/model/JobAlbumArt.h>
12 #include <aws/elastictranscoder/model/Captions.h>
13 #include <aws/elastictranscoder/model/JobWatermark.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 ElasticTranscoder
27 {
28 namespace Model
29 {
30 
31   /**
32    *  <p>Outputs recommended instead.</p>  <p>If you specified
33    * one output for a job, information about that output. If you specified multiple
34    * outputs for a job, the <code>Output</code> object lists information about the
35    * first output. This duplicates the information that is listed for the first
36    * output in the <code>Outputs</code> object.</p><p><h3>See Also:</h3>   <a
37    * href="http://docs.aws.amazon.com/goto/WebAPI/elastictranscoder-2012-09-25/JobOutput">AWS
38    * API Reference</a></p>
39    */
40   class AWS_ELASTICTRANSCODER_API JobOutput
41   {
42   public:
43     JobOutput();
44     JobOutput(Aws::Utils::Json::JsonView jsonValue);
45     JobOutput& operator=(Aws::Utils::Json::JsonView jsonValue);
46     Aws::Utils::Json::JsonValue Jsonize() const;
47 
48 
49     /**
50      * <p>A sequential counter, starting with 1, that identifies an output among the
51      * outputs from the current job. In the Output syntax, this value is always 1.</p>
52      */
GetId()53     inline const Aws::String& GetId() const{ return m_id; }
54 
55     /**
56      * <p>A sequential counter, starting with 1, that identifies an output among the
57      * outputs from the current job. In the Output syntax, this value is always 1.</p>
58      */
IdHasBeenSet()59     inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
60 
61     /**
62      * <p>A sequential counter, starting with 1, that identifies an output among the
63      * outputs from the current job. In the Output syntax, this value is always 1.</p>
64      */
SetId(const Aws::String & value)65     inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
66 
67     /**
68      * <p>A sequential counter, starting with 1, that identifies an output among the
69      * outputs from the current job. In the Output syntax, this value is always 1.</p>
70      */
SetId(Aws::String && value)71     inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
72 
73     /**
74      * <p>A sequential counter, starting with 1, that identifies an output among the
75      * outputs from the current job. In the Output syntax, this value is always 1.</p>
76      */
SetId(const char * value)77     inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
78 
79     /**
80      * <p>A sequential counter, starting with 1, that identifies an output among the
81      * outputs from the current job. In the Output syntax, this value is always 1.</p>
82      */
WithId(const Aws::String & value)83     inline JobOutput& WithId(const Aws::String& value) { SetId(value); return *this;}
84 
85     /**
86      * <p>A sequential counter, starting with 1, that identifies an output among the
87      * outputs from the current job. In the Output syntax, this value is always 1.</p>
88      */
WithId(Aws::String && value)89     inline JobOutput& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
90 
91     /**
92      * <p>A sequential counter, starting with 1, that identifies an output among the
93      * outputs from the current job. In the Output syntax, this value is always 1.</p>
94      */
WithId(const char * value)95     inline JobOutput& WithId(const char* value) { SetId(value); return *this;}
96 
97 
98     /**
99      * <p> The name to assign to the transcoded file. Elastic Transcoder saves the file
100      * in the Amazon S3 bucket specified by the <code>OutputBucket</code> object in the
101      * pipeline that is specified by the pipeline ID.</p>
102      */
GetKey()103     inline const Aws::String& GetKey() const{ return m_key; }
104 
105     /**
106      * <p> The name to assign to the transcoded file. Elastic Transcoder saves the file
107      * in the Amazon S3 bucket specified by the <code>OutputBucket</code> object in the
108      * pipeline that is specified by the pipeline ID.</p>
109      */
KeyHasBeenSet()110     inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
111 
112     /**
113      * <p> The name to assign to the transcoded file. Elastic Transcoder saves the file
114      * in the Amazon S3 bucket specified by the <code>OutputBucket</code> object in the
115      * pipeline that is specified by the pipeline ID.</p>
116      */
SetKey(const Aws::String & value)117     inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; }
118 
119     /**
120      * <p> The name to assign to the transcoded file. Elastic Transcoder saves the file
121      * in the Amazon S3 bucket specified by the <code>OutputBucket</code> object in the
122      * pipeline that is specified by the pipeline ID.</p>
123      */
SetKey(Aws::String && value)124     inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
125 
126     /**
127      * <p> The name to assign to the transcoded file. Elastic Transcoder saves the file
128      * in the Amazon S3 bucket specified by the <code>OutputBucket</code> object in the
129      * pipeline that is specified by the pipeline ID.</p>
130      */
SetKey(const char * value)131     inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); }
132 
133     /**
134      * <p> The name to assign to the transcoded file. Elastic Transcoder saves the file
135      * in the Amazon S3 bucket specified by the <code>OutputBucket</code> object in the
136      * pipeline that is specified by the pipeline ID.</p>
137      */
WithKey(const Aws::String & value)138     inline JobOutput& WithKey(const Aws::String& value) { SetKey(value); return *this;}
139 
140     /**
141      * <p> The name to assign to the transcoded file. Elastic Transcoder saves the file
142      * in the Amazon S3 bucket specified by the <code>OutputBucket</code> object in the
143      * pipeline that is specified by the pipeline ID.</p>
144      */
WithKey(Aws::String && value)145     inline JobOutput& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;}
146 
147     /**
148      * <p> The name to assign to the transcoded file. Elastic Transcoder saves the file
149      * in the Amazon S3 bucket specified by the <code>OutputBucket</code> object in the
150      * pipeline that is specified by the pipeline ID.</p>
151      */
WithKey(const char * value)152     inline JobOutput& WithKey(const char* value) { SetKey(value); return *this;}
153 
154 
155     /**
156      * <p>Whether you want Elastic Transcoder to create thumbnails for your videos and,
157      * if so, how you want Elastic Transcoder to name the files.</p> <p>If you don't
158      * want Elastic Transcoder to create thumbnails, specify "".</p> <p>If you do want
159      * Elastic Transcoder to create thumbnails, specify the information that you want
160      * to include in the file name for each thumbnail. You can specify the following
161      * values in any sequence:</p> <ul> <li> <p> <b> <code>{count}</code>
162      * (Required)</b>: If you want to create thumbnails, you must include
163      * <code>{count}</code> in the <code>ThumbnailPattern</code> object. Wherever you
164      * specify <code>{count}</code>, Elastic Transcoder adds a five-digit sequence
165      * number (beginning with <b>00001</b>) to thumbnail file names. The number
166      * indicates where a given thumbnail appears in the sequence of thumbnails for a
167      * transcoded file. </p>  <p>If you specify a literal value and/or
168      * <code>{resolution}</code> but you omit <code>{count}</code>, Elastic Transcoder
169      * returns a validation error and does not create the job.</p>  </li>
170      * <li> <p> <b>Literal values (Optional)</b>: You can specify literal values
171      * anywhere in the <code>ThumbnailPattern</code> object. For example, you can
172      * include them as a file name prefix or as a delimiter between
173      * <code>{resolution}</code> and <code>{count}</code>. </p> </li> <li> <p> <b>
174      * <code>{resolution}</code> (Optional)</b>: If you want Elastic Transcoder to
175      * include the resolution in the file name, include <code>{resolution}</code> in
176      * the <code>ThumbnailPattern</code> object. </p> </li> </ul> <p>When creating
177      * thumbnails, Elastic Transcoder automatically saves the files in the format (.jpg
178      * or .png) that appears in the preset that you specified in the
179      * <code>PresetID</code> value of <code>CreateJobOutput</code>. Elastic Transcoder
180      * also appends the applicable file name extension.</p>
181      */
GetThumbnailPattern()182     inline const Aws::String& GetThumbnailPattern() const{ return m_thumbnailPattern; }
183 
184     /**
185      * <p>Whether you want Elastic Transcoder to create thumbnails for your videos and,
186      * if so, how you want Elastic Transcoder to name the files.</p> <p>If you don't
187      * want Elastic Transcoder to create thumbnails, specify "".</p> <p>If you do want
188      * Elastic Transcoder to create thumbnails, specify the information that you want
189      * to include in the file name for each thumbnail. You can specify the following
190      * values in any sequence:</p> <ul> <li> <p> <b> <code>{count}</code>
191      * (Required)</b>: If you want to create thumbnails, you must include
192      * <code>{count}</code> in the <code>ThumbnailPattern</code> object. Wherever you
193      * specify <code>{count}</code>, Elastic Transcoder adds a five-digit sequence
194      * number (beginning with <b>00001</b>) to thumbnail file names. The number
195      * indicates where a given thumbnail appears in the sequence of thumbnails for a
196      * transcoded file. </p>  <p>If you specify a literal value and/or
197      * <code>{resolution}</code> but you omit <code>{count}</code>, Elastic Transcoder
198      * returns a validation error and does not create the job.</p>  </li>
199      * <li> <p> <b>Literal values (Optional)</b>: You can specify literal values
200      * anywhere in the <code>ThumbnailPattern</code> object. For example, you can
201      * include them as a file name prefix or as a delimiter between
202      * <code>{resolution}</code> and <code>{count}</code>. </p> </li> <li> <p> <b>
203      * <code>{resolution}</code> (Optional)</b>: If you want Elastic Transcoder to
204      * include the resolution in the file name, include <code>{resolution}</code> in
205      * the <code>ThumbnailPattern</code> object. </p> </li> </ul> <p>When creating
206      * thumbnails, Elastic Transcoder automatically saves the files in the format (.jpg
207      * or .png) that appears in the preset that you specified in the
208      * <code>PresetID</code> value of <code>CreateJobOutput</code>. Elastic Transcoder
209      * also appends the applicable file name extension.</p>
210      */
ThumbnailPatternHasBeenSet()211     inline bool ThumbnailPatternHasBeenSet() const { return m_thumbnailPatternHasBeenSet; }
212 
213     /**
214      * <p>Whether you want Elastic Transcoder to create thumbnails for your videos and,
215      * if so, how you want Elastic Transcoder to name the files.</p> <p>If you don't
216      * want Elastic Transcoder to create thumbnails, specify "".</p> <p>If you do want
217      * Elastic Transcoder to create thumbnails, specify the information that you want
218      * to include in the file name for each thumbnail. You can specify the following
219      * values in any sequence:</p> <ul> <li> <p> <b> <code>{count}</code>
220      * (Required)</b>: If you want to create thumbnails, you must include
221      * <code>{count}</code> in the <code>ThumbnailPattern</code> object. Wherever you
222      * specify <code>{count}</code>, Elastic Transcoder adds a five-digit sequence
223      * number (beginning with <b>00001</b>) to thumbnail file names. The number
224      * indicates where a given thumbnail appears in the sequence of thumbnails for a
225      * transcoded file. </p>  <p>If you specify a literal value and/or
226      * <code>{resolution}</code> but you omit <code>{count}</code>, Elastic Transcoder
227      * returns a validation error and does not create the job.</p>  </li>
228      * <li> <p> <b>Literal values (Optional)</b>: You can specify literal values
229      * anywhere in the <code>ThumbnailPattern</code> object. For example, you can
230      * include them as a file name prefix or as a delimiter between
231      * <code>{resolution}</code> and <code>{count}</code>. </p> </li> <li> <p> <b>
232      * <code>{resolution}</code> (Optional)</b>: If you want Elastic Transcoder to
233      * include the resolution in the file name, include <code>{resolution}</code> in
234      * the <code>ThumbnailPattern</code> object. </p> </li> </ul> <p>When creating
235      * thumbnails, Elastic Transcoder automatically saves the files in the format (.jpg
236      * or .png) that appears in the preset that you specified in the
237      * <code>PresetID</code> value of <code>CreateJobOutput</code>. Elastic Transcoder
238      * also appends the applicable file name extension.</p>
239      */
SetThumbnailPattern(const Aws::String & value)240     inline void SetThumbnailPattern(const Aws::String& value) { m_thumbnailPatternHasBeenSet = true; m_thumbnailPattern = value; }
241 
242     /**
243      * <p>Whether you want Elastic Transcoder to create thumbnails for your videos and,
244      * if so, how you want Elastic Transcoder to name the files.</p> <p>If you don't
245      * want Elastic Transcoder to create thumbnails, specify "".</p> <p>If you do want
246      * Elastic Transcoder to create thumbnails, specify the information that you want
247      * to include in the file name for each thumbnail. You can specify the following
248      * values in any sequence:</p> <ul> <li> <p> <b> <code>{count}</code>
249      * (Required)</b>: If you want to create thumbnails, you must include
250      * <code>{count}</code> in the <code>ThumbnailPattern</code> object. Wherever you
251      * specify <code>{count}</code>, Elastic Transcoder adds a five-digit sequence
252      * number (beginning with <b>00001</b>) to thumbnail file names. The number
253      * indicates where a given thumbnail appears in the sequence of thumbnails for a
254      * transcoded file. </p>  <p>If you specify a literal value and/or
255      * <code>{resolution}</code> but you omit <code>{count}</code>, Elastic Transcoder
256      * returns a validation error and does not create the job.</p>  </li>
257      * <li> <p> <b>Literal values (Optional)</b>: You can specify literal values
258      * anywhere in the <code>ThumbnailPattern</code> object. For example, you can
259      * include them as a file name prefix or as a delimiter between
260      * <code>{resolution}</code> and <code>{count}</code>. </p> </li> <li> <p> <b>
261      * <code>{resolution}</code> (Optional)</b>: If you want Elastic Transcoder to
262      * include the resolution in the file name, include <code>{resolution}</code> in
263      * the <code>ThumbnailPattern</code> object. </p> </li> </ul> <p>When creating
264      * thumbnails, Elastic Transcoder automatically saves the files in the format (.jpg
265      * or .png) that appears in the preset that you specified in the
266      * <code>PresetID</code> value of <code>CreateJobOutput</code>. Elastic Transcoder
267      * also appends the applicable file name extension.</p>
268      */
SetThumbnailPattern(Aws::String && value)269     inline void SetThumbnailPattern(Aws::String&& value) { m_thumbnailPatternHasBeenSet = true; m_thumbnailPattern = std::move(value); }
270 
271     /**
272      * <p>Whether you want Elastic Transcoder to create thumbnails for your videos and,
273      * if so, how you want Elastic Transcoder to name the files.</p> <p>If you don't
274      * want Elastic Transcoder to create thumbnails, specify "".</p> <p>If you do want
275      * Elastic Transcoder to create thumbnails, specify the information that you want
276      * to include in the file name for each thumbnail. You can specify the following
277      * values in any sequence:</p> <ul> <li> <p> <b> <code>{count}</code>
278      * (Required)</b>: If you want to create thumbnails, you must include
279      * <code>{count}</code> in the <code>ThumbnailPattern</code> object. Wherever you
280      * specify <code>{count}</code>, Elastic Transcoder adds a five-digit sequence
281      * number (beginning with <b>00001</b>) to thumbnail file names. The number
282      * indicates where a given thumbnail appears in the sequence of thumbnails for a
283      * transcoded file. </p>  <p>If you specify a literal value and/or
284      * <code>{resolution}</code> but you omit <code>{count}</code>, Elastic Transcoder
285      * returns a validation error and does not create the job.</p>  </li>
286      * <li> <p> <b>Literal values (Optional)</b>: You can specify literal values
287      * anywhere in the <code>ThumbnailPattern</code> object. For example, you can
288      * include them as a file name prefix or as a delimiter between
289      * <code>{resolution}</code> and <code>{count}</code>. </p> </li> <li> <p> <b>
290      * <code>{resolution}</code> (Optional)</b>: If you want Elastic Transcoder to
291      * include the resolution in the file name, include <code>{resolution}</code> in
292      * the <code>ThumbnailPattern</code> object. </p> </li> </ul> <p>When creating
293      * thumbnails, Elastic Transcoder automatically saves the files in the format (.jpg
294      * or .png) that appears in the preset that you specified in the
295      * <code>PresetID</code> value of <code>CreateJobOutput</code>. Elastic Transcoder
296      * also appends the applicable file name extension.</p>
297      */
SetThumbnailPattern(const char * value)298     inline void SetThumbnailPattern(const char* value) { m_thumbnailPatternHasBeenSet = true; m_thumbnailPattern.assign(value); }
299 
300     /**
301      * <p>Whether you want Elastic Transcoder to create thumbnails for your videos and,
302      * if so, how you want Elastic Transcoder to name the files.</p> <p>If you don't
303      * want Elastic Transcoder to create thumbnails, specify "".</p> <p>If you do want
304      * Elastic Transcoder to create thumbnails, specify the information that you want
305      * to include in the file name for each thumbnail. You can specify the following
306      * values in any sequence:</p> <ul> <li> <p> <b> <code>{count}</code>
307      * (Required)</b>: If you want to create thumbnails, you must include
308      * <code>{count}</code> in the <code>ThumbnailPattern</code> object. Wherever you
309      * specify <code>{count}</code>, Elastic Transcoder adds a five-digit sequence
310      * number (beginning with <b>00001</b>) to thumbnail file names. The number
311      * indicates where a given thumbnail appears in the sequence of thumbnails for a
312      * transcoded file. </p>  <p>If you specify a literal value and/or
313      * <code>{resolution}</code> but you omit <code>{count}</code>, Elastic Transcoder
314      * returns a validation error and does not create the job.</p>  </li>
315      * <li> <p> <b>Literal values (Optional)</b>: You can specify literal values
316      * anywhere in the <code>ThumbnailPattern</code> object. For example, you can
317      * include them as a file name prefix or as a delimiter between
318      * <code>{resolution}</code> and <code>{count}</code>. </p> </li> <li> <p> <b>
319      * <code>{resolution}</code> (Optional)</b>: If you want Elastic Transcoder to
320      * include the resolution in the file name, include <code>{resolution}</code> in
321      * the <code>ThumbnailPattern</code> object. </p> </li> </ul> <p>When creating
322      * thumbnails, Elastic Transcoder automatically saves the files in the format (.jpg
323      * or .png) that appears in the preset that you specified in the
324      * <code>PresetID</code> value of <code>CreateJobOutput</code>. Elastic Transcoder
325      * also appends the applicable file name extension.</p>
326      */
WithThumbnailPattern(const Aws::String & value)327     inline JobOutput& WithThumbnailPattern(const Aws::String& value) { SetThumbnailPattern(value); return *this;}
328 
329     /**
330      * <p>Whether you want Elastic Transcoder to create thumbnails for your videos and,
331      * if so, how you want Elastic Transcoder to name the files.</p> <p>If you don't
332      * want Elastic Transcoder to create thumbnails, specify "".</p> <p>If you do want
333      * Elastic Transcoder to create thumbnails, specify the information that you want
334      * to include in the file name for each thumbnail. You can specify the following
335      * values in any sequence:</p> <ul> <li> <p> <b> <code>{count}</code>
336      * (Required)</b>: If you want to create thumbnails, you must include
337      * <code>{count}</code> in the <code>ThumbnailPattern</code> object. Wherever you
338      * specify <code>{count}</code>, Elastic Transcoder adds a five-digit sequence
339      * number (beginning with <b>00001</b>) to thumbnail file names. The number
340      * indicates where a given thumbnail appears in the sequence of thumbnails for a
341      * transcoded file. </p>  <p>If you specify a literal value and/or
342      * <code>{resolution}</code> but you omit <code>{count}</code>, Elastic Transcoder
343      * returns a validation error and does not create the job.</p>  </li>
344      * <li> <p> <b>Literal values (Optional)</b>: You can specify literal values
345      * anywhere in the <code>ThumbnailPattern</code> object. For example, you can
346      * include them as a file name prefix or as a delimiter between
347      * <code>{resolution}</code> and <code>{count}</code>. </p> </li> <li> <p> <b>
348      * <code>{resolution}</code> (Optional)</b>: If you want Elastic Transcoder to
349      * include the resolution in the file name, include <code>{resolution}</code> in
350      * the <code>ThumbnailPattern</code> object. </p> </li> </ul> <p>When creating
351      * thumbnails, Elastic Transcoder automatically saves the files in the format (.jpg
352      * or .png) that appears in the preset that you specified in the
353      * <code>PresetID</code> value of <code>CreateJobOutput</code>. Elastic Transcoder
354      * also appends the applicable file name extension.</p>
355      */
WithThumbnailPattern(Aws::String && value)356     inline JobOutput& WithThumbnailPattern(Aws::String&& value) { SetThumbnailPattern(std::move(value)); return *this;}
357 
358     /**
359      * <p>Whether you want Elastic Transcoder to create thumbnails for your videos and,
360      * if so, how you want Elastic Transcoder to name the files.</p> <p>If you don't
361      * want Elastic Transcoder to create thumbnails, specify "".</p> <p>If you do want
362      * Elastic Transcoder to create thumbnails, specify the information that you want
363      * to include in the file name for each thumbnail. You can specify the following
364      * values in any sequence:</p> <ul> <li> <p> <b> <code>{count}</code>
365      * (Required)</b>: If you want to create thumbnails, you must include
366      * <code>{count}</code> in the <code>ThumbnailPattern</code> object. Wherever you
367      * specify <code>{count}</code>, Elastic Transcoder adds a five-digit sequence
368      * number (beginning with <b>00001</b>) to thumbnail file names. The number
369      * indicates where a given thumbnail appears in the sequence of thumbnails for a
370      * transcoded file. </p>  <p>If you specify a literal value and/or
371      * <code>{resolution}</code> but you omit <code>{count}</code>, Elastic Transcoder
372      * returns a validation error and does not create the job.</p>  </li>
373      * <li> <p> <b>Literal values (Optional)</b>: You can specify literal values
374      * anywhere in the <code>ThumbnailPattern</code> object. For example, you can
375      * include them as a file name prefix or as a delimiter between
376      * <code>{resolution}</code> and <code>{count}</code>. </p> </li> <li> <p> <b>
377      * <code>{resolution}</code> (Optional)</b>: If you want Elastic Transcoder to
378      * include the resolution in the file name, include <code>{resolution}</code> in
379      * the <code>ThumbnailPattern</code> object. </p> </li> </ul> <p>When creating
380      * thumbnails, Elastic Transcoder automatically saves the files in the format (.jpg
381      * or .png) that appears in the preset that you specified in the
382      * <code>PresetID</code> value of <code>CreateJobOutput</code>. Elastic Transcoder
383      * also appends the applicable file name extension.</p>
384      */
WithThumbnailPattern(const char * value)385     inline JobOutput& WithThumbnailPattern(const char* value) { SetThumbnailPattern(value); return *this;}
386 
387 
388     /**
389      * <p>The encryption settings, if any, that you want Elastic Transcoder to apply to
390      * your thumbnail.</p>
391      */
GetThumbnailEncryption()392     inline const Encryption& GetThumbnailEncryption() const{ return m_thumbnailEncryption; }
393 
394     /**
395      * <p>The encryption settings, if any, that you want Elastic Transcoder to apply to
396      * your thumbnail.</p>
397      */
ThumbnailEncryptionHasBeenSet()398     inline bool ThumbnailEncryptionHasBeenSet() const { return m_thumbnailEncryptionHasBeenSet; }
399 
400     /**
401      * <p>The encryption settings, if any, that you want Elastic Transcoder to apply to
402      * your thumbnail.</p>
403      */
SetThumbnailEncryption(const Encryption & value)404     inline void SetThumbnailEncryption(const Encryption& value) { m_thumbnailEncryptionHasBeenSet = true; m_thumbnailEncryption = value; }
405 
406     /**
407      * <p>The encryption settings, if any, that you want Elastic Transcoder to apply to
408      * your thumbnail.</p>
409      */
SetThumbnailEncryption(Encryption && value)410     inline void SetThumbnailEncryption(Encryption&& value) { m_thumbnailEncryptionHasBeenSet = true; m_thumbnailEncryption = std::move(value); }
411 
412     /**
413      * <p>The encryption settings, if any, that you want Elastic Transcoder to apply to
414      * your thumbnail.</p>
415      */
WithThumbnailEncryption(const Encryption & value)416     inline JobOutput& WithThumbnailEncryption(const Encryption& value) { SetThumbnailEncryption(value); return *this;}
417 
418     /**
419      * <p>The encryption settings, if any, that you want Elastic Transcoder to apply to
420      * your thumbnail.</p>
421      */
WithThumbnailEncryption(Encryption && value)422     inline JobOutput& WithThumbnailEncryption(Encryption&& value) { SetThumbnailEncryption(std::move(value)); return *this;}
423 
424 
425     /**
426      * <p>The number of degrees clockwise by which you want Elastic Transcoder to
427      * rotate the output relative to the input. Enter one of the following values:</p>
428      * <p> <code>auto</code>, <code>0</code>, <code>90</code>, <code>180</code>,
429      * <code>270</code> </p> <p> The value <code>auto</code> generally works only if
430      * the file that you're transcoding contains rotation metadata.</p>
431      */
GetRotate()432     inline const Aws::String& GetRotate() const{ return m_rotate; }
433 
434     /**
435      * <p>The number of degrees clockwise by which you want Elastic Transcoder to
436      * rotate the output relative to the input. Enter one of the following values:</p>
437      * <p> <code>auto</code>, <code>0</code>, <code>90</code>, <code>180</code>,
438      * <code>270</code> </p> <p> The value <code>auto</code> generally works only if
439      * the file that you're transcoding contains rotation metadata.</p>
440      */
RotateHasBeenSet()441     inline bool RotateHasBeenSet() const { return m_rotateHasBeenSet; }
442 
443     /**
444      * <p>The number of degrees clockwise by which you want Elastic Transcoder to
445      * rotate the output relative to the input. Enter one of the following values:</p>
446      * <p> <code>auto</code>, <code>0</code>, <code>90</code>, <code>180</code>,
447      * <code>270</code> </p> <p> The value <code>auto</code> generally works only if
448      * the file that you're transcoding contains rotation metadata.</p>
449      */
SetRotate(const Aws::String & value)450     inline void SetRotate(const Aws::String& value) { m_rotateHasBeenSet = true; m_rotate = value; }
451 
452     /**
453      * <p>The number of degrees clockwise by which you want Elastic Transcoder to
454      * rotate the output relative to the input. Enter one of the following values:</p>
455      * <p> <code>auto</code>, <code>0</code>, <code>90</code>, <code>180</code>,
456      * <code>270</code> </p> <p> The value <code>auto</code> generally works only if
457      * the file that you're transcoding contains rotation metadata.</p>
458      */
SetRotate(Aws::String && value)459     inline void SetRotate(Aws::String&& value) { m_rotateHasBeenSet = true; m_rotate = std::move(value); }
460 
461     /**
462      * <p>The number of degrees clockwise by which you want Elastic Transcoder to
463      * rotate the output relative to the input. Enter one of the following values:</p>
464      * <p> <code>auto</code>, <code>0</code>, <code>90</code>, <code>180</code>,
465      * <code>270</code> </p> <p> The value <code>auto</code> generally works only if
466      * the file that you're transcoding contains rotation metadata.</p>
467      */
SetRotate(const char * value)468     inline void SetRotate(const char* value) { m_rotateHasBeenSet = true; m_rotate.assign(value); }
469 
470     /**
471      * <p>The number of degrees clockwise by which you want Elastic Transcoder to
472      * rotate the output relative to the input. Enter one of the following values:</p>
473      * <p> <code>auto</code>, <code>0</code>, <code>90</code>, <code>180</code>,
474      * <code>270</code> </p> <p> The value <code>auto</code> generally works only if
475      * the file that you're transcoding contains rotation metadata.</p>
476      */
WithRotate(const Aws::String & value)477     inline JobOutput& WithRotate(const Aws::String& value) { SetRotate(value); return *this;}
478 
479     /**
480      * <p>The number of degrees clockwise by which you want Elastic Transcoder to
481      * rotate the output relative to the input. Enter one of the following values:</p>
482      * <p> <code>auto</code>, <code>0</code>, <code>90</code>, <code>180</code>,
483      * <code>270</code> </p> <p> The value <code>auto</code> generally works only if
484      * the file that you're transcoding contains rotation metadata.</p>
485      */
WithRotate(Aws::String && value)486     inline JobOutput& WithRotate(Aws::String&& value) { SetRotate(std::move(value)); return *this;}
487 
488     /**
489      * <p>The number of degrees clockwise by which you want Elastic Transcoder to
490      * rotate the output relative to the input. Enter one of the following values:</p>
491      * <p> <code>auto</code>, <code>0</code>, <code>90</code>, <code>180</code>,
492      * <code>270</code> </p> <p> The value <code>auto</code> generally works only if
493      * the file that you're transcoding contains rotation metadata.</p>
494      */
WithRotate(const char * value)495     inline JobOutput& WithRotate(const char* value) { SetRotate(value); return *this;}
496 
497 
498     /**
499      * <p>The value of the <code>Id</code> object for the preset that you want to use
500      * for this job. The preset determines the audio, video, and thumbnail settings
501      * that Elastic Transcoder uses for transcoding. To use a preset that you created,
502      * specify the preset ID that Elastic Transcoder returned in the response when you
503      * created the preset. You can also use the Elastic Transcoder system presets,
504      * which you can get with <code>ListPresets</code>.</p>
505      */
GetPresetId()506     inline const Aws::String& GetPresetId() const{ return m_presetId; }
507 
508     /**
509      * <p>The value of the <code>Id</code> object for the preset that you want to use
510      * for this job. The preset determines the audio, video, and thumbnail settings
511      * that Elastic Transcoder uses for transcoding. To use a preset that you created,
512      * specify the preset ID that Elastic Transcoder returned in the response when you
513      * created the preset. You can also use the Elastic Transcoder system presets,
514      * which you can get with <code>ListPresets</code>.</p>
515      */
PresetIdHasBeenSet()516     inline bool PresetIdHasBeenSet() const { return m_presetIdHasBeenSet; }
517 
518     /**
519      * <p>The value of the <code>Id</code> object for the preset that you want to use
520      * for this job. The preset determines the audio, video, and thumbnail settings
521      * that Elastic Transcoder uses for transcoding. To use a preset that you created,
522      * specify the preset ID that Elastic Transcoder returned in the response when you
523      * created the preset. You can also use the Elastic Transcoder system presets,
524      * which you can get with <code>ListPresets</code>.</p>
525      */
SetPresetId(const Aws::String & value)526     inline void SetPresetId(const Aws::String& value) { m_presetIdHasBeenSet = true; m_presetId = value; }
527 
528     /**
529      * <p>The value of the <code>Id</code> object for the preset that you want to use
530      * for this job. The preset determines the audio, video, and thumbnail settings
531      * that Elastic Transcoder uses for transcoding. To use a preset that you created,
532      * specify the preset ID that Elastic Transcoder returned in the response when you
533      * created the preset. You can also use the Elastic Transcoder system presets,
534      * which you can get with <code>ListPresets</code>.</p>
535      */
SetPresetId(Aws::String && value)536     inline void SetPresetId(Aws::String&& value) { m_presetIdHasBeenSet = true; m_presetId = std::move(value); }
537 
538     /**
539      * <p>The value of the <code>Id</code> object for the preset that you want to use
540      * for this job. The preset determines the audio, video, and thumbnail settings
541      * that Elastic Transcoder uses for transcoding. To use a preset that you created,
542      * specify the preset ID that Elastic Transcoder returned in the response when you
543      * created the preset. You can also use the Elastic Transcoder system presets,
544      * which you can get with <code>ListPresets</code>.</p>
545      */
SetPresetId(const char * value)546     inline void SetPresetId(const char* value) { m_presetIdHasBeenSet = true; m_presetId.assign(value); }
547 
548     /**
549      * <p>The value of the <code>Id</code> object for the preset that you want to use
550      * for this job. The preset determines the audio, video, and thumbnail settings
551      * that Elastic Transcoder uses for transcoding. To use a preset that you created,
552      * specify the preset ID that Elastic Transcoder returned in the response when you
553      * created the preset. You can also use the Elastic Transcoder system presets,
554      * which you can get with <code>ListPresets</code>.</p>
555      */
WithPresetId(const Aws::String & value)556     inline JobOutput& WithPresetId(const Aws::String& value) { SetPresetId(value); return *this;}
557 
558     /**
559      * <p>The value of the <code>Id</code> object for the preset that you want to use
560      * for this job. The preset determines the audio, video, and thumbnail settings
561      * that Elastic Transcoder uses for transcoding. To use a preset that you created,
562      * specify the preset ID that Elastic Transcoder returned in the response when you
563      * created the preset. You can also use the Elastic Transcoder system presets,
564      * which you can get with <code>ListPresets</code>.</p>
565      */
WithPresetId(Aws::String && value)566     inline JobOutput& WithPresetId(Aws::String&& value) { SetPresetId(std::move(value)); return *this;}
567 
568     /**
569      * <p>The value of the <code>Id</code> object for the preset that you want to use
570      * for this job. The preset determines the audio, video, and thumbnail settings
571      * that Elastic Transcoder uses for transcoding. To use a preset that you created,
572      * specify the preset ID that Elastic Transcoder returned in the response when you
573      * created the preset. You can also use the Elastic Transcoder system presets,
574      * which you can get with <code>ListPresets</code>.</p>
575      */
WithPresetId(const char * value)576     inline JobOutput& WithPresetId(const char* value) { SetPresetId(value); return *this;}
577 
578 
579     /**
580      *  <p>(Outputs in Fragmented MP4 or MPEG-TS format only.</p>
581      *  <p>If you specify a preset in <code>PresetId</code> for which the
582      * value of <code>Container</code> is <code>fmp4</code> (Fragmented MP4) or
583      * <code>ts</code> (MPEG-TS), <code>SegmentDuration</code> is the target maximum
584      * duration of each segment in seconds. For <code>HLSv3</code> format playlists,
585      * each media segment is stored in a separate <code>.ts</code> file. For
586      * <code>HLSv4</code>, <code>MPEG-DASH</code>, and <code>Smooth</code> playlists,
587      * all media segments for an output are stored in a single file. Each segment is
588      * approximately the length of the <code>SegmentDuration</code>, though individual
589      * segments might be shorter or longer.</p> <p>The range of valid values is 1 to 60
590      * seconds. If the duration of the video is not evenly divisible by
591      * <code>SegmentDuration</code>, the duration of the last segment is the remainder
592      * of total length/SegmentDuration.</p> <p>Elastic Transcoder creates an
593      * output-specific playlist for each output <code>HLS</code> output that you
594      * specify in OutputKeys. To add an output to the master playlist for this job,
595      * include it in the <code>OutputKeys</code> of the associated playlist.</p>
596      */
GetSegmentDuration()597     inline const Aws::String& GetSegmentDuration() const{ return m_segmentDuration; }
598 
599     /**
600      *  <p>(Outputs in Fragmented MP4 or MPEG-TS format only.</p>
601      *  <p>If you specify a preset in <code>PresetId</code> for which the
602      * value of <code>Container</code> is <code>fmp4</code> (Fragmented MP4) or
603      * <code>ts</code> (MPEG-TS), <code>SegmentDuration</code> is the target maximum
604      * duration of each segment in seconds. For <code>HLSv3</code> format playlists,
605      * each media segment is stored in a separate <code>.ts</code> file. For
606      * <code>HLSv4</code>, <code>MPEG-DASH</code>, and <code>Smooth</code> playlists,
607      * all media segments for an output are stored in a single file. Each segment is
608      * approximately the length of the <code>SegmentDuration</code>, though individual
609      * segments might be shorter or longer.</p> <p>The range of valid values is 1 to 60
610      * seconds. If the duration of the video is not evenly divisible by
611      * <code>SegmentDuration</code>, the duration of the last segment is the remainder
612      * of total length/SegmentDuration.</p> <p>Elastic Transcoder creates an
613      * output-specific playlist for each output <code>HLS</code> output that you
614      * specify in OutputKeys. To add an output to the master playlist for this job,
615      * include it in the <code>OutputKeys</code> of the associated playlist.</p>
616      */
SegmentDurationHasBeenSet()617     inline bool SegmentDurationHasBeenSet() const { return m_segmentDurationHasBeenSet; }
618 
619     /**
620      *  <p>(Outputs in Fragmented MP4 or MPEG-TS format only.</p>
621      *  <p>If you specify a preset in <code>PresetId</code> for which the
622      * value of <code>Container</code> is <code>fmp4</code> (Fragmented MP4) or
623      * <code>ts</code> (MPEG-TS), <code>SegmentDuration</code> is the target maximum
624      * duration of each segment in seconds. For <code>HLSv3</code> format playlists,
625      * each media segment is stored in a separate <code>.ts</code> file. For
626      * <code>HLSv4</code>, <code>MPEG-DASH</code>, and <code>Smooth</code> playlists,
627      * all media segments for an output are stored in a single file. Each segment is
628      * approximately the length of the <code>SegmentDuration</code>, though individual
629      * segments might be shorter or longer.</p> <p>The range of valid values is 1 to 60
630      * seconds. If the duration of the video is not evenly divisible by
631      * <code>SegmentDuration</code>, the duration of the last segment is the remainder
632      * of total length/SegmentDuration.</p> <p>Elastic Transcoder creates an
633      * output-specific playlist for each output <code>HLS</code> output that you
634      * specify in OutputKeys. To add an output to the master playlist for this job,
635      * include it in the <code>OutputKeys</code> of the associated playlist.</p>
636      */
SetSegmentDuration(const Aws::String & value)637     inline void SetSegmentDuration(const Aws::String& value) { m_segmentDurationHasBeenSet = true; m_segmentDuration = value; }
638 
639     /**
640      *  <p>(Outputs in Fragmented MP4 or MPEG-TS format only.</p>
641      *  <p>If you specify a preset in <code>PresetId</code> for which the
642      * value of <code>Container</code> is <code>fmp4</code> (Fragmented MP4) or
643      * <code>ts</code> (MPEG-TS), <code>SegmentDuration</code> is the target maximum
644      * duration of each segment in seconds. For <code>HLSv3</code> format playlists,
645      * each media segment is stored in a separate <code>.ts</code> file. For
646      * <code>HLSv4</code>, <code>MPEG-DASH</code>, and <code>Smooth</code> playlists,
647      * all media segments for an output are stored in a single file. Each segment is
648      * approximately the length of the <code>SegmentDuration</code>, though individual
649      * segments might be shorter or longer.</p> <p>The range of valid values is 1 to 60
650      * seconds. If the duration of the video is not evenly divisible by
651      * <code>SegmentDuration</code>, the duration of the last segment is the remainder
652      * of total length/SegmentDuration.</p> <p>Elastic Transcoder creates an
653      * output-specific playlist for each output <code>HLS</code> output that you
654      * specify in OutputKeys. To add an output to the master playlist for this job,
655      * include it in the <code>OutputKeys</code> of the associated playlist.</p>
656      */
SetSegmentDuration(Aws::String && value)657     inline void SetSegmentDuration(Aws::String&& value) { m_segmentDurationHasBeenSet = true; m_segmentDuration = std::move(value); }
658 
659     /**
660      *  <p>(Outputs in Fragmented MP4 or MPEG-TS format only.</p>
661      *  <p>If you specify a preset in <code>PresetId</code> for which the
662      * value of <code>Container</code> is <code>fmp4</code> (Fragmented MP4) or
663      * <code>ts</code> (MPEG-TS), <code>SegmentDuration</code> is the target maximum
664      * duration of each segment in seconds. For <code>HLSv3</code> format playlists,
665      * each media segment is stored in a separate <code>.ts</code> file. For
666      * <code>HLSv4</code>, <code>MPEG-DASH</code>, and <code>Smooth</code> playlists,
667      * all media segments for an output are stored in a single file. Each segment is
668      * approximately the length of the <code>SegmentDuration</code>, though individual
669      * segments might be shorter or longer.</p> <p>The range of valid values is 1 to 60
670      * seconds. If the duration of the video is not evenly divisible by
671      * <code>SegmentDuration</code>, the duration of the last segment is the remainder
672      * of total length/SegmentDuration.</p> <p>Elastic Transcoder creates an
673      * output-specific playlist for each output <code>HLS</code> output that you
674      * specify in OutputKeys. To add an output to the master playlist for this job,
675      * include it in the <code>OutputKeys</code> of the associated playlist.</p>
676      */
SetSegmentDuration(const char * value)677     inline void SetSegmentDuration(const char* value) { m_segmentDurationHasBeenSet = true; m_segmentDuration.assign(value); }
678 
679     /**
680      *  <p>(Outputs in Fragmented MP4 or MPEG-TS format only.</p>
681      *  <p>If you specify a preset in <code>PresetId</code> for which the
682      * value of <code>Container</code> is <code>fmp4</code> (Fragmented MP4) or
683      * <code>ts</code> (MPEG-TS), <code>SegmentDuration</code> is the target maximum
684      * duration of each segment in seconds. For <code>HLSv3</code> format playlists,
685      * each media segment is stored in a separate <code>.ts</code> file. For
686      * <code>HLSv4</code>, <code>MPEG-DASH</code>, and <code>Smooth</code> playlists,
687      * all media segments for an output are stored in a single file. Each segment is
688      * approximately the length of the <code>SegmentDuration</code>, though individual
689      * segments might be shorter or longer.</p> <p>The range of valid values is 1 to 60
690      * seconds. If the duration of the video is not evenly divisible by
691      * <code>SegmentDuration</code>, the duration of the last segment is the remainder
692      * of total length/SegmentDuration.</p> <p>Elastic Transcoder creates an
693      * output-specific playlist for each output <code>HLS</code> output that you
694      * specify in OutputKeys. To add an output to the master playlist for this job,
695      * include it in the <code>OutputKeys</code> of the associated playlist.</p>
696      */
WithSegmentDuration(const Aws::String & value)697     inline JobOutput& WithSegmentDuration(const Aws::String& value) { SetSegmentDuration(value); return *this;}
698 
699     /**
700      *  <p>(Outputs in Fragmented MP4 or MPEG-TS format only.</p>
701      *  <p>If you specify a preset in <code>PresetId</code> for which the
702      * value of <code>Container</code> is <code>fmp4</code> (Fragmented MP4) or
703      * <code>ts</code> (MPEG-TS), <code>SegmentDuration</code> is the target maximum
704      * duration of each segment in seconds. For <code>HLSv3</code> format playlists,
705      * each media segment is stored in a separate <code>.ts</code> file. For
706      * <code>HLSv4</code>, <code>MPEG-DASH</code>, and <code>Smooth</code> playlists,
707      * all media segments for an output are stored in a single file. Each segment is
708      * approximately the length of the <code>SegmentDuration</code>, though individual
709      * segments might be shorter or longer.</p> <p>The range of valid values is 1 to 60
710      * seconds. If the duration of the video is not evenly divisible by
711      * <code>SegmentDuration</code>, the duration of the last segment is the remainder
712      * of total length/SegmentDuration.</p> <p>Elastic Transcoder creates an
713      * output-specific playlist for each output <code>HLS</code> output that you
714      * specify in OutputKeys. To add an output to the master playlist for this job,
715      * include it in the <code>OutputKeys</code> of the associated playlist.</p>
716      */
WithSegmentDuration(Aws::String && value)717     inline JobOutput& WithSegmentDuration(Aws::String&& value) { SetSegmentDuration(std::move(value)); return *this;}
718 
719     /**
720      *  <p>(Outputs in Fragmented MP4 or MPEG-TS format only.</p>
721      *  <p>If you specify a preset in <code>PresetId</code> for which the
722      * value of <code>Container</code> is <code>fmp4</code> (Fragmented MP4) or
723      * <code>ts</code> (MPEG-TS), <code>SegmentDuration</code> is the target maximum
724      * duration of each segment in seconds. For <code>HLSv3</code> format playlists,
725      * each media segment is stored in a separate <code>.ts</code> file. For
726      * <code>HLSv4</code>, <code>MPEG-DASH</code>, and <code>Smooth</code> playlists,
727      * all media segments for an output are stored in a single file. Each segment is
728      * approximately the length of the <code>SegmentDuration</code>, though individual
729      * segments might be shorter or longer.</p> <p>The range of valid values is 1 to 60
730      * seconds. If the duration of the video is not evenly divisible by
731      * <code>SegmentDuration</code>, the duration of the last segment is the remainder
732      * of total length/SegmentDuration.</p> <p>Elastic Transcoder creates an
733      * output-specific playlist for each output <code>HLS</code> output that you
734      * specify in OutputKeys. To add an output to the master playlist for this job,
735      * include it in the <code>OutputKeys</code> of the associated playlist.</p>
736      */
WithSegmentDuration(const char * value)737     inline JobOutput& WithSegmentDuration(const char* value) { SetSegmentDuration(value); return *this;}
738 
739 
740     /**
741      * <p> The status of one output in a job. If you specified only one output for the
742      * job, <code>Outputs:Status</code> is always the same as <code>Job:Status</code>.
743      * If you specified more than one output: </p> <ul> <li> <p>
744      * <code>Job:Status</code> and <code>Outputs:Status</code> for all of the outputs
745      * is Submitted until Elastic Transcoder starts to process the first output.</p>
746      * </li> <li> <p>When Elastic Transcoder starts to process the first output,
747      * <code>Outputs:Status</code> for that output and <code>Job:Status</code> both
748      * change to Progressing. For each output, the value of <code>Outputs:Status</code>
749      * remains Submitted until Elastic Transcoder starts to process the output.</p>
750      * </li> <li> <p>Job:Status remains Progressing until all of the outputs reach a
751      * terminal status, either Complete or Error.</p> </li> <li> <p>When all of the
752      * outputs reach a terminal status, <code>Job:Status</code> changes to Complete
753      * only if <code>Outputs:Status</code> for all of the outputs is
754      * <code>Complete</code>. If <code>Outputs:Status</code> for one or more outputs is
755      * <code>Error</code>, the terminal status for <code>Job:Status</code> is also
756      * <code>Error</code>.</p> </li> </ul> <p>The value of <code>Status</code> is one
757      * of the following: <code>Submitted</code>, <code>Progressing</code>,
758      * <code>Complete</code>, <code>Canceled</code>, or <code>Error</code>. </p>
759      */
GetStatus()760     inline const Aws::String& GetStatus() const{ return m_status; }
761 
762     /**
763      * <p> The status of one output in a job. If you specified only one output for the
764      * job, <code>Outputs:Status</code> is always the same as <code>Job:Status</code>.
765      * If you specified more than one output: </p> <ul> <li> <p>
766      * <code>Job:Status</code> and <code>Outputs:Status</code> for all of the outputs
767      * is Submitted until Elastic Transcoder starts to process the first output.</p>
768      * </li> <li> <p>When Elastic Transcoder starts to process the first output,
769      * <code>Outputs:Status</code> for that output and <code>Job:Status</code> both
770      * change to Progressing. For each output, the value of <code>Outputs:Status</code>
771      * remains Submitted until Elastic Transcoder starts to process the output.</p>
772      * </li> <li> <p>Job:Status remains Progressing until all of the outputs reach a
773      * terminal status, either Complete or Error.</p> </li> <li> <p>When all of the
774      * outputs reach a terminal status, <code>Job:Status</code> changes to Complete
775      * only if <code>Outputs:Status</code> for all of the outputs is
776      * <code>Complete</code>. If <code>Outputs:Status</code> for one or more outputs is
777      * <code>Error</code>, the terminal status for <code>Job:Status</code> is also
778      * <code>Error</code>.</p> </li> </ul> <p>The value of <code>Status</code> is one
779      * of the following: <code>Submitted</code>, <code>Progressing</code>,
780      * <code>Complete</code>, <code>Canceled</code>, or <code>Error</code>. </p>
781      */
StatusHasBeenSet()782     inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
783 
784     /**
785      * <p> The status of one output in a job. If you specified only one output for the
786      * job, <code>Outputs:Status</code> is always the same as <code>Job:Status</code>.
787      * If you specified more than one output: </p> <ul> <li> <p>
788      * <code>Job:Status</code> and <code>Outputs:Status</code> for all of the outputs
789      * is Submitted until Elastic Transcoder starts to process the first output.</p>
790      * </li> <li> <p>When Elastic Transcoder starts to process the first output,
791      * <code>Outputs:Status</code> for that output and <code>Job:Status</code> both
792      * change to Progressing. For each output, the value of <code>Outputs:Status</code>
793      * remains Submitted until Elastic Transcoder starts to process the output.</p>
794      * </li> <li> <p>Job:Status remains Progressing until all of the outputs reach a
795      * terminal status, either Complete or Error.</p> </li> <li> <p>When all of the
796      * outputs reach a terminal status, <code>Job:Status</code> changes to Complete
797      * only if <code>Outputs:Status</code> for all of the outputs is
798      * <code>Complete</code>. If <code>Outputs:Status</code> for one or more outputs is
799      * <code>Error</code>, the terminal status for <code>Job:Status</code> is also
800      * <code>Error</code>.</p> </li> </ul> <p>The value of <code>Status</code> is one
801      * of the following: <code>Submitted</code>, <code>Progressing</code>,
802      * <code>Complete</code>, <code>Canceled</code>, or <code>Error</code>. </p>
803      */
SetStatus(const Aws::String & value)804     inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; }
805 
806     /**
807      * <p> The status of one output in a job. If you specified only one output for the
808      * job, <code>Outputs:Status</code> is always the same as <code>Job:Status</code>.
809      * If you specified more than one output: </p> <ul> <li> <p>
810      * <code>Job:Status</code> and <code>Outputs:Status</code> for all of the outputs
811      * is Submitted until Elastic Transcoder starts to process the first output.</p>
812      * </li> <li> <p>When Elastic Transcoder starts to process the first output,
813      * <code>Outputs:Status</code> for that output and <code>Job:Status</code> both
814      * change to Progressing. For each output, the value of <code>Outputs:Status</code>
815      * remains Submitted until Elastic Transcoder starts to process the output.</p>
816      * </li> <li> <p>Job:Status remains Progressing until all of the outputs reach a
817      * terminal status, either Complete or Error.</p> </li> <li> <p>When all of the
818      * outputs reach a terminal status, <code>Job:Status</code> changes to Complete
819      * only if <code>Outputs:Status</code> for all of the outputs is
820      * <code>Complete</code>. If <code>Outputs:Status</code> for one or more outputs is
821      * <code>Error</code>, the terminal status for <code>Job:Status</code> is also
822      * <code>Error</code>.</p> </li> </ul> <p>The value of <code>Status</code> is one
823      * of the following: <code>Submitted</code>, <code>Progressing</code>,
824      * <code>Complete</code>, <code>Canceled</code>, or <code>Error</code>. </p>
825      */
SetStatus(Aws::String && value)826     inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
827 
828     /**
829      * <p> The status of one output in a job. If you specified only one output for the
830      * job, <code>Outputs:Status</code> is always the same as <code>Job:Status</code>.
831      * If you specified more than one output: </p> <ul> <li> <p>
832      * <code>Job:Status</code> and <code>Outputs:Status</code> for all of the outputs
833      * is Submitted until Elastic Transcoder starts to process the first output.</p>
834      * </li> <li> <p>When Elastic Transcoder starts to process the first output,
835      * <code>Outputs:Status</code> for that output and <code>Job:Status</code> both
836      * change to Progressing. For each output, the value of <code>Outputs:Status</code>
837      * remains Submitted until Elastic Transcoder starts to process the output.</p>
838      * </li> <li> <p>Job:Status remains Progressing until all of the outputs reach a
839      * terminal status, either Complete or Error.</p> </li> <li> <p>When all of the
840      * outputs reach a terminal status, <code>Job:Status</code> changes to Complete
841      * only if <code>Outputs:Status</code> for all of the outputs is
842      * <code>Complete</code>. If <code>Outputs:Status</code> for one or more outputs is
843      * <code>Error</code>, the terminal status for <code>Job:Status</code> is also
844      * <code>Error</code>.</p> </li> </ul> <p>The value of <code>Status</code> is one
845      * of the following: <code>Submitted</code>, <code>Progressing</code>,
846      * <code>Complete</code>, <code>Canceled</code>, or <code>Error</code>. </p>
847      */
SetStatus(const char * value)848     inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); }
849 
850     /**
851      * <p> The status of one output in a job. If you specified only one output for the
852      * job, <code>Outputs:Status</code> is always the same as <code>Job:Status</code>.
853      * If you specified more than one output: </p> <ul> <li> <p>
854      * <code>Job:Status</code> and <code>Outputs:Status</code> for all of the outputs
855      * is Submitted until Elastic Transcoder starts to process the first output.</p>
856      * </li> <li> <p>When Elastic Transcoder starts to process the first output,
857      * <code>Outputs:Status</code> for that output and <code>Job:Status</code> both
858      * change to Progressing. For each output, the value of <code>Outputs:Status</code>
859      * remains Submitted until Elastic Transcoder starts to process the output.</p>
860      * </li> <li> <p>Job:Status remains Progressing until all of the outputs reach a
861      * terminal status, either Complete or Error.</p> </li> <li> <p>When all of the
862      * outputs reach a terminal status, <code>Job:Status</code> changes to Complete
863      * only if <code>Outputs:Status</code> for all of the outputs is
864      * <code>Complete</code>. If <code>Outputs:Status</code> for one or more outputs is
865      * <code>Error</code>, the terminal status for <code>Job:Status</code> is also
866      * <code>Error</code>.</p> </li> </ul> <p>The value of <code>Status</code> is one
867      * of the following: <code>Submitted</code>, <code>Progressing</code>,
868      * <code>Complete</code>, <code>Canceled</code>, or <code>Error</code>. </p>
869      */
WithStatus(const Aws::String & value)870     inline JobOutput& WithStatus(const Aws::String& value) { SetStatus(value); return *this;}
871 
872     /**
873      * <p> The status of one output in a job. If you specified only one output for the
874      * job, <code>Outputs:Status</code> is always the same as <code>Job:Status</code>.
875      * If you specified more than one output: </p> <ul> <li> <p>
876      * <code>Job:Status</code> and <code>Outputs:Status</code> for all of the outputs
877      * is Submitted until Elastic Transcoder starts to process the first output.</p>
878      * </li> <li> <p>When Elastic Transcoder starts to process the first output,
879      * <code>Outputs:Status</code> for that output and <code>Job:Status</code> both
880      * change to Progressing. For each output, the value of <code>Outputs:Status</code>
881      * remains Submitted until Elastic Transcoder starts to process the output.</p>
882      * </li> <li> <p>Job:Status remains Progressing until all of the outputs reach a
883      * terminal status, either Complete or Error.</p> </li> <li> <p>When all of the
884      * outputs reach a terminal status, <code>Job:Status</code> changes to Complete
885      * only if <code>Outputs:Status</code> for all of the outputs is
886      * <code>Complete</code>. If <code>Outputs:Status</code> for one or more outputs is
887      * <code>Error</code>, the terminal status for <code>Job:Status</code> is also
888      * <code>Error</code>.</p> </li> </ul> <p>The value of <code>Status</code> is one
889      * of the following: <code>Submitted</code>, <code>Progressing</code>,
890      * <code>Complete</code>, <code>Canceled</code>, or <code>Error</code>. </p>
891      */
WithStatus(Aws::String && value)892     inline JobOutput& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;}
893 
894     /**
895      * <p> The status of one output in a job. If you specified only one output for the
896      * job, <code>Outputs:Status</code> is always the same as <code>Job:Status</code>.
897      * If you specified more than one output: </p> <ul> <li> <p>
898      * <code>Job:Status</code> and <code>Outputs:Status</code> for all of the outputs
899      * is Submitted until Elastic Transcoder starts to process the first output.</p>
900      * </li> <li> <p>When Elastic Transcoder starts to process the first output,
901      * <code>Outputs:Status</code> for that output and <code>Job:Status</code> both
902      * change to Progressing. For each output, the value of <code>Outputs:Status</code>
903      * remains Submitted until Elastic Transcoder starts to process the output.</p>
904      * </li> <li> <p>Job:Status remains Progressing until all of the outputs reach a
905      * terminal status, either Complete or Error.</p> </li> <li> <p>When all of the
906      * outputs reach a terminal status, <code>Job:Status</code> changes to Complete
907      * only if <code>Outputs:Status</code> for all of the outputs is
908      * <code>Complete</code>. If <code>Outputs:Status</code> for one or more outputs is
909      * <code>Error</code>, the terminal status for <code>Job:Status</code> is also
910      * <code>Error</code>.</p> </li> </ul> <p>The value of <code>Status</code> is one
911      * of the following: <code>Submitted</code>, <code>Progressing</code>,
912      * <code>Complete</code>, <code>Canceled</code>, or <code>Error</code>. </p>
913      */
WithStatus(const char * value)914     inline JobOutput& WithStatus(const char* value) { SetStatus(value); return *this;}
915 
916 
917     /**
918      * <p>Information that further explains <code>Status</code>.</p>
919      */
GetStatusDetail()920     inline const Aws::String& GetStatusDetail() const{ return m_statusDetail; }
921 
922     /**
923      * <p>Information that further explains <code>Status</code>.</p>
924      */
StatusDetailHasBeenSet()925     inline bool StatusDetailHasBeenSet() const { return m_statusDetailHasBeenSet; }
926 
927     /**
928      * <p>Information that further explains <code>Status</code>.</p>
929      */
SetStatusDetail(const Aws::String & value)930     inline void SetStatusDetail(const Aws::String& value) { m_statusDetailHasBeenSet = true; m_statusDetail = value; }
931 
932     /**
933      * <p>Information that further explains <code>Status</code>.</p>
934      */
SetStatusDetail(Aws::String && value)935     inline void SetStatusDetail(Aws::String&& value) { m_statusDetailHasBeenSet = true; m_statusDetail = std::move(value); }
936 
937     /**
938      * <p>Information that further explains <code>Status</code>.</p>
939      */
SetStatusDetail(const char * value)940     inline void SetStatusDetail(const char* value) { m_statusDetailHasBeenSet = true; m_statusDetail.assign(value); }
941 
942     /**
943      * <p>Information that further explains <code>Status</code>.</p>
944      */
WithStatusDetail(const Aws::String & value)945     inline JobOutput& WithStatusDetail(const Aws::String& value) { SetStatusDetail(value); return *this;}
946 
947     /**
948      * <p>Information that further explains <code>Status</code>.</p>
949      */
WithStatusDetail(Aws::String && value)950     inline JobOutput& WithStatusDetail(Aws::String&& value) { SetStatusDetail(std::move(value)); return *this;}
951 
952     /**
953      * <p>Information that further explains <code>Status</code>.</p>
954      */
WithStatusDetail(const char * value)955     inline JobOutput& WithStatusDetail(const char* value) { SetStatusDetail(value); return *this;}
956 
957 
958     /**
959      * <p>Duration of the output file, in seconds.</p>
960      */
GetDuration()961     inline long long GetDuration() const{ return m_duration; }
962 
963     /**
964      * <p>Duration of the output file, in seconds.</p>
965      */
DurationHasBeenSet()966     inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; }
967 
968     /**
969      * <p>Duration of the output file, in seconds.</p>
970      */
SetDuration(long long value)971     inline void SetDuration(long long value) { m_durationHasBeenSet = true; m_duration = value; }
972 
973     /**
974      * <p>Duration of the output file, in seconds.</p>
975      */
WithDuration(long long value)976     inline JobOutput& WithDuration(long long value) { SetDuration(value); return *this;}
977 
978 
979     /**
980      * <p>Specifies the width of the output file in pixels.</p>
981      */
GetWidth()982     inline int GetWidth() const{ return m_width; }
983 
984     /**
985      * <p>Specifies the width of the output file in pixels.</p>
986      */
WidthHasBeenSet()987     inline bool WidthHasBeenSet() const { return m_widthHasBeenSet; }
988 
989     /**
990      * <p>Specifies the width of the output file in pixels.</p>
991      */
SetWidth(int value)992     inline void SetWidth(int value) { m_widthHasBeenSet = true; m_width = value; }
993 
994     /**
995      * <p>Specifies the width of the output file in pixels.</p>
996      */
WithWidth(int value)997     inline JobOutput& WithWidth(int value) { SetWidth(value); return *this;}
998 
999 
1000     /**
1001      * <p>Height of the output file, in pixels.</p>
1002      */
GetHeight()1003     inline int GetHeight() const{ return m_height; }
1004 
1005     /**
1006      * <p>Height of the output file, in pixels.</p>
1007      */
HeightHasBeenSet()1008     inline bool HeightHasBeenSet() const { return m_heightHasBeenSet; }
1009 
1010     /**
1011      * <p>Height of the output file, in pixels.</p>
1012      */
SetHeight(int value)1013     inline void SetHeight(int value) { m_heightHasBeenSet = true; m_height = value; }
1014 
1015     /**
1016      * <p>Height of the output file, in pixels.</p>
1017      */
WithHeight(int value)1018     inline JobOutput& WithHeight(int value) { SetHeight(value); return *this;}
1019 
1020 
1021     /**
1022      * <p>Frame rate of the output file, in frames per second.</p>
1023      */
GetFrameRate()1024     inline const Aws::String& GetFrameRate() const{ return m_frameRate; }
1025 
1026     /**
1027      * <p>Frame rate of the output file, in frames per second.</p>
1028      */
FrameRateHasBeenSet()1029     inline bool FrameRateHasBeenSet() const { return m_frameRateHasBeenSet; }
1030 
1031     /**
1032      * <p>Frame rate of the output file, in frames per second.</p>
1033      */
SetFrameRate(const Aws::String & value)1034     inline void SetFrameRate(const Aws::String& value) { m_frameRateHasBeenSet = true; m_frameRate = value; }
1035 
1036     /**
1037      * <p>Frame rate of the output file, in frames per second.</p>
1038      */
SetFrameRate(Aws::String && value)1039     inline void SetFrameRate(Aws::String&& value) { m_frameRateHasBeenSet = true; m_frameRate = std::move(value); }
1040 
1041     /**
1042      * <p>Frame rate of the output file, in frames per second.</p>
1043      */
SetFrameRate(const char * value)1044     inline void SetFrameRate(const char* value) { m_frameRateHasBeenSet = true; m_frameRate.assign(value); }
1045 
1046     /**
1047      * <p>Frame rate of the output file, in frames per second.</p>
1048      */
WithFrameRate(const Aws::String & value)1049     inline JobOutput& WithFrameRate(const Aws::String& value) { SetFrameRate(value); return *this;}
1050 
1051     /**
1052      * <p>Frame rate of the output file, in frames per second.</p>
1053      */
WithFrameRate(Aws::String && value)1054     inline JobOutput& WithFrameRate(Aws::String&& value) { SetFrameRate(std::move(value)); return *this;}
1055 
1056     /**
1057      * <p>Frame rate of the output file, in frames per second.</p>
1058      */
WithFrameRate(const char * value)1059     inline JobOutput& WithFrameRate(const char* value) { SetFrameRate(value); return *this;}
1060 
1061 
1062     /**
1063      * <p>File size of the output file, in bytes.</p>
1064      */
GetFileSize()1065     inline long long GetFileSize() const{ return m_fileSize; }
1066 
1067     /**
1068      * <p>File size of the output file, in bytes.</p>
1069      */
FileSizeHasBeenSet()1070     inline bool FileSizeHasBeenSet() const { return m_fileSizeHasBeenSet; }
1071 
1072     /**
1073      * <p>File size of the output file, in bytes.</p>
1074      */
SetFileSize(long long value)1075     inline void SetFileSize(long long value) { m_fileSizeHasBeenSet = true; m_fileSize = value; }
1076 
1077     /**
1078      * <p>File size of the output file, in bytes.</p>
1079      */
WithFileSize(long long value)1080     inline JobOutput& WithFileSize(long long value) { SetFileSize(value); return *this;}
1081 
1082 
1083     /**
1084      * <p>Duration of the output file, in milliseconds.</p>
1085      */
GetDurationMillis()1086     inline long long GetDurationMillis() const{ return m_durationMillis; }
1087 
1088     /**
1089      * <p>Duration of the output file, in milliseconds.</p>
1090      */
DurationMillisHasBeenSet()1091     inline bool DurationMillisHasBeenSet() const { return m_durationMillisHasBeenSet; }
1092 
1093     /**
1094      * <p>Duration of the output file, in milliseconds.</p>
1095      */
SetDurationMillis(long long value)1096     inline void SetDurationMillis(long long value) { m_durationMillisHasBeenSet = true; m_durationMillis = value; }
1097 
1098     /**
1099      * <p>Duration of the output file, in milliseconds.</p>
1100      */
WithDurationMillis(long long value)1101     inline JobOutput& WithDurationMillis(long long value) { SetDurationMillis(value); return *this;}
1102 
1103 
1104     /**
1105      * <p>Information about the watermarks that you want Elastic Transcoder to add to
1106      * the video during transcoding. You can specify up to four watermarks for each
1107      * output. Settings for each watermark must be defined in the preset that you
1108      * specify in <code>Preset</code> for the current output.</p> <p>Watermarks are
1109      * added to the output video in the sequence in which you list them in the job
1110      * output—the first watermark in the list is added to the output video first, the
1111      * second watermark in the list is added next, and so on. As a result, if the
1112      * settings in a preset cause Elastic Transcoder to place all watermarks in the
1113      * same location, the second watermark that you add covers the first one, the third
1114      * one covers the second, and the fourth one covers the third.</p>
1115      */
GetWatermarks()1116     inline const Aws::Vector<JobWatermark>& GetWatermarks() const{ return m_watermarks; }
1117 
1118     /**
1119      * <p>Information about the watermarks that you want Elastic Transcoder to add to
1120      * the video during transcoding. You can specify up to four watermarks for each
1121      * output. Settings for each watermark must be defined in the preset that you
1122      * specify in <code>Preset</code> for the current output.</p> <p>Watermarks are
1123      * added to the output video in the sequence in which you list them in the job
1124      * output—the first watermark in the list is added to the output video first, the
1125      * second watermark in the list is added next, and so on. As a result, if the
1126      * settings in a preset cause Elastic Transcoder to place all watermarks in the
1127      * same location, the second watermark that you add covers the first one, the third
1128      * one covers the second, and the fourth one covers the third.</p>
1129      */
WatermarksHasBeenSet()1130     inline bool WatermarksHasBeenSet() const { return m_watermarksHasBeenSet; }
1131 
1132     /**
1133      * <p>Information about the watermarks that you want Elastic Transcoder to add to
1134      * the video during transcoding. You can specify up to four watermarks for each
1135      * output. Settings for each watermark must be defined in the preset that you
1136      * specify in <code>Preset</code> for the current output.</p> <p>Watermarks are
1137      * added to the output video in the sequence in which you list them in the job
1138      * output—the first watermark in the list is added to the output video first, the
1139      * second watermark in the list is added next, and so on. As a result, if the
1140      * settings in a preset cause Elastic Transcoder to place all watermarks in the
1141      * same location, the second watermark that you add covers the first one, the third
1142      * one covers the second, and the fourth one covers the third.</p>
1143      */
SetWatermarks(const Aws::Vector<JobWatermark> & value)1144     inline void SetWatermarks(const Aws::Vector<JobWatermark>& value) { m_watermarksHasBeenSet = true; m_watermarks = value; }
1145 
1146     /**
1147      * <p>Information about the watermarks that you want Elastic Transcoder to add to
1148      * the video during transcoding. You can specify up to four watermarks for each
1149      * output. Settings for each watermark must be defined in the preset that you
1150      * specify in <code>Preset</code> for the current output.</p> <p>Watermarks are
1151      * added to the output video in the sequence in which you list them in the job
1152      * output—the first watermark in the list is added to the output video first, the
1153      * second watermark in the list is added next, and so on. As a result, if the
1154      * settings in a preset cause Elastic Transcoder to place all watermarks in the
1155      * same location, the second watermark that you add covers the first one, the third
1156      * one covers the second, and the fourth one covers the third.</p>
1157      */
SetWatermarks(Aws::Vector<JobWatermark> && value)1158     inline void SetWatermarks(Aws::Vector<JobWatermark>&& value) { m_watermarksHasBeenSet = true; m_watermarks = std::move(value); }
1159 
1160     /**
1161      * <p>Information about the watermarks that you want Elastic Transcoder to add to
1162      * the video during transcoding. You can specify up to four watermarks for each
1163      * output. Settings for each watermark must be defined in the preset that you
1164      * specify in <code>Preset</code> for the current output.</p> <p>Watermarks are
1165      * added to the output video in the sequence in which you list them in the job
1166      * output—the first watermark in the list is added to the output video first, the
1167      * second watermark in the list is added next, and so on. As a result, if the
1168      * settings in a preset cause Elastic Transcoder to place all watermarks in the
1169      * same location, the second watermark that you add covers the first one, the third
1170      * one covers the second, and the fourth one covers the third.</p>
1171      */
WithWatermarks(const Aws::Vector<JobWatermark> & value)1172     inline JobOutput& WithWatermarks(const Aws::Vector<JobWatermark>& value) { SetWatermarks(value); return *this;}
1173 
1174     /**
1175      * <p>Information about the watermarks that you want Elastic Transcoder to add to
1176      * the video during transcoding. You can specify up to four watermarks for each
1177      * output. Settings for each watermark must be defined in the preset that you
1178      * specify in <code>Preset</code> for the current output.</p> <p>Watermarks are
1179      * added to the output video in the sequence in which you list them in the job
1180      * output—the first watermark in the list is added to the output video first, the
1181      * second watermark in the list is added next, and so on. As a result, if the
1182      * settings in a preset cause Elastic Transcoder to place all watermarks in the
1183      * same location, the second watermark that you add covers the first one, the third
1184      * one covers the second, and the fourth one covers the third.</p>
1185      */
WithWatermarks(Aws::Vector<JobWatermark> && value)1186     inline JobOutput& WithWatermarks(Aws::Vector<JobWatermark>&& value) { SetWatermarks(std::move(value)); return *this;}
1187 
1188     /**
1189      * <p>Information about the watermarks that you want Elastic Transcoder to add to
1190      * the video during transcoding. You can specify up to four watermarks for each
1191      * output. Settings for each watermark must be defined in the preset that you
1192      * specify in <code>Preset</code> for the current output.</p> <p>Watermarks are
1193      * added to the output video in the sequence in which you list them in the job
1194      * output—the first watermark in the list is added to the output video first, the
1195      * second watermark in the list is added next, and so on. As a result, if the
1196      * settings in a preset cause Elastic Transcoder to place all watermarks in the
1197      * same location, the second watermark that you add covers the first one, the third
1198      * one covers the second, and the fourth one covers the third.</p>
1199      */
AddWatermarks(const JobWatermark & value)1200     inline JobOutput& AddWatermarks(const JobWatermark& value) { m_watermarksHasBeenSet = true; m_watermarks.push_back(value); return *this; }
1201 
1202     /**
1203      * <p>Information about the watermarks that you want Elastic Transcoder to add to
1204      * the video during transcoding. You can specify up to four watermarks for each
1205      * output. Settings for each watermark must be defined in the preset that you
1206      * specify in <code>Preset</code> for the current output.</p> <p>Watermarks are
1207      * added to the output video in the sequence in which you list them in the job
1208      * output—the first watermark in the list is added to the output video first, the
1209      * second watermark in the list is added next, and so on. As a result, if the
1210      * settings in a preset cause Elastic Transcoder to place all watermarks in the
1211      * same location, the second watermark that you add covers the first one, the third
1212      * one covers the second, and the fourth one covers the third.</p>
1213      */
AddWatermarks(JobWatermark && value)1214     inline JobOutput& AddWatermarks(JobWatermark&& value) { m_watermarksHasBeenSet = true; m_watermarks.push_back(std::move(value)); return *this; }
1215 
1216 
1217     /**
1218      * <p>The album art to be associated with the output file, if any.</p>
1219      */
GetAlbumArt()1220     inline const JobAlbumArt& GetAlbumArt() const{ return m_albumArt; }
1221 
1222     /**
1223      * <p>The album art to be associated with the output file, if any.</p>
1224      */
AlbumArtHasBeenSet()1225     inline bool AlbumArtHasBeenSet() const { return m_albumArtHasBeenSet; }
1226 
1227     /**
1228      * <p>The album art to be associated with the output file, if any.</p>
1229      */
SetAlbumArt(const JobAlbumArt & value)1230     inline void SetAlbumArt(const JobAlbumArt& value) { m_albumArtHasBeenSet = true; m_albumArt = value; }
1231 
1232     /**
1233      * <p>The album art to be associated with the output file, if any.</p>
1234      */
SetAlbumArt(JobAlbumArt && value)1235     inline void SetAlbumArt(JobAlbumArt&& value) { m_albumArtHasBeenSet = true; m_albumArt = std::move(value); }
1236 
1237     /**
1238      * <p>The album art to be associated with the output file, if any.</p>
1239      */
WithAlbumArt(const JobAlbumArt & value)1240     inline JobOutput& WithAlbumArt(const JobAlbumArt& value) { SetAlbumArt(value); return *this;}
1241 
1242     /**
1243      * <p>The album art to be associated with the output file, if any.</p>
1244      */
WithAlbumArt(JobAlbumArt && value)1245     inline JobOutput& WithAlbumArt(JobAlbumArt&& value) { SetAlbumArt(std::move(value)); return *this;}
1246 
1247 
1248     /**
1249      * <p>You can configure Elastic Transcoder to transcode captions, or subtitles,
1250      * from one format to another. All captions must be in UTF-8. Elastic Transcoder
1251      * supports two types of captions:</p> <ul> <li> <p> <b>Embedded:</b> Embedded
1252      * captions are included in the same file as the audio and video. Elastic
1253      * Transcoder supports only one embedded caption per language, to a maximum of 300
1254      * embedded captions per file.</p> <p>Valid input values include: <code>CEA-608
1255      * (EIA-608</code>, first non-empty channel only), <code>CEA-708 (EIA-708</code>,
1256      * first non-empty channel only), and <code>mov-text</code> </p> <p>Valid outputs
1257      * include: <code>mov-text</code> </p> <p>Elastic Transcoder supports a maximum of
1258      * one embedded format per output.</p> </li> <li> <p> <b>Sidecar:</b> Sidecar
1259      * captions are kept in a separate metadata file from the audio and video data.
1260      * Sidecar captions require a player that is capable of understanding the
1261      * relationship between the video file and the sidecar file. Elastic Transcoder
1262      * supports only one sidecar caption per language, to a maximum of 20 sidecar
1263      * captions per file.</p> <p>Valid input values include: <code>dfxp</code> (first
1264      * div element only), <code>ebu-tt</code>, <code>scc</code>, <code>smpt</code>,
1265      * <code>srt</code>, <code>ttml</code> (first div element only), and
1266      * <code>webvtt</code> </p> <p>Valid outputs include: <code>dfxp</code> (first div
1267      * element only), <code>scc</code>, <code>srt</code>, and <code>webvtt</code>.</p>
1268      * </li> </ul> <p>If you want ttml or smpte-tt compatible captions, specify dfxp as
1269      * your output format.</p> <p>Elastic Transcoder does not support OCR (Optical
1270      * Character Recognition), does not accept pictures as a valid input for captions,
1271      * and is not available for audio-only transcoding. Elastic Transcoder does not
1272      * preserve text formatting (for example, italics) during the transcoding
1273      * process.</p> <p>To remove captions or leave the captions empty, set
1274      * <code>Captions</code> to null. To pass through existing captions unchanged, set
1275      * the <code>MergePolicy</code> to <code>MergeRetain</code>, and pass in a null
1276      * <code>CaptionSources</code> array.</p> <p>For more information on embedded
1277      * files, see the Subtitles Wikipedia page.</p> <p>For more information on sidecar
1278      * files, see the Extensible Metadata Platform and Sidecar file Wikipedia
1279      * pages.</p>
1280      */
GetCaptions()1281     inline const Captions& GetCaptions() const{ return m_captions; }
1282 
1283     /**
1284      * <p>You can configure Elastic Transcoder to transcode captions, or subtitles,
1285      * from one format to another. All captions must be in UTF-8. Elastic Transcoder
1286      * supports two types of captions:</p> <ul> <li> <p> <b>Embedded:</b> Embedded
1287      * captions are included in the same file as the audio and video. Elastic
1288      * Transcoder supports only one embedded caption per language, to a maximum of 300
1289      * embedded captions per file.</p> <p>Valid input values include: <code>CEA-608
1290      * (EIA-608</code>, first non-empty channel only), <code>CEA-708 (EIA-708</code>,
1291      * first non-empty channel only), and <code>mov-text</code> </p> <p>Valid outputs
1292      * include: <code>mov-text</code> </p> <p>Elastic Transcoder supports a maximum of
1293      * one embedded format per output.</p> </li> <li> <p> <b>Sidecar:</b> Sidecar
1294      * captions are kept in a separate metadata file from the audio and video data.
1295      * Sidecar captions require a player that is capable of understanding the
1296      * relationship between the video file and the sidecar file. Elastic Transcoder
1297      * supports only one sidecar caption per language, to a maximum of 20 sidecar
1298      * captions per file.</p> <p>Valid input values include: <code>dfxp</code> (first
1299      * div element only), <code>ebu-tt</code>, <code>scc</code>, <code>smpt</code>,
1300      * <code>srt</code>, <code>ttml</code> (first div element only), and
1301      * <code>webvtt</code> </p> <p>Valid outputs include: <code>dfxp</code> (first div
1302      * element only), <code>scc</code>, <code>srt</code>, and <code>webvtt</code>.</p>
1303      * </li> </ul> <p>If you want ttml or smpte-tt compatible captions, specify dfxp as
1304      * your output format.</p> <p>Elastic Transcoder does not support OCR (Optical
1305      * Character Recognition), does not accept pictures as a valid input for captions,
1306      * and is not available for audio-only transcoding. Elastic Transcoder does not
1307      * preserve text formatting (for example, italics) during the transcoding
1308      * process.</p> <p>To remove captions or leave the captions empty, set
1309      * <code>Captions</code> to null. To pass through existing captions unchanged, set
1310      * the <code>MergePolicy</code> to <code>MergeRetain</code>, and pass in a null
1311      * <code>CaptionSources</code> array.</p> <p>For more information on embedded
1312      * files, see the Subtitles Wikipedia page.</p> <p>For more information on sidecar
1313      * files, see the Extensible Metadata Platform and Sidecar file Wikipedia
1314      * pages.</p>
1315      */
CaptionsHasBeenSet()1316     inline bool CaptionsHasBeenSet() const { return m_captionsHasBeenSet; }
1317 
1318     /**
1319      * <p>You can configure Elastic Transcoder to transcode captions, or subtitles,
1320      * from one format to another. All captions must be in UTF-8. Elastic Transcoder
1321      * supports two types of captions:</p> <ul> <li> <p> <b>Embedded:</b> Embedded
1322      * captions are included in the same file as the audio and video. Elastic
1323      * Transcoder supports only one embedded caption per language, to a maximum of 300
1324      * embedded captions per file.</p> <p>Valid input values include: <code>CEA-608
1325      * (EIA-608</code>, first non-empty channel only), <code>CEA-708 (EIA-708</code>,
1326      * first non-empty channel only), and <code>mov-text</code> </p> <p>Valid outputs
1327      * include: <code>mov-text</code> </p> <p>Elastic Transcoder supports a maximum of
1328      * one embedded format per output.</p> </li> <li> <p> <b>Sidecar:</b> Sidecar
1329      * captions are kept in a separate metadata file from the audio and video data.
1330      * Sidecar captions require a player that is capable of understanding the
1331      * relationship between the video file and the sidecar file. Elastic Transcoder
1332      * supports only one sidecar caption per language, to a maximum of 20 sidecar
1333      * captions per file.</p> <p>Valid input values include: <code>dfxp</code> (first
1334      * div element only), <code>ebu-tt</code>, <code>scc</code>, <code>smpt</code>,
1335      * <code>srt</code>, <code>ttml</code> (first div element only), and
1336      * <code>webvtt</code> </p> <p>Valid outputs include: <code>dfxp</code> (first div
1337      * element only), <code>scc</code>, <code>srt</code>, and <code>webvtt</code>.</p>
1338      * </li> </ul> <p>If you want ttml or smpte-tt compatible captions, specify dfxp as
1339      * your output format.</p> <p>Elastic Transcoder does not support OCR (Optical
1340      * Character Recognition), does not accept pictures as a valid input for captions,
1341      * and is not available for audio-only transcoding. Elastic Transcoder does not
1342      * preserve text formatting (for example, italics) during the transcoding
1343      * process.</p> <p>To remove captions or leave the captions empty, set
1344      * <code>Captions</code> to null. To pass through existing captions unchanged, set
1345      * the <code>MergePolicy</code> to <code>MergeRetain</code>, and pass in a null
1346      * <code>CaptionSources</code> array.</p> <p>For more information on embedded
1347      * files, see the Subtitles Wikipedia page.</p> <p>For more information on sidecar
1348      * files, see the Extensible Metadata Platform and Sidecar file Wikipedia
1349      * pages.</p>
1350      */
SetCaptions(const Captions & value)1351     inline void SetCaptions(const Captions& value) { m_captionsHasBeenSet = true; m_captions = value; }
1352 
1353     /**
1354      * <p>You can configure Elastic Transcoder to transcode captions, or subtitles,
1355      * from one format to another. All captions must be in UTF-8. Elastic Transcoder
1356      * supports two types of captions:</p> <ul> <li> <p> <b>Embedded:</b> Embedded
1357      * captions are included in the same file as the audio and video. Elastic
1358      * Transcoder supports only one embedded caption per language, to a maximum of 300
1359      * embedded captions per file.</p> <p>Valid input values include: <code>CEA-608
1360      * (EIA-608</code>, first non-empty channel only), <code>CEA-708 (EIA-708</code>,
1361      * first non-empty channel only), and <code>mov-text</code> </p> <p>Valid outputs
1362      * include: <code>mov-text</code> </p> <p>Elastic Transcoder supports a maximum of
1363      * one embedded format per output.</p> </li> <li> <p> <b>Sidecar:</b> Sidecar
1364      * captions are kept in a separate metadata file from the audio and video data.
1365      * Sidecar captions require a player that is capable of understanding the
1366      * relationship between the video file and the sidecar file. Elastic Transcoder
1367      * supports only one sidecar caption per language, to a maximum of 20 sidecar
1368      * captions per file.</p> <p>Valid input values include: <code>dfxp</code> (first
1369      * div element only), <code>ebu-tt</code>, <code>scc</code>, <code>smpt</code>,
1370      * <code>srt</code>, <code>ttml</code> (first div element only), and
1371      * <code>webvtt</code> </p> <p>Valid outputs include: <code>dfxp</code> (first div
1372      * element only), <code>scc</code>, <code>srt</code>, and <code>webvtt</code>.</p>
1373      * </li> </ul> <p>If you want ttml or smpte-tt compatible captions, specify dfxp as
1374      * your output format.</p> <p>Elastic Transcoder does not support OCR (Optical
1375      * Character Recognition), does not accept pictures as a valid input for captions,
1376      * and is not available for audio-only transcoding. Elastic Transcoder does not
1377      * preserve text formatting (for example, italics) during the transcoding
1378      * process.</p> <p>To remove captions or leave the captions empty, set
1379      * <code>Captions</code> to null. To pass through existing captions unchanged, set
1380      * the <code>MergePolicy</code> to <code>MergeRetain</code>, and pass in a null
1381      * <code>CaptionSources</code> array.</p> <p>For more information on embedded
1382      * files, see the Subtitles Wikipedia page.</p> <p>For more information on sidecar
1383      * files, see the Extensible Metadata Platform and Sidecar file Wikipedia
1384      * pages.</p>
1385      */
SetCaptions(Captions && value)1386     inline void SetCaptions(Captions&& value) { m_captionsHasBeenSet = true; m_captions = std::move(value); }
1387 
1388     /**
1389      * <p>You can configure Elastic Transcoder to transcode captions, or subtitles,
1390      * from one format to another. All captions must be in UTF-8. Elastic Transcoder
1391      * supports two types of captions:</p> <ul> <li> <p> <b>Embedded:</b> Embedded
1392      * captions are included in the same file as the audio and video. Elastic
1393      * Transcoder supports only one embedded caption per language, to a maximum of 300
1394      * embedded captions per file.</p> <p>Valid input values include: <code>CEA-608
1395      * (EIA-608</code>, first non-empty channel only), <code>CEA-708 (EIA-708</code>,
1396      * first non-empty channel only), and <code>mov-text</code> </p> <p>Valid outputs
1397      * include: <code>mov-text</code> </p> <p>Elastic Transcoder supports a maximum of
1398      * one embedded format per output.</p> </li> <li> <p> <b>Sidecar:</b> Sidecar
1399      * captions are kept in a separate metadata file from the audio and video data.
1400      * Sidecar captions require a player that is capable of understanding the
1401      * relationship between the video file and the sidecar file. Elastic Transcoder
1402      * supports only one sidecar caption per language, to a maximum of 20 sidecar
1403      * captions per file.</p> <p>Valid input values include: <code>dfxp</code> (first
1404      * div element only), <code>ebu-tt</code>, <code>scc</code>, <code>smpt</code>,
1405      * <code>srt</code>, <code>ttml</code> (first div element only), and
1406      * <code>webvtt</code> </p> <p>Valid outputs include: <code>dfxp</code> (first div
1407      * element only), <code>scc</code>, <code>srt</code>, and <code>webvtt</code>.</p>
1408      * </li> </ul> <p>If you want ttml or smpte-tt compatible captions, specify dfxp as
1409      * your output format.</p> <p>Elastic Transcoder does not support OCR (Optical
1410      * Character Recognition), does not accept pictures as a valid input for captions,
1411      * and is not available for audio-only transcoding. Elastic Transcoder does not
1412      * preserve text formatting (for example, italics) during the transcoding
1413      * process.</p> <p>To remove captions or leave the captions empty, set
1414      * <code>Captions</code> to null. To pass through existing captions unchanged, set
1415      * the <code>MergePolicy</code> to <code>MergeRetain</code>, and pass in a null
1416      * <code>CaptionSources</code> array.</p> <p>For more information on embedded
1417      * files, see the Subtitles Wikipedia page.</p> <p>For more information on sidecar
1418      * files, see the Extensible Metadata Platform and Sidecar file Wikipedia
1419      * pages.</p>
1420      */
WithCaptions(const Captions & value)1421     inline JobOutput& WithCaptions(const Captions& value) { SetCaptions(value); return *this;}
1422 
1423     /**
1424      * <p>You can configure Elastic Transcoder to transcode captions, or subtitles,
1425      * from one format to another. All captions must be in UTF-8. Elastic Transcoder
1426      * supports two types of captions:</p> <ul> <li> <p> <b>Embedded:</b> Embedded
1427      * captions are included in the same file as the audio and video. Elastic
1428      * Transcoder supports only one embedded caption per language, to a maximum of 300
1429      * embedded captions per file.</p> <p>Valid input values include: <code>CEA-608
1430      * (EIA-608</code>, first non-empty channel only), <code>CEA-708 (EIA-708</code>,
1431      * first non-empty channel only), and <code>mov-text</code> </p> <p>Valid outputs
1432      * include: <code>mov-text</code> </p> <p>Elastic Transcoder supports a maximum of
1433      * one embedded format per output.</p> </li> <li> <p> <b>Sidecar:</b> Sidecar
1434      * captions are kept in a separate metadata file from the audio and video data.
1435      * Sidecar captions require a player that is capable of understanding the
1436      * relationship between the video file and the sidecar file. Elastic Transcoder
1437      * supports only one sidecar caption per language, to a maximum of 20 sidecar
1438      * captions per file.</p> <p>Valid input values include: <code>dfxp</code> (first
1439      * div element only), <code>ebu-tt</code>, <code>scc</code>, <code>smpt</code>,
1440      * <code>srt</code>, <code>ttml</code> (first div element only), and
1441      * <code>webvtt</code> </p> <p>Valid outputs include: <code>dfxp</code> (first div
1442      * element only), <code>scc</code>, <code>srt</code>, and <code>webvtt</code>.</p>
1443      * </li> </ul> <p>If you want ttml or smpte-tt compatible captions, specify dfxp as
1444      * your output format.</p> <p>Elastic Transcoder does not support OCR (Optical
1445      * Character Recognition), does not accept pictures as a valid input for captions,
1446      * and is not available for audio-only transcoding. Elastic Transcoder does not
1447      * preserve text formatting (for example, italics) during the transcoding
1448      * process.</p> <p>To remove captions or leave the captions empty, set
1449      * <code>Captions</code> to null. To pass through existing captions unchanged, set
1450      * the <code>MergePolicy</code> to <code>MergeRetain</code>, and pass in a null
1451      * <code>CaptionSources</code> array.</p> <p>For more information on embedded
1452      * files, see the Subtitles Wikipedia page.</p> <p>For more information on sidecar
1453      * files, see the Extensible Metadata Platform and Sidecar file Wikipedia
1454      * pages.</p>
1455      */
WithCaptions(Captions && value)1456     inline JobOutput& WithCaptions(Captions&& value) { SetCaptions(std::move(value)); return *this;}
1457 
1458 
1459     /**
1460      * <p>The encryption settings, if any, that you want Elastic Transcoder to apply to
1461      * your output files. If you choose to use encryption, you must specify a mode to
1462      * use. If you choose not to use encryption, Elastic Transcoder writes an
1463      * unencrypted file to your Amazon S3 bucket.</p>
1464      */
GetEncryption()1465     inline const Encryption& GetEncryption() const{ return m_encryption; }
1466 
1467     /**
1468      * <p>The encryption settings, if any, that you want Elastic Transcoder to apply to
1469      * your output files. If you choose to use encryption, you must specify a mode to
1470      * use. If you choose not to use encryption, Elastic Transcoder writes an
1471      * unencrypted file to your Amazon S3 bucket.</p>
1472      */
EncryptionHasBeenSet()1473     inline bool EncryptionHasBeenSet() const { return m_encryptionHasBeenSet; }
1474 
1475     /**
1476      * <p>The encryption settings, if any, that you want Elastic Transcoder to apply to
1477      * your output files. If you choose to use encryption, you must specify a mode to
1478      * use. If you choose not to use encryption, Elastic Transcoder writes an
1479      * unencrypted file to your Amazon S3 bucket.</p>
1480      */
SetEncryption(const Encryption & value)1481     inline void SetEncryption(const Encryption& value) { m_encryptionHasBeenSet = true; m_encryption = value; }
1482 
1483     /**
1484      * <p>The encryption settings, if any, that you want Elastic Transcoder to apply to
1485      * your output files. If you choose to use encryption, you must specify a mode to
1486      * use. If you choose not to use encryption, Elastic Transcoder writes an
1487      * unencrypted file to your Amazon S3 bucket.</p>
1488      */
SetEncryption(Encryption && value)1489     inline void SetEncryption(Encryption&& value) { m_encryptionHasBeenSet = true; m_encryption = std::move(value); }
1490 
1491     /**
1492      * <p>The encryption settings, if any, that you want Elastic Transcoder to apply to
1493      * your output files. If you choose to use encryption, you must specify a mode to
1494      * use. If you choose not to use encryption, Elastic Transcoder writes an
1495      * unencrypted file to your Amazon S3 bucket.</p>
1496      */
WithEncryption(const Encryption & value)1497     inline JobOutput& WithEncryption(const Encryption& value) { SetEncryption(value); return *this;}
1498 
1499     /**
1500      * <p>The encryption settings, if any, that you want Elastic Transcoder to apply to
1501      * your output files. If you choose to use encryption, you must specify a mode to
1502      * use. If you choose not to use encryption, Elastic Transcoder writes an
1503      * unencrypted file to your Amazon S3 bucket.</p>
1504      */
WithEncryption(Encryption && value)1505     inline JobOutput& WithEncryption(Encryption&& value) { SetEncryption(std::move(value)); return *this;}
1506 
1507 
1508     /**
1509      * <p>If Elastic Transcoder used a preset with a
1510      * <code>ColorSpaceConversionMode</code> to transcode the output file, the
1511      * <code>AppliedColorSpaceConversion</code> parameter shows the conversion used. If
1512      * no <code>ColorSpaceConversionMode</code> was defined in the preset, this
1513      * parameter is not be included in the job response.</p>
1514      */
GetAppliedColorSpaceConversion()1515     inline const Aws::String& GetAppliedColorSpaceConversion() const{ return m_appliedColorSpaceConversion; }
1516 
1517     /**
1518      * <p>If Elastic Transcoder used a preset with a
1519      * <code>ColorSpaceConversionMode</code> to transcode the output file, the
1520      * <code>AppliedColorSpaceConversion</code> parameter shows the conversion used. If
1521      * no <code>ColorSpaceConversionMode</code> was defined in the preset, this
1522      * parameter is not be included in the job response.</p>
1523      */
AppliedColorSpaceConversionHasBeenSet()1524     inline bool AppliedColorSpaceConversionHasBeenSet() const { return m_appliedColorSpaceConversionHasBeenSet; }
1525 
1526     /**
1527      * <p>If Elastic Transcoder used a preset with a
1528      * <code>ColorSpaceConversionMode</code> to transcode the output file, the
1529      * <code>AppliedColorSpaceConversion</code> parameter shows the conversion used. If
1530      * no <code>ColorSpaceConversionMode</code> was defined in the preset, this
1531      * parameter is not be included in the job response.</p>
1532      */
SetAppliedColorSpaceConversion(const Aws::String & value)1533     inline void SetAppliedColorSpaceConversion(const Aws::String& value) { m_appliedColorSpaceConversionHasBeenSet = true; m_appliedColorSpaceConversion = value; }
1534 
1535     /**
1536      * <p>If Elastic Transcoder used a preset with a
1537      * <code>ColorSpaceConversionMode</code> to transcode the output file, the
1538      * <code>AppliedColorSpaceConversion</code> parameter shows the conversion used. If
1539      * no <code>ColorSpaceConversionMode</code> was defined in the preset, this
1540      * parameter is not be included in the job response.</p>
1541      */
SetAppliedColorSpaceConversion(Aws::String && value)1542     inline void SetAppliedColorSpaceConversion(Aws::String&& value) { m_appliedColorSpaceConversionHasBeenSet = true; m_appliedColorSpaceConversion = std::move(value); }
1543 
1544     /**
1545      * <p>If Elastic Transcoder used a preset with a
1546      * <code>ColorSpaceConversionMode</code> to transcode the output file, the
1547      * <code>AppliedColorSpaceConversion</code> parameter shows the conversion used. If
1548      * no <code>ColorSpaceConversionMode</code> was defined in the preset, this
1549      * parameter is not be included in the job response.</p>
1550      */
SetAppliedColorSpaceConversion(const char * value)1551     inline void SetAppliedColorSpaceConversion(const char* value) { m_appliedColorSpaceConversionHasBeenSet = true; m_appliedColorSpaceConversion.assign(value); }
1552 
1553     /**
1554      * <p>If Elastic Transcoder used a preset with a
1555      * <code>ColorSpaceConversionMode</code> to transcode the output file, the
1556      * <code>AppliedColorSpaceConversion</code> parameter shows the conversion used. If
1557      * no <code>ColorSpaceConversionMode</code> was defined in the preset, this
1558      * parameter is not be included in the job response.</p>
1559      */
WithAppliedColorSpaceConversion(const Aws::String & value)1560     inline JobOutput& WithAppliedColorSpaceConversion(const Aws::String& value) { SetAppliedColorSpaceConversion(value); return *this;}
1561 
1562     /**
1563      * <p>If Elastic Transcoder used a preset with a
1564      * <code>ColorSpaceConversionMode</code> to transcode the output file, the
1565      * <code>AppliedColorSpaceConversion</code> parameter shows the conversion used. If
1566      * no <code>ColorSpaceConversionMode</code> was defined in the preset, this
1567      * parameter is not be included in the job response.</p>
1568      */
WithAppliedColorSpaceConversion(Aws::String && value)1569     inline JobOutput& WithAppliedColorSpaceConversion(Aws::String&& value) { SetAppliedColorSpaceConversion(std::move(value)); return *this;}
1570 
1571     /**
1572      * <p>If Elastic Transcoder used a preset with a
1573      * <code>ColorSpaceConversionMode</code> to transcode the output file, the
1574      * <code>AppliedColorSpaceConversion</code> parameter shows the conversion used. If
1575      * no <code>ColorSpaceConversionMode</code> was defined in the preset, this
1576      * parameter is not be included in the job response.</p>
1577      */
WithAppliedColorSpaceConversion(const char * value)1578     inline JobOutput& WithAppliedColorSpaceConversion(const char* value) { SetAppliedColorSpaceConversion(value); return *this;}
1579 
1580   private:
1581 
1582     Aws::String m_id;
1583     bool m_idHasBeenSet;
1584 
1585     Aws::String m_key;
1586     bool m_keyHasBeenSet;
1587 
1588     Aws::String m_thumbnailPattern;
1589     bool m_thumbnailPatternHasBeenSet;
1590 
1591     Encryption m_thumbnailEncryption;
1592     bool m_thumbnailEncryptionHasBeenSet;
1593 
1594     Aws::String m_rotate;
1595     bool m_rotateHasBeenSet;
1596 
1597     Aws::String m_presetId;
1598     bool m_presetIdHasBeenSet;
1599 
1600     Aws::String m_segmentDuration;
1601     bool m_segmentDurationHasBeenSet;
1602 
1603     Aws::String m_status;
1604     bool m_statusHasBeenSet;
1605 
1606     Aws::String m_statusDetail;
1607     bool m_statusDetailHasBeenSet;
1608 
1609     long long m_duration;
1610     bool m_durationHasBeenSet;
1611 
1612     int m_width;
1613     bool m_widthHasBeenSet;
1614 
1615     int m_height;
1616     bool m_heightHasBeenSet;
1617 
1618     Aws::String m_frameRate;
1619     bool m_frameRateHasBeenSet;
1620 
1621     long long m_fileSize;
1622     bool m_fileSizeHasBeenSet;
1623 
1624     long long m_durationMillis;
1625     bool m_durationMillisHasBeenSet;
1626 
1627     Aws::Vector<JobWatermark> m_watermarks;
1628     bool m_watermarksHasBeenSet;
1629 
1630     JobAlbumArt m_albumArt;
1631     bool m_albumArtHasBeenSet;
1632 
1633     Captions m_captions;
1634     bool m_captionsHasBeenSet;
1635 
1636     Encryption m_encryption;
1637     bool m_encryptionHasBeenSet;
1638 
1639     Aws::String m_appliedColorSpaceConversion;
1640     bool m_appliedColorSpaceConversionHasBeenSet;
1641   };
1642 
1643 } // namespace Model
1644 } // namespace ElasticTranscoder
1645 } // namespace Aws
1646