1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package mediaconvert
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12)
13
14const opCancelJob = "CancelJob"
15
16// CancelJobRequest generates a "aws/request.Request" representing the
17// client's request for the CancelJob operation. The "output" return
18// value will be populated with the request's response once the request completes
19// successfuly.
20//
21// Use "Send" method on the returned Request to send the API call to the service.
22// the "output" return value is not valid until after Send returns without error.
23//
24// See CancelJob for more information on using the CancelJob
25// API call, and error handling.
26//
27// This method is useful when you want to inject custom logic or configuration
28// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29//
30//
31//    // Example sending a request using the CancelJobRequest method.
32//    req, resp := client.CancelJobRequest(params)
33//
34//    err := req.Send()
35//    if err == nil { // resp is now filled
36//        fmt.Println(resp)
37//    }
38//
39// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CancelJob
40func (c *MediaConvert) CancelJobRequest(input *CancelJobInput) (req *request.Request, output *CancelJobOutput) {
41	op := &request.Operation{
42		Name:       opCancelJob,
43		HTTPMethod: "DELETE",
44		HTTPPath:   "/2017-08-29/jobs/{id}",
45	}
46
47	if input == nil {
48		input = &CancelJobInput{}
49	}
50
51	output = &CancelJobOutput{}
52	req = c.newRequest(op, input, output)
53	return
54}
55
56// CancelJob API operation for AWS Elemental MediaConvert.
57//
58// Permanently remove a job from a queue. Once you have canceled a job, you
59// can't start it again. You can't delete a running job.
60//
61// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
62// with awserr.Error's Code and Message methods to get detailed information about
63// the error.
64//
65// See the AWS API reference guide for AWS Elemental MediaConvert's
66// API operation CancelJob for usage and error information.
67//
68// Returned Error Codes:
69//   * ErrCodeBadRequestException "BadRequestException"
70//
71//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
72//
73//   * ErrCodeForbiddenException "ForbiddenException"
74//
75//   * ErrCodeNotFoundException "NotFoundException"
76//
77//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
78//
79//   * ErrCodeConflictException "ConflictException"
80//
81// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CancelJob
82func (c *MediaConvert) CancelJob(input *CancelJobInput) (*CancelJobOutput, error) {
83	req, out := c.CancelJobRequest(input)
84	return out, req.Send()
85}
86
87// CancelJobWithContext is the same as CancelJob with the addition of
88// the ability to pass a context and additional request options.
89//
90// See CancelJob for details on how to use this API operation.
91//
92// The context must be non-nil and will be used for request cancellation. If
93// the context is nil a panic will occur. In the future the SDK may create
94// sub-contexts for http.Requests. See https://golang.org/pkg/context/
95// for more information on using Contexts.
96func (c *MediaConvert) CancelJobWithContext(ctx aws.Context, input *CancelJobInput, opts ...request.Option) (*CancelJobOutput, error) {
97	req, out := c.CancelJobRequest(input)
98	req.SetContext(ctx)
99	req.ApplyOptions(opts...)
100	return out, req.Send()
101}
102
103const opCreateJob = "CreateJob"
104
105// CreateJobRequest generates a "aws/request.Request" representing the
106// client's request for the CreateJob operation. The "output" return
107// value will be populated with the request's response once the request completes
108// successfuly.
109//
110// Use "Send" method on the returned Request to send the API call to the service.
111// the "output" return value is not valid until after Send returns without error.
112//
113// See CreateJob for more information on using the CreateJob
114// API call, and error handling.
115//
116// This method is useful when you want to inject custom logic or configuration
117// into the SDK's request lifecycle. Such as custom headers, or retry logic.
118//
119//
120//    // Example sending a request using the CreateJobRequest method.
121//    req, resp := client.CreateJobRequest(params)
122//
123//    err := req.Send()
124//    if err == nil { // resp is now filled
125//        fmt.Println(resp)
126//    }
127//
128// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CreateJob
129func (c *MediaConvert) CreateJobRequest(input *CreateJobInput) (req *request.Request, output *CreateJobOutput) {
130	op := &request.Operation{
131		Name:       opCreateJob,
132		HTTPMethod: "POST",
133		HTTPPath:   "/2017-08-29/jobs",
134	}
135
136	if input == nil {
137		input = &CreateJobInput{}
138	}
139
140	output = &CreateJobOutput{}
141	req = c.newRequest(op, input, output)
142	return
143}
144
145// CreateJob API operation for AWS Elemental MediaConvert.
146//
147// Create a new transcoding job. For information about jobs and job settings,
148// see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
149//
150// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
151// with awserr.Error's Code and Message methods to get detailed information about
152// the error.
153//
154// See the AWS API reference guide for AWS Elemental MediaConvert's
155// API operation CreateJob for usage and error information.
156//
157// Returned Error Codes:
158//   * ErrCodeBadRequestException "BadRequestException"
159//
160//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
161//
162//   * ErrCodeForbiddenException "ForbiddenException"
163//
164//   * ErrCodeNotFoundException "NotFoundException"
165//
166//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
167//
168//   * ErrCodeConflictException "ConflictException"
169//
170// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CreateJob
171func (c *MediaConvert) CreateJob(input *CreateJobInput) (*CreateJobOutput, error) {
172	req, out := c.CreateJobRequest(input)
173	return out, req.Send()
174}
175
176// CreateJobWithContext is the same as CreateJob with the addition of
177// the ability to pass a context and additional request options.
178//
179// See CreateJob for details on how to use this API operation.
180//
181// The context must be non-nil and will be used for request cancellation. If
182// the context is nil a panic will occur. In the future the SDK may create
183// sub-contexts for http.Requests. See https://golang.org/pkg/context/
184// for more information on using Contexts.
185func (c *MediaConvert) CreateJobWithContext(ctx aws.Context, input *CreateJobInput, opts ...request.Option) (*CreateJobOutput, error) {
186	req, out := c.CreateJobRequest(input)
187	req.SetContext(ctx)
188	req.ApplyOptions(opts...)
189	return out, req.Send()
190}
191
192const opCreateJobTemplate = "CreateJobTemplate"
193
194// CreateJobTemplateRequest generates a "aws/request.Request" representing the
195// client's request for the CreateJobTemplate operation. The "output" return
196// value will be populated with the request's response once the request completes
197// successfuly.
198//
199// Use "Send" method on the returned Request to send the API call to the service.
200// the "output" return value is not valid until after Send returns without error.
201//
202// See CreateJobTemplate for more information on using the CreateJobTemplate
203// API call, and error handling.
204//
205// This method is useful when you want to inject custom logic or configuration
206// into the SDK's request lifecycle. Such as custom headers, or retry logic.
207//
208//
209//    // Example sending a request using the CreateJobTemplateRequest method.
210//    req, resp := client.CreateJobTemplateRequest(params)
211//
212//    err := req.Send()
213//    if err == nil { // resp is now filled
214//        fmt.Println(resp)
215//    }
216//
217// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CreateJobTemplate
218func (c *MediaConvert) CreateJobTemplateRequest(input *CreateJobTemplateInput) (req *request.Request, output *CreateJobTemplateOutput) {
219	op := &request.Operation{
220		Name:       opCreateJobTemplate,
221		HTTPMethod: "POST",
222		HTTPPath:   "/2017-08-29/jobTemplates",
223	}
224
225	if input == nil {
226		input = &CreateJobTemplateInput{}
227	}
228
229	output = &CreateJobTemplateOutput{}
230	req = c.newRequest(op, input, output)
231	return
232}
233
234// CreateJobTemplate API operation for AWS Elemental MediaConvert.
235//
236// Create a new job template. For information about job templates see the User
237// Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
238//
239// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
240// with awserr.Error's Code and Message methods to get detailed information about
241// the error.
242//
243// See the AWS API reference guide for AWS Elemental MediaConvert's
244// API operation CreateJobTemplate for usage and error information.
245//
246// Returned Error Codes:
247//   * ErrCodeBadRequestException "BadRequestException"
248//
249//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
250//
251//   * ErrCodeForbiddenException "ForbiddenException"
252//
253//   * ErrCodeNotFoundException "NotFoundException"
254//
255//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
256//
257//   * ErrCodeConflictException "ConflictException"
258//
259// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CreateJobTemplate
260func (c *MediaConvert) CreateJobTemplate(input *CreateJobTemplateInput) (*CreateJobTemplateOutput, error) {
261	req, out := c.CreateJobTemplateRequest(input)
262	return out, req.Send()
263}
264
265// CreateJobTemplateWithContext is the same as CreateJobTemplate with the addition of
266// the ability to pass a context and additional request options.
267//
268// See CreateJobTemplate for details on how to use this API operation.
269//
270// The context must be non-nil and will be used for request cancellation. If
271// the context is nil a panic will occur. In the future the SDK may create
272// sub-contexts for http.Requests. See https://golang.org/pkg/context/
273// for more information on using Contexts.
274func (c *MediaConvert) CreateJobTemplateWithContext(ctx aws.Context, input *CreateJobTemplateInput, opts ...request.Option) (*CreateJobTemplateOutput, error) {
275	req, out := c.CreateJobTemplateRequest(input)
276	req.SetContext(ctx)
277	req.ApplyOptions(opts...)
278	return out, req.Send()
279}
280
281const opCreatePreset = "CreatePreset"
282
283// CreatePresetRequest generates a "aws/request.Request" representing the
284// client's request for the CreatePreset operation. The "output" return
285// value will be populated with the request's response once the request completes
286// successfuly.
287//
288// Use "Send" method on the returned Request to send the API call to the service.
289// the "output" return value is not valid until after Send returns without error.
290//
291// See CreatePreset for more information on using the CreatePreset
292// API call, and error handling.
293//
294// This method is useful when you want to inject custom logic or configuration
295// into the SDK's request lifecycle. Such as custom headers, or retry logic.
296//
297//
298//    // Example sending a request using the CreatePresetRequest method.
299//    req, resp := client.CreatePresetRequest(params)
300//
301//    err := req.Send()
302//    if err == nil { // resp is now filled
303//        fmt.Println(resp)
304//    }
305//
306// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CreatePreset
307func (c *MediaConvert) CreatePresetRequest(input *CreatePresetInput) (req *request.Request, output *CreatePresetOutput) {
308	op := &request.Operation{
309		Name:       opCreatePreset,
310		HTTPMethod: "POST",
311		HTTPPath:   "/2017-08-29/presets",
312	}
313
314	if input == nil {
315		input = &CreatePresetInput{}
316	}
317
318	output = &CreatePresetOutput{}
319	req = c.newRequest(op, input, output)
320	return
321}
322
323// CreatePreset API operation for AWS Elemental MediaConvert.
324//
325// Create a new preset. For information about job templates see the User Guide
326// at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
327//
328// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
329// with awserr.Error's Code and Message methods to get detailed information about
330// the error.
331//
332// See the AWS API reference guide for AWS Elemental MediaConvert's
333// API operation CreatePreset for usage and error information.
334//
335// Returned Error Codes:
336//   * ErrCodeBadRequestException "BadRequestException"
337//
338//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
339//
340//   * ErrCodeForbiddenException "ForbiddenException"
341//
342//   * ErrCodeNotFoundException "NotFoundException"
343//
344//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
345//
346//   * ErrCodeConflictException "ConflictException"
347//
348// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CreatePreset
349func (c *MediaConvert) CreatePreset(input *CreatePresetInput) (*CreatePresetOutput, error) {
350	req, out := c.CreatePresetRequest(input)
351	return out, req.Send()
352}
353
354// CreatePresetWithContext is the same as CreatePreset with the addition of
355// the ability to pass a context and additional request options.
356//
357// See CreatePreset for details on how to use this API operation.
358//
359// The context must be non-nil and will be used for request cancellation. If
360// the context is nil a panic will occur. In the future the SDK may create
361// sub-contexts for http.Requests. See https://golang.org/pkg/context/
362// for more information on using Contexts.
363func (c *MediaConvert) CreatePresetWithContext(ctx aws.Context, input *CreatePresetInput, opts ...request.Option) (*CreatePresetOutput, error) {
364	req, out := c.CreatePresetRequest(input)
365	req.SetContext(ctx)
366	req.ApplyOptions(opts...)
367	return out, req.Send()
368}
369
370const opCreateQueue = "CreateQueue"
371
372// CreateQueueRequest generates a "aws/request.Request" representing the
373// client's request for the CreateQueue operation. The "output" return
374// value will be populated with the request's response once the request completes
375// successfuly.
376//
377// Use "Send" method on the returned Request to send the API call to the service.
378// the "output" return value is not valid until after Send returns without error.
379//
380// See CreateQueue for more information on using the CreateQueue
381// API call, and error handling.
382//
383// This method is useful when you want to inject custom logic or configuration
384// into the SDK's request lifecycle. Such as custom headers, or retry logic.
385//
386//
387//    // Example sending a request using the CreateQueueRequest method.
388//    req, resp := client.CreateQueueRequest(params)
389//
390//    err := req.Send()
391//    if err == nil { // resp is now filled
392//        fmt.Println(resp)
393//    }
394//
395// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CreateQueue
396func (c *MediaConvert) CreateQueueRequest(input *CreateQueueInput) (req *request.Request, output *CreateQueueOutput) {
397	op := &request.Operation{
398		Name:       opCreateQueue,
399		HTTPMethod: "POST",
400		HTTPPath:   "/2017-08-29/queues",
401	}
402
403	if input == nil {
404		input = &CreateQueueInput{}
405	}
406
407	output = &CreateQueueOutput{}
408	req = c.newRequest(op, input, output)
409	return
410}
411
412// CreateQueue API operation for AWS Elemental MediaConvert.
413//
414// Create a new transcoding queue. For information about job templates see the
415// User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
416//
417// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
418// with awserr.Error's Code and Message methods to get detailed information about
419// the error.
420//
421// See the AWS API reference guide for AWS Elemental MediaConvert's
422// API operation CreateQueue for usage and error information.
423//
424// Returned Error Codes:
425//   * ErrCodeBadRequestException "BadRequestException"
426//
427//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
428//
429//   * ErrCodeForbiddenException "ForbiddenException"
430//
431//   * ErrCodeNotFoundException "NotFoundException"
432//
433//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
434//
435//   * ErrCodeConflictException "ConflictException"
436//
437// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/CreateQueue
438func (c *MediaConvert) CreateQueue(input *CreateQueueInput) (*CreateQueueOutput, error) {
439	req, out := c.CreateQueueRequest(input)
440	return out, req.Send()
441}
442
443// CreateQueueWithContext is the same as CreateQueue with the addition of
444// the ability to pass a context and additional request options.
445//
446// See CreateQueue for details on how to use this API operation.
447//
448// The context must be non-nil and will be used for request cancellation. If
449// the context is nil a panic will occur. In the future the SDK may create
450// sub-contexts for http.Requests. See https://golang.org/pkg/context/
451// for more information on using Contexts.
452func (c *MediaConvert) CreateQueueWithContext(ctx aws.Context, input *CreateQueueInput, opts ...request.Option) (*CreateQueueOutput, error) {
453	req, out := c.CreateQueueRequest(input)
454	req.SetContext(ctx)
455	req.ApplyOptions(opts...)
456	return out, req.Send()
457}
458
459const opDeleteJobTemplate = "DeleteJobTemplate"
460
461// DeleteJobTemplateRequest generates a "aws/request.Request" representing the
462// client's request for the DeleteJobTemplate operation. The "output" return
463// value will be populated with the request's response once the request completes
464// successfuly.
465//
466// Use "Send" method on the returned Request to send the API call to the service.
467// the "output" return value is not valid until after Send returns without error.
468//
469// See DeleteJobTemplate for more information on using the DeleteJobTemplate
470// API call, and error handling.
471//
472// This method is useful when you want to inject custom logic or configuration
473// into the SDK's request lifecycle. Such as custom headers, or retry logic.
474//
475//
476//    // Example sending a request using the DeleteJobTemplateRequest method.
477//    req, resp := client.DeleteJobTemplateRequest(params)
478//
479//    err := req.Send()
480//    if err == nil { // resp is now filled
481//        fmt.Println(resp)
482//    }
483//
484// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DeleteJobTemplate
485func (c *MediaConvert) DeleteJobTemplateRequest(input *DeleteJobTemplateInput) (req *request.Request, output *DeleteJobTemplateOutput) {
486	op := &request.Operation{
487		Name:       opDeleteJobTemplate,
488		HTTPMethod: "DELETE",
489		HTTPPath:   "/2017-08-29/jobTemplates/{name}",
490	}
491
492	if input == nil {
493		input = &DeleteJobTemplateInput{}
494	}
495
496	output = &DeleteJobTemplateOutput{}
497	req = c.newRequest(op, input, output)
498	return
499}
500
501// DeleteJobTemplate API operation for AWS Elemental MediaConvert.
502//
503// Permanently delete a job template you have created.
504//
505// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
506// with awserr.Error's Code and Message methods to get detailed information about
507// the error.
508//
509// See the AWS API reference guide for AWS Elemental MediaConvert's
510// API operation DeleteJobTemplate for usage and error information.
511//
512// Returned Error Codes:
513//   * ErrCodeBadRequestException "BadRequestException"
514//
515//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
516//
517//   * ErrCodeForbiddenException "ForbiddenException"
518//
519//   * ErrCodeNotFoundException "NotFoundException"
520//
521//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
522//
523//   * ErrCodeConflictException "ConflictException"
524//
525// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DeleteJobTemplate
526func (c *MediaConvert) DeleteJobTemplate(input *DeleteJobTemplateInput) (*DeleteJobTemplateOutput, error) {
527	req, out := c.DeleteJobTemplateRequest(input)
528	return out, req.Send()
529}
530
531// DeleteJobTemplateWithContext is the same as DeleteJobTemplate with the addition of
532// the ability to pass a context and additional request options.
533//
534// See DeleteJobTemplate for details on how to use this API operation.
535//
536// The context must be non-nil and will be used for request cancellation. If
537// the context is nil a panic will occur. In the future the SDK may create
538// sub-contexts for http.Requests. See https://golang.org/pkg/context/
539// for more information on using Contexts.
540func (c *MediaConvert) DeleteJobTemplateWithContext(ctx aws.Context, input *DeleteJobTemplateInput, opts ...request.Option) (*DeleteJobTemplateOutput, error) {
541	req, out := c.DeleteJobTemplateRequest(input)
542	req.SetContext(ctx)
543	req.ApplyOptions(opts...)
544	return out, req.Send()
545}
546
547const opDeletePreset = "DeletePreset"
548
549// DeletePresetRequest generates a "aws/request.Request" representing the
550// client's request for the DeletePreset operation. The "output" return
551// value will be populated with the request's response once the request completes
552// successfuly.
553//
554// Use "Send" method on the returned Request to send the API call to the service.
555// the "output" return value is not valid until after Send returns without error.
556//
557// See DeletePreset for more information on using the DeletePreset
558// API call, and error handling.
559//
560// This method is useful when you want to inject custom logic or configuration
561// into the SDK's request lifecycle. Such as custom headers, or retry logic.
562//
563//
564//    // Example sending a request using the DeletePresetRequest method.
565//    req, resp := client.DeletePresetRequest(params)
566//
567//    err := req.Send()
568//    if err == nil { // resp is now filled
569//        fmt.Println(resp)
570//    }
571//
572// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DeletePreset
573func (c *MediaConvert) DeletePresetRequest(input *DeletePresetInput) (req *request.Request, output *DeletePresetOutput) {
574	op := &request.Operation{
575		Name:       opDeletePreset,
576		HTTPMethod: "DELETE",
577		HTTPPath:   "/2017-08-29/presets/{name}",
578	}
579
580	if input == nil {
581		input = &DeletePresetInput{}
582	}
583
584	output = &DeletePresetOutput{}
585	req = c.newRequest(op, input, output)
586	return
587}
588
589// DeletePreset API operation for AWS Elemental MediaConvert.
590//
591// Permanently delete a preset you have created.
592//
593// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
594// with awserr.Error's Code and Message methods to get detailed information about
595// the error.
596//
597// See the AWS API reference guide for AWS Elemental MediaConvert's
598// API operation DeletePreset for usage and error information.
599//
600// Returned Error Codes:
601//   * ErrCodeBadRequestException "BadRequestException"
602//
603//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
604//
605//   * ErrCodeForbiddenException "ForbiddenException"
606//
607//   * ErrCodeNotFoundException "NotFoundException"
608//
609//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
610//
611//   * ErrCodeConflictException "ConflictException"
612//
613// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DeletePreset
614func (c *MediaConvert) DeletePreset(input *DeletePresetInput) (*DeletePresetOutput, error) {
615	req, out := c.DeletePresetRequest(input)
616	return out, req.Send()
617}
618
619// DeletePresetWithContext is the same as DeletePreset with the addition of
620// the ability to pass a context and additional request options.
621//
622// See DeletePreset for details on how to use this API operation.
623//
624// The context must be non-nil and will be used for request cancellation. If
625// the context is nil a panic will occur. In the future the SDK may create
626// sub-contexts for http.Requests. See https://golang.org/pkg/context/
627// for more information on using Contexts.
628func (c *MediaConvert) DeletePresetWithContext(ctx aws.Context, input *DeletePresetInput, opts ...request.Option) (*DeletePresetOutput, error) {
629	req, out := c.DeletePresetRequest(input)
630	req.SetContext(ctx)
631	req.ApplyOptions(opts...)
632	return out, req.Send()
633}
634
635const opDeleteQueue = "DeleteQueue"
636
637// DeleteQueueRequest generates a "aws/request.Request" representing the
638// client's request for the DeleteQueue operation. The "output" return
639// value will be populated with the request's response once the request completes
640// successfuly.
641//
642// Use "Send" method on the returned Request to send the API call to the service.
643// the "output" return value is not valid until after Send returns without error.
644//
645// See DeleteQueue for more information on using the DeleteQueue
646// API call, and error handling.
647//
648// This method is useful when you want to inject custom logic or configuration
649// into the SDK's request lifecycle. Such as custom headers, or retry logic.
650//
651//
652//    // Example sending a request using the DeleteQueueRequest method.
653//    req, resp := client.DeleteQueueRequest(params)
654//
655//    err := req.Send()
656//    if err == nil { // resp is now filled
657//        fmt.Println(resp)
658//    }
659//
660// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DeleteQueue
661func (c *MediaConvert) DeleteQueueRequest(input *DeleteQueueInput) (req *request.Request, output *DeleteQueueOutput) {
662	op := &request.Operation{
663		Name:       opDeleteQueue,
664		HTTPMethod: "DELETE",
665		HTTPPath:   "/2017-08-29/queues/{name}",
666	}
667
668	if input == nil {
669		input = &DeleteQueueInput{}
670	}
671
672	output = &DeleteQueueOutput{}
673	req = c.newRequest(op, input, output)
674	return
675}
676
677// DeleteQueue API operation for AWS Elemental MediaConvert.
678//
679// Permanently delete a queue you have created.
680//
681// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
682// with awserr.Error's Code and Message methods to get detailed information about
683// the error.
684//
685// See the AWS API reference guide for AWS Elemental MediaConvert's
686// API operation DeleteQueue for usage and error information.
687//
688// Returned Error Codes:
689//   * ErrCodeBadRequestException "BadRequestException"
690//
691//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
692//
693//   * ErrCodeForbiddenException "ForbiddenException"
694//
695//   * ErrCodeNotFoundException "NotFoundException"
696//
697//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
698//
699//   * ErrCodeConflictException "ConflictException"
700//
701// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DeleteQueue
702func (c *MediaConvert) DeleteQueue(input *DeleteQueueInput) (*DeleteQueueOutput, error) {
703	req, out := c.DeleteQueueRequest(input)
704	return out, req.Send()
705}
706
707// DeleteQueueWithContext is the same as DeleteQueue with the addition of
708// the ability to pass a context and additional request options.
709//
710// See DeleteQueue for details on how to use this API operation.
711//
712// The context must be non-nil and will be used for request cancellation. If
713// the context is nil a panic will occur. In the future the SDK may create
714// sub-contexts for http.Requests. See https://golang.org/pkg/context/
715// for more information on using Contexts.
716func (c *MediaConvert) DeleteQueueWithContext(ctx aws.Context, input *DeleteQueueInput, opts ...request.Option) (*DeleteQueueOutput, error) {
717	req, out := c.DeleteQueueRequest(input)
718	req.SetContext(ctx)
719	req.ApplyOptions(opts...)
720	return out, req.Send()
721}
722
723const opDescribeEndpoints = "DescribeEndpoints"
724
725// DescribeEndpointsRequest generates a "aws/request.Request" representing the
726// client's request for the DescribeEndpoints operation. The "output" return
727// value will be populated with the request's response once the request completes
728// successfuly.
729//
730// Use "Send" method on the returned Request to send the API call to the service.
731// the "output" return value is not valid until after Send returns without error.
732//
733// See DescribeEndpoints for more information on using the DescribeEndpoints
734// API call, and error handling.
735//
736// This method is useful when you want to inject custom logic or configuration
737// into the SDK's request lifecycle. Such as custom headers, or retry logic.
738//
739//
740//    // Example sending a request using the DescribeEndpointsRequest method.
741//    req, resp := client.DescribeEndpointsRequest(params)
742//
743//    err := req.Send()
744//    if err == nil { // resp is now filled
745//        fmt.Println(resp)
746//    }
747//
748// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DescribeEndpoints
749func (c *MediaConvert) DescribeEndpointsRequest(input *DescribeEndpointsInput) (req *request.Request, output *DescribeEndpointsOutput) {
750	op := &request.Operation{
751		Name:       opDescribeEndpoints,
752		HTTPMethod: "POST",
753		HTTPPath:   "/2017-08-29/endpoints",
754	}
755
756	if input == nil {
757		input = &DescribeEndpointsInput{}
758	}
759
760	output = &DescribeEndpointsOutput{}
761	req = c.newRequest(op, input, output)
762	return
763}
764
765// DescribeEndpoints API operation for AWS Elemental MediaConvert.
766//
767// Send an request with an empty body to the regional API endpoint to get your
768// account API endpoint.
769//
770// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
771// with awserr.Error's Code and Message methods to get detailed information about
772// the error.
773//
774// See the AWS API reference guide for AWS Elemental MediaConvert's
775// API operation DescribeEndpoints for usage and error information.
776//
777// Returned Error Codes:
778//   * ErrCodeBadRequestException "BadRequestException"
779//
780//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
781//
782//   * ErrCodeForbiddenException "ForbiddenException"
783//
784//   * ErrCodeNotFoundException "NotFoundException"
785//
786//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
787//
788//   * ErrCodeConflictException "ConflictException"
789//
790// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/DescribeEndpoints
791func (c *MediaConvert) DescribeEndpoints(input *DescribeEndpointsInput) (*DescribeEndpointsOutput, error) {
792	req, out := c.DescribeEndpointsRequest(input)
793	return out, req.Send()
794}
795
796// DescribeEndpointsWithContext is the same as DescribeEndpoints with the addition of
797// the ability to pass a context and additional request options.
798//
799// See DescribeEndpoints for details on how to use this API operation.
800//
801// The context must be non-nil and will be used for request cancellation. If
802// the context is nil a panic will occur. In the future the SDK may create
803// sub-contexts for http.Requests. See https://golang.org/pkg/context/
804// for more information on using Contexts.
805func (c *MediaConvert) DescribeEndpointsWithContext(ctx aws.Context, input *DescribeEndpointsInput, opts ...request.Option) (*DescribeEndpointsOutput, error) {
806	req, out := c.DescribeEndpointsRequest(input)
807	req.SetContext(ctx)
808	req.ApplyOptions(opts...)
809	return out, req.Send()
810}
811
812const opGetJob = "GetJob"
813
814// GetJobRequest generates a "aws/request.Request" representing the
815// client's request for the GetJob operation. The "output" return
816// value will be populated with the request's response once the request completes
817// successfuly.
818//
819// Use "Send" method on the returned Request to send the API call to the service.
820// the "output" return value is not valid until after Send returns without error.
821//
822// See GetJob for more information on using the GetJob
823// API call, and error handling.
824//
825// This method is useful when you want to inject custom logic or configuration
826// into the SDK's request lifecycle. Such as custom headers, or retry logic.
827//
828//
829//    // Example sending a request using the GetJobRequest method.
830//    req, resp := client.GetJobRequest(params)
831//
832//    err := req.Send()
833//    if err == nil { // resp is now filled
834//        fmt.Println(resp)
835//    }
836//
837// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetJob
838func (c *MediaConvert) GetJobRequest(input *GetJobInput) (req *request.Request, output *GetJobOutput) {
839	op := &request.Operation{
840		Name:       opGetJob,
841		HTTPMethod: "GET",
842		HTTPPath:   "/2017-08-29/jobs/{id}",
843	}
844
845	if input == nil {
846		input = &GetJobInput{}
847	}
848
849	output = &GetJobOutput{}
850	req = c.newRequest(op, input, output)
851	return
852}
853
854// GetJob API operation for AWS Elemental MediaConvert.
855//
856// Retrieve the JSON for a specific completed transcoding job.
857//
858// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
859// with awserr.Error's Code and Message methods to get detailed information about
860// the error.
861//
862// See the AWS API reference guide for AWS Elemental MediaConvert's
863// API operation GetJob for usage and error information.
864//
865// Returned Error Codes:
866//   * ErrCodeBadRequestException "BadRequestException"
867//
868//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
869//
870//   * ErrCodeForbiddenException "ForbiddenException"
871//
872//   * ErrCodeNotFoundException "NotFoundException"
873//
874//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
875//
876//   * ErrCodeConflictException "ConflictException"
877//
878// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetJob
879func (c *MediaConvert) GetJob(input *GetJobInput) (*GetJobOutput, error) {
880	req, out := c.GetJobRequest(input)
881	return out, req.Send()
882}
883
884// GetJobWithContext is the same as GetJob with the addition of
885// the ability to pass a context and additional request options.
886//
887// See GetJob for details on how to use this API operation.
888//
889// The context must be non-nil and will be used for request cancellation. If
890// the context is nil a panic will occur. In the future the SDK may create
891// sub-contexts for http.Requests. See https://golang.org/pkg/context/
892// for more information on using Contexts.
893func (c *MediaConvert) GetJobWithContext(ctx aws.Context, input *GetJobInput, opts ...request.Option) (*GetJobOutput, error) {
894	req, out := c.GetJobRequest(input)
895	req.SetContext(ctx)
896	req.ApplyOptions(opts...)
897	return out, req.Send()
898}
899
900const opGetJobTemplate = "GetJobTemplate"
901
902// GetJobTemplateRequest generates a "aws/request.Request" representing the
903// client's request for the GetJobTemplate operation. The "output" return
904// value will be populated with the request's response once the request completes
905// successfuly.
906//
907// Use "Send" method on the returned Request to send the API call to the service.
908// the "output" return value is not valid until after Send returns without error.
909//
910// See GetJobTemplate for more information on using the GetJobTemplate
911// API call, and error handling.
912//
913// This method is useful when you want to inject custom logic or configuration
914// into the SDK's request lifecycle. Such as custom headers, or retry logic.
915//
916//
917//    // Example sending a request using the GetJobTemplateRequest method.
918//    req, resp := client.GetJobTemplateRequest(params)
919//
920//    err := req.Send()
921//    if err == nil { // resp is now filled
922//        fmt.Println(resp)
923//    }
924//
925// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetJobTemplate
926func (c *MediaConvert) GetJobTemplateRequest(input *GetJobTemplateInput) (req *request.Request, output *GetJobTemplateOutput) {
927	op := &request.Operation{
928		Name:       opGetJobTemplate,
929		HTTPMethod: "GET",
930		HTTPPath:   "/2017-08-29/jobTemplates/{name}",
931	}
932
933	if input == nil {
934		input = &GetJobTemplateInput{}
935	}
936
937	output = &GetJobTemplateOutput{}
938	req = c.newRequest(op, input, output)
939	return
940}
941
942// GetJobTemplate API operation for AWS Elemental MediaConvert.
943//
944// Retrieve the JSON for a specific job template.
945//
946// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
947// with awserr.Error's Code and Message methods to get detailed information about
948// the error.
949//
950// See the AWS API reference guide for AWS Elemental MediaConvert's
951// API operation GetJobTemplate for usage and error information.
952//
953// Returned Error Codes:
954//   * ErrCodeBadRequestException "BadRequestException"
955//
956//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
957//
958//   * ErrCodeForbiddenException "ForbiddenException"
959//
960//   * ErrCodeNotFoundException "NotFoundException"
961//
962//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
963//
964//   * ErrCodeConflictException "ConflictException"
965//
966// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetJobTemplate
967func (c *MediaConvert) GetJobTemplate(input *GetJobTemplateInput) (*GetJobTemplateOutput, error) {
968	req, out := c.GetJobTemplateRequest(input)
969	return out, req.Send()
970}
971
972// GetJobTemplateWithContext is the same as GetJobTemplate with the addition of
973// the ability to pass a context and additional request options.
974//
975// See GetJobTemplate for details on how to use this API operation.
976//
977// The context must be non-nil and will be used for request cancellation. If
978// the context is nil a panic will occur. In the future the SDK may create
979// sub-contexts for http.Requests. See https://golang.org/pkg/context/
980// for more information on using Contexts.
981func (c *MediaConvert) GetJobTemplateWithContext(ctx aws.Context, input *GetJobTemplateInput, opts ...request.Option) (*GetJobTemplateOutput, error) {
982	req, out := c.GetJobTemplateRequest(input)
983	req.SetContext(ctx)
984	req.ApplyOptions(opts...)
985	return out, req.Send()
986}
987
988const opGetPreset = "GetPreset"
989
990// GetPresetRequest generates a "aws/request.Request" representing the
991// client's request for the GetPreset operation. The "output" return
992// value will be populated with the request's response once the request completes
993// successfuly.
994//
995// Use "Send" method on the returned Request to send the API call to the service.
996// the "output" return value is not valid until after Send returns without error.
997//
998// See GetPreset for more information on using the GetPreset
999// API call, and error handling.
1000//
1001// This method is useful when you want to inject custom logic or configuration
1002// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1003//
1004//
1005//    // Example sending a request using the GetPresetRequest method.
1006//    req, resp := client.GetPresetRequest(params)
1007//
1008//    err := req.Send()
1009//    if err == nil { // resp is now filled
1010//        fmt.Println(resp)
1011//    }
1012//
1013// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetPreset
1014func (c *MediaConvert) GetPresetRequest(input *GetPresetInput) (req *request.Request, output *GetPresetOutput) {
1015	op := &request.Operation{
1016		Name:       opGetPreset,
1017		HTTPMethod: "GET",
1018		HTTPPath:   "/2017-08-29/presets/{name}",
1019	}
1020
1021	if input == nil {
1022		input = &GetPresetInput{}
1023	}
1024
1025	output = &GetPresetOutput{}
1026	req = c.newRequest(op, input, output)
1027	return
1028}
1029
1030// GetPreset API operation for AWS Elemental MediaConvert.
1031//
1032// Retrieve the JSON for a specific preset.
1033//
1034// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1035// with awserr.Error's Code and Message methods to get detailed information about
1036// the error.
1037//
1038// See the AWS API reference guide for AWS Elemental MediaConvert's
1039// API operation GetPreset for usage and error information.
1040//
1041// Returned Error Codes:
1042//   * ErrCodeBadRequestException "BadRequestException"
1043//
1044//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1045//
1046//   * ErrCodeForbiddenException "ForbiddenException"
1047//
1048//   * ErrCodeNotFoundException "NotFoundException"
1049//
1050//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1051//
1052//   * ErrCodeConflictException "ConflictException"
1053//
1054// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetPreset
1055func (c *MediaConvert) GetPreset(input *GetPresetInput) (*GetPresetOutput, error) {
1056	req, out := c.GetPresetRequest(input)
1057	return out, req.Send()
1058}
1059
1060// GetPresetWithContext is the same as GetPreset with the addition of
1061// the ability to pass a context and additional request options.
1062//
1063// See GetPreset for details on how to use this API operation.
1064//
1065// The context must be non-nil and will be used for request cancellation. If
1066// the context is nil a panic will occur. In the future the SDK may create
1067// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1068// for more information on using Contexts.
1069func (c *MediaConvert) GetPresetWithContext(ctx aws.Context, input *GetPresetInput, opts ...request.Option) (*GetPresetOutput, error) {
1070	req, out := c.GetPresetRequest(input)
1071	req.SetContext(ctx)
1072	req.ApplyOptions(opts...)
1073	return out, req.Send()
1074}
1075
1076const opGetQueue = "GetQueue"
1077
1078// GetQueueRequest generates a "aws/request.Request" representing the
1079// client's request for the GetQueue operation. The "output" return
1080// value will be populated with the request's response once the request completes
1081// successfuly.
1082//
1083// Use "Send" method on the returned Request to send the API call to the service.
1084// the "output" return value is not valid until after Send returns without error.
1085//
1086// See GetQueue for more information on using the GetQueue
1087// API call, and error handling.
1088//
1089// This method is useful when you want to inject custom logic or configuration
1090// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1091//
1092//
1093//    // Example sending a request using the GetQueueRequest method.
1094//    req, resp := client.GetQueueRequest(params)
1095//
1096//    err := req.Send()
1097//    if err == nil { // resp is now filled
1098//        fmt.Println(resp)
1099//    }
1100//
1101// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetQueue
1102func (c *MediaConvert) GetQueueRequest(input *GetQueueInput) (req *request.Request, output *GetQueueOutput) {
1103	op := &request.Operation{
1104		Name:       opGetQueue,
1105		HTTPMethod: "GET",
1106		HTTPPath:   "/2017-08-29/queues/{name}",
1107	}
1108
1109	if input == nil {
1110		input = &GetQueueInput{}
1111	}
1112
1113	output = &GetQueueOutput{}
1114	req = c.newRequest(op, input, output)
1115	return
1116}
1117
1118// GetQueue API operation for AWS Elemental MediaConvert.
1119//
1120// Retrieve the JSON for a specific queue.
1121//
1122// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1123// with awserr.Error's Code and Message methods to get detailed information about
1124// the error.
1125//
1126// See the AWS API reference guide for AWS Elemental MediaConvert's
1127// API operation GetQueue for usage and error information.
1128//
1129// Returned Error Codes:
1130//   * ErrCodeBadRequestException "BadRequestException"
1131//
1132//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1133//
1134//   * ErrCodeForbiddenException "ForbiddenException"
1135//
1136//   * ErrCodeNotFoundException "NotFoundException"
1137//
1138//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1139//
1140//   * ErrCodeConflictException "ConflictException"
1141//
1142// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetQueue
1143func (c *MediaConvert) GetQueue(input *GetQueueInput) (*GetQueueOutput, error) {
1144	req, out := c.GetQueueRequest(input)
1145	return out, req.Send()
1146}
1147
1148// GetQueueWithContext is the same as GetQueue with the addition of
1149// the ability to pass a context and additional request options.
1150//
1151// See GetQueue for details on how to use this API operation.
1152//
1153// The context must be non-nil and will be used for request cancellation. If
1154// the context is nil a panic will occur. In the future the SDK may create
1155// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1156// for more information on using Contexts.
1157func (c *MediaConvert) GetQueueWithContext(ctx aws.Context, input *GetQueueInput, opts ...request.Option) (*GetQueueOutput, error) {
1158	req, out := c.GetQueueRequest(input)
1159	req.SetContext(ctx)
1160	req.ApplyOptions(opts...)
1161	return out, req.Send()
1162}
1163
1164const opListJobTemplates = "ListJobTemplates"
1165
1166// ListJobTemplatesRequest generates a "aws/request.Request" representing the
1167// client's request for the ListJobTemplates operation. The "output" return
1168// value will be populated with the request's response once the request completes
1169// successfuly.
1170//
1171// Use "Send" method on the returned Request to send the API call to the service.
1172// the "output" return value is not valid until after Send returns without error.
1173//
1174// See ListJobTemplates for more information on using the ListJobTemplates
1175// API call, and error handling.
1176//
1177// This method is useful when you want to inject custom logic or configuration
1178// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1179//
1180//
1181//    // Example sending a request using the ListJobTemplatesRequest method.
1182//    req, resp := client.ListJobTemplatesRequest(params)
1183//
1184//    err := req.Send()
1185//    if err == nil { // resp is now filled
1186//        fmt.Println(resp)
1187//    }
1188//
1189// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListJobTemplates
1190func (c *MediaConvert) ListJobTemplatesRequest(input *ListJobTemplatesInput) (req *request.Request, output *ListJobTemplatesOutput) {
1191	op := &request.Operation{
1192		Name:       opListJobTemplates,
1193		HTTPMethod: "GET",
1194		HTTPPath:   "/2017-08-29/jobTemplates",
1195	}
1196
1197	if input == nil {
1198		input = &ListJobTemplatesInput{}
1199	}
1200
1201	output = &ListJobTemplatesOutput{}
1202	req = c.newRequest(op, input, output)
1203	return
1204}
1205
1206// ListJobTemplates API operation for AWS Elemental MediaConvert.
1207//
1208// Retrieve a JSON array of up to twenty of your job templates. This will return
1209// the templates themselves, not just a list of them. To retrieve the next twenty
1210// templates, use the nextToken string returned with the array
1211//
1212// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1213// with awserr.Error's Code and Message methods to get detailed information about
1214// the error.
1215//
1216// See the AWS API reference guide for AWS Elemental MediaConvert's
1217// API operation ListJobTemplates for usage and error information.
1218//
1219// Returned Error Codes:
1220//   * ErrCodeBadRequestException "BadRequestException"
1221//
1222//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1223//
1224//   * ErrCodeForbiddenException "ForbiddenException"
1225//
1226//   * ErrCodeNotFoundException "NotFoundException"
1227//
1228//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1229//
1230//   * ErrCodeConflictException "ConflictException"
1231//
1232// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListJobTemplates
1233func (c *MediaConvert) ListJobTemplates(input *ListJobTemplatesInput) (*ListJobTemplatesOutput, error) {
1234	req, out := c.ListJobTemplatesRequest(input)
1235	return out, req.Send()
1236}
1237
1238// ListJobTemplatesWithContext is the same as ListJobTemplates with the addition of
1239// the ability to pass a context and additional request options.
1240//
1241// See ListJobTemplates for details on how to use this API operation.
1242//
1243// The context must be non-nil and will be used for request cancellation. If
1244// the context is nil a panic will occur. In the future the SDK may create
1245// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1246// for more information on using Contexts.
1247func (c *MediaConvert) ListJobTemplatesWithContext(ctx aws.Context, input *ListJobTemplatesInput, opts ...request.Option) (*ListJobTemplatesOutput, error) {
1248	req, out := c.ListJobTemplatesRequest(input)
1249	req.SetContext(ctx)
1250	req.ApplyOptions(opts...)
1251	return out, req.Send()
1252}
1253
1254const opListJobs = "ListJobs"
1255
1256// ListJobsRequest generates a "aws/request.Request" representing the
1257// client's request for the ListJobs operation. The "output" return
1258// value will be populated with the request's response once the request completes
1259// successfuly.
1260//
1261// Use "Send" method on the returned Request to send the API call to the service.
1262// the "output" return value is not valid until after Send returns without error.
1263//
1264// See ListJobs for more information on using the ListJobs
1265// API call, and error handling.
1266//
1267// This method is useful when you want to inject custom logic or configuration
1268// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1269//
1270//
1271//    // Example sending a request using the ListJobsRequest method.
1272//    req, resp := client.ListJobsRequest(params)
1273//
1274//    err := req.Send()
1275//    if err == nil { // resp is now filled
1276//        fmt.Println(resp)
1277//    }
1278//
1279// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListJobs
1280func (c *MediaConvert) ListJobsRequest(input *ListJobsInput) (req *request.Request, output *ListJobsOutput) {
1281	op := &request.Operation{
1282		Name:       opListJobs,
1283		HTTPMethod: "GET",
1284		HTTPPath:   "/2017-08-29/jobs",
1285	}
1286
1287	if input == nil {
1288		input = &ListJobsInput{}
1289	}
1290
1291	output = &ListJobsOutput{}
1292	req = c.newRequest(op, input, output)
1293	return
1294}
1295
1296// ListJobs API operation for AWS Elemental MediaConvert.
1297//
1298// Retrieve a JSON array of up to twenty of your most recently created jobs.
1299// This array includes in-process, completed, and errored jobs. This will return
1300// the jobs themselves, not just a list of the jobs. To retrieve the twenty
1301// next most recent jobs, use the nextToken string returned with the array.
1302//
1303// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1304// with awserr.Error's Code and Message methods to get detailed information about
1305// the error.
1306//
1307// See the AWS API reference guide for AWS Elemental MediaConvert's
1308// API operation ListJobs for usage and error information.
1309//
1310// Returned Error Codes:
1311//   * ErrCodeBadRequestException "BadRequestException"
1312//
1313//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1314//
1315//   * ErrCodeForbiddenException "ForbiddenException"
1316//
1317//   * ErrCodeNotFoundException "NotFoundException"
1318//
1319//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1320//
1321//   * ErrCodeConflictException "ConflictException"
1322//
1323// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListJobs
1324func (c *MediaConvert) ListJobs(input *ListJobsInput) (*ListJobsOutput, error) {
1325	req, out := c.ListJobsRequest(input)
1326	return out, req.Send()
1327}
1328
1329// ListJobsWithContext is the same as ListJobs with the addition of
1330// the ability to pass a context and additional request options.
1331//
1332// See ListJobs for details on how to use this API operation.
1333//
1334// The context must be non-nil and will be used for request cancellation. If
1335// the context is nil a panic will occur. In the future the SDK may create
1336// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1337// for more information on using Contexts.
1338func (c *MediaConvert) ListJobsWithContext(ctx aws.Context, input *ListJobsInput, opts ...request.Option) (*ListJobsOutput, error) {
1339	req, out := c.ListJobsRequest(input)
1340	req.SetContext(ctx)
1341	req.ApplyOptions(opts...)
1342	return out, req.Send()
1343}
1344
1345const opListPresets = "ListPresets"
1346
1347// ListPresetsRequest generates a "aws/request.Request" representing the
1348// client's request for the ListPresets operation. The "output" return
1349// value will be populated with the request's response once the request completes
1350// successfuly.
1351//
1352// Use "Send" method on the returned Request to send the API call to the service.
1353// the "output" return value is not valid until after Send returns without error.
1354//
1355// See ListPresets for more information on using the ListPresets
1356// API call, and error handling.
1357//
1358// This method is useful when you want to inject custom logic or configuration
1359// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1360//
1361//
1362//    // Example sending a request using the ListPresetsRequest method.
1363//    req, resp := client.ListPresetsRequest(params)
1364//
1365//    err := req.Send()
1366//    if err == nil { // resp is now filled
1367//        fmt.Println(resp)
1368//    }
1369//
1370// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListPresets
1371func (c *MediaConvert) ListPresetsRequest(input *ListPresetsInput) (req *request.Request, output *ListPresetsOutput) {
1372	op := &request.Operation{
1373		Name:       opListPresets,
1374		HTTPMethod: "GET",
1375		HTTPPath:   "/2017-08-29/presets",
1376	}
1377
1378	if input == nil {
1379		input = &ListPresetsInput{}
1380	}
1381
1382	output = &ListPresetsOutput{}
1383	req = c.newRequest(op, input, output)
1384	return
1385}
1386
1387// ListPresets API operation for AWS Elemental MediaConvert.
1388//
1389// Retrieve a JSON array of up to twenty of your presets. This will return the
1390// presets themselves, not just a list of them. To retrieve the next twenty
1391// presets, use the nextToken string returned with the array.
1392//
1393// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1394// with awserr.Error's Code and Message methods to get detailed information about
1395// the error.
1396//
1397// See the AWS API reference guide for AWS Elemental MediaConvert's
1398// API operation ListPresets for usage and error information.
1399//
1400// Returned Error Codes:
1401//   * ErrCodeBadRequestException "BadRequestException"
1402//
1403//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1404//
1405//   * ErrCodeForbiddenException "ForbiddenException"
1406//
1407//   * ErrCodeNotFoundException "NotFoundException"
1408//
1409//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1410//
1411//   * ErrCodeConflictException "ConflictException"
1412//
1413// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListPresets
1414func (c *MediaConvert) ListPresets(input *ListPresetsInput) (*ListPresetsOutput, error) {
1415	req, out := c.ListPresetsRequest(input)
1416	return out, req.Send()
1417}
1418
1419// ListPresetsWithContext is the same as ListPresets with the addition of
1420// the ability to pass a context and additional request options.
1421//
1422// See ListPresets for details on how to use this API operation.
1423//
1424// The context must be non-nil and will be used for request cancellation. If
1425// the context is nil a panic will occur. In the future the SDK may create
1426// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1427// for more information on using Contexts.
1428func (c *MediaConvert) ListPresetsWithContext(ctx aws.Context, input *ListPresetsInput, opts ...request.Option) (*ListPresetsOutput, error) {
1429	req, out := c.ListPresetsRequest(input)
1430	req.SetContext(ctx)
1431	req.ApplyOptions(opts...)
1432	return out, req.Send()
1433}
1434
1435const opListQueues = "ListQueues"
1436
1437// ListQueuesRequest generates a "aws/request.Request" representing the
1438// client's request for the ListQueues operation. The "output" return
1439// value will be populated with the request's response once the request completes
1440// successfuly.
1441//
1442// Use "Send" method on the returned Request to send the API call to the service.
1443// the "output" return value is not valid until after Send returns without error.
1444//
1445// See ListQueues for more information on using the ListQueues
1446// API call, and error handling.
1447//
1448// This method is useful when you want to inject custom logic or configuration
1449// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1450//
1451//
1452//    // Example sending a request using the ListQueuesRequest method.
1453//    req, resp := client.ListQueuesRequest(params)
1454//
1455//    err := req.Send()
1456//    if err == nil { // resp is now filled
1457//        fmt.Println(resp)
1458//    }
1459//
1460// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListQueues
1461func (c *MediaConvert) ListQueuesRequest(input *ListQueuesInput) (req *request.Request, output *ListQueuesOutput) {
1462	op := &request.Operation{
1463		Name:       opListQueues,
1464		HTTPMethod: "GET",
1465		HTTPPath:   "/2017-08-29/queues",
1466	}
1467
1468	if input == nil {
1469		input = &ListQueuesInput{}
1470	}
1471
1472	output = &ListQueuesOutput{}
1473	req = c.newRequest(op, input, output)
1474	return
1475}
1476
1477// ListQueues API operation for AWS Elemental MediaConvert.
1478//
1479// Retrieve a JSON array of up to twenty of your queues. This will return the
1480// queues themselves, not just a list of them. To retrieve the next twenty queues,
1481// use the nextToken string returned with the array.
1482//
1483// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1484// with awserr.Error's Code and Message methods to get detailed information about
1485// the error.
1486//
1487// See the AWS API reference guide for AWS Elemental MediaConvert's
1488// API operation ListQueues for usage and error information.
1489//
1490// Returned Error Codes:
1491//   * ErrCodeBadRequestException "BadRequestException"
1492//
1493//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1494//
1495//   * ErrCodeForbiddenException "ForbiddenException"
1496//
1497//   * ErrCodeNotFoundException "NotFoundException"
1498//
1499//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1500//
1501//   * ErrCodeConflictException "ConflictException"
1502//
1503// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListQueues
1504func (c *MediaConvert) ListQueues(input *ListQueuesInput) (*ListQueuesOutput, error) {
1505	req, out := c.ListQueuesRequest(input)
1506	return out, req.Send()
1507}
1508
1509// ListQueuesWithContext is the same as ListQueues with the addition of
1510// the ability to pass a context and additional request options.
1511//
1512// See ListQueues for details on how to use this API operation.
1513//
1514// The context must be non-nil and will be used for request cancellation. If
1515// the context is nil a panic will occur. In the future the SDK may create
1516// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1517// for more information on using Contexts.
1518func (c *MediaConvert) ListQueuesWithContext(ctx aws.Context, input *ListQueuesInput, opts ...request.Option) (*ListQueuesOutput, error) {
1519	req, out := c.ListQueuesRequest(input)
1520	req.SetContext(ctx)
1521	req.ApplyOptions(opts...)
1522	return out, req.Send()
1523}
1524
1525const opListTagsForResource = "ListTagsForResource"
1526
1527// ListTagsForResourceRequest generates a "aws/request.Request" representing the
1528// client's request for the ListTagsForResource operation. The "output" return
1529// value will be populated with the request's response once the request completes
1530// successfuly.
1531//
1532// Use "Send" method on the returned Request to send the API call to the service.
1533// the "output" return value is not valid until after Send returns without error.
1534//
1535// See ListTagsForResource for more information on using the ListTagsForResource
1536// API call, and error handling.
1537//
1538// This method is useful when you want to inject custom logic or configuration
1539// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1540//
1541//
1542//    // Example sending a request using the ListTagsForResourceRequest method.
1543//    req, resp := client.ListTagsForResourceRequest(params)
1544//
1545//    err := req.Send()
1546//    if err == nil { // resp is now filled
1547//        fmt.Println(resp)
1548//    }
1549//
1550// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListTagsForResource
1551func (c *MediaConvert) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
1552	op := &request.Operation{
1553		Name:       opListTagsForResource,
1554		HTTPMethod: "GET",
1555		HTTPPath:   "/2017-08-29/tags/{arn}",
1556	}
1557
1558	if input == nil {
1559		input = &ListTagsForResourceInput{}
1560	}
1561
1562	output = &ListTagsForResourceOutput{}
1563	req = c.newRequest(op, input, output)
1564	return
1565}
1566
1567// ListTagsForResource API operation for AWS Elemental MediaConvert.
1568//
1569// Retrieve the tags for a MediaConvert resource.
1570//
1571// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1572// with awserr.Error's Code and Message methods to get detailed information about
1573// the error.
1574//
1575// See the AWS API reference guide for AWS Elemental MediaConvert's
1576// API operation ListTagsForResource for usage and error information.
1577//
1578// Returned Error Codes:
1579//   * ErrCodeBadRequestException "BadRequestException"
1580//
1581//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1582//
1583//   * ErrCodeForbiddenException "ForbiddenException"
1584//
1585//   * ErrCodeNotFoundException "NotFoundException"
1586//
1587//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1588//
1589//   * ErrCodeConflictException "ConflictException"
1590//
1591// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ListTagsForResource
1592func (c *MediaConvert) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
1593	req, out := c.ListTagsForResourceRequest(input)
1594	return out, req.Send()
1595}
1596
1597// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
1598// the ability to pass a context and additional request options.
1599//
1600// See ListTagsForResource for details on how to use this API operation.
1601//
1602// The context must be non-nil and will be used for request cancellation. If
1603// the context is nil a panic will occur. In the future the SDK may create
1604// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1605// for more information on using Contexts.
1606func (c *MediaConvert) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
1607	req, out := c.ListTagsForResourceRequest(input)
1608	req.SetContext(ctx)
1609	req.ApplyOptions(opts...)
1610	return out, req.Send()
1611}
1612
1613const opTagResource = "TagResource"
1614
1615// TagResourceRequest generates a "aws/request.Request" representing the
1616// client's request for the TagResource operation. The "output" return
1617// value will be populated with the request's response once the request completes
1618// successfuly.
1619//
1620// Use "Send" method on the returned Request to send the API call to the service.
1621// the "output" return value is not valid until after Send returns without error.
1622//
1623// See TagResource for more information on using the TagResource
1624// API call, and error handling.
1625//
1626// This method is useful when you want to inject custom logic or configuration
1627// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1628//
1629//
1630//    // Example sending a request using the TagResourceRequest method.
1631//    req, resp := client.TagResourceRequest(params)
1632//
1633//    err := req.Send()
1634//    if err == nil { // resp is now filled
1635//        fmt.Println(resp)
1636//    }
1637//
1638// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/TagResource
1639func (c *MediaConvert) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
1640	op := &request.Operation{
1641		Name:       opTagResource,
1642		HTTPMethod: "POST",
1643		HTTPPath:   "/2017-08-29/tags",
1644	}
1645
1646	if input == nil {
1647		input = &TagResourceInput{}
1648	}
1649
1650	output = &TagResourceOutput{}
1651	req = c.newRequest(op, input, output)
1652	return
1653}
1654
1655// TagResource API operation for AWS Elemental MediaConvert.
1656//
1657// Tag a MediaConvert queue, preset, or job template. For information about
1658// these resource types, see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
1659//
1660// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1661// with awserr.Error's Code and Message methods to get detailed information about
1662// the error.
1663//
1664// See the AWS API reference guide for AWS Elemental MediaConvert's
1665// API operation TagResource for usage and error information.
1666//
1667// Returned Error Codes:
1668//   * ErrCodeBadRequestException "BadRequestException"
1669//
1670//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1671//
1672//   * ErrCodeForbiddenException "ForbiddenException"
1673//
1674//   * ErrCodeNotFoundException "NotFoundException"
1675//
1676//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1677//
1678//   * ErrCodeConflictException "ConflictException"
1679//
1680// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/TagResource
1681func (c *MediaConvert) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
1682	req, out := c.TagResourceRequest(input)
1683	return out, req.Send()
1684}
1685
1686// TagResourceWithContext is the same as TagResource with the addition of
1687// the ability to pass a context and additional request options.
1688//
1689// See TagResource for details on how to use this API operation.
1690//
1691// The context must be non-nil and will be used for request cancellation. If
1692// the context is nil a panic will occur. In the future the SDK may create
1693// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1694// for more information on using Contexts.
1695func (c *MediaConvert) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
1696	req, out := c.TagResourceRequest(input)
1697	req.SetContext(ctx)
1698	req.ApplyOptions(opts...)
1699	return out, req.Send()
1700}
1701
1702const opUntagResource = "UntagResource"
1703
1704// UntagResourceRequest generates a "aws/request.Request" representing the
1705// client's request for the UntagResource operation. The "output" return
1706// value will be populated with the request's response once the request completes
1707// successfuly.
1708//
1709// Use "Send" method on the returned Request to send the API call to the service.
1710// the "output" return value is not valid until after Send returns without error.
1711//
1712// See UntagResource for more information on using the UntagResource
1713// API call, and error handling.
1714//
1715// This method is useful when you want to inject custom logic or configuration
1716// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1717//
1718//
1719//    // Example sending a request using the UntagResourceRequest method.
1720//    req, resp := client.UntagResourceRequest(params)
1721//
1722//    err := req.Send()
1723//    if err == nil { // resp is now filled
1724//        fmt.Println(resp)
1725//    }
1726//
1727// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/UntagResource
1728func (c *MediaConvert) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
1729	op := &request.Operation{
1730		Name:       opUntagResource,
1731		HTTPMethod: "DELETE",
1732		HTTPPath:   "/2017-08-29/tags",
1733	}
1734
1735	if input == nil {
1736		input = &UntagResourceInput{}
1737	}
1738
1739	output = &UntagResourceOutput{}
1740	req = c.newRequest(op, input, output)
1741	return
1742}
1743
1744// UntagResource API operation for AWS Elemental MediaConvert.
1745//
1746// Untag a MediaConvert queue, preset, or job template. For information about
1747// these resource types, see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
1748//
1749// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1750// with awserr.Error's Code and Message methods to get detailed information about
1751// the error.
1752//
1753// See the AWS API reference guide for AWS Elemental MediaConvert's
1754// API operation UntagResource for usage and error information.
1755//
1756// Returned Error Codes:
1757//   * ErrCodeBadRequestException "BadRequestException"
1758//
1759//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1760//
1761//   * ErrCodeForbiddenException "ForbiddenException"
1762//
1763//   * ErrCodeNotFoundException "NotFoundException"
1764//
1765//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1766//
1767//   * ErrCodeConflictException "ConflictException"
1768//
1769// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/UntagResource
1770func (c *MediaConvert) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
1771	req, out := c.UntagResourceRequest(input)
1772	return out, req.Send()
1773}
1774
1775// UntagResourceWithContext is the same as UntagResource with the addition of
1776// the ability to pass a context and additional request options.
1777//
1778// See UntagResource for details on how to use this API operation.
1779//
1780// The context must be non-nil and will be used for request cancellation. If
1781// the context is nil a panic will occur. In the future the SDK may create
1782// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1783// for more information on using Contexts.
1784func (c *MediaConvert) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
1785	req, out := c.UntagResourceRequest(input)
1786	req.SetContext(ctx)
1787	req.ApplyOptions(opts...)
1788	return out, req.Send()
1789}
1790
1791const opUpdateJobTemplate = "UpdateJobTemplate"
1792
1793// UpdateJobTemplateRequest generates a "aws/request.Request" representing the
1794// client's request for the UpdateJobTemplate operation. The "output" return
1795// value will be populated with the request's response once the request completes
1796// successfuly.
1797//
1798// Use "Send" method on the returned Request to send the API call to the service.
1799// the "output" return value is not valid until after Send returns without error.
1800//
1801// See UpdateJobTemplate for more information on using the UpdateJobTemplate
1802// API call, and error handling.
1803//
1804// This method is useful when you want to inject custom logic or configuration
1805// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1806//
1807//
1808//    // Example sending a request using the UpdateJobTemplateRequest method.
1809//    req, resp := client.UpdateJobTemplateRequest(params)
1810//
1811//    err := req.Send()
1812//    if err == nil { // resp is now filled
1813//        fmt.Println(resp)
1814//    }
1815//
1816// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/UpdateJobTemplate
1817func (c *MediaConvert) UpdateJobTemplateRequest(input *UpdateJobTemplateInput) (req *request.Request, output *UpdateJobTemplateOutput) {
1818	op := &request.Operation{
1819		Name:       opUpdateJobTemplate,
1820		HTTPMethod: "PUT",
1821		HTTPPath:   "/2017-08-29/jobTemplates/{name}",
1822	}
1823
1824	if input == nil {
1825		input = &UpdateJobTemplateInput{}
1826	}
1827
1828	output = &UpdateJobTemplateOutput{}
1829	req = c.newRequest(op, input, output)
1830	return
1831}
1832
1833// UpdateJobTemplate API operation for AWS Elemental MediaConvert.
1834//
1835// Modify one of your existing job templates.
1836//
1837// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1838// with awserr.Error's Code and Message methods to get detailed information about
1839// the error.
1840//
1841// See the AWS API reference guide for AWS Elemental MediaConvert's
1842// API operation UpdateJobTemplate for usage and error information.
1843//
1844// Returned Error Codes:
1845//   * ErrCodeBadRequestException "BadRequestException"
1846//
1847//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1848//
1849//   * ErrCodeForbiddenException "ForbiddenException"
1850//
1851//   * ErrCodeNotFoundException "NotFoundException"
1852//
1853//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1854//
1855//   * ErrCodeConflictException "ConflictException"
1856//
1857// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/UpdateJobTemplate
1858func (c *MediaConvert) UpdateJobTemplate(input *UpdateJobTemplateInput) (*UpdateJobTemplateOutput, error) {
1859	req, out := c.UpdateJobTemplateRequest(input)
1860	return out, req.Send()
1861}
1862
1863// UpdateJobTemplateWithContext is the same as UpdateJobTemplate with the addition of
1864// the ability to pass a context and additional request options.
1865//
1866// See UpdateJobTemplate for details on how to use this API operation.
1867//
1868// The context must be non-nil and will be used for request cancellation. If
1869// the context is nil a panic will occur. In the future the SDK may create
1870// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1871// for more information on using Contexts.
1872func (c *MediaConvert) UpdateJobTemplateWithContext(ctx aws.Context, input *UpdateJobTemplateInput, opts ...request.Option) (*UpdateJobTemplateOutput, error) {
1873	req, out := c.UpdateJobTemplateRequest(input)
1874	req.SetContext(ctx)
1875	req.ApplyOptions(opts...)
1876	return out, req.Send()
1877}
1878
1879const opUpdatePreset = "UpdatePreset"
1880
1881// UpdatePresetRequest generates a "aws/request.Request" representing the
1882// client's request for the UpdatePreset operation. The "output" return
1883// value will be populated with the request's response once the request completes
1884// successfuly.
1885//
1886// Use "Send" method on the returned Request to send the API call to the service.
1887// the "output" return value is not valid until after Send returns without error.
1888//
1889// See UpdatePreset for more information on using the UpdatePreset
1890// API call, and error handling.
1891//
1892// This method is useful when you want to inject custom logic or configuration
1893// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1894//
1895//
1896//    // Example sending a request using the UpdatePresetRequest method.
1897//    req, resp := client.UpdatePresetRequest(params)
1898//
1899//    err := req.Send()
1900//    if err == nil { // resp is now filled
1901//        fmt.Println(resp)
1902//    }
1903//
1904// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/UpdatePreset
1905func (c *MediaConvert) UpdatePresetRequest(input *UpdatePresetInput) (req *request.Request, output *UpdatePresetOutput) {
1906	op := &request.Operation{
1907		Name:       opUpdatePreset,
1908		HTTPMethod: "PUT",
1909		HTTPPath:   "/2017-08-29/presets/{name}",
1910	}
1911
1912	if input == nil {
1913		input = &UpdatePresetInput{}
1914	}
1915
1916	output = &UpdatePresetOutput{}
1917	req = c.newRequest(op, input, output)
1918	return
1919}
1920
1921// UpdatePreset API operation for AWS Elemental MediaConvert.
1922//
1923// Modify one of your existing presets.
1924//
1925// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1926// with awserr.Error's Code and Message methods to get detailed information about
1927// the error.
1928//
1929// See the AWS API reference guide for AWS Elemental MediaConvert's
1930// API operation UpdatePreset for usage and error information.
1931//
1932// Returned Error Codes:
1933//   * ErrCodeBadRequestException "BadRequestException"
1934//
1935//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1936//
1937//   * ErrCodeForbiddenException "ForbiddenException"
1938//
1939//   * ErrCodeNotFoundException "NotFoundException"
1940//
1941//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1942//
1943//   * ErrCodeConflictException "ConflictException"
1944//
1945// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/UpdatePreset
1946func (c *MediaConvert) UpdatePreset(input *UpdatePresetInput) (*UpdatePresetOutput, error) {
1947	req, out := c.UpdatePresetRequest(input)
1948	return out, req.Send()
1949}
1950
1951// UpdatePresetWithContext is the same as UpdatePreset with the addition of
1952// the ability to pass a context and additional request options.
1953//
1954// See UpdatePreset for details on how to use this API operation.
1955//
1956// The context must be non-nil and will be used for request cancellation. If
1957// the context is nil a panic will occur. In the future the SDK may create
1958// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1959// for more information on using Contexts.
1960func (c *MediaConvert) UpdatePresetWithContext(ctx aws.Context, input *UpdatePresetInput, opts ...request.Option) (*UpdatePresetOutput, error) {
1961	req, out := c.UpdatePresetRequest(input)
1962	req.SetContext(ctx)
1963	req.ApplyOptions(opts...)
1964	return out, req.Send()
1965}
1966
1967const opUpdateQueue = "UpdateQueue"
1968
1969// UpdateQueueRequest generates a "aws/request.Request" representing the
1970// client's request for the UpdateQueue operation. The "output" return
1971// value will be populated with the request's response once the request completes
1972// successfuly.
1973//
1974// Use "Send" method on the returned Request to send the API call to the service.
1975// the "output" return value is not valid until after Send returns without error.
1976//
1977// See UpdateQueue for more information on using the UpdateQueue
1978// API call, and error handling.
1979//
1980// This method is useful when you want to inject custom logic or configuration
1981// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1982//
1983//
1984//    // Example sending a request using the UpdateQueueRequest method.
1985//    req, resp := client.UpdateQueueRequest(params)
1986//
1987//    err := req.Send()
1988//    if err == nil { // resp is now filled
1989//        fmt.Println(resp)
1990//    }
1991//
1992// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/UpdateQueue
1993func (c *MediaConvert) UpdateQueueRequest(input *UpdateQueueInput) (req *request.Request, output *UpdateQueueOutput) {
1994	op := &request.Operation{
1995		Name:       opUpdateQueue,
1996		HTTPMethod: "PUT",
1997		HTTPPath:   "/2017-08-29/queues/{name}",
1998	}
1999
2000	if input == nil {
2001		input = &UpdateQueueInput{}
2002	}
2003
2004	output = &UpdateQueueOutput{}
2005	req = c.newRequest(op, input, output)
2006	return
2007}
2008
2009// UpdateQueue API operation for AWS Elemental MediaConvert.
2010//
2011// Modify one of your existing queues.
2012//
2013// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2014// with awserr.Error's Code and Message methods to get detailed information about
2015// the error.
2016//
2017// See the AWS API reference guide for AWS Elemental MediaConvert's
2018// API operation UpdateQueue for usage and error information.
2019//
2020// Returned Error Codes:
2021//   * ErrCodeBadRequestException "BadRequestException"
2022//
2023//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2024//
2025//   * ErrCodeForbiddenException "ForbiddenException"
2026//
2027//   * ErrCodeNotFoundException "NotFoundException"
2028//
2029//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2030//
2031//   * ErrCodeConflictException "ConflictException"
2032//
2033// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/UpdateQueue
2034func (c *MediaConvert) UpdateQueue(input *UpdateQueueInput) (*UpdateQueueOutput, error) {
2035	req, out := c.UpdateQueueRequest(input)
2036	return out, req.Send()
2037}
2038
2039// UpdateQueueWithContext is the same as UpdateQueue with the addition of
2040// the ability to pass a context and additional request options.
2041//
2042// See UpdateQueue for details on how to use this API operation.
2043//
2044// The context must be non-nil and will be used for request cancellation. If
2045// the context is nil a panic will occur. In the future the SDK may create
2046// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2047// for more information on using Contexts.
2048func (c *MediaConvert) UpdateQueueWithContext(ctx aws.Context, input *UpdateQueueInput, opts ...request.Option) (*UpdateQueueOutput, error) {
2049	req, out := c.UpdateQueueRequest(input)
2050	req.SetContext(ctx)
2051	req.ApplyOptions(opts...)
2052	return out, req.Send()
2053}
2054
2055// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
2056// the value AAC. The service accepts one of two mutually exclusive groups of
2057// AAC settings--VBR and CBR. To select one of these modes, set the value of
2058// Bitrate control mode (rateControlMode) to "VBR" or "CBR". In VBR mode, you
2059// control the audio quality with the setting VBR quality (vbrQuality). In CBR
2060// mode, you use the setting Bitrate (bitrate). Defaults and valid values depend
2061// on the rate control mode.
2062type AacSettings struct {
2063	_ struct{} `type:"structure"`
2064
2065	// Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio
2066	// + audio description (AD) as a stereo pair. The value for AudioType will be
2067	// set to 3, which signals to downstream systems that this stream contains "broadcaster
2068	// mixed AD". Note that the input received by the encoder must contain pre-mixed
2069	// audio; the encoder does not perform the mixing. When you choose BROADCASTER_MIXED_AD,
2070	// the encoder ignores any values you provide in AudioType and FollowInputAudioType.
2071	// Choose NORMAL when the input does not contain pre-mixed audio + audio description
2072	// (AD). In this case, the encoder will use any values you provide for AudioType
2073	// and FollowInputAudioType.
2074	AudioDescriptionBroadcasterMix *string `locationName:"audioDescriptionBroadcasterMix" type:"string" enum:"AacAudioDescriptionBroadcasterMix"`
2075
2076	// Average bitrate in bits/second. Defaults and valid values depend on rate
2077	// control mode and profile.
2078	Bitrate *int64 `locationName:"bitrate" min:"6000" type:"integer"`
2079
2080	// AAC Profile.
2081	CodecProfile *string `locationName:"codecProfile" type:"string" enum:"AacCodecProfile"`
2082
2083	// Mono (Audio Description), Mono, Stereo, or 5.1 channel layout. Valid values
2084	// depend on rate control mode and profile. "1.0 - Audio Description (Receiver
2085	// Mix)" setting receives a stereo description plus control track and emits
2086	// a mono AAC encode of the description track, with control data emitted in
2087	// the PES header as per ETSI TS 101 154 Annex E.
2088	//
2089	// CodingMode is a required field
2090	CodingMode *string `locationName:"codingMode" type:"string" required:"true" enum:"AacCodingMode"`
2091
2092	// Rate Control Mode.
2093	RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"AacRateControlMode"`
2094
2095	// Enables LATM/LOAS AAC output. Note that if you use LATM/LOAS AAC in an output,
2096	// you must choose "No container" for the output container.
2097	RawFormat *string `locationName:"rawFormat" type:"string" enum:"AacRawFormat"`
2098
2099	// Sample rate in Hz. Valid values depend on rate control mode and profile.
2100	//
2101	// SampleRate is a required field
2102	SampleRate *int64 `locationName:"sampleRate" min:"8000" type:"integer" required:"true"`
2103
2104	// Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream
2105	// containers.
2106	Specification *string `locationName:"specification" type:"string" enum:"AacSpecification"`
2107
2108	// VBR Quality Level - Only used if rate_control_mode is VBR.
2109	VbrQuality *string `locationName:"vbrQuality" type:"string" enum:"AacVbrQuality"`
2110}
2111
2112// String returns the string representation
2113func (s AacSettings) String() string {
2114	return awsutil.Prettify(s)
2115}
2116
2117// GoString returns the string representation
2118func (s AacSettings) GoString() string {
2119	return s.String()
2120}
2121
2122// Validate inspects the fields of the type to determine if they are valid.
2123func (s *AacSettings) Validate() error {
2124	invalidParams := request.ErrInvalidParams{Context: "AacSettings"}
2125	if s.Bitrate != nil && *s.Bitrate < 6000 {
2126		invalidParams.Add(request.NewErrParamMinValue("Bitrate", 6000))
2127	}
2128	if s.CodingMode == nil {
2129		invalidParams.Add(request.NewErrParamRequired("CodingMode"))
2130	}
2131	if s.SampleRate == nil {
2132		invalidParams.Add(request.NewErrParamRequired("SampleRate"))
2133	}
2134	if s.SampleRate != nil && *s.SampleRate < 8000 {
2135		invalidParams.Add(request.NewErrParamMinValue("SampleRate", 8000))
2136	}
2137
2138	if invalidParams.Len() > 0 {
2139		return invalidParams
2140	}
2141	return nil
2142}
2143
2144// SetAudioDescriptionBroadcasterMix sets the AudioDescriptionBroadcasterMix field's value.
2145func (s *AacSettings) SetAudioDescriptionBroadcasterMix(v string) *AacSettings {
2146	s.AudioDescriptionBroadcasterMix = &v
2147	return s
2148}
2149
2150// SetBitrate sets the Bitrate field's value.
2151func (s *AacSettings) SetBitrate(v int64) *AacSettings {
2152	s.Bitrate = &v
2153	return s
2154}
2155
2156// SetCodecProfile sets the CodecProfile field's value.
2157func (s *AacSettings) SetCodecProfile(v string) *AacSettings {
2158	s.CodecProfile = &v
2159	return s
2160}
2161
2162// SetCodingMode sets the CodingMode field's value.
2163func (s *AacSettings) SetCodingMode(v string) *AacSettings {
2164	s.CodingMode = &v
2165	return s
2166}
2167
2168// SetRateControlMode sets the RateControlMode field's value.
2169func (s *AacSettings) SetRateControlMode(v string) *AacSettings {
2170	s.RateControlMode = &v
2171	return s
2172}
2173
2174// SetRawFormat sets the RawFormat field's value.
2175func (s *AacSettings) SetRawFormat(v string) *AacSettings {
2176	s.RawFormat = &v
2177	return s
2178}
2179
2180// SetSampleRate sets the SampleRate field's value.
2181func (s *AacSettings) SetSampleRate(v int64) *AacSettings {
2182	s.SampleRate = &v
2183	return s
2184}
2185
2186// SetSpecification sets the Specification field's value.
2187func (s *AacSettings) SetSpecification(v string) *AacSettings {
2188	s.Specification = &v
2189	return s
2190}
2191
2192// SetVbrQuality sets the VbrQuality field's value.
2193func (s *AacSettings) SetVbrQuality(v string) *AacSettings {
2194	s.VbrQuality = &v
2195	return s
2196}
2197
2198// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
2199// the value AC3.
2200type Ac3Settings struct {
2201	_ struct{} `type:"structure"`
2202
2203	// Average bitrate in bits/second. Valid bitrates depend on the coding mode.
2204	Bitrate *int64 `locationName:"bitrate" min:"64000" type:"integer"`
2205
2206	// Specifies the "Bitstream Mode" (bsmod) for the emitted AC-3 stream. See ATSC
2207	// A/52-2012 for background on these values.
2208	BitstreamMode *string `locationName:"bitstreamMode" type:"string" enum:"Ac3BitstreamMode"`
2209
2210	// Dolby Digital coding mode. Determines number of channels.
2211	CodingMode *string `locationName:"codingMode" type:"string" enum:"Ac3CodingMode"`
2212
2213	// Sets the dialnorm for the output. If blank and input audio is Dolby Digital,
2214	// dialnorm will be passed through.
2215	Dialnorm *int64 `locationName:"dialnorm" min:"1" type:"integer"`
2216
2217	// If set to FILM_STANDARD, adds dynamic range compression signaling to the
2218	// output bitstream as defined in the Dolby Digital specification.
2219	DynamicRangeCompressionProfile *string `locationName:"dynamicRangeCompressionProfile" type:"string" enum:"Ac3DynamicRangeCompressionProfile"`
2220
2221	// Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only
2222	// valid with 3_2_LFE coding mode.
2223	LfeFilter *string `locationName:"lfeFilter" type:"string" enum:"Ac3LfeFilter"`
2224
2225	// When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+,
2226	// or DolbyE decoder that supplied this audio data. If audio was not supplied
2227	// from one of these streams, then the static metadata settings will be used.
2228	MetadataControl *string `locationName:"metadataControl" type:"string" enum:"Ac3MetadataControl"`
2229
2230	// Sample rate in hz. Sample rate is always 48000.
2231	SampleRate *int64 `locationName:"sampleRate" min:"48000" type:"integer"`
2232}
2233
2234// String returns the string representation
2235func (s Ac3Settings) String() string {
2236	return awsutil.Prettify(s)
2237}
2238
2239// GoString returns the string representation
2240func (s Ac3Settings) GoString() string {
2241	return s.String()
2242}
2243
2244// Validate inspects the fields of the type to determine if they are valid.
2245func (s *Ac3Settings) Validate() error {
2246	invalidParams := request.ErrInvalidParams{Context: "Ac3Settings"}
2247	if s.Bitrate != nil && *s.Bitrate < 64000 {
2248		invalidParams.Add(request.NewErrParamMinValue("Bitrate", 64000))
2249	}
2250	if s.Dialnorm != nil && *s.Dialnorm < 1 {
2251		invalidParams.Add(request.NewErrParamMinValue("Dialnorm", 1))
2252	}
2253	if s.SampleRate != nil && *s.SampleRate < 48000 {
2254		invalidParams.Add(request.NewErrParamMinValue("SampleRate", 48000))
2255	}
2256
2257	if invalidParams.Len() > 0 {
2258		return invalidParams
2259	}
2260	return nil
2261}
2262
2263// SetBitrate sets the Bitrate field's value.
2264func (s *Ac3Settings) SetBitrate(v int64) *Ac3Settings {
2265	s.Bitrate = &v
2266	return s
2267}
2268
2269// SetBitstreamMode sets the BitstreamMode field's value.
2270func (s *Ac3Settings) SetBitstreamMode(v string) *Ac3Settings {
2271	s.BitstreamMode = &v
2272	return s
2273}
2274
2275// SetCodingMode sets the CodingMode field's value.
2276func (s *Ac3Settings) SetCodingMode(v string) *Ac3Settings {
2277	s.CodingMode = &v
2278	return s
2279}
2280
2281// SetDialnorm sets the Dialnorm field's value.
2282func (s *Ac3Settings) SetDialnorm(v int64) *Ac3Settings {
2283	s.Dialnorm = &v
2284	return s
2285}
2286
2287// SetDynamicRangeCompressionProfile sets the DynamicRangeCompressionProfile field's value.
2288func (s *Ac3Settings) SetDynamicRangeCompressionProfile(v string) *Ac3Settings {
2289	s.DynamicRangeCompressionProfile = &v
2290	return s
2291}
2292
2293// SetLfeFilter sets the LfeFilter field's value.
2294func (s *Ac3Settings) SetLfeFilter(v string) *Ac3Settings {
2295	s.LfeFilter = &v
2296	return s
2297}
2298
2299// SetMetadataControl sets the MetadataControl field's value.
2300func (s *Ac3Settings) SetMetadataControl(v string) *Ac3Settings {
2301	s.MetadataControl = &v
2302	return s
2303}
2304
2305// SetSampleRate sets the SampleRate field's value.
2306func (s *Ac3Settings) SetSampleRate(v int64) *Ac3Settings {
2307	s.SampleRate = &v
2308	return s
2309}
2310
2311// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
2312// the value AIFF.
2313type AiffSettings struct {
2314	_ struct{} `type:"structure"`
2315
2316	// Specify Bit depth (BitDepth), in bits per sample, to choose the encoding
2317	// quality for this audio track.
2318	BitDepth *int64 `locationName:"bitDepth" min:"16" type:"integer"`
2319
2320	// Set Channels to specify the number of channels in this output audio track.
2321	// Choosing Mono in the console will give you 1 output channel; choosing Stereo
2322	// will give you 2. In the API, valid values are 1 and 2.
2323	Channels *int64 `locationName:"channels" min:"1" type:"integer"`
2324
2325	// Sample rate in hz.
2326	SampleRate *int64 `locationName:"sampleRate" min:"8000" type:"integer"`
2327}
2328
2329// String returns the string representation
2330func (s AiffSettings) String() string {
2331	return awsutil.Prettify(s)
2332}
2333
2334// GoString returns the string representation
2335func (s AiffSettings) GoString() string {
2336	return s.String()
2337}
2338
2339// Validate inspects the fields of the type to determine if they are valid.
2340func (s *AiffSettings) Validate() error {
2341	invalidParams := request.ErrInvalidParams{Context: "AiffSettings"}
2342	if s.BitDepth != nil && *s.BitDepth < 16 {
2343		invalidParams.Add(request.NewErrParamMinValue("BitDepth", 16))
2344	}
2345	if s.Channels != nil && *s.Channels < 1 {
2346		invalidParams.Add(request.NewErrParamMinValue("Channels", 1))
2347	}
2348	if s.SampleRate != nil && *s.SampleRate < 8000 {
2349		invalidParams.Add(request.NewErrParamMinValue("SampleRate", 8000))
2350	}
2351
2352	if invalidParams.Len() > 0 {
2353		return invalidParams
2354	}
2355	return nil
2356}
2357
2358// SetBitDepth sets the BitDepth field's value.
2359func (s *AiffSettings) SetBitDepth(v int64) *AiffSettings {
2360	s.BitDepth = &v
2361	return s
2362}
2363
2364// SetChannels sets the Channels field's value.
2365func (s *AiffSettings) SetChannels(v int64) *AiffSettings {
2366	s.Channels = &v
2367	return s
2368}
2369
2370// SetSampleRate sets the SampleRate field's value.
2371func (s *AiffSettings) SetSampleRate(v int64) *AiffSettings {
2372	s.SampleRate = &v
2373	return s
2374}
2375
2376// Settings for ancillary captions source.
2377type AncillarySourceSettings struct {
2378	_ struct{} `type:"structure"`
2379
2380	// Specifies the 608 channel number in the ancillary data track from which to
2381	// extract captions. Unused for passthrough.
2382	SourceAncillaryChannelNumber *int64 `locationName:"sourceAncillaryChannelNumber" min:"1" type:"integer"`
2383}
2384
2385// String returns the string representation
2386func (s AncillarySourceSettings) String() string {
2387	return awsutil.Prettify(s)
2388}
2389
2390// GoString returns the string representation
2391func (s AncillarySourceSettings) GoString() string {
2392	return s.String()
2393}
2394
2395// Validate inspects the fields of the type to determine if they are valid.
2396func (s *AncillarySourceSettings) Validate() error {
2397	invalidParams := request.ErrInvalidParams{Context: "AncillarySourceSettings"}
2398	if s.SourceAncillaryChannelNumber != nil && *s.SourceAncillaryChannelNumber < 1 {
2399		invalidParams.Add(request.NewErrParamMinValue("SourceAncillaryChannelNumber", 1))
2400	}
2401
2402	if invalidParams.Len() > 0 {
2403		return invalidParams
2404	}
2405	return nil
2406}
2407
2408// SetSourceAncillaryChannelNumber sets the SourceAncillaryChannelNumber field's value.
2409func (s *AncillarySourceSettings) SetSourceAncillaryChannelNumber(v int64) *AncillarySourceSettings {
2410	s.SourceAncillaryChannelNumber = &v
2411	return s
2412}
2413
2414// Audio codec settings (CodecSettings) under (AudioDescriptions) contains the
2415// group of settings related to audio encoding. The settings in this group vary
2416// depending on the value you choose for Audio codec (Codec). For each codec
2417// enum you choose, define the corresponding settings object. The following
2418// lists the codec enum, settings object pairs. * AAC, AacSettings * MP2, Mp2Settings
2419// * WAV, WavSettings * AIFF, AiffSettings * AC3, Ac3Settings * EAC3, Eac3Settings
2420type AudioCodecSettings struct {
2421	_ struct{} `type:"structure"`
2422
2423	// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
2424	// the value AAC. The service accepts one of two mutually exclusive groups of
2425	// AAC settings--VBR and CBR. To select one of these modes, set the value of
2426	// Bitrate control mode (rateControlMode) to "VBR" or "CBR". In VBR mode, you
2427	// control the audio quality with the setting VBR quality (vbrQuality). In CBR
2428	// mode, you use the setting Bitrate (bitrate). Defaults and valid values depend
2429	// on the rate control mode.
2430	AacSettings *AacSettings `locationName:"aacSettings" type:"structure"`
2431
2432	// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
2433	// the value AC3.
2434	Ac3Settings *Ac3Settings `locationName:"ac3Settings" type:"structure"`
2435
2436	// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
2437	// the value AIFF.
2438	AiffSettings *AiffSettings `locationName:"aiffSettings" type:"structure"`
2439
2440	// Type of Audio codec.
2441	//
2442	// Codec is a required field
2443	Codec *string `locationName:"codec" type:"string" required:"true" enum:"AudioCodec"`
2444
2445	// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
2446	// the value EAC3.
2447	Eac3Settings *Eac3Settings `locationName:"eac3Settings" type:"structure"`
2448
2449	// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
2450	// the value MP2.
2451	Mp2Settings *Mp2Settings `locationName:"mp2Settings" type:"structure"`
2452
2453	// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
2454	// the value WAV.
2455	WavSettings *WavSettings `locationName:"wavSettings" type:"structure"`
2456}
2457
2458// String returns the string representation
2459func (s AudioCodecSettings) String() string {
2460	return awsutil.Prettify(s)
2461}
2462
2463// GoString returns the string representation
2464func (s AudioCodecSettings) GoString() string {
2465	return s.String()
2466}
2467
2468// Validate inspects the fields of the type to determine if they are valid.
2469func (s *AudioCodecSettings) Validate() error {
2470	invalidParams := request.ErrInvalidParams{Context: "AudioCodecSettings"}
2471	if s.Codec == nil {
2472		invalidParams.Add(request.NewErrParamRequired("Codec"))
2473	}
2474	if s.AacSettings != nil {
2475		if err := s.AacSettings.Validate(); err != nil {
2476			invalidParams.AddNested("AacSettings", err.(request.ErrInvalidParams))
2477		}
2478	}
2479	if s.Ac3Settings != nil {
2480		if err := s.Ac3Settings.Validate(); err != nil {
2481			invalidParams.AddNested("Ac3Settings", err.(request.ErrInvalidParams))
2482		}
2483	}
2484	if s.AiffSettings != nil {
2485		if err := s.AiffSettings.Validate(); err != nil {
2486			invalidParams.AddNested("AiffSettings", err.(request.ErrInvalidParams))
2487		}
2488	}
2489	if s.Eac3Settings != nil {
2490		if err := s.Eac3Settings.Validate(); err != nil {
2491			invalidParams.AddNested("Eac3Settings", err.(request.ErrInvalidParams))
2492		}
2493	}
2494	if s.Mp2Settings != nil {
2495		if err := s.Mp2Settings.Validate(); err != nil {
2496			invalidParams.AddNested("Mp2Settings", err.(request.ErrInvalidParams))
2497		}
2498	}
2499	if s.WavSettings != nil {
2500		if err := s.WavSettings.Validate(); err != nil {
2501			invalidParams.AddNested("WavSettings", err.(request.ErrInvalidParams))
2502		}
2503	}
2504
2505	if invalidParams.Len() > 0 {
2506		return invalidParams
2507	}
2508	return nil
2509}
2510
2511// SetAacSettings sets the AacSettings field's value.
2512func (s *AudioCodecSettings) SetAacSettings(v *AacSettings) *AudioCodecSettings {
2513	s.AacSettings = v
2514	return s
2515}
2516
2517// SetAc3Settings sets the Ac3Settings field's value.
2518func (s *AudioCodecSettings) SetAc3Settings(v *Ac3Settings) *AudioCodecSettings {
2519	s.Ac3Settings = v
2520	return s
2521}
2522
2523// SetAiffSettings sets the AiffSettings field's value.
2524func (s *AudioCodecSettings) SetAiffSettings(v *AiffSettings) *AudioCodecSettings {
2525	s.AiffSettings = v
2526	return s
2527}
2528
2529// SetCodec sets the Codec field's value.
2530func (s *AudioCodecSettings) SetCodec(v string) *AudioCodecSettings {
2531	s.Codec = &v
2532	return s
2533}
2534
2535// SetEac3Settings sets the Eac3Settings field's value.
2536func (s *AudioCodecSettings) SetEac3Settings(v *Eac3Settings) *AudioCodecSettings {
2537	s.Eac3Settings = v
2538	return s
2539}
2540
2541// SetMp2Settings sets the Mp2Settings field's value.
2542func (s *AudioCodecSettings) SetMp2Settings(v *Mp2Settings) *AudioCodecSettings {
2543	s.Mp2Settings = v
2544	return s
2545}
2546
2547// SetWavSettings sets the WavSettings field's value.
2548func (s *AudioCodecSettings) SetWavSettings(v *WavSettings) *AudioCodecSettings {
2549	s.WavSettings = v
2550	return s
2551}
2552
2553// Description of audio output
2554type AudioDescription struct {
2555	_ struct{} `type:"structure"`
2556
2557	// Advanced audio normalization settings.
2558	AudioNormalizationSettings *AudioNormalizationSettings `locationName:"audioNormalizationSettings" type:"structure"`
2559
2560	// Specifies which audio data to use from each input. In the simplest case,
2561	// specify an "Audio Selector":#inputs-audio_selector by name based on its order
2562	// within each input. For example if you specify "Audio Selector 3", then the
2563	// third audio selector will be used from each input. If an input does not have
2564	// an "Audio Selector 3", then the audio selector marked as "default" in that
2565	// input will be used. If there is no audio selector marked as "default", silence
2566	// will be inserted for the duration of that input. Alternatively, an "Audio
2567	// Selector Group":#inputs-audio_selector_group name may be specified, with
2568	// similar default/silence behavior. If no audio_source_name is specified, then
2569	// "Audio Selector 1" will be chosen automatically.
2570	AudioSourceName *string `locationName:"audioSourceName" type:"string"`
2571
2572	// Applies only if Follow Input Audio Type is unchecked (false). A number between
2573	// 0 and 255. The following are defined in ISO-IEC 13818-1: 0 = Undefined, 1
2574	// = Clean Effects, 2 = Hearing Impaired, 3 = Visually Impaired Commentary,
2575	// 4-255 = Reserved.
2576	AudioType *int64 `locationName:"audioType" type:"integer"`
2577
2578	// When set to FOLLOW_INPUT, if the input contains an ISO 639 audio_type, then
2579	// that value is passed through to the output. If the input contains no ISO
2580	// 639 audio_type, the value in Audio Type is included in the output. Otherwise
2581	// the value in Audio Type is included in the output. Note that this field and
2582	// audioType are both ignored if audioDescriptionBroadcasterMix is set to BROADCASTER_MIXED_AD.
2583	AudioTypeControl *string `locationName:"audioTypeControl" type:"string" enum:"AudioTypeControl"`
2584
2585	// Audio codec settings (CodecSettings) under (AudioDescriptions) contains the
2586	// group of settings related to audio encoding. The settings in this group vary
2587	// depending on the value you choose for Audio codec (Codec). For each codec
2588	// enum you choose, define the corresponding settings object. The following
2589	// lists the codec enum, settings object pairs. * AAC, AacSettings * MP2, Mp2Settings
2590	// * WAV, WavSettings * AIFF, AiffSettings * AC3, Ac3Settings * EAC3, Eac3Settings
2591	//
2592	// CodecSettings is a required field
2593	CodecSettings *AudioCodecSettings `locationName:"codecSettings" type:"structure" required:"true"`
2594
2595	// Specify the language for this audio output track, using the ISO 639-2 or
2596	// ISO 639-3 three-letter language code. The language specified will be used
2597	// when 'Follow Input Language Code' is not selected or when 'Follow Input Language
2598	// Code' is selected but there is no ISO 639 language code specified by the
2599	// input.
2600	CustomLanguageCode *string `locationName:"customLanguageCode" min:"3" type:"string"`
2601
2602	// Indicates the language of the audio output track. The ISO 639 language specified
2603	// in the 'Language Code' drop down will be used when 'Follow Input Language
2604	// Code' is not selected or when 'Follow Input Language Code' is selected but
2605	// there is no ISO 639 language code specified by the input.
2606	LanguageCode *string `locationName:"languageCode" type:"string" enum:"LanguageCode"`
2607
2608	// Choosing FOLLOW_INPUT will cause the ISO 639 language code of the output
2609	// to follow the ISO 639 language code of the input. The language specified
2610	// for languageCode' will be used when USE_CONFIGURED is selected or when FOLLOW_INPUT
2611	// is selected but there is no ISO 639 language code specified by the input.
2612	LanguageCodeControl *string `locationName:"languageCodeControl" type:"string" enum:"AudioLanguageCodeControl"`
2613
2614	// Advanced audio remixing settings.
2615	RemixSettings *RemixSettings `locationName:"remixSettings" type:"structure"`
2616
2617	// Used for MS Smooth and Apple HLS outputs. Indicates the name displayed by
2618	// the player (eg. English, or Director Commentary). Alphanumeric characters,
2619	// spaces, and underscore are legal.
2620	StreamName *string `locationName:"streamName" type:"string"`
2621}
2622
2623// String returns the string representation
2624func (s AudioDescription) String() string {
2625	return awsutil.Prettify(s)
2626}
2627
2628// GoString returns the string representation
2629func (s AudioDescription) GoString() string {
2630	return s.String()
2631}
2632
2633// Validate inspects the fields of the type to determine if they are valid.
2634func (s *AudioDescription) Validate() error {
2635	invalidParams := request.ErrInvalidParams{Context: "AudioDescription"}
2636	if s.CodecSettings == nil {
2637		invalidParams.Add(request.NewErrParamRequired("CodecSettings"))
2638	}
2639	if s.CustomLanguageCode != nil && len(*s.CustomLanguageCode) < 3 {
2640		invalidParams.Add(request.NewErrParamMinLen("CustomLanguageCode", 3))
2641	}
2642	if s.AudioNormalizationSettings != nil {
2643		if err := s.AudioNormalizationSettings.Validate(); err != nil {
2644			invalidParams.AddNested("AudioNormalizationSettings", err.(request.ErrInvalidParams))
2645		}
2646	}
2647	if s.CodecSettings != nil {
2648		if err := s.CodecSettings.Validate(); err != nil {
2649			invalidParams.AddNested("CodecSettings", err.(request.ErrInvalidParams))
2650		}
2651	}
2652	if s.RemixSettings != nil {
2653		if err := s.RemixSettings.Validate(); err != nil {
2654			invalidParams.AddNested("RemixSettings", err.(request.ErrInvalidParams))
2655		}
2656	}
2657
2658	if invalidParams.Len() > 0 {
2659		return invalidParams
2660	}
2661	return nil
2662}
2663
2664// SetAudioNormalizationSettings sets the AudioNormalizationSettings field's value.
2665func (s *AudioDescription) SetAudioNormalizationSettings(v *AudioNormalizationSettings) *AudioDescription {
2666	s.AudioNormalizationSettings = v
2667	return s
2668}
2669
2670// SetAudioSourceName sets the AudioSourceName field's value.
2671func (s *AudioDescription) SetAudioSourceName(v string) *AudioDescription {
2672	s.AudioSourceName = &v
2673	return s
2674}
2675
2676// SetAudioType sets the AudioType field's value.
2677func (s *AudioDescription) SetAudioType(v int64) *AudioDescription {
2678	s.AudioType = &v
2679	return s
2680}
2681
2682// SetAudioTypeControl sets the AudioTypeControl field's value.
2683func (s *AudioDescription) SetAudioTypeControl(v string) *AudioDescription {
2684	s.AudioTypeControl = &v
2685	return s
2686}
2687
2688// SetCodecSettings sets the CodecSettings field's value.
2689func (s *AudioDescription) SetCodecSettings(v *AudioCodecSettings) *AudioDescription {
2690	s.CodecSettings = v
2691	return s
2692}
2693
2694// SetCustomLanguageCode sets the CustomLanguageCode field's value.
2695func (s *AudioDescription) SetCustomLanguageCode(v string) *AudioDescription {
2696	s.CustomLanguageCode = &v
2697	return s
2698}
2699
2700// SetLanguageCode sets the LanguageCode field's value.
2701func (s *AudioDescription) SetLanguageCode(v string) *AudioDescription {
2702	s.LanguageCode = &v
2703	return s
2704}
2705
2706// SetLanguageCodeControl sets the LanguageCodeControl field's value.
2707func (s *AudioDescription) SetLanguageCodeControl(v string) *AudioDescription {
2708	s.LanguageCodeControl = &v
2709	return s
2710}
2711
2712// SetRemixSettings sets the RemixSettings field's value.
2713func (s *AudioDescription) SetRemixSettings(v *RemixSettings) *AudioDescription {
2714	s.RemixSettings = v
2715	return s
2716}
2717
2718// SetStreamName sets the StreamName field's value.
2719func (s *AudioDescription) SetStreamName(v string) *AudioDescription {
2720	s.StreamName = &v
2721	return s
2722}
2723
2724// Advanced audio normalization settings.
2725type AudioNormalizationSettings struct {
2726	_ struct{} `type:"structure"`
2727
2728	// Audio normalization algorithm to use. 1770-1 conforms to the CALM Act specification,
2729	// 1770-2 conforms to the EBU R-128 specification.
2730	Algorithm *string `locationName:"algorithm" type:"string" enum:"AudioNormalizationAlgorithm"`
2731
2732	// When enabled the output audio is corrected using the chosen algorithm. If
2733	// disabled, the audio will be measured but not adjusted.
2734	AlgorithmControl *string `locationName:"algorithmControl" type:"string" enum:"AudioNormalizationAlgorithmControl"`
2735
2736	// Content measuring above this level will be corrected to the target level.
2737	// Content measuring below this level will not be corrected. Gating only applies
2738	// when not using real_time_correction.
2739	CorrectionGateLevel *int64 `locationName:"correctionGateLevel" type:"integer"`
2740
2741	// If set to LOG, log each output's audio track loudness to a CSV file.
2742	LoudnessLogging *string `locationName:"loudnessLogging" type:"string" enum:"AudioNormalizationLoudnessLogging"`
2743
2744	// If set to TRUE_PEAK, calculate and log the TruePeak for each output's audio
2745	// track loudness.
2746	PeakCalculation *string `locationName:"peakCalculation" type:"string" enum:"AudioNormalizationPeakCalculation"`
2747
2748	// Target LKFS(loudness) to adjust volume to. If no value is entered, a default
2749	// value will be used according to the chosen algorithm. The CALM Act (1770-1)
2750	// recommends a target of -24 LKFS. The EBU R-128 specification (1770-2) recommends
2751	// a target of -23 LKFS.
2752	TargetLkfs *float64 `locationName:"targetLkfs" type:"double"`
2753}
2754
2755// String returns the string representation
2756func (s AudioNormalizationSettings) String() string {
2757	return awsutil.Prettify(s)
2758}
2759
2760// GoString returns the string representation
2761func (s AudioNormalizationSettings) GoString() string {
2762	return s.String()
2763}
2764
2765// Validate inspects the fields of the type to determine if they are valid.
2766func (s *AudioNormalizationSettings) Validate() error {
2767	invalidParams := request.ErrInvalidParams{Context: "AudioNormalizationSettings"}
2768	if s.CorrectionGateLevel != nil && *s.CorrectionGateLevel < -70 {
2769		invalidParams.Add(request.NewErrParamMinValue("CorrectionGateLevel", -70))
2770	}
2771
2772	if invalidParams.Len() > 0 {
2773		return invalidParams
2774	}
2775	return nil
2776}
2777
2778// SetAlgorithm sets the Algorithm field's value.
2779func (s *AudioNormalizationSettings) SetAlgorithm(v string) *AudioNormalizationSettings {
2780	s.Algorithm = &v
2781	return s
2782}
2783
2784// SetAlgorithmControl sets the AlgorithmControl field's value.
2785func (s *AudioNormalizationSettings) SetAlgorithmControl(v string) *AudioNormalizationSettings {
2786	s.AlgorithmControl = &v
2787	return s
2788}
2789
2790// SetCorrectionGateLevel sets the CorrectionGateLevel field's value.
2791func (s *AudioNormalizationSettings) SetCorrectionGateLevel(v int64) *AudioNormalizationSettings {
2792	s.CorrectionGateLevel = &v
2793	return s
2794}
2795
2796// SetLoudnessLogging sets the LoudnessLogging field's value.
2797func (s *AudioNormalizationSettings) SetLoudnessLogging(v string) *AudioNormalizationSettings {
2798	s.LoudnessLogging = &v
2799	return s
2800}
2801
2802// SetPeakCalculation sets the PeakCalculation field's value.
2803func (s *AudioNormalizationSettings) SetPeakCalculation(v string) *AudioNormalizationSettings {
2804	s.PeakCalculation = &v
2805	return s
2806}
2807
2808// SetTargetLkfs sets the TargetLkfs field's value.
2809func (s *AudioNormalizationSettings) SetTargetLkfs(v float64) *AudioNormalizationSettings {
2810	s.TargetLkfs = &v
2811	return s
2812}
2813
2814// Selector for Audio
2815type AudioSelector struct {
2816	_ struct{} `type:"structure"`
2817
2818	// Selects a specific language code from within an audio source, using the ISO
2819	// 639-2 or ISO 639-3 three-letter language code
2820	CustomLanguageCode *string `locationName:"customLanguageCode" min:"3" type:"string"`
2821
2822	// Enable this setting on one audio selector to set it as the default for the
2823	// job. The service uses this default for outputs where it can't find the specified
2824	// input audio. If you don't set a default, those outputs have no audio.
2825	DefaultSelection *string `locationName:"defaultSelection" type:"string" enum:"AudioDefaultSelection"`
2826
2827	// Specifies audio data from an external file source.
2828	ExternalAudioFileInput *string `locationName:"externalAudioFileInput" type:"string"`
2829
2830	// Selects a specific language code from within an audio source.
2831	LanguageCode *string `locationName:"languageCode" type:"string" enum:"LanguageCode"`
2832
2833	// Specifies a time delta in milliseconds to offset the audio from the input
2834	// video.
2835	Offset *int64 `locationName:"offset" type:"integer"`
2836
2837	// Selects a specific PID from within an audio source (e.g. 257 selects PID
2838	// 0x101).
2839	Pids []*int64 `locationName:"pids" type:"list"`
2840
2841	// Use this setting for input streams that contain Dolby E, to have the service
2842	// extract specific program data from the track. To select multiple programs,
2843	// create multiple selectors with the same Track and different Program numbers.
2844	// In the console, this setting is visible when you set Selector type to Track.
2845	// Choose the program number from the dropdown list. If you are sending a JSON
2846	// file, provide the program ID, which is part of the audio metadata. If your
2847	// input file has incorrect metadata, you can choose All channels instead of
2848	// a program number to have the service ignore the program IDs and include all
2849	// the programs in the track.
2850	ProgramSelection *int64 `locationName:"programSelection" type:"integer"`
2851
2852	// Use these settings to reorder the audio channels of one input to match those
2853	// of another input. This allows you to combine the two files into a single
2854	// output, one after the other.
2855	RemixSettings *RemixSettings `locationName:"remixSettings" type:"structure"`
2856
2857	// Specifies the type of the audio selector.
2858	SelectorType *string `locationName:"selectorType" type:"string" enum:"AudioSelectorType"`
2859
2860	// Identify a track from the input audio to include in this selector by entering
2861	// the track index number. To include several tracks in a single audio selector,
2862	// specify multiple tracks as follows. Using the console, enter a comma-separated
2863	// list. For examle, type "1,2,3" to include tracks 1 through 3. Specifying
2864	// directly in your JSON job file, provide the track numbers in an array. For
2865	// example, "tracks": [1,2,3].
2866	Tracks []*int64 `locationName:"tracks" type:"list"`
2867}
2868
2869// String returns the string representation
2870func (s AudioSelector) String() string {
2871	return awsutil.Prettify(s)
2872}
2873
2874// GoString returns the string representation
2875func (s AudioSelector) GoString() string {
2876	return s.String()
2877}
2878
2879// Validate inspects the fields of the type to determine if they are valid.
2880func (s *AudioSelector) Validate() error {
2881	invalidParams := request.ErrInvalidParams{Context: "AudioSelector"}
2882	if s.CustomLanguageCode != nil && len(*s.CustomLanguageCode) < 3 {
2883		invalidParams.Add(request.NewErrParamMinLen("CustomLanguageCode", 3))
2884	}
2885	if s.Offset != nil && *s.Offset < -2.147483648e+09 {
2886		invalidParams.Add(request.NewErrParamMinValue("Offset", -2.147483648e+09))
2887	}
2888	if s.RemixSettings != nil {
2889		if err := s.RemixSettings.Validate(); err != nil {
2890			invalidParams.AddNested("RemixSettings", err.(request.ErrInvalidParams))
2891		}
2892	}
2893
2894	if invalidParams.Len() > 0 {
2895		return invalidParams
2896	}
2897	return nil
2898}
2899
2900// SetCustomLanguageCode sets the CustomLanguageCode field's value.
2901func (s *AudioSelector) SetCustomLanguageCode(v string) *AudioSelector {
2902	s.CustomLanguageCode = &v
2903	return s
2904}
2905
2906// SetDefaultSelection sets the DefaultSelection field's value.
2907func (s *AudioSelector) SetDefaultSelection(v string) *AudioSelector {
2908	s.DefaultSelection = &v
2909	return s
2910}
2911
2912// SetExternalAudioFileInput sets the ExternalAudioFileInput field's value.
2913func (s *AudioSelector) SetExternalAudioFileInput(v string) *AudioSelector {
2914	s.ExternalAudioFileInput = &v
2915	return s
2916}
2917
2918// SetLanguageCode sets the LanguageCode field's value.
2919func (s *AudioSelector) SetLanguageCode(v string) *AudioSelector {
2920	s.LanguageCode = &v
2921	return s
2922}
2923
2924// SetOffset sets the Offset field's value.
2925func (s *AudioSelector) SetOffset(v int64) *AudioSelector {
2926	s.Offset = &v
2927	return s
2928}
2929
2930// SetPids sets the Pids field's value.
2931func (s *AudioSelector) SetPids(v []*int64) *AudioSelector {
2932	s.Pids = v
2933	return s
2934}
2935
2936// SetProgramSelection sets the ProgramSelection field's value.
2937func (s *AudioSelector) SetProgramSelection(v int64) *AudioSelector {
2938	s.ProgramSelection = &v
2939	return s
2940}
2941
2942// SetRemixSettings sets the RemixSettings field's value.
2943func (s *AudioSelector) SetRemixSettings(v *RemixSettings) *AudioSelector {
2944	s.RemixSettings = v
2945	return s
2946}
2947
2948// SetSelectorType sets the SelectorType field's value.
2949func (s *AudioSelector) SetSelectorType(v string) *AudioSelector {
2950	s.SelectorType = &v
2951	return s
2952}
2953
2954// SetTracks sets the Tracks field's value.
2955func (s *AudioSelector) SetTracks(v []*int64) *AudioSelector {
2956	s.Tracks = v
2957	return s
2958}
2959
2960// Group of Audio Selectors
2961type AudioSelectorGroup struct {
2962	_ struct{} `type:"structure"`
2963
2964	// Name of an Audio Selector within the same input to include in the group.
2965	// Audio selector names are standardized, based on their order within the input
2966	// (e.g., "Audio Selector 1"). The audio selector name parameter can be repeated
2967	// to add any number of audio selectors to the group.
2968	//
2969	// AudioSelectorNames is a required field
2970	AudioSelectorNames []*string `locationName:"audioSelectorNames" type:"list" required:"true"`
2971}
2972
2973// String returns the string representation
2974func (s AudioSelectorGroup) String() string {
2975	return awsutil.Prettify(s)
2976}
2977
2978// GoString returns the string representation
2979func (s AudioSelectorGroup) GoString() string {
2980	return s.String()
2981}
2982
2983// Validate inspects the fields of the type to determine if they are valid.
2984func (s *AudioSelectorGroup) Validate() error {
2985	invalidParams := request.ErrInvalidParams{Context: "AudioSelectorGroup"}
2986	if s.AudioSelectorNames == nil {
2987		invalidParams.Add(request.NewErrParamRequired("AudioSelectorNames"))
2988	}
2989
2990	if invalidParams.Len() > 0 {
2991		return invalidParams
2992	}
2993	return nil
2994}
2995
2996// SetAudioSelectorNames sets the AudioSelectorNames field's value.
2997func (s *AudioSelectorGroup) SetAudioSelectorNames(v []*string) *AudioSelectorGroup {
2998	s.AudioSelectorNames = v
2999	return s
3000}
3001
3002// Settings for Avail Blanking
3003type AvailBlanking struct {
3004	_ struct{} `type:"structure"`
3005
3006	// Blanking image to be used. Leave empty for solid black. Only bmp and png
3007	// images are supported.
3008	AvailBlankingImage *string `locationName:"availBlankingImage" min:"14" type:"string"`
3009}
3010
3011// String returns the string representation
3012func (s AvailBlanking) String() string {
3013	return awsutil.Prettify(s)
3014}
3015
3016// GoString returns the string representation
3017func (s AvailBlanking) GoString() string {
3018	return s.String()
3019}
3020
3021// Validate inspects the fields of the type to determine if they are valid.
3022func (s *AvailBlanking) Validate() error {
3023	invalidParams := request.ErrInvalidParams{Context: "AvailBlanking"}
3024	if s.AvailBlankingImage != nil && len(*s.AvailBlankingImage) < 14 {
3025		invalidParams.Add(request.NewErrParamMinLen("AvailBlankingImage", 14))
3026	}
3027
3028	if invalidParams.Len() > 0 {
3029		return invalidParams
3030	}
3031	return nil
3032}
3033
3034// SetAvailBlankingImage sets the AvailBlankingImage field's value.
3035func (s *AvailBlanking) SetAvailBlankingImage(v string) *AvailBlanking {
3036	s.AvailBlankingImage = &v
3037	return s
3038}
3039
3040// Burn-In Destination Settings.
3041type BurninDestinationSettings struct {
3042	_ struct{} `type:"structure"`
3043
3044	// If no explicit x_position or y_position is provided, setting alignment to
3045	// centered will place the captions at the bottom center of the output. Similarly,
3046	// setting a left alignment will align captions to the bottom left of the output.
3047	// If x and y positions are given in conjunction with the alignment parameter,
3048	// the font will be justified (either left or centered) relative to those coordinates.
3049	// This option is not valid for source captions that are STL, 608/embedded or
3050	// teletext. These source settings are already pre-defined by the caption stream.
3051	// All burn-in and DVB-Sub font settings must match.
3052	//
3053	// Alignment is a required field
3054	Alignment *string `locationName:"alignment" type:"string" required:"true" enum:"BurninSubtitleAlignment"`
3055
3056	// Specifies the color of the rectangle behind the captions.All burn-in and
3057	// DVB-Sub font settings must match.
3058	BackgroundColor *string `locationName:"backgroundColor" type:"string" enum:"BurninSubtitleBackgroundColor"`
3059
3060	// Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent.
3061	// Leaving this parameter blank is equivalent to setting it to 0 (transparent).
3062	// All burn-in and DVB-Sub font settings must match.
3063	BackgroundOpacity *int64 `locationName:"backgroundOpacity" type:"integer"`
3064
3065	// Specifies the color of the burned-in captions. This option is not valid for
3066	// source captions that are STL, 608/embedded or teletext. These source settings
3067	// are already pre-defined by the caption stream. All burn-in and DVB-Sub font
3068	// settings must match.
3069	FontColor *string `locationName:"fontColor" type:"string" enum:"BurninSubtitleFontColor"`
3070
3071	// Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent.All
3072	// burn-in and DVB-Sub font settings must match.
3073	//
3074	// FontOpacity is a required field
3075	FontOpacity *int64 `locationName:"fontOpacity" type:"integer" required:"true"`
3076
3077	// Font resolution in DPI (dots per inch); default is 96 dpi.All burn-in and
3078	// DVB-Sub font settings must match.
3079	FontResolution *int64 `locationName:"fontResolution" min:"96" type:"integer"`
3080
3081	// A positive integer indicates the exact font size in points. Set to 0 for
3082	// automatic font size selection. All burn-in and DVB-Sub font settings must
3083	// match.
3084	FontSize *int64 `locationName:"fontSize" type:"integer"`
3085
3086	// Specifies font outline color. This option is not valid for source captions
3087	// that are either 608/embedded or teletext. These source settings are already
3088	// pre-defined by the caption stream. All burn-in and DVB-Sub font settings
3089	// must match.
3090	//
3091	// OutlineColor is a required field
3092	OutlineColor *string `locationName:"outlineColor" type:"string" required:"true" enum:"BurninSubtitleOutlineColor"`
3093
3094	// Specifies font outline size in pixels. This option is not valid for source
3095	// captions that are either 608/embedded or teletext. These source settings
3096	// are already pre-defined by the caption stream. All burn-in and DVB-Sub font
3097	// settings must match.
3098	//
3099	// OutlineSize is a required field
3100	OutlineSize *int64 `locationName:"outlineSize" type:"integer" required:"true"`
3101
3102	// Specifies the color of the shadow cast by the captions.All burn-in and DVB-Sub
3103	// font settings must match.
3104	ShadowColor *string `locationName:"shadowColor" type:"string" enum:"BurninSubtitleShadowColor"`
3105
3106	// Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving
3107	// this parameter blank is equivalent to setting it to 0 (transparent). All
3108	// burn-in and DVB-Sub font settings must match.
3109	ShadowOpacity *int64 `locationName:"shadowOpacity" type:"integer"`
3110
3111	// Specifies the horizontal offset of the shadow relative to the captions in
3112	// pixels. A value of -2 would result in a shadow offset 2 pixels to the left.
3113	// All burn-in and DVB-Sub font settings must match.
3114	ShadowXOffset *int64 `locationName:"shadowXOffset" type:"integer"`
3115
3116	// Specifies the vertical offset of the shadow relative to the captions in pixels.
3117	// A value of -2 would result in a shadow offset 2 pixels above the text. All
3118	// burn-in and DVB-Sub font settings must match.
3119	ShadowYOffset *int64 `locationName:"shadowYOffset" type:"integer"`
3120
3121	// Only applies to jobs with input captions in Teletext or STL formats. Specify
3122	// whether the spacing between letters in your captions is set by the captions
3123	// grid or varies depending on letter width. Choose fixed grid to conform to
3124	// the spacing specified in the captions file more accurately. Choose proportional
3125	// to make the text easier to read if the captions are closed caption.
3126	TeletextSpacing *string `locationName:"teletextSpacing" type:"string" enum:"BurninSubtitleTeletextSpacing"`
3127
3128	// Specifies the horizontal position of the caption relative to the left side
3129	// of the output in pixels. A value of 10 would result in the captions starting
3130	// 10 pixels from the left of the output. If no explicit x_position is provided,
3131	// the horizontal caption position will be determined by the alignment parameter.
3132	// This option is not valid for source captions that are STL, 608/embedded or
3133	// teletext. These source settings are already pre-defined by the caption stream.
3134	// All burn-in and DVB-Sub font settings must match.
3135	XPosition *int64 `locationName:"xPosition" type:"integer"`
3136
3137	// Specifies the vertical position of the caption relative to the top of the
3138	// output in pixels. A value of 10 would result in the captions starting 10
3139	// pixels from the top of the output. If no explicit y_position is provided,
3140	// the caption will be positioned towards the bottom of the output. This option
3141	// is not valid for source captions that are STL, 608/embedded or teletext.
3142	// These source settings are already pre-defined by the caption stream. All
3143	// burn-in and DVB-Sub font settings must match.
3144	YPosition *int64 `locationName:"yPosition" type:"integer"`
3145}
3146
3147// String returns the string representation
3148func (s BurninDestinationSettings) String() string {
3149	return awsutil.Prettify(s)
3150}
3151
3152// GoString returns the string representation
3153func (s BurninDestinationSettings) GoString() string {
3154	return s.String()
3155}
3156
3157// Validate inspects the fields of the type to determine if they are valid.
3158func (s *BurninDestinationSettings) Validate() error {
3159	invalidParams := request.ErrInvalidParams{Context: "BurninDestinationSettings"}
3160	if s.Alignment == nil {
3161		invalidParams.Add(request.NewErrParamRequired("Alignment"))
3162	}
3163	if s.FontOpacity == nil {
3164		invalidParams.Add(request.NewErrParamRequired("FontOpacity"))
3165	}
3166	if s.FontResolution != nil && *s.FontResolution < 96 {
3167		invalidParams.Add(request.NewErrParamMinValue("FontResolution", 96))
3168	}
3169	if s.OutlineColor == nil {
3170		invalidParams.Add(request.NewErrParamRequired("OutlineColor"))
3171	}
3172	if s.OutlineSize == nil {
3173		invalidParams.Add(request.NewErrParamRequired("OutlineSize"))
3174	}
3175	if s.ShadowXOffset != nil && *s.ShadowXOffset < -2.147483648e+09 {
3176		invalidParams.Add(request.NewErrParamMinValue("ShadowXOffset", -2.147483648e+09))
3177	}
3178	if s.ShadowYOffset != nil && *s.ShadowYOffset < -2.147483648e+09 {
3179		invalidParams.Add(request.NewErrParamMinValue("ShadowYOffset", -2.147483648e+09))
3180	}
3181
3182	if invalidParams.Len() > 0 {
3183		return invalidParams
3184	}
3185	return nil
3186}
3187
3188// SetAlignment sets the Alignment field's value.
3189func (s *BurninDestinationSettings) SetAlignment(v string) *BurninDestinationSettings {
3190	s.Alignment = &v
3191	return s
3192}
3193
3194// SetBackgroundColor sets the BackgroundColor field's value.
3195func (s *BurninDestinationSettings) SetBackgroundColor(v string) *BurninDestinationSettings {
3196	s.BackgroundColor = &v
3197	return s
3198}
3199
3200// SetBackgroundOpacity sets the BackgroundOpacity field's value.
3201func (s *BurninDestinationSettings) SetBackgroundOpacity(v int64) *BurninDestinationSettings {
3202	s.BackgroundOpacity = &v
3203	return s
3204}
3205
3206// SetFontColor sets the FontColor field's value.
3207func (s *BurninDestinationSettings) SetFontColor(v string) *BurninDestinationSettings {
3208	s.FontColor = &v
3209	return s
3210}
3211
3212// SetFontOpacity sets the FontOpacity field's value.
3213func (s *BurninDestinationSettings) SetFontOpacity(v int64) *BurninDestinationSettings {
3214	s.FontOpacity = &v
3215	return s
3216}
3217
3218// SetFontResolution sets the FontResolution field's value.
3219func (s *BurninDestinationSettings) SetFontResolution(v int64) *BurninDestinationSettings {
3220	s.FontResolution = &v
3221	return s
3222}
3223
3224// SetFontSize sets the FontSize field's value.
3225func (s *BurninDestinationSettings) SetFontSize(v int64) *BurninDestinationSettings {
3226	s.FontSize = &v
3227	return s
3228}
3229
3230// SetOutlineColor sets the OutlineColor field's value.
3231func (s *BurninDestinationSettings) SetOutlineColor(v string) *BurninDestinationSettings {
3232	s.OutlineColor = &v
3233	return s
3234}
3235
3236// SetOutlineSize sets the OutlineSize field's value.
3237func (s *BurninDestinationSettings) SetOutlineSize(v int64) *BurninDestinationSettings {
3238	s.OutlineSize = &v
3239	return s
3240}
3241
3242// SetShadowColor sets the ShadowColor field's value.
3243func (s *BurninDestinationSettings) SetShadowColor(v string) *BurninDestinationSettings {
3244	s.ShadowColor = &v
3245	return s
3246}
3247
3248// SetShadowOpacity sets the ShadowOpacity field's value.
3249func (s *BurninDestinationSettings) SetShadowOpacity(v int64) *BurninDestinationSettings {
3250	s.ShadowOpacity = &v
3251	return s
3252}
3253
3254// SetShadowXOffset sets the ShadowXOffset field's value.
3255func (s *BurninDestinationSettings) SetShadowXOffset(v int64) *BurninDestinationSettings {
3256	s.ShadowXOffset = &v
3257	return s
3258}
3259
3260// SetShadowYOffset sets the ShadowYOffset field's value.
3261func (s *BurninDestinationSettings) SetShadowYOffset(v int64) *BurninDestinationSettings {
3262	s.ShadowYOffset = &v
3263	return s
3264}
3265
3266// SetTeletextSpacing sets the TeletextSpacing field's value.
3267func (s *BurninDestinationSettings) SetTeletextSpacing(v string) *BurninDestinationSettings {
3268	s.TeletextSpacing = &v
3269	return s
3270}
3271
3272// SetXPosition sets the XPosition field's value.
3273func (s *BurninDestinationSettings) SetXPosition(v int64) *BurninDestinationSettings {
3274	s.XPosition = &v
3275	return s
3276}
3277
3278// SetYPosition sets the YPosition field's value.
3279func (s *BurninDestinationSettings) SetYPosition(v int64) *BurninDestinationSettings {
3280	s.YPosition = &v
3281	return s
3282}
3283
3284// Cancel a job by sending a request with the job ID
3285type CancelJobInput struct {
3286	_ struct{} `type:"structure"`
3287
3288	// The Job ID of the job to be cancelled.
3289	//
3290	// Id is a required field
3291	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
3292}
3293
3294// String returns the string representation
3295func (s CancelJobInput) String() string {
3296	return awsutil.Prettify(s)
3297}
3298
3299// GoString returns the string representation
3300func (s CancelJobInput) GoString() string {
3301	return s.String()
3302}
3303
3304// Validate inspects the fields of the type to determine if they are valid.
3305func (s *CancelJobInput) Validate() error {
3306	invalidParams := request.ErrInvalidParams{Context: "CancelJobInput"}
3307	if s.Id == nil {
3308		invalidParams.Add(request.NewErrParamRequired("Id"))
3309	}
3310
3311	if invalidParams.Len() > 0 {
3312		return invalidParams
3313	}
3314	return nil
3315}
3316
3317// SetId sets the Id field's value.
3318func (s *CancelJobInput) SetId(v string) *CancelJobInput {
3319	s.Id = &v
3320	return s
3321}
3322
3323// A cancel job request will receive a response with an empty body.
3324type CancelJobOutput struct {
3325	_ struct{} `type:"structure"`
3326}
3327
3328// String returns the string representation
3329func (s CancelJobOutput) String() string {
3330	return awsutil.Prettify(s)
3331}
3332
3333// GoString returns the string representation
3334func (s CancelJobOutput) GoString() string {
3335	return s.String()
3336}
3337
3338// Description of Caption output
3339type CaptionDescription struct {
3340	_ struct{} `type:"structure"`
3341
3342	// Specifies which "Caption Selector":#inputs-caption_selector to use from each
3343	// input when generating captions. The name should be of the format "Caption
3344	// Selector ", which denotes that the Nth Caption Selector will be used from
3345	// each input.
3346	//
3347	// CaptionSelectorName is a required field
3348	CaptionSelectorName *string `locationName:"captionSelectorName" min:"1" type:"string" required:"true"`
3349
3350	// Indicates the language of the caption output track, using the ISO 639-2 or
3351	// ISO 639-3 three-letter language code
3352	CustomLanguageCode *string `locationName:"customLanguageCode" min:"3" type:"string"`
3353
3354	// Specific settings required by destination type. Note that burnin_destination_settings
3355	// are not available if the source of the caption data is Embedded or Teletext.
3356	//
3357	// DestinationSettings is a required field
3358	DestinationSettings *CaptionDestinationSettings `locationName:"destinationSettings" type:"structure" required:"true"`
3359
3360	// Indicates the language of the caption output track.
3361	LanguageCode *string `locationName:"languageCode" type:"string" enum:"LanguageCode"`
3362
3363	// Human readable information to indicate captions available for players (eg.
3364	// English, or Spanish). Alphanumeric characters, spaces, and underscore are
3365	// legal.
3366	LanguageDescription *string `locationName:"languageDescription" type:"string"`
3367}
3368
3369// String returns the string representation
3370func (s CaptionDescription) String() string {
3371	return awsutil.Prettify(s)
3372}
3373
3374// GoString returns the string representation
3375func (s CaptionDescription) GoString() string {
3376	return s.String()
3377}
3378
3379// Validate inspects the fields of the type to determine if they are valid.
3380func (s *CaptionDescription) Validate() error {
3381	invalidParams := request.ErrInvalidParams{Context: "CaptionDescription"}
3382	if s.CaptionSelectorName == nil {
3383		invalidParams.Add(request.NewErrParamRequired("CaptionSelectorName"))
3384	}
3385	if s.CaptionSelectorName != nil && len(*s.CaptionSelectorName) < 1 {
3386		invalidParams.Add(request.NewErrParamMinLen("CaptionSelectorName", 1))
3387	}
3388	if s.CustomLanguageCode != nil && len(*s.CustomLanguageCode) < 3 {
3389		invalidParams.Add(request.NewErrParamMinLen("CustomLanguageCode", 3))
3390	}
3391	if s.DestinationSettings == nil {
3392		invalidParams.Add(request.NewErrParamRequired("DestinationSettings"))
3393	}
3394	if s.DestinationSettings != nil {
3395		if err := s.DestinationSettings.Validate(); err != nil {
3396			invalidParams.AddNested("DestinationSettings", err.(request.ErrInvalidParams))
3397		}
3398	}
3399
3400	if invalidParams.Len() > 0 {
3401		return invalidParams
3402	}
3403	return nil
3404}
3405
3406// SetCaptionSelectorName sets the CaptionSelectorName field's value.
3407func (s *CaptionDescription) SetCaptionSelectorName(v string) *CaptionDescription {
3408	s.CaptionSelectorName = &v
3409	return s
3410}
3411
3412// SetCustomLanguageCode sets the CustomLanguageCode field's value.
3413func (s *CaptionDescription) SetCustomLanguageCode(v string) *CaptionDescription {
3414	s.CustomLanguageCode = &v
3415	return s
3416}
3417
3418// SetDestinationSettings sets the DestinationSettings field's value.
3419func (s *CaptionDescription) SetDestinationSettings(v *CaptionDestinationSettings) *CaptionDescription {
3420	s.DestinationSettings = v
3421	return s
3422}
3423
3424// SetLanguageCode sets the LanguageCode field's value.
3425func (s *CaptionDescription) SetLanguageCode(v string) *CaptionDescription {
3426	s.LanguageCode = &v
3427	return s
3428}
3429
3430// SetLanguageDescription sets the LanguageDescription field's value.
3431func (s *CaptionDescription) SetLanguageDescription(v string) *CaptionDescription {
3432	s.LanguageDescription = &v
3433	return s
3434}
3435
3436// Caption Description for preset
3437type CaptionDescriptionPreset struct {
3438	_ struct{} `type:"structure"`
3439
3440	// Indicates the language of the caption output track, using the ISO 639-2 or
3441	// ISO 639-3 three-letter language code
3442	CustomLanguageCode *string `locationName:"customLanguageCode" min:"3" type:"string"`
3443
3444	// Specific settings required by destination type. Note that burnin_destination_settings
3445	// are not available if the source of the caption data is Embedded or Teletext.
3446	//
3447	// DestinationSettings is a required field
3448	DestinationSettings *CaptionDestinationSettings `locationName:"destinationSettings" type:"structure" required:"true"`
3449
3450	// Indicates the language of the caption output track.
3451	LanguageCode *string `locationName:"languageCode" type:"string" enum:"LanguageCode"`
3452
3453	// Human readable information to indicate captions available for players (eg.
3454	// English, or Spanish). Alphanumeric characters, spaces, and underscore are
3455	// legal.
3456	LanguageDescription *string `locationName:"languageDescription" type:"string"`
3457}
3458
3459// String returns the string representation
3460func (s CaptionDescriptionPreset) String() string {
3461	return awsutil.Prettify(s)
3462}
3463
3464// GoString returns the string representation
3465func (s CaptionDescriptionPreset) GoString() string {
3466	return s.String()
3467}
3468
3469// Validate inspects the fields of the type to determine if they are valid.
3470func (s *CaptionDescriptionPreset) Validate() error {
3471	invalidParams := request.ErrInvalidParams{Context: "CaptionDescriptionPreset"}
3472	if s.CustomLanguageCode != nil && len(*s.CustomLanguageCode) < 3 {
3473		invalidParams.Add(request.NewErrParamMinLen("CustomLanguageCode", 3))
3474	}
3475	if s.DestinationSettings == nil {
3476		invalidParams.Add(request.NewErrParamRequired("DestinationSettings"))
3477	}
3478	if s.DestinationSettings != nil {
3479		if err := s.DestinationSettings.Validate(); err != nil {
3480			invalidParams.AddNested("DestinationSettings", err.(request.ErrInvalidParams))
3481		}
3482	}
3483
3484	if invalidParams.Len() > 0 {
3485		return invalidParams
3486	}
3487	return nil
3488}
3489
3490// SetCustomLanguageCode sets the CustomLanguageCode field's value.
3491func (s *CaptionDescriptionPreset) SetCustomLanguageCode(v string) *CaptionDescriptionPreset {
3492	s.CustomLanguageCode = &v
3493	return s
3494}
3495
3496// SetDestinationSettings sets the DestinationSettings field's value.
3497func (s *CaptionDescriptionPreset) SetDestinationSettings(v *CaptionDestinationSettings) *CaptionDescriptionPreset {
3498	s.DestinationSettings = v
3499	return s
3500}
3501
3502// SetLanguageCode sets the LanguageCode field's value.
3503func (s *CaptionDescriptionPreset) SetLanguageCode(v string) *CaptionDescriptionPreset {
3504	s.LanguageCode = &v
3505	return s
3506}
3507
3508// SetLanguageDescription sets the LanguageDescription field's value.
3509func (s *CaptionDescriptionPreset) SetLanguageDescription(v string) *CaptionDescriptionPreset {
3510	s.LanguageDescription = &v
3511	return s
3512}
3513
3514// Specific settings required by destination type. Note that burnin_destination_settings
3515// are not available if the source of the caption data is Embedded or Teletext.
3516type CaptionDestinationSettings struct {
3517	_ struct{} `type:"structure"`
3518
3519	// Burn-In Destination Settings.
3520	BurninDestinationSettings *BurninDestinationSettings `locationName:"burninDestinationSettings" type:"structure"`
3521
3522	// Type of Caption output, including Burn-In, Embedded, SCC, SRT, TTML, WebVTT,
3523	// DVB-Sub, Teletext.
3524	//
3525	// DestinationType is a required field
3526	DestinationType *string `locationName:"destinationType" type:"string" required:"true" enum:"CaptionDestinationType"`
3527
3528	// DVB-Sub Destination Settings
3529	DvbSubDestinationSettings *DvbSubDestinationSettings `locationName:"dvbSubDestinationSettings" type:"structure"`
3530
3531	// Settings for SCC caption output.
3532	SccDestinationSettings *SccDestinationSettings `locationName:"sccDestinationSettings" type:"structure"`
3533
3534	// Settings for Teletext caption output
3535	TeletextDestinationSettings *TeletextDestinationSettings `locationName:"teletextDestinationSettings" type:"structure"`
3536
3537	// Settings specific to TTML caption outputs, including Pass style information
3538	// (TtmlStylePassthrough).
3539	TtmlDestinationSettings *TtmlDestinationSettings `locationName:"ttmlDestinationSettings" type:"structure"`
3540}
3541
3542// String returns the string representation
3543func (s CaptionDestinationSettings) String() string {
3544	return awsutil.Prettify(s)
3545}
3546
3547// GoString returns the string representation
3548func (s CaptionDestinationSettings) GoString() string {
3549	return s.String()
3550}
3551
3552// Validate inspects the fields of the type to determine if they are valid.
3553func (s *CaptionDestinationSettings) Validate() error {
3554	invalidParams := request.ErrInvalidParams{Context: "CaptionDestinationSettings"}
3555	if s.DestinationType == nil {
3556		invalidParams.Add(request.NewErrParamRequired("DestinationType"))
3557	}
3558	if s.BurninDestinationSettings != nil {
3559		if err := s.BurninDestinationSettings.Validate(); err != nil {
3560			invalidParams.AddNested("BurninDestinationSettings", err.(request.ErrInvalidParams))
3561		}
3562	}
3563	if s.DvbSubDestinationSettings != nil {
3564		if err := s.DvbSubDestinationSettings.Validate(); err != nil {
3565			invalidParams.AddNested("DvbSubDestinationSettings", err.(request.ErrInvalidParams))
3566		}
3567	}
3568	if s.TeletextDestinationSettings != nil {
3569		if err := s.TeletextDestinationSettings.Validate(); err != nil {
3570			invalidParams.AddNested("TeletextDestinationSettings", err.(request.ErrInvalidParams))
3571		}
3572	}
3573
3574	if invalidParams.Len() > 0 {
3575		return invalidParams
3576	}
3577	return nil
3578}
3579
3580// SetBurninDestinationSettings sets the BurninDestinationSettings field's value.
3581func (s *CaptionDestinationSettings) SetBurninDestinationSettings(v *BurninDestinationSettings) *CaptionDestinationSettings {
3582	s.BurninDestinationSettings = v
3583	return s
3584}
3585
3586// SetDestinationType sets the DestinationType field's value.
3587func (s *CaptionDestinationSettings) SetDestinationType(v string) *CaptionDestinationSettings {
3588	s.DestinationType = &v
3589	return s
3590}
3591
3592// SetDvbSubDestinationSettings sets the DvbSubDestinationSettings field's value.
3593func (s *CaptionDestinationSettings) SetDvbSubDestinationSettings(v *DvbSubDestinationSettings) *CaptionDestinationSettings {
3594	s.DvbSubDestinationSettings = v
3595	return s
3596}
3597
3598// SetSccDestinationSettings sets the SccDestinationSettings field's value.
3599func (s *CaptionDestinationSettings) SetSccDestinationSettings(v *SccDestinationSettings) *CaptionDestinationSettings {
3600	s.SccDestinationSettings = v
3601	return s
3602}
3603
3604// SetTeletextDestinationSettings sets the TeletextDestinationSettings field's value.
3605func (s *CaptionDestinationSettings) SetTeletextDestinationSettings(v *TeletextDestinationSettings) *CaptionDestinationSettings {
3606	s.TeletextDestinationSettings = v
3607	return s
3608}
3609
3610// SetTtmlDestinationSettings sets the TtmlDestinationSettings field's value.
3611func (s *CaptionDestinationSettings) SetTtmlDestinationSettings(v *TtmlDestinationSettings) *CaptionDestinationSettings {
3612	s.TtmlDestinationSettings = v
3613	return s
3614}
3615
3616// Set up captions in your outputs by first selecting them from your input here.
3617type CaptionSelector struct {
3618	_ struct{} `type:"structure"`
3619
3620	// The specific language to extract from source, using the ISO 639-2 or ISO
3621	// 639-3 three-letter language code. If input is SCTE-27, complete this field
3622	// and/or PID to select the caption language to extract. If input is DVB-Sub
3623	// and output is Burn-in or SMPTE-TT, complete this field and/or PID to select
3624	// the caption language to extract. If input is DVB-Sub that is being passed
3625	// through, omit this field (and PID field); there is no way to extract a specific
3626	// language with pass-through captions.
3627	CustomLanguageCode *string `locationName:"customLanguageCode" min:"3" type:"string"`
3628
3629	// The specific language to extract from source. If input is SCTE-27, complete
3630	// this field and/or PID to select the caption language to extract. If input
3631	// is DVB-Sub and output is Burn-in or SMPTE-TT, complete this field and/or
3632	// PID to select the caption language to extract. If input is DVB-Sub that is
3633	// being passed through, omit this field (and PID field); there is no way to
3634	// extract a specific language with pass-through captions.
3635	LanguageCode *string `locationName:"languageCode" type:"string" enum:"LanguageCode"`
3636
3637	// Source settings (SourceSettings) contains the group of settings for captions
3638	// in the input.
3639	//
3640	// SourceSettings is a required field
3641	SourceSettings *CaptionSourceSettings `locationName:"sourceSettings" type:"structure" required:"true"`
3642}
3643
3644// String returns the string representation
3645func (s CaptionSelector) String() string {
3646	return awsutil.Prettify(s)
3647}
3648
3649// GoString returns the string representation
3650func (s CaptionSelector) GoString() string {
3651	return s.String()
3652}
3653
3654// Validate inspects the fields of the type to determine if they are valid.
3655func (s *CaptionSelector) Validate() error {
3656	invalidParams := request.ErrInvalidParams{Context: "CaptionSelector"}
3657	if s.CustomLanguageCode != nil && len(*s.CustomLanguageCode) < 3 {
3658		invalidParams.Add(request.NewErrParamMinLen("CustomLanguageCode", 3))
3659	}
3660	if s.SourceSettings == nil {
3661		invalidParams.Add(request.NewErrParamRequired("SourceSettings"))
3662	}
3663	if s.SourceSettings != nil {
3664		if err := s.SourceSettings.Validate(); err != nil {
3665			invalidParams.AddNested("SourceSettings", err.(request.ErrInvalidParams))
3666		}
3667	}
3668
3669	if invalidParams.Len() > 0 {
3670		return invalidParams
3671	}
3672	return nil
3673}
3674
3675// SetCustomLanguageCode sets the CustomLanguageCode field's value.
3676func (s *CaptionSelector) SetCustomLanguageCode(v string) *CaptionSelector {
3677	s.CustomLanguageCode = &v
3678	return s
3679}
3680
3681// SetLanguageCode sets the LanguageCode field's value.
3682func (s *CaptionSelector) SetLanguageCode(v string) *CaptionSelector {
3683	s.LanguageCode = &v
3684	return s
3685}
3686
3687// SetSourceSettings sets the SourceSettings field's value.
3688func (s *CaptionSelector) SetSourceSettings(v *CaptionSourceSettings) *CaptionSelector {
3689	s.SourceSettings = v
3690	return s
3691}
3692
3693// Source settings (SourceSettings) contains the group of settings for captions
3694// in the input.
3695type CaptionSourceSettings struct {
3696	_ struct{} `type:"structure"`
3697
3698	// Settings for ancillary captions source.
3699	AncillarySourceSettings *AncillarySourceSettings `locationName:"ancillarySourceSettings" type:"structure"`
3700
3701	// DVB Sub Source Settings
3702	DvbSubSourceSettings *DvbSubSourceSettings `locationName:"dvbSubSourceSettings" type:"structure"`
3703
3704	// Settings for embedded captions Source
3705	EmbeddedSourceSettings *EmbeddedSourceSettings `locationName:"embeddedSourceSettings" type:"structure"`
3706
3707	// Settings for File-based Captions in Source
3708	FileSourceSettings *FileSourceSettings `locationName:"fileSourceSettings" type:"structure"`
3709
3710	// Use Source (SourceType) to identify the format of your input captions. The
3711	// service cannot auto-detect caption format.
3712	//
3713	// SourceType is a required field
3714	SourceType *string `locationName:"sourceType" type:"string" required:"true" enum:"CaptionSourceType"`
3715
3716	// Settings specific to Teletext caption sources, including Page number.
3717	TeletextSourceSettings *TeletextSourceSettings `locationName:"teletextSourceSettings" type:"structure"`
3718}
3719
3720// String returns the string representation
3721func (s CaptionSourceSettings) String() string {
3722	return awsutil.Prettify(s)
3723}
3724
3725// GoString returns the string representation
3726func (s CaptionSourceSettings) GoString() string {
3727	return s.String()
3728}
3729
3730// Validate inspects the fields of the type to determine if they are valid.
3731func (s *CaptionSourceSettings) Validate() error {
3732	invalidParams := request.ErrInvalidParams{Context: "CaptionSourceSettings"}
3733	if s.SourceType == nil {
3734		invalidParams.Add(request.NewErrParamRequired("SourceType"))
3735	}
3736	if s.AncillarySourceSettings != nil {
3737		if err := s.AncillarySourceSettings.Validate(); err != nil {
3738			invalidParams.AddNested("AncillarySourceSettings", err.(request.ErrInvalidParams))
3739		}
3740	}
3741	if s.DvbSubSourceSettings != nil {
3742		if err := s.DvbSubSourceSettings.Validate(); err != nil {
3743			invalidParams.AddNested("DvbSubSourceSettings", err.(request.ErrInvalidParams))
3744		}
3745	}
3746	if s.EmbeddedSourceSettings != nil {
3747		if err := s.EmbeddedSourceSettings.Validate(); err != nil {
3748			invalidParams.AddNested("EmbeddedSourceSettings", err.(request.ErrInvalidParams))
3749		}
3750	}
3751	if s.FileSourceSettings != nil {
3752		if err := s.FileSourceSettings.Validate(); err != nil {
3753			invalidParams.AddNested("FileSourceSettings", err.(request.ErrInvalidParams))
3754		}
3755	}
3756	if s.TeletextSourceSettings != nil {
3757		if err := s.TeletextSourceSettings.Validate(); err != nil {
3758			invalidParams.AddNested("TeletextSourceSettings", err.(request.ErrInvalidParams))
3759		}
3760	}
3761
3762	if invalidParams.Len() > 0 {
3763		return invalidParams
3764	}
3765	return nil
3766}
3767
3768// SetAncillarySourceSettings sets the AncillarySourceSettings field's value.
3769func (s *CaptionSourceSettings) SetAncillarySourceSettings(v *AncillarySourceSettings) *CaptionSourceSettings {
3770	s.AncillarySourceSettings = v
3771	return s
3772}
3773
3774// SetDvbSubSourceSettings sets the DvbSubSourceSettings field's value.
3775func (s *CaptionSourceSettings) SetDvbSubSourceSettings(v *DvbSubSourceSettings) *CaptionSourceSettings {
3776	s.DvbSubSourceSettings = v
3777	return s
3778}
3779
3780// SetEmbeddedSourceSettings sets the EmbeddedSourceSettings field's value.
3781func (s *CaptionSourceSettings) SetEmbeddedSourceSettings(v *EmbeddedSourceSettings) *CaptionSourceSettings {
3782	s.EmbeddedSourceSettings = v
3783	return s
3784}
3785
3786// SetFileSourceSettings sets the FileSourceSettings field's value.
3787func (s *CaptionSourceSettings) SetFileSourceSettings(v *FileSourceSettings) *CaptionSourceSettings {
3788	s.FileSourceSettings = v
3789	return s
3790}
3791
3792// SetSourceType sets the SourceType field's value.
3793func (s *CaptionSourceSettings) SetSourceType(v string) *CaptionSourceSettings {
3794	s.SourceType = &v
3795	return s
3796}
3797
3798// SetTeletextSourceSettings sets the TeletextSourceSettings field's value.
3799func (s *CaptionSourceSettings) SetTeletextSourceSettings(v *TeletextSourceSettings) *CaptionSourceSettings {
3800	s.TeletextSourceSettings = v
3801	return s
3802}
3803
3804// Channel mapping (ChannelMapping) contains the group of fields that hold the
3805// remixing value for each channel. Units are in dB. Acceptable values are within
3806// the range from -60 (mute) through 6. A setting of 0 passes the input channel
3807// unchanged to the output channel (no attenuation or amplification).
3808type ChannelMapping struct {
3809	_ struct{} `type:"structure"`
3810
3811	// List of output channels
3812	//
3813	// OutputChannels is a required field
3814	OutputChannels []*OutputChannelMapping `locationName:"outputChannels" type:"list" required:"true"`
3815}
3816
3817// String returns the string representation
3818func (s ChannelMapping) String() string {
3819	return awsutil.Prettify(s)
3820}
3821
3822// GoString returns the string representation
3823func (s ChannelMapping) GoString() string {
3824	return s.String()
3825}
3826
3827// Validate inspects the fields of the type to determine if they are valid.
3828func (s *ChannelMapping) Validate() error {
3829	invalidParams := request.ErrInvalidParams{Context: "ChannelMapping"}
3830	if s.OutputChannels == nil {
3831		invalidParams.Add(request.NewErrParamRequired("OutputChannels"))
3832	}
3833	if s.OutputChannels != nil {
3834		for i, v := range s.OutputChannels {
3835			if v == nil {
3836				continue
3837			}
3838			if err := v.Validate(); err != nil {
3839				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputChannels", i), err.(request.ErrInvalidParams))
3840			}
3841		}
3842	}
3843
3844	if invalidParams.Len() > 0 {
3845		return invalidParams
3846	}
3847	return nil
3848}
3849
3850// SetOutputChannels sets the OutputChannels field's value.
3851func (s *ChannelMapping) SetOutputChannels(v []*OutputChannelMapping) *ChannelMapping {
3852	s.OutputChannels = v
3853	return s
3854}
3855
3856// Settings for CMAF encryption
3857type CmafEncryptionSettings struct {
3858	_ struct{} `type:"structure"`
3859
3860	// This is a 128-bit, 16-byte hex value represented by a 32-character text string.
3861	// If this parameter is not set then the Initialization Vector will follow the
3862	// segment number by default.
3863	ConstantInitializationVector *string `locationName:"constantInitializationVector" min:"32" type:"string"`
3864
3865	// Encrypts the segments with the given encryption scheme. Leave blank to disable.
3866	// Selecting 'Disabled' in the web interface also disables encryption.
3867	EncryptionMethod *string `locationName:"encryptionMethod" type:"string" enum:"CmafEncryptionType"`
3868
3869	// The Initialization Vector is a 128-bit number used in conjunction with the
3870	// key for encrypting blocks. If set to INCLUDE, Initialization Vector is listed
3871	// in the manifest. Otherwise Initialization Vector is not in the manifest.
3872	InitializationVectorInManifest *string `locationName:"initializationVectorInManifest" type:"string" enum:"CmafInitializationVectorInManifest"`
3873
3874	// Settings for use with a SPEKE key provider.
3875	StaticKeyProvider *StaticKeyProvider `locationName:"staticKeyProvider" type:"structure"`
3876
3877	// Indicates which type of key provider is used for encryption.
3878	//
3879	// Type is a required field
3880	Type *string `locationName:"type" type:"string" required:"true" enum:"CmafKeyProviderType"`
3881}
3882
3883// String returns the string representation
3884func (s CmafEncryptionSettings) String() string {
3885	return awsutil.Prettify(s)
3886}
3887
3888// GoString returns the string representation
3889func (s CmafEncryptionSettings) GoString() string {
3890	return s.String()
3891}
3892
3893// Validate inspects the fields of the type to determine if they are valid.
3894func (s *CmafEncryptionSettings) Validate() error {
3895	invalidParams := request.ErrInvalidParams{Context: "CmafEncryptionSettings"}
3896	if s.ConstantInitializationVector != nil && len(*s.ConstantInitializationVector) < 32 {
3897		invalidParams.Add(request.NewErrParamMinLen("ConstantInitializationVector", 32))
3898	}
3899	if s.Type == nil {
3900		invalidParams.Add(request.NewErrParamRequired("Type"))
3901	}
3902	if s.StaticKeyProvider != nil {
3903		if err := s.StaticKeyProvider.Validate(); err != nil {
3904			invalidParams.AddNested("StaticKeyProvider", err.(request.ErrInvalidParams))
3905		}
3906	}
3907
3908	if invalidParams.Len() > 0 {
3909		return invalidParams
3910	}
3911	return nil
3912}
3913
3914// SetConstantInitializationVector sets the ConstantInitializationVector field's value.
3915func (s *CmafEncryptionSettings) SetConstantInitializationVector(v string) *CmafEncryptionSettings {
3916	s.ConstantInitializationVector = &v
3917	return s
3918}
3919
3920// SetEncryptionMethod sets the EncryptionMethod field's value.
3921func (s *CmafEncryptionSettings) SetEncryptionMethod(v string) *CmafEncryptionSettings {
3922	s.EncryptionMethod = &v
3923	return s
3924}
3925
3926// SetInitializationVectorInManifest sets the InitializationVectorInManifest field's value.
3927func (s *CmafEncryptionSettings) SetInitializationVectorInManifest(v string) *CmafEncryptionSettings {
3928	s.InitializationVectorInManifest = &v
3929	return s
3930}
3931
3932// SetStaticKeyProvider sets the StaticKeyProvider field's value.
3933func (s *CmafEncryptionSettings) SetStaticKeyProvider(v *StaticKeyProvider) *CmafEncryptionSettings {
3934	s.StaticKeyProvider = v
3935	return s
3936}
3937
3938// SetType sets the Type field's value.
3939func (s *CmafEncryptionSettings) SetType(v string) *CmafEncryptionSettings {
3940	s.Type = &v
3941	return s
3942}
3943
3944// Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to
3945// CMAF_GROUP_SETTINGS. Each output in a CMAF Output Group may only contain
3946// a single video, audio, or caption output.
3947type CmafGroupSettings struct {
3948	_ struct{} `type:"structure"`
3949
3950	// A partial URI prefix that will be put in the manifest file at the top level
3951	// BaseURL element. Can be used if streams are delivered from a different URL
3952	// than the manifest file.
3953	BaseUrl *string `locationName:"baseUrl" type:"string"`
3954
3955	// When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client
3956	// from saving media segments for later replay.
3957	ClientCache *string `locationName:"clientCache" type:"string" enum:"CmafClientCache"`
3958
3959	// Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist
3960	// generation.
3961	CodecSpecification *string `locationName:"codecSpecification" type:"string" enum:"CmafCodecSpecification"`
3962
3963	// Use Destination (Destination) to specify the S3 output location and the output
3964	// filename base. Destination accepts format identifiers. If you do not specify
3965	// the base filename in the URI, the service will use the filename of the input
3966	// file. If your job has multiple inputs, the service uses the filename of the
3967	// first input file.
3968	Destination *string `locationName:"destination" type:"string"`
3969
3970	// DRM settings.
3971	Encryption *CmafEncryptionSettings `locationName:"encryption" type:"structure"`
3972
3973	// Length of fragments to generate (in seconds). Fragment length must be compatible
3974	// with GOP size and Framerate. Note that fragments will end on the next keyframe
3975	// after this number of seconds, so actual fragment length may be longer. When
3976	// Emit Single File is checked, the fragmentation is internal to a single output
3977	// file and it does not cause the creation of many output files as in other
3978	// output types.
3979	//
3980	// FragmentLength is a required field
3981	FragmentLength *int64 `locationName:"fragmentLength" min:"1" type:"integer" required:"true"`
3982
3983	// When set to GZIP, compresses HLS playlist.
3984	ManifestCompression *string `locationName:"manifestCompression" type:"string" enum:"CmafManifestCompression"`
3985
3986	// Indicates whether the output manifest should use floating point values for
3987	// segment duration.
3988	ManifestDurationFormat *string `locationName:"manifestDurationFormat" type:"string" enum:"CmafManifestDurationFormat"`
3989
3990	// Minimum time of initially buffered media that is needed to ensure smooth
3991	// playout.
3992	MinBufferTime *int64 `locationName:"minBufferTime" type:"integer"`
3993
3994	// Keep this setting at the default value of 0, unless you are troubleshooting
3995	// a problem with how devices play back the end of your video asset. If you
3996	// know that player devices are hanging on the final segment of your video because
3997	// the length of your final segment is too short, use this setting to specify
3998	// a minimum final segment length, in seconds. Choose a value that is greater
3999	// than or equal to 1 and less than your segment length. When you specify a
4000	// value for this setting, the encoder will combine any final segment that is
4001	// shorter than the length that you specify with the previous segment. For example,
4002	// your segment length is 3 seconds and your final segment is .5 seconds without
4003	// a minimum final segment length; when you set the minimum final segment length
4004	// to 1, your final segment is 3.5 seconds.
4005	MinFinalSegmentLength *float64 `locationName:"minFinalSegmentLength" type:"double"`
4006
4007	// When set to SINGLE_FILE, a single output file is generated, which is internally
4008	// segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES,
4009	// separate segment files will be created.
4010	SegmentControl *string `locationName:"segmentControl" type:"string" enum:"CmafSegmentControl"`
4011
4012	// Use this setting to specify the length, in seconds, of each individual CMAF
4013	// segment. This value applies to the whole package; that is, to every output
4014	// in the output group. Note that segments end on the first keyframe after this
4015	// number of seconds, so the actual segment length might be slightly longer.
4016	// If you set Segment control (CmafSegmentControl) to single file, the service
4017	// puts the content of each output in a single file that has metadata that marks
4018	// these segments. If you set it to segmented files, the service creates multiple
4019	// files for each output, each with the content of one segment.
4020	//
4021	// SegmentLength is a required field
4022	SegmentLength *int64 `locationName:"segmentLength" min:"1" type:"integer" required:"true"`
4023
4024	// Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag
4025	// of variant manifest.
4026	StreamInfResolution *string `locationName:"streamInfResolution" type:"string" enum:"CmafStreamInfResolution"`
4027
4028	// When set to ENABLED, a DASH MPD manifest will be generated for this output.
4029	WriteDashManifest *string `locationName:"writeDashManifest" type:"string" enum:"CmafWriteDASHManifest"`
4030
4031	// When set to ENABLED, an Apple HLS manifest will be generated for this output.
4032	WriteHlsManifest *string `locationName:"writeHlsManifest" type:"string" enum:"CmafWriteHLSManifest"`
4033}
4034
4035// String returns the string representation
4036func (s CmafGroupSettings) String() string {
4037	return awsutil.Prettify(s)
4038}
4039
4040// GoString returns the string representation
4041func (s CmafGroupSettings) GoString() string {
4042	return s.String()
4043}
4044
4045// Validate inspects the fields of the type to determine if they are valid.
4046func (s *CmafGroupSettings) Validate() error {
4047	invalidParams := request.ErrInvalidParams{Context: "CmafGroupSettings"}
4048	if s.FragmentLength == nil {
4049		invalidParams.Add(request.NewErrParamRequired("FragmentLength"))
4050	}
4051	if s.FragmentLength != nil && *s.FragmentLength < 1 {
4052		invalidParams.Add(request.NewErrParamMinValue("FragmentLength", 1))
4053	}
4054	if s.SegmentLength == nil {
4055		invalidParams.Add(request.NewErrParamRequired("SegmentLength"))
4056	}
4057	if s.SegmentLength != nil && *s.SegmentLength < 1 {
4058		invalidParams.Add(request.NewErrParamMinValue("SegmentLength", 1))
4059	}
4060	if s.Encryption != nil {
4061		if err := s.Encryption.Validate(); err != nil {
4062			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
4063		}
4064	}
4065
4066	if invalidParams.Len() > 0 {
4067		return invalidParams
4068	}
4069	return nil
4070}
4071
4072// SetBaseUrl sets the BaseUrl field's value.
4073func (s *CmafGroupSettings) SetBaseUrl(v string) *CmafGroupSettings {
4074	s.BaseUrl = &v
4075	return s
4076}
4077
4078// SetClientCache sets the ClientCache field's value.
4079func (s *CmafGroupSettings) SetClientCache(v string) *CmafGroupSettings {
4080	s.ClientCache = &v
4081	return s
4082}
4083
4084// SetCodecSpecification sets the CodecSpecification field's value.
4085func (s *CmafGroupSettings) SetCodecSpecification(v string) *CmafGroupSettings {
4086	s.CodecSpecification = &v
4087	return s
4088}
4089
4090// SetDestination sets the Destination field's value.
4091func (s *CmafGroupSettings) SetDestination(v string) *CmafGroupSettings {
4092	s.Destination = &v
4093	return s
4094}
4095
4096// SetEncryption sets the Encryption field's value.
4097func (s *CmafGroupSettings) SetEncryption(v *CmafEncryptionSettings) *CmafGroupSettings {
4098	s.Encryption = v
4099	return s
4100}
4101
4102// SetFragmentLength sets the FragmentLength field's value.
4103func (s *CmafGroupSettings) SetFragmentLength(v int64) *CmafGroupSettings {
4104	s.FragmentLength = &v
4105	return s
4106}
4107
4108// SetManifestCompression sets the ManifestCompression field's value.
4109func (s *CmafGroupSettings) SetManifestCompression(v string) *CmafGroupSettings {
4110	s.ManifestCompression = &v
4111	return s
4112}
4113
4114// SetManifestDurationFormat sets the ManifestDurationFormat field's value.
4115func (s *CmafGroupSettings) SetManifestDurationFormat(v string) *CmafGroupSettings {
4116	s.ManifestDurationFormat = &v
4117	return s
4118}
4119
4120// SetMinBufferTime sets the MinBufferTime field's value.
4121func (s *CmafGroupSettings) SetMinBufferTime(v int64) *CmafGroupSettings {
4122	s.MinBufferTime = &v
4123	return s
4124}
4125
4126// SetMinFinalSegmentLength sets the MinFinalSegmentLength field's value.
4127func (s *CmafGroupSettings) SetMinFinalSegmentLength(v float64) *CmafGroupSettings {
4128	s.MinFinalSegmentLength = &v
4129	return s
4130}
4131
4132// SetSegmentControl sets the SegmentControl field's value.
4133func (s *CmafGroupSettings) SetSegmentControl(v string) *CmafGroupSettings {
4134	s.SegmentControl = &v
4135	return s
4136}
4137
4138// SetSegmentLength sets the SegmentLength field's value.
4139func (s *CmafGroupSettings) SetSegmentLength(v int64) *CmafGroupSettings {
4140	s.SegmentLength = &v
4141	return s
4142}
4143
4144// SetStreamInfResolution sets the StreamInfResolution field's value.
4145func (s *CmafGroupSettings) SetStreamInfResolution(v string) *CmafGroupSettings {
4146	s.StreamInfResolution = &v
4147	return s
4148}
4149
4150// SetWriteDashManifest sets the WriteDashManifest field's value.
4151func (s *CmafGroupSettings) SetWriteDashManifest(v string) *CmafGroupSettings {
4152	s.WriteDashManifest = &v
4153	return s
4154}
4155
4156// SetWriteHlsManifest sets the WriteHlsManifest field's value.
4157func (s *CmafGroupSettings) SetWriteHlsManifest(v string) *CmafGroupSettings {
4158	s.WriteHlsManifest = &v
4159	return s
4160}
4161
4162// Settings for color correction.
4163type ColorCorrector struct {
4164	_ struct{} `type:"structure"`
4165
4166	// Brightness level.
4167	Brightness *int64 `locationName:"brightness" min:"1" type:"integer"`
4168
4169	// Determines if colorspace conversion will be performed. If set to _None_,
4170	// no conversion will be performed. If _Force 601_ or _Force 709_ are selected,
4171	// conversion will be performed for inputs with differing colorspaces. An input's
4172	// colorspace can be specified explicitly in the "Video Selector":#inputs-video_selector
4173	// if necessary.
4174	ColorSpaceConversion *string `locationName:"colorSpaceConversion" type:"string" enum:"ColorSpaceConversion"`
4175
4176	// Contrast level.
4177	Contrast *int64 `locationName:"contrast" min:"1" type:"integer"`
4178
4179	// Use the HDR master display (Hdr10Metadata) settings to correct HDR metadata
4180	// or to provide missing metadata. These values vary depending on the input
4181	// video and must be provided by a color grader. Range is 0 to 50,000, each
4182	// increment represents 0.00002 in CIE1931 color coordinate. Note that these
4183	// settings are not color correction. Note that if you are creating HDR outputs
4184	// inside of an HLS CMAF package, to comply with the Apple specification, you
4185	// must use the HVC1 for H.265 setting.
4186	Hdr10Metadata *Hdr10Metadata `locationName:"hdr10Metadata" type:"structure"`
4187
4188	// Hue in degrees.
4189	Hue *int64 `locationName:"hue" type:"integer"`
4190
4191	// Saturation level.
4192	Saturation *int64 `locationName:"saturation" min:"1" type:"integer"`
4193}
4194
4195// String returns the string representation
4196func (s ColorCorrector) String() string {
4197	return awsutil.Prettify(s)
4198}
4199
4200// GoString returns the string representation
4201func (s ColorCorrector) GoString() string {
4202	return s.String()
4203}
4204
4205// Validate inspects the fields of the type to determine if they are valid.
4206func (s *ColorCorrector) Validate() error {
4207	invalidParams := request.ErrInvalidParams{Context: "ColorCorrector"}
4208	if s.Brightness != nil && *s.Brightness < 1 {
4209		invalidParams.Add(request.NewErrParamMinValue("Brightness", 1))
4210	}
4211	if s.Contrast != nil && *s.Contrast < 1 {
4212		invalidParams.Add(request.NewErrParamMinValue("Contrast", 1))
4213	}
4214	if s.Hue != nil && *s.Hue < -180 {
4215		invalidParams.Add(request.NewErrParamMinValue("Hue", -180))
4216	}
4217	if s.Saturation != nil && *s.Saturation < 1 {
4218		invalidParams.Add(request.NewErrParamMinValue("Saturation", 1))
4219	}
4220	if s.Hdr10Metadata != nil {
4221		if err := s.Hdr10Metadata.Validate(); err != nil {
4222			invalidParams.AddNested("Hdr10Metadata", err.(request.ErrInvalidParams))
4223		}
4224	}
4225
4226	if invalidParams.Len() > 0 {
4227		return invalidParams
4228	}
4229	return nil
4230}
4231
4232// SetBrightness sets the Brightness field's value.
4233func (s *ColorCorrector) SetBrightness(v int64) *ColorCorrector {
4234	s.Brightness = &v
4235	return s
4236}
4237
4238// SetColorSpaceConversion sets the ColorSpaceConversion field's value.
4239func (s *ColorCorrector) SetColorSpaceConversion(v string) *ColorCorrector {
4240	s.ColorSpaceConversion = &v
4241	return s
4242}
4243
4244// SetContrast sets the Contrast field's value.
4245func (s *ColorCorrector) SetContrast(v int64) *ColorCorrector {
4246	s.Contrast = &v
4247	return s
4248}
4249
4250// SetHdr10Metadata sets the Hdr10Metadata field's value.
4251func (s *ColorCorrector) SetHdr10Metadata(v *Hdr10Metadata) *ColorCorrector {
4252	s.Hdr10Metadata = v
4253	return s
4254}
4255
4256// SetHue sets the Hue field's value.
4257func (s *ColorCorrector) SetHue(v int64) *ColorCorrector {
4258	s.Hue = &v
4259	return s
4260}
4261
4262// SetSaturation sets the Saturation field's value.
4263func (s *ColorCorrector) SetSaturation(v int64) *ColorCorrector {
4264	s.Saturation = &v
4265	return s
4266}
4267
4268// Container specific settings.
4269type ContainerSettings struct {
4270	_ struct{} `type:"structure"`
4271
4272	// Container for this output. Some containers require a container settings object.
4273	// If not specified, the default object will be created.
4274	//
4275	// Container is a required field
4276	Container *string `locationName:"container" type:"string" required:"true" enum:"ContainerType"`
4277
4278	// Settings for F4v container
4279	F4vSettings *F4vSettings `locationName:"f4vSettings" type:"structure"`
4280
4281	// Settings for M2TS Container.
4282	M2tsSettings *M2tsSettings `locationName:"m2tsSettings" type:"structure"`
4283
4284	// Settings for TS segments in HLS
4285	M3u8Settings *M3u8Settings `locationName:"m3u8Settings" type:"structure"`
4286
4287	// Settings for MOV Container.
4288	MovSettings *MovSettings `locationName:"movSettings" type:"structure"`
4289
4290	// Settings for MP4 Container
4291	Mp4Settings *Mp4Settings `locationName:"mp4Settings" type:"structure"`
4292}
4293
4294// String returns the string representation
4295func (s ContainerSettings) String() string {
4296	return awsutil.Prettify(s)
4297}
4298
4299// GoString returns the string representation
4300func (s ContainerSettings) GoString() string {
4301	return s.String()
4302}
4303
4304// Validate inspects the fields of the type to determine if they are valid.
4305func (s *ContainerSettings) Validate() error {
4306	invalidParams := request.ErrInvalidParams{Context: "ContainerSettings"}
4307	if s.Container == nil {
4308		invalidParams.Add(request.NewErrParamRequired("Container"))
4309	}
4310	if s.M2tsSettings != nil {
4311		if err := s.M2tsSettings.Validate(); err != nil {
4312			invalidParams.AddNested("M2tsSettings", err.(request.ErrInvalidParams))
4313		}
4314	}
4315	if s.M3u8Settings != nil {
4316		if err := s.M3u8Settings.Validate(); err != nil {
4317			invalidParams.AddNested("M3u8Settings", err.(request.ErrInvalidParams))
4318		}
4319	}
4320
4321	if invalidParams.Len() > 0 {
4322		return invalidParams
4323	}
4324	return nil
4325}
4326
4327// SetContainer sets the Container field's value.
4328func (s *ContainerSettings) SetContainer(v string) *ContainerSettings {
4329	s.Container = &v
4330	return s
4331}
4332
4333// SetF4vSettings sets the F4vSettings field's value.
4334func (s *ContainerSettings) SetF4vSettings(v *F4vSettings) *ContainerSettings {
4335	s.F4vSettings = v
4336	return s
4337}
4338
4339// SetM2tsSettings sets the M2tsSettings field's value.
4340func (s *ContainerSettings) SetM2tsSettings(v *M2tsSettings) *ContainerSettings {
4341	s.M2tsSettings = v
4342	return s
4343}
4344
4345// SetM3u8Settings sets the M3u8Settings field's value.
4346func (s *ContainerSettings) SetM3u8Settings(v *M3u8Settings) *ContainerSettings {
4347	s.M3u8Settings = v
4348	return s
4349}
4350
4351// SetMovSettings sets the MovSettings field's value.
4352func (s *ContainerSettings) SetMovSettings(v *MovSettings) *ContainerSettings {
4353	s.MovSettings = v
4354	return s
4355}
4356
4357// SetMp4Settings sets the Mp4Settings field's value.
4358func (s *ContainerSettings) SetMp4Settings(v *Mp4Settings) *ContainerSettings {
4359	s.Mp4Settings = v
4360	return s
4361}
4362
4363// Send your create job request with your job settings and IAM role. Optionally,
4364// include user metadata and the ARN for the queue.
4365type CreateJobInput struct {
4366	_ struct{} `type:"structure"`
4367
4368	// Idempotency token for CreateJob operation.
4369	ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"`
4370
4371	// When you create a job, you can either specify a job template or specify the
4372	// transcoding settings individually
4373	JobTemplate *string `locationName:"jobTemplate" type:"string"`
4374
4375	// Optional. When you create a job, you can specify a queue to send it to. If
4376	// you don't specify, the job will go to the default queue. For more about queues,
4377	// see the User Guide topic at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html.
4378	Queue *string `locationName:"queue" type:"string"`
4379
4380	// Required. The IAM role you use for creating this job. For details about permissions,
4381	// see the User Guide topic at the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html.
4382	//
4383	// Role is a required field
4384	Role *string `locationName:"role" type:"string" required:"true"`
4385
4386	// JobSettings contains all the transcode settings for a job.
4387	//
4388	// Settings is a required field
4389	Settings *JobSettings `locationName:"settings" type:"structure" required:"true"`
4390
4391	// User-defined metadata that you want to associate with an MediaConvert job.
4392	// You specify metadata in key/value pairs.
4393	UserMetadata map[string]*string `locationName:"userMetadata" type:"map"`
4394}
4395
4396// String returns the string representation
4397func (s CreateJobInput) String() string {
4398	return awsutil.Prettify(s)
4399}
4400
4401// GoString returns the string representation
4402func (s CreateJobInput) GoString() string {
4403	return s.String()
4404}
4405
4406// Validate inspects the fields of the type to determine if they are valid.
4407func (s *CreateJobInput) Validate() error {
4408	invalidParams := request.ErrInvalidParams{Context: "CreateJobInput"}
4409	if s.Role == nil {
4410		invalidParams.Add(request.NewErrParamRequired("Role"))
4411	}
4412	if s.Settings == nil {
4413		invalidParams.Add(request.NewErrParamRequired("Settings"))
4414	}
4415	if s.Settings != nil {
4416		if err := s.Settings.Validate(); err != nil {
4417			invalidParams.AddNested("Settings", err.(request.ErrInvalidParams))
4418		}
4419	}
4420
4421	if invalidParams.Len() > 0 {
4422		return invalidParams
4423	}
4424	return nil
4425}
4426
4427// SetClientRequestToken sets the ClientRequestToken field's value.
4428func (s *CreateJobInput) SetClientRequestToken(v string) *CreateJobInput {
4429	s.ClientRequestToken = &v
4430	return s
4431}
4432
4433// SetJobTemplate sets the JobTemplate field's value.
4434func (s *CreateJobInput) SetJobTemplate(v string) *CreateJobInput {
4435	s.JobTemplate = &v
4436	return s
4437}
4438
4439// SetQueue sets the Queue field's value.
4440func (s *CreateJobInput) SetQueue(v string) *CreateJobInput {
4441	s.Queue = &v
4442	return s
4443}
4444
4445// SetRole sets the Role field's value.
4446func (s *CreateJobInput) SetRole(v string) *CreateJobInput {
4447	s.Role = &v
4448	return s
4449}
4450
4451// SetSettings sets the Settings field's value.
4452func (s *CreateJobInput) SetSettings(v *JobSettings) *CreateJobInput {
4453	s.Settings = v
4454	return s
4455}
4456
4457// SetUserMetadata sets the UserMetadata field's value.
4458func (s *CreateJobInput) SetUserMetadata(v map[string]*string) *CreateJobInput {
4459	s.UserMetadata = v
4460	return s
4461}
4462
4463// Successful create job requests will return the job JSON.
4464type CreateJobOutput struct {
4465	_ struct{} `type:"structure"`
4466
4467	// Each job converts an input file into an output file or files. For more information,
4468	// see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
4469	Job *Job `locationName:"job" type:"structure"`
4470}
4471
4472// String returns the string representation
4473func (s CreateJobOutput) String() string {
4474	return awsutil.Prettify(s)
4475}
4476
4477// GoString returns the string representation
4478func (s CreateJobOutput) GoString() string {
4479	return s.String()
4480}
4481
4482// SetJob sets the Job field's value.
4483func (s *CreateJobOutput) SetJob(v *Job) *CreateJobOutput {
4484	s.Job = v
4485	return s
4486}
4487
4488// Send your create job template request with the name of the template and the
4489// JSON for the template. The template JSON should include everything in a valid
4490// job, except for input location and filename, IAM role, and user metadata.
4491type CreateJobTemplateInput struct {
4492	_ struct{} `type:"structure"`
4493
4494	// Optional. A category for the job template you are creating
4495	Category *string `locationName:"category" type:"string"`
4496
4497	// Optional. A description of the job template you are creating.
4498	Description *string `locationName:"description" type:"string"`
4499
4500	// The name of the job template you are creating.
4501	//
4502	// Name is a required field
4503	Name *string `locationName:"name" type:"string" required:"true"`
4504
4505	// Optional. The queue that jobs created from this template are assigned to.
4506	// If you don't specify this, jobs will go to the default queue.
4507	Queue *string `locationName:"queue" type:"string"`
4508
4509	// JobTemplateSettings contains all the transcode settings saved in the template
4510	// that will be applied to jobs created from it.
4511	//
4512	// Settings is a required field
4513	Settings *JobTemplateSettings `locationName:"settings" type:"structure" required:"true"`
4514
4515	// The tags that you want to add to the resource. You can tag resources with
4516	// a key-value pair or with only a key.
4517	Tags map[string]*string `locationName:"tags" type:"map"`
4518}
4519
4520// String returns the string representation
4521func (s CreateJobTemplateInput) String() string {
4522	return awsutil.Prettify(s)
4523}
4524
4525// GoString returns the string representation
4526func (s CreateJobTemplateInput) GoString() string {
4527	return s.String()
4528}
4529
4530// Validate inspects the fields of the type to determine if they are valid.
4531func (s *CreateJobTemplateInput) Validate() error {
4532	invalidParams := request.ErrInvalidParams{Context: "CreateJobTemplateInput"}
4533	if s.Name == nil {
4534		invalidParams.Add(request.NewErrParamRequired("Name"))
4535	}
4536	if s.Settings == nil {
4537		invalidParams.Add(request.NewErrParamRequired("Settings"))
4538	}
4539	if s.Settings != nil {
4540		if err := s.Settings.Validate(); err != nil {
4541			invalidParams.AddNested("Settings", err.(request.ErrInvalidParams))
4542		}
4543	}
4544
4545	if invalidParams.Len() > 0 {
4546		return invalidParams
4547	}
4548	return nil
4549}
4550
4551// SetCategory sets the Category field's value.
4552func (s *CreateJobTemplateInput) SetCategory(v string) *CreateJobTemplateInput {
4553	s.Category = &v
4554	return s
4555}
4556
4557// SetDescription sets the Description field's value.
4558func (s *CreateJobTemplateInput) SetDescription(v string) *CreateJobTemplateInput {
4559	s.Description = &v
4560	return s
4561}
4562
4563// SetName sets the Name field's value.
4564func (s *CreateJobTemplateInput) SetName(v string) *CreateJobTemplateInput {
4565	s.Name = &v
4566	return s
4567}
4568
4569// SetQueue sets the Queue field's value.
4570func (s *CreateJobTemplateInput) SetQueue(v string) *CreateJobTemplateInput {
4571	s.Queue = &v
4572	return s
4573}
4574
4575// SetSettings sets the Settings field's value.
4576func (s *CreateJobTemplateInput) SetSettings(v *JobTemplateSettings) *CreateJobTemplateInput {
4577	s.Settings = v
4578	return s
4579}
4580
4581// SetTags sets the Tags field's value.
4582func (s *CreateJobTemplateInput) SetTags(v map[string]*string) *CreateJobTemplateInput {
4583	s.Tags = v
4584	return s
4585}
4586
4587// Successful create job template requests will return the template JSON.
4588type CreateJobTemplateOutput struct {
4589	_ struct{} `type:"structure"`
4590
4591	// A job template is a pre-made set of encoding instructions that you can use
4592	// to quickly create a job.
4593	JobTemplate *JobTemplate `locationName:"jobTemplate" type:"structure"`
4594}
4595
4596// String returns the string representation
4597func (s CreateJobTemplateOutput) String() string {
4598	return awsutil.Prettify(s)
4599}
4600
4601// GoString returns the string representation
4602func (s CreateJobTemplateOutput) GoString() string {
4603	return s.String()
4604}
4605
4606// SetJobTemplate sets the JobTemplate field's value.
4607func (s *CreateJobTemplateOutput) SetJobTemplate(v *JobTemplate) *CreateJobTemplateOutput {
4608	s.JobTemplate = v
4609	return s
4610}
4611
4612// Send your create preset request with the name of the preset and the JSON
4613// for the output settings specified by the preset.
4614type CreatePresetInput struct {
4615	_ struct{} `type:"structure"`
4616
4617	// Optional. A category for the preset you are creating.
4618	Category *string `locationName:"category" type:"string"`
4619
4620	// Optional. A description of the preset you are creating.
4621	Description *string `locationName:"description" type:"string"`
4622
4623	// The name of the preset you are creating.
4624	//
4625	// Name is a required field
4626	Name *string `locationName:"name" type:"string" required:"true"`
4627
4628	// Settings for preset
4629	//
4630	// Settings is a required field
4631	Settings *PresetSettings `locationName:"settings" type:"structure" required:"true"`
4632
4633	// The tags that you want to add to the resource. You can tag resources with
4634	// a key-value pair or with only a key.
4635	Tags map[string]*string `locationName:"tags" type:"map"`
4636}
4637
4638// String returns the string representation
4639func (s CreatePresetInput) String() string {
4640	return awsutil.Prettify(s)
4641}
4642
4643// GoString returns the string representation
4644func (s CreatePresetInput) GoString() string {
4645	return s.String()
4646}
4647
4648// Validate inspects the fields of the type to determine if they are valid.
4649func (s *CreatePresetInput) Validate() error {
4650	invalidParams := request.ErrInvalidParams{Context: "CreatePresetInput"}
4651	if s.Name == nil {
4652		invalidParams.Add(request.NewErrParamRequired("Name"))
4653	}
4654	if s.Settings == nil {
4655		invalidParams.Add(request.NewErrParamRequired("Settings"))
4656	}
4657	if s.Settings != nil {
4658		if err := s.Settings.Validate(); err != nil {
4659			invalidParams.AddNested("Settings", err.(request.ErrInvalidParams))
4660		}
4661	}
4662
4663	if invalidParams.Len() > 0 {
4664		return invalidParams
4665	}
4666	return nil
4667}
4668
4669// SetCategory sets the Category field's value.
4670func (s *CreatePresetInput) SetCategory(v string) *CreatePresetInput {
4671	s.Category = &v
4672	return s
4673}
4674
4675// SetDescription sets the Description field's value.
4676func (s *CreatePresetInput) SetDescription(v string) *CreatePresetInput {
4677	s.Description = &v
4678	return s
4679}
4680
4681// SetName sets the Name field's value.
4682func (s *CreatePresetInput) SetName(v string) *CreatePresetInput {
4683	s.Name = &v
4684	return s
4685}
4686
4687// SetSettings sets the Settings field's value.
4688func (s *CreatePresetInput) SetSettings(v *PresetSettings) *CreatePresetInput {
4689	s.Settings = v
4690	return s
4691}
4692
4693// SetTags sets the Tags field's value.
4694func (s *CreatePresetInput) SetTags(v map[string]*string) *CreatePresetInput {
4695	s.Tags = v
4696	return s
4697}
4698
4699// Successful create preset requests will return the preset JSON.
4700type CreatePresetOutput struct {
4701	_ struct{} `type:"structure"`
4702
4703	// A preset is a collection of preconfigured media conversion settings that
4704	// you want MediaConvert to apply to the output during the conversion process.
4705	Preset *Preset `locationName:"preset" type:"structure"`
4706}
4707
4708// String returns the string representation
4709func (s CreatePresetOutput) String() string {
4710	return awsutil.Prettify(s)
4711}
4712
4713// GoString returns the string representation
4714func (s CreatePresetOutput) GoString() string {
4715	return s.String()
4716}
4717
4718// SetPreset sets the Preset field's value.
4719func (s *CreatePresetOutput) SetPreset(v *Preset) *CreatePresetOutput {
4720	s.Preset = v
4721	return s
4722}
4723
4724// Send your create queue request with the name of the queue.
4725type CreateQueueInput struct {
4726	_ struct{} `type:"structure"`
4727
4728	// Optional. A description of the queue you are creating.
4729	Description *string `locationName:"description" type:"string"`
4730
4731	// The name of the queue you are creating.
4732	//
4733	// Name is a required field
4734	Name *string `locationName:"name" type:"string" required:"true"`
4735
4736	// The tags that you want to add to the resource. You can tag resources with
4737	// a key-value pair or with only a key.
4738	Tags map[string]*string `locationName:"tags" type:"map"`
4739}
4740
4741// String returns the string representation
4742func (s CreateQueueInput) String() string {
4743	return awsutil.Prettify(s)
4744}
4745
4746// GoString returns the string representation
4747func (s CreateQueueInput) GoString() string {
4748	return s.String()
4749}
4750
4751// Validate inspects the fields of the type to determine if they are valid.
4752func (s *CreateQueueInput) Validate() error {
4753	invalidParams := request.ErrInvalidParams{Context: "CreateQueueInput"}
4754	if s.Name == nil {
4755		invalidParams.Add(request.NewErrParamRequired("Name"))
4756	}
4757
4758	if invalidParams.Len() > 0 {
4759		return invalidParams
4760	}
4761	return nil
4762}
4763
4764// SetDescription sets the Description field's value.
4765func (s *CreateQueueInput) SetDescription(v string) *CreateQueueInput {
4766	s.Description = &v
4767	return s
4768}
4769
4770// SetName sets the Name field's value.
4771func (s *CreateQueueInput) SetName(v string) *CreateQueueInput {
4772	s.Name = &v
4773	return s
4774}
4775
4776// SetTags sets the Tags field's value.
4777func (s *CreateQueueInput) SetTags(v map[string]*string) *CreateQueueInput {
4778	s.Tags = v
4779	return s
4780}
4781
4782// Successful create queue requests will return the name of the queue you just
4783// created and information about it.
4784type CreateQueueOutput struct {
4785	_ struct{} `type:"structure"`
4786
4787	// MediaConvert jobs are submitted to a queue. Unless specified otherwise jobs
4788	// are submitted to a built-in default queue. User can create additional queues
4789	// to separate the jobs of different categories or priority.
4790	Queue *Queue `locationName:"queue" type:"structure"`
4791}
4792
4793// String returns the string representation
4794func (s CreateQueueOutput) String() string {
4795	return awsutil.Prettify(s)
4796}
4797
4798// GoString returns the string representation
4799func (s CreateQueueOutput) GoString() string {
4800	return s.String()
4801}
4802
4803// SetQueue sets the Queue field's value.
4804func (s *CreateQueueOutput) SetQueue(v *Queue) *CreateQueueOutput {
4805	s.Queue = v
4806	return s
4807}
4808
4809// Specifies DRM settings for DASH outputs.
4810type DashIsoEncryptionSettings struct {
4811	_ struct{} `type:"structure"`
4812
4813	// Settings for use with a SPEKE key provider
4814	//
4815	// SpekeKeyProvider is a required field
4816	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"`
4817}
4818
4819// String returns the string representation
4820func (s DashIsoEncryptionSettings) String() string {
4821	return awsutil.Prettify(s)
4822}
4823
4824// GoString returns the string representation
4825func (s DashIsoEncryptionSettings) GoString() string {
4826	return s.String()
4827}
4828
4829// Validate inspects the fields of the type to determine if they are valid.
4830func (s *DashIsoEncryptionSettings) Validate() error {
4831	invalidParams := request.ErrInvalidParams{Context: "DashIsoEncryptionSettings"}
4832	if s.SpekeKeyProvider == nil {
4833		invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider"))
4834	}
4835	if s.SpekeKeyProvider != nil {
4836		if err := s.SpekeKeyProvider.Validate(); err != nil {
4837			invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams))
4838		}
4839	}
4840
4841	if invalidParams.Len() > 0 {
4842		return invalidParams
4843	}
4844	return nil
4845}
4846
4847// SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
4848func (s *DashIsoEncryptionSettings) SetSpekeKeyProvider(v *SpekeKeyProvider) *DashIsoEncryptionSettings {
4849	s.SpekeKeyProvider = v
4850	return s
4851}
4852
4853// Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to
4854// DASH_ISO_GROUP_SETTINGS.
4855type DashIsoGroupSettings struct {
4856	_ struct{} `type:"structure"`
4857
4858	// A partial URI prefix that will be put in the manifest (.mpd) file at the
4859	// top level BaseURL element. Can be used if streams are delivered from a different
4860	// URL than the manifest file.
4861	BaseUrl *string `locationName:"baseUrl" type:"string"`
4862
4863	// Use Destination (Destination) to specify the S3 output location and the output
4864	// filename base. Destination accepts format identifiers. If you do not specify
4865	// the base filename in the URI, the service will use the filename of the input
4866	// file. If your job has multiple inputs, the service uses the filename of the
4867	// first input file.
4868	Destination *string `locationName:"destination" type:"string"`
4869
4870	// DRM settings.
4871	Encryption *DashIsoEncryptionSettings `locationName:"encryption" type:"structure"`
4872
4873	// Length of fragments to generate (in seconds). Fragment length must be compatible
4874	// with GOP size and Framerate. Note that fragments will end on the next keyframe
4875	// after this number of seconds, so actual fragment length may be longer. When
4876	// Emit Single File is checked, the fragmentation is internal to a single output
4877	// file and it does not cause the creation of many output files as in other
4878	// output types.
4879	//
4880	// FragmentLength is a required field
4881	FragmentLength *int64 `locationName:"fragmentLength" min:"1" type:"integer" required:"true"`
4882
4883	// Supports HbbTV specification as indicated
4884	HbbtvCompliance *string `locationName:"hbbtvCompliance" type:"string" enum:"DashIsoHbbtvCompliance"`
4885
4886	// Minimum time of initially buffered media that is needed to ensure smooth
4887	// playout.
4888	MinBufferTime *int64 `locationName:"minBufferTime" type:"integer"`
4889
4890	// When set to SINGLE_FILE, a single output file is generated, which is internally
4891	// segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES,
4892	// separate segment files will be created.
4893	SegmentControl *string `locationName:"segmentControl" type:"string" enum:"DashIsoSegmentControl"`
4894
4895	// Length of mpd segments to create (in seconds). Note that segments will end
4896	// on the next keyframe after this number of seconds, so actual segment length
4897	// may be longer. When Emit Single File is checked, the segmentation is internal
4898	// to a single output file and it does not cause the creation of many output
4899	// files as in other output types.
4900	//
4901	// SegmentLength is a required field
4902	SegmentLength *int64 `locationName:"segmentLength" min:"1" type:"integer" required:"true"`
4903}
4904
4905// String returns the string representation
4906func (s DashIsoGroupSettings) String() string {
4907	return awsutil.Prettify(s)
4908}
4909
4910// GoString returns the string representation
4911func (s DashIsoGroupSettings) GoString() string {
4912	return s.String()
4913}
4914
4915// Validate inspects the fields of the type to determine if they are valid.
4916func (s *DashIsoGroupSettings) Validate() error {
4917	invalidParams := request.ErrInvalidParams{Context: "DashIsoGroupSettings"}
4918	if s.FragmentLength == nil {
4919		invalidParams.Add(request.NewErrParamRequired("FragmentLength"))
4920	}
4921	if s.FragmentLength != nil && *s.FragmentLength < 1 {
4922		invalidParams.Add(request.NewErrParamMinValue("FragmentLength", 1))
4923	}
4924	if s.SegmentLength == nil {
4925		invalidParams.Add(request.NewErrParamRequired("SegmentLength"))
4926	}
4927	if s.SegmentLength != nil && *s.SegmentLength < 1 {
4928		invalidParams.Add(request.NewErrParamMinValue("SegmentLength", 1))
4929	}
4930	if s.Encryption != nil {
4931		if err := s.Encryption.Validate(); err != nil {
4932			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
4933		}
4934	}
4935
4936	if invalidParams.Len() > 0 {
4937		return invalidParams
4938	}
4939	return nil
4940}
4941
4942// SetBaseUrl sets the BaseUrl field's value.
4943func (s *DashIsoGroupSettings) SetBaseUrl(v string) *DashIsoGroupSettings {
4944	s.BaseUrl = &v
4945	return s
4946}
4947
4948// SetDestination sets the Destination field's value.
4949func (s *DashIsoGroupSettings) SetDestination(v string) *DashIsoGroupSettings {
4950	s.Destination = &v
4951	return s
4952}
4953
4954// SetEncryption sets the Encryption field's value.
4955func (s *DashIsoGroupSettings) SetEncryption(v *DashIsoEncryptionSettings) *DashIsoGroupSettings {
4956	s.Encryption = v
4957	return s
4958}
4959
4960// SetFragmentLength sets the FragmentLength field's value.
4961func (s *DashIsoGroupSettings) SetFragmentLength(v int64) *DashIsoGroupSettings {
4962	s.FragmentLength = &v
4963	return s
4964}
4965
4966// SetHbbtvCompliance sets the HbbtvCompliance field's value.
4967func (s *DashIsoGroupSettings) SetHbbtvCompliance(v string) *DashIsoGroupSettings {
4968	s.HbbtvCompliance = &v
4969	return s
4970}
4971
4972// SetMinBufferTime sets the MinBufferTime field's value.
4973func (s *DashIsoGroupSettings) SetMinBufferTime(v int64) *DashIsoGroupSettings {
4974	s.MinBufferTime = &v
4975	return s
4976}
4977
4978// SetSegmentControl sets the SegmentControl field's value.
4979func (s *DashIsoGroupSettings) SetSegmentControl(v string) *DashIsoGroupSettings {
4980	s.SegmentControl = &v
4981	return s
4982}
4983
4984// SetSegmentLength sets the SegmentLength field's value.
4985func (s *DashIsoGroupSettings) SetSegmentLength(v int64) *DashIsoGroupSettings {
4986	s.SegmentLength = &v
4987	return s
4988}
4989
4990// Settings for deinterlacer
4991type Deinterlacer struct {
4992	_ struct{} `type:"structure"`
4993
4994	// Only applies when you set Deinterlacer (DeinterlaceMode) to Deinterlace (DEINTERLACE)
4995	// or Adaptive (ADAPTIVE). Motion adaptive interpolate (INTERPOLATE) produces
4996	// sharper pictures, while blend (BLEND) produces smoother motion. Use (INTERPOLATE_TICKER)
4997	// OR (BLEND_TICKER) if your source file includes a ticker, such as a scrolling
4998	// headline at the bottom of the frame.
4999	Algorithm *string `locationName:"algorithm" type:"string" enum:"DeinterlaceAlgorithm"`
5000
5001	// - When set to NORMAL (default), the deinterlacer does not convert frames
5002	// that are tagged in metadata as progressive. It will only convert those that
5003	// are tagged as some other type. - When set to FORCE_ALL_FRAMES, the deinterlacer
5004	// converts every frame to progressive - even those that are already tagged
5005	// as progressive. Turn Force mode on only if there is a good chance that the
5006	// metadata has tagged frames as progressive when they are not progressive.
5007	// Do not turn on otherwise; processing frames that are already progressive
5008	// into progressive will probably result in lower quality video.
5009	Control *string `locationName:"control" type:"string" enum:"DeinterlacerControl"`
5010
5011	// Use Deinterlacer (DeinterlaceMode) to choose how the service will do deinterlacing.
5012	// Default is Deinterlace. - Deinterlace converts interlaced to progressive.
5013	// - Inverse telecine converts Hard Telecine 29.97i to progressive 23.976p.
5014	// - Adaptive auto-detects and converts to progressive.
5015	Mode *string `locationName:"mode" type:"string" enum:"DeinterlacerMode"`
5016}
5017
5018// String returns the string representation
5019func (s Deinterlacer) String() string {
5020	return awsutil.Prettify(s)
5021}
5022
5023// GoString returns the string representation
5024func (s Deinterlacer) GoString() string {
5025	return s.String()
5026}
5027
5028// SetAlgorithm sets the Algorithm field's value.
5029func (s *Deinterlacer) SetAlgorithm(v string) *Deinterlacer {
5030	s.Algorithm = &v
5031	return s
5032}
5033
5034// SetControl sets the Control field's value.
5035func (s *Deinterlacer) SetControl(v string) *Deinterlacer {
5036	s.Control = &v
5037	return s
5038}
5039
5040// SetMode sets the Mode field's value.
5041func (s *Deinterlacer) SetMode(v string) *Deinterlacer {
5042	s.Mode = &v
5043	return s
5044}
5045
5046// Delete a job template by sending a request with the job template name
5047type DeleteJobTemplateInput struct {
5048	_ struct{} `type:"structure"`
5049
5050	// The name of the job template to be deleted.
5051	//
5052	// Name is a required field
5053	Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
5054}
5055
5056// String returns the string representation
5057func (s DeleteJobTemplateInput) String() string {
5058	return awsutil.Prettify(s)
5059}
5060
5061// GoString returns the string representation
5062func (s DeleteJobTemplateInput) GoString() string {
5063	return s.String()
5064}
5065
5066// Validate inspects the fields of the type to determine if they are valid.
5067func (s *DeleteJobTemplateInput) Validate() error {
5068	invalidParams := request.ErrInvalidParams{Context: "DeleteJobTemplateInput"}
5069	if s.Name == nil {
5070		invalidParams.Add(request.NewErrParamRequired("Name"))
5071	}
5072
5073	if invalidParams.Len() > 0 {
5074		return invalidParams
5075	}
5076	return nil
5077}
5078
5079// SetName sets the Name field's value.
5080func (s *DeleteJobTemplateInput) SetName(v string) *DeleteJobTemplateInput {
5081	s.Name = &v
5082	return s
5083}
5084
5085// Delete job template requests will return an OK message or error message with
5086// an empty body.
5087type DeleteJobTemplateOutput struct {
5088	_ struct{} `type:"structure"`
5089}
5090
5091// String returns the string representation
5092func (s DeleteJobTemplateOutput) String() string {
5093	return awsutil.Prettify(s)
5094}
5095
5096// GoString returns the string representation
5097func (s DeleteJobTemplateOutput) GoString() string {
5098	return s.String()
5099}
5100
5101// Delete a preset by sending a request with the preset name
5102type DeletePresetInput struct {
5103	_ struct{} `type:"structure"`
5104
5105	// The name of the preset to be deleted.
5106	//
5107	// Name is a required field
5108	Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
5109}
5110
5111// String returns the string representation
5112func (s DeletePresetInput) String() string {
5113	return awsutil.Prettify(s)
5114}
5115
5116// GoString returns the string representation
5117func (s DeletePresetInput) GoString() string {
5118	return s.String()
5119}
5120
5121// Validate inspects the fields of the type to determine if they are valid.
5122func (s *DeletePresetInput) Validate() error {
5123	invalidParams := request.ErrInvalidParams{Context: "DeletePresetInput"}
5124	if s.Name == nil {
5125		invalidParams.Add(request.NewErrParamRequired("Name"))
5126	}
5127
5128	if invalidParams.Len() > 0 {
5129		return invalidParams
5130	}
5131	return nil
5132}
5133
5134// SetName sets the Name field's value.
5135func (s *DeletePresetInput) SetName(v string) *DeletePresetInput {
5136	s.Name = &v
5137	return s
5138}
5139
5140// Delete preset requests will return an OK message or error message with an
5141// empty body.
5142type DeletePresetOutput struct {
5143	_ struct{} `type:"structure"`
5144}
5145
5146// String returns the string representation
5147func (s DeletePresetOutput) String() string {
5148	return awsutil.Prettify(s)
5149}
5150
5151// GoString returns the string representation
5152func (s DeletePresetOutput) GoString() string {
5153	return s.String()
5154}
5155
5156// Delete a queue by sending a request with the queue name
5157type DeleteQueueInput struct {
5158	_ struct{} `type:"structure"`
5159
5160	// The name of the queue to be deleted.
5161	//
5162	// Name is a required field
5163	Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
5164}
5165
5166// String returns the string representation
5167func (s DeleteQueueInput) String() string {
5168	return awsutil.Prettify(s)
5169}
5170
5171// GoString returns the string representation
5172func (s DeleteQueueInput) GoString() string {
5173	return s.String()
5174}
5175
5176// Validate inspects the fields of the type to determine if they are valid.
5177func (s *DeleteQueueInput) Validate() error {
5178	invalidParams := request.ErrInvalidParams{Context: "DeleteQueueInput"}
5179	if s.Name == nil {
5180		invalidParams.Add(request.NewErrParamRequired("Name"))
5181	}
5182
5183	if invalidParams.Len() > 0 {
5184		return invalidParams
5185	}
5186	return nil
5187}
5188
5189// SetName sets the Name field's value.
5190func (s *DeleteQueueInput) SetName(v string) *DeleteQueueInput {
5191	s.Name = &v
5192	return s
5193}
5194
5195// Delete queue requests will return an OK message or error message with an
5196// empty body.
5197type DeleteQueueOutput struct {
5198	_ struct{} `type:"structure"`
5199}
5200
5201// String returns the string representation
5202func (s DeleteQueueOutput) String() string {
5203	return awsutil.Prettify(s)
5204}
5205
5206// GoString returns the string representation
5207func (s DeleteQueueOutput) GoString() string {
5208	return s.String()
5209}
5210
5211// Send an request with an empty body to the regional API endpoint to get your
5212// account API endpoint.
5213type DescribeEndpointsInput struct {
5214	_ struct{} `type:"structure"`
5215
5216	// Optional. Max number of endpoints, up to twenty, that will be returned at
5217	// one time.
5218	MaxResults *int64 `locationName:"maxResults" type:"integer"`
5219
5220	// Use this string, provided with the response to a previous request, to request
5221	// the next batch of endpoints.
5222	NextToken *string `locationName:"nextToken" type:"string"`
5223}
5224
5225// String returns the string representation
5226func (s DescribeEndpointsInput) String() string {
5227	return awsutil.Prettify(s)
5228}
5229
5230// GoString returns the string representation
5231func (s DescribeEndpointsInput) GoString() string {
5232	return s.String()
5233}
5234
5235// SetMaxResults sets the MaxResults field's value.
5236func (s *DescribeEndpointsInput) SetMaxResults(v int64) *DescribeEndpointsInput {
5237	s.MaxResults = &v
5238	return s
5239}
5240
5241// SetNextToken sets the NextToken field's value.
5242func (s *DescribeEndpointsInput) SetNextToken(v string) *DescribeEndpointsInput {
5243	s.NextToken = &v
5244	return s
5245}
5246
5247// Successful describe endpoints requests will return your account API endpoint.
5248type DescribeEndpointsOutput struct {
5249	_ struct{} `type:"structure"`
5250
5251	// List of endpoints
5252	Endpoints []*Endpoint `locationName:"endpoints" type:"list"`
5253
5254	// Use this string to request the next batch of endpoints.
5255	NextToken *string `locationName:"nextToken" type:"string"`
5256}
5257
5258// String returns the string representation
5259func (s DescribeEndpointsOutput) String() string {
5260	return awsutil.Prettify(s)
5261}
5262
5263// GoString returns the string representation
5264func (s DescribeEndpointsOutput) GoString() string {
5265	return s.String()
5266}
5267
5268// SetEndpoints sets the Endpoints field's value.
5269func (s *DescribeEndpointsOutput) SetEndpoints(v []*Endpoint) *DescribeEndpointsOutput {
5270	s.Endpoints = v
5271	return s
5272}
5273
5274// SetNextToken sets the NextToken field's value.
5275func (s *DescribeEndpointsOutput) SetNextToken(v string) *DescribeEndpointsOutput {
5276	s.NextToken = &v
5277	return s
5278}
5279
5280// Inserts DVB Network Information Table (NIT) at the specified table repetition
5281// interval.
5282type DvbNitSettings struct {
5283	_ struct{} `type:"structure"`
5284
5285	// The numeric value placed in the Network Information Table (NIT).
5286	//
5287	// NetworkId is a required field
5288	NetworkId *int64 `locationName:"networkId" type:"integer" required:"true"`
5289
5290	// The network name text placed in the network_name_descriptor inside the Network
5291	// Information Table. Maximum length is 256 characters.
5292	//
5293	// NetworkName is a required field
5294	NetworkName *string `locationName:"networkName" min:"1" type:"string" required:"true"`
5295
5296	// The number of milliseconds between instances of this table in the output
5297	// transport stream.
5298	//
5299	// NitInterval is a required field
5300	NitInterval *int64 `locationName:"nitInterval" min:"25" type:"integer" required:"true"`
5301}
5302
5303// String returns the string representation
5304func (s DvbNitSettings) String() string {
5305	return awsutil.Prettify(s)
5306}
5307
5308// GoString returns the string representation
5309func (s DvbNitSettings) GoString() string {
5310	return s.String()
5311}
5312
5313// Validate inspects the fields of the type to determine if they are valid.
5314func (s *DvbNitSettings) Validate() error {
5315	invalidParams := request.ErrInvalidParams{Context: "DvbNitSettings"}
5316	if s.NetworkId == nil {
5317		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
5318	}
5319	if s.NetworkName == nil {
5320		invalidParams.Add(request.NewErrParamRequired("NetworkName"))
5321	}
5322	if s.NetworkName != nil && len(*s.NetworkName) < 1 {
5323		invalidParams.Add(request.NewErrParamMinLen("NetworkName", 1))
5324	}
5325	if s.NitInterval == nil {
5326		invalidParams.Add(request.NewErrParamRequired("NitInterval"))
5327	}
5328	if s.NitInterval != nil && *s.NitInterval < 25 {
5329		invalidParams.Add(request.NewErrParamMinValue("NitInterval", 25))
5330	}
5331
5332	if invalidParams.Len() > 0 {
5333		return invalidParams
5334	}
5335	return nil
5336}
5337
5338// SetNetworkId sets the NetworkId field's value.
5339func (s *DvbNitSettings) SetNetworkId(v int64) *DvbNitSettings {
5340	s.NetworkId = &v
5341	return s
5342}
5343
5344// SetNetworkName sets the NetworkName field's value.
5345func (s *DvbNitSettings) SetNetworkName(v string) *DvbNitSettings {
5346	s.NetworkName = &v
5347	return s
5348}
5349
5350// SetNitInterval sets the NitInterval field's value.
5351func (s *DvbNitSettings) SetNitInterval(v int64) *DvbNitSettings {
5352	s.NitInterval = &v
5353	return s
5354}
5355
5356// Inserts DVB Service Description Table (NIT) at the specified table repetition
5357// interval.
5358type DvbSdtSettings struct {
5359	_ struct{} `type:"structure"`
5360
5361	// Selects method of inserting SDT information into output stream. "Follow input
5362	// SDT" copies SDT information from input stream to output stream. "Follow input
5363	// SDT if present" copies SDT information from input stream to output stream
5364	// if SDT information is present in the input, otherwise it will fall back on
5365	// the user-defined values. Enter "SDT Manually" means user will enter the SDT
5366	// information. "No SDT" means output stream will not contain SDT information.
5367	OutputSdt *string `locationName:"outputSdt" type:"string" enum:"OutputSdt"`
5368
5369	// The number of milliseconds between instances of this table in the output
5370	// transport stream.
5371	SdtInterval *int64 `locationName:"sdtInterval" min:"25" type:"integer"`
5372
5373	// The service name placed in the service_descriptor in the Service Description
5374	// Table. Maximum length is 256 characters.
5375	ServiceName *string `locationName:"serviceName" min:"1" type:"string"`
5376
5377	// The service provider name placed in the service_descriptor in the Service
5378	// Description Table. Maximum length is 256 characters.
5379	ServiceProviderName *string `locationName:"serviceProviderName" min:"1" type:"string"`
5380}
5381
5382// String returns the string representation
5383func (s DvbSdtSettings) String() string {
5384	return awsutil.Prettify(s)
5385}
5386
5387// GoString returns the string representation
5388func (s DvbSdtSettings) GoString() string {
5389	return s.String()
5390}
5391
5392// Validate inspects the fields of the type to determine if they are valid.
5393func (s *DvbSdtSettings) Validate() error {
5394	invalidParams := request.ErrInvalidParams{Context: "DvbSdtSettings"}
5395	if s.SdtInterval != nil && *s.SdtInterval < 25 {
5396		invalidParams.Add(request.NewErrParamMinValue("SdtInterval", 25))
5397	}
5398	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
5399		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
5400	}
5401	if s.ServiceProviderName != nil && len(*s.ServiceProviderName) < 1 {
5402		invalidParams.Add(request.NewErrParamMinLen("ServiceProviderName", 1))
5403	}
5404
5405	if invalidParams.Len() > 0 {
5406		return invalidParams
5407	}
5408	return nil
5409}
5410
5411// SetOutputSdt sets the OutputSdt field's value.
5412func (s *DvbSdtSettings) SetOutputSdt(v string) *DvbSdtSettings {
5413	s.OutputSdt = &v
5414	return s
5415}
5416
5417// SetSdtInterval sets the SdtInterval field's value.
5418func (s *DvbSdtSettings) SetSdtInterval(v int64) *DvbSdtSettings {
5419	s.SdtInterval = &v
5420	return s
5421}
5422
5423// SetServiceName sets the ServiceName field's value.
5424func (s *DvbSdtSettings) SetServiceName(v string) *DvbSdtSettings {
5425	s.ServiceName = &v
5426	return s
5427}
5428
5429// SetServiceProviderName sets the ServiceProviderName field's value.
5430func (s *DvbSdtSettings) SetServiceProviderName(v string) *DvbSdtSettings {
5431	s.ServiceProviderName = &v
5432	return s
5433}
5434
5435// DVB-Sub Destination Settings
5436type DvbSubDestinationSettings struct {
5437	_ struct{} `type:"structure"`
5438
5439	// If no explicit x_position or y_position is provided, setting alignment to
5440	// centered will place the captions at the bottom center of the output. Similarly,
5441	// setting a left alignment will align captions to the bottom left of the output.
5442	// If x and y positions are given in conjunction with the alignment parameter,
5443	// the font will be justified (either left or centered) relative to those coordinates.
5444	// This option is not valid for source captions that are STL, 608/embedded or
5445	// teletext. These source settings are already pre-defined by the caption stream.
5446	// All burn-in and DVB-Sub font settings must match.
5447	//
5448	// Alignment is a required field
5449	Alignment *string `locationName:"alignment" type:"string" required:"true" enum:"DvbSubtitleAlignment"`
5450
5451	// Specifies the color of the rectangle behind the captions.All burn-in and
5452	// DVB-Sub font settings must match.
5453	BackgroundColor *string `locationName:"backgroundColor" type:"string" enum:"DvbSubtitleBackgroundColor"`
5454
5455	// Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent.
5456	// Leaving this parameter blank is equivalent to setting it to 0 (transparent).
5457	// All burn-in and DVB-Sub font settings must match.
5458	BackgroundOpacity *int64 `locationName:"backgroundOpacity" type:"integer"`
5459
5460	// Specifies the color of the burned-in captions. This option is not valid for
5461	// source captions that are STL, 608/embedded or teletext. These source settings
5462	// are already pre-defined by the caption stream. All burn-in and DVB-Sub font
5463	// settings must match.
5464	FontColor *string `locationName:"fontColor" type:"string" enum:"DvbSubtitleFontColor"`
5465
5466	// Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent.All
5467	// burn-in and DVB-Sub font settings must match.
5468	//
5469	// FontOpacity is a required field
5470	FontOpacity *int64 `locationName:"fontOpacity" type:"integer" required:"true"`
5471
5472	// Font resolution in DPI (dots per inch); default is 96 dpi.All burn-in and
5473	// DVB-Sub font settings must match.
5474	FontResolution *int64 `locationName:"fontResolution" min:"96" type:"integer"`
5475
5476	// A positive integer indicates the exact font size in points. Set to 0 for
5477	// automatic font size selection. All burn-in and DVB-Sub font settings must
5478	// match.
5479	FontSize *int64 `locationName:"fontSize" type:"integer"`
5480
5481	// Specifies font outline color. This option is not valid for source captions
5482	// that are either 608/embedded or teletext. These source settings are already
5483	// pre-defined by the caption stream. All burn-in and DVB-Sub font settings
5484	// must match.
5485	//
5486	// OutlineColor is a required field
5487	OutlineColor *string `locationName:"outlineColor" type:"string" required:"true" enum:"DvbSubtitleOutlineColor"`
5488
5489	// Specifies font outline size in pixels. This option is not valid for source
5490	// captions that are either 608/embedded or teletext. These source settings
5491	// are already pre-defined by the caption stream. All burn-in and DVB-Sub font
5492	// settings must match.
5493	//
5494	// OutlineSize is a required field
5495	OutlineSize *int64 `locationName:"outlineSize" type:"integer" required:"true"`
5496
5497	// Specifies the color of the shadow cast by the captions.All burn-in and DVB-Sub
5498	// font settings must match.
5499	ShadowColor *string `locationName:"shadowColor" type:"string" enum:"DvbSubtitleShadowColor"`
5500
5501	// Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving
5502	// this parameter blank is equivalent to setting it to 0 (transparent). All
5503	// burn-in and DVB-Sub font settings must match.
5504	ShadowOpacity *int64 `locationName:"shadowOpacity" type:"integer"`
5505
5506	// Specifies the horizontal offset of the shadow relative to the captions in
5507	// pixels. A value of -2 would result in a shadow offset 2 pixels to the left.
5508	// All burn-in and DVB-Sub font settings must match.
5509	ShadowXOffset *int64 `locationName:"shadowXOffset" type:"integer"`
5510
5511	// Specifies the vertical offset of the shadow relative to the captions in pixels.
5512	// A value of -2 would result in a shadow offset 2 pixels above the text. All
5513	// burn-in and DVB-Sub font settings must match.
5514	ShadowYOffset *int64 `locationName:"shadowYOffset" type:"integer"`
5515
5516	// Only applies to jobs with input captions in Teletext or STL formats. Specify
5517	// whether the spacing between letters in your captions is set by the captions
5518	// grid or varies depending on letter width. Choose fixed grid to conform to
5519	// the spacing specified in the captions file more accurately. Choose proportional
5520	// to make the text easier to read if the captions are closed caption.
5521	TeletextSpacing *string `locationName:"teletextSpacing" type:"string" enum:"DvbSubtitleTeletextSpacing"`
5522
5523	// Specifies the horizontal position of the caption relative to the left side
5524	// of the output in pixels. A value of 10 would result in the captions starting
5525	// 10 pixels from the left of the output. If no explicit x_position is provided,
5526	// the horizontal caption position will be determined by the alignment parameter.
5527	// This option is not valid for source captions that are STL, 608/embedded or
5528	// teletext. These source settings are already pre-defined by the caption stream.
5529	// All burn-in and DVB-Sub font settings must match.
5530	XPosition *int64 `locationName:"xPosition" type:"integer"`
5531
5532	// Specifies the vertical position of the caption relative to the top of the
5533	// output in pixels. A value of 10 would result in the captions starting 10
5534	// pixels from the top of the output. If no explicit y_position is provided,
5535	// the caption will be positioned towards the bottom of the output. This option
5536	// is not valid for source captions that are STL, 608/embedded or teletext.
5537	// These source settings are already pre-defined by the caption stream. All
5538	// burn-in and DVB-Sub font settings must match.
5539	YPosition *int64 `locationName:"yPosition" type:"integer"`
5540}
5541
5542// String returns the string representation
5543func (s DvbSubDestinationSettings) String() string {
5544	return awsutil.Prettify(s)
5545}
5546
5547// GoString returns the string representation
5548func (s DvbSubDestinationSettings) GoString() string {
5549	return s.String()
5550}
5551
5552// Validate inspects the fields of the type to determine if they are valid.
5553func (s *DvbSubDestinationSettings) Validate() error {
5554	invalidParams := request.ErrInvalidParams{Context: "DvbSubDestinationSettings"}
5555	if s.Alignment == nil {
5556		invalidParams.Add(request.NewErrParamRequired("Alignment"))
5557	}
5558	if s.FontOpacity == nil {
5559		invalidParams.Add(request.NewErrParamRequired("FontOpacity"))
5560	}
5561	if s.FontResolution != nil && *s.FontResolution < 96 {
5562		invalidParams.Add(request.NewErrParamMinValue("FontResolution", 96))
5563	}
5564	if s.OutlineColor == nil {
5565		invalidParams.Add(request.NewErrParamRequired("OutlineColor"))
5566	}
5567	if s.OutlineSize == nil {
5568		invalidParams.Add(request.NewErrParamRequired("OutlineSize"))
5569	}
5570	if s.ShadowXOffset != nil && *s.ShadowXOffset < -2.147483648e+09 {
5571		invalidParams.Add(request.NewErrParamMinValue("ShadowXOffset", -2.147483648e+09))
5572	}
5573	if s.ShadowYOffset != nil && *s.ShadowYOffset < -2.147483648e+09 {
5574		invalidParams.Add(request.NewErrParamMinValue("ShadowYOffset", -2.147483648e+09))
5575	}
5576
5577	if invalidParams.Len() > 0 {
5578		return invalidParams
5579	}
5580	return nil
5581}
5582
5583// SetAlignment sets the Alignment field's value.
5584func (s *DvbSubDestinationSettings) SetAlignment(v string) *DvbSubDestinationSettings {
5585	s.Alignment = &v
5586	return s
5587}
5588
5589// SetBackgroundColor sets the BackgroundColor field's value.
5590func (s *DvbSubDestinationSettings) SetBackgroundColor(v string) *DvbSubDestinationSettings {
5591	s.BackgroundColor = &v
5592	return s
5593}
5594
5595// SetBackgroundOpacity sets the BackgroundOpacity field's value.
5596func (s *DvbSubDestinationSettings) SetBackgroundOpacity(v int64) *DvbSubDestinationSettings {
5597	s.BackgroundOpacity = &v
5598	return s
5599}
5600
5601// SetFontColor sets the FontColor field's value.
5602func (s *DvbSubDestinationSettings) SetFontColor(v string) *DvbSubDestinationSettings {
5603	s.FontColor = &v
5604	return s
5605}
5606
5607// SetFontOpacity sets the FontOpacity field's value.
5608func (s *DvbSubDestinationSettings) SetFontOpacity(v int64) *DvbSubDestinationSettings {
5609	s.FontOpacity = &v
5610	return s
5611}
5612
5613// SetFontResolution sets the FontResolution field's value.
5614func (s *DvbSubDestinationSettings) SetFontResolution(v int64) *DvbSubDestinationSettings {
5615	s.FontResolution = &v
5616	return s
5617}
5618
5619// SetFontSize sets the FontSize field's value.
5620func (s *DvbSubDestinationSettings) SetFontSize(v int64) *DvbSubDestinationSettings {
5621	s.FontSize = &v
5622	return s
5623}
5624
5625// SetOutlineColor sets the OutlineColor field's value.
5626func (s *DvbSubDestinationSettings) SetOutlineColor(v string) *DvbSubDestinationSettings {
5627	s.OutlineColor = &v
5628	return s
5629}
5630
5631// SetOutlineSize sets the OutlineSize field's value.
5632func (s *DvbSubDestinationSettings) SetOutlineSize(v int64) *DvbSubDestinationSettings {
5633	s.OutlineSize = &v
5634	return s
5635}
5636
5637// SetShadowColor sets the ShadowColor field's value.
5638func (s *DvbSubDestinationSettings) SetShadowColor(v string) *DvbSubDestinationSettings {
5639	s.ShadowColor = &v
5640	return s
5641}
5642
5643// SetShadowOpacity sets the ShadowOpacity field's value.
5644func (s *DvbSubDestinationSettings) SetShadowOpacity(v int64) *DvbSubDestinationSettings {
5645	s.ShadowOpacity = &v
5646	return s
5647}
5648
5649// SetShadowXOffset sets the ShadowXOffset field's value.
5650func (s *DvbSubDestinationSettings) SetShadowXOffset(v int64) *DvbSubDestinationSettings {
5651	s.ShadowXOffset = &v
5652	return s
5653}
5654
5655// SetShadowYOffset sets the ShadowYOffset field's value.
5656func (s *DvbSubDestinationSettings) SetShadowYOffset(v int64) *DvbSubDestinationSettings {
5657	s.ShadowYOffset = &v
5658	return s
5659}
5660
5661// SetTeletextSpacing sets the TeletextSpacing field's value.
5662func (s *DvbSubDestinationSettings) SetTeletextSpacing(v string) *DvbSubDestinationSettings {
5663	s.TeletextSpacing = &v
5664	return s
5665}
5666
5667// SetXPosition sets the XPosition field's value.
5668func (s *DvbSubDestinationSettings) SetXPosition(v int64) *DvbSubDestinationSettings {
5669	s.XPosition = &v
5670	return s
5671}
5672
5673// SetYPosition sets the YPosition field's value.
5674func (s *DvbSubDestinationSettings) SetYPosition(v int64) *DvbSubDestinationSettings {
5675	s.YPosition = &v
5676	return s
5677}
5678
5679// DVB Sub Source Settings
5680type DvbSubSourceSettings struct {
5681	_ struct{} `type:"structure"`
5682
5683	// When using DVB-Sub with Burn-In or SMPTE-TT, use this PID for the source
5684	// content. Unused for DVB-Sub passthrough. All DVB-Sub content is passed through,
5685	// regardless of selectors.
5686	Pid *int64 `locationName:"pid" min:"1" type:"integer"`
5687}
5688
5689// String returns the string representation
5690func (s DvbSubSourceSettings) String() string {
5691	return awsutil.Prettify(s)
5692}
5693
5694// GoString returns the string representation
5695func (s DvbSubSourceSettings) GoString() string {
5696	return s.String()
5697}
5698
5699// Validate inspects the fields of the type to determine if they are valid.
5700func (s *DvbSubSourceSettings) Validate() error {
5701	invalidParams := request.ErrInvalidParams{Context: "DvbSubSourceSettings"}
5702	if s.Pid != nil && *s.Pid < 1 {
5703		invalidParams.Add(request.NewErrParamMinValue("Pid", 1))
5704	}
5705
5706	if invalidParams.Len() > 0 {
5707		return invalidParams
5708	}
5709	return nil
5710}
5711
5712// SetPid sets the Pid field's value.
5713func (s *DvbSubSourceSettings) SetPid(v int64) *DvbSubSourceSettings {
5714	s.Pid = &v
5715	return s
5716}
5717
5718// Inserts DVB Time and Date Table (TDT) at the specified table repetition interval.
5719type DvbTdtSettings struct {
5720	_ struct{} `type:"structure"`
5721
5722	// The number of milliseconds between instances of this table in the output
5723	// transport stream.
5724	//
5725	// TdtInterval is a required field
5726	TdtInterval *int64 `locationName:"tdtInterval" min:"1000" type:"integer" required:"true"`
5727}
5728
5729// String returns the string representation
5730func (s DvbTdtSettings) String() string {
5731	return awsutil.Prettify(s)
5732}
5733
5734// GoString returns the string representation
5735func (s DvbTdtSettings) GoString() string {
5736	return s.String()
5737}
5738
5739// Validate inspects the fields of the type to determine if they are valid.
5740func (s *DvbTdtSettings) Validate() error {
5741	invalidParams := request.ErrInvalidParams{Context: "DvbTdtSettings"}
5742	if s.TdtInterval == nil {
5743		invalidParams.Add(request.NewErrParamRequired("TdtInterval"))
5744	}
5745	if s.TdtInterval != nil && *s.TdtInterval < 1000 {
5746		invalidParams.Add(request.NewErrParamMinValue("TdtInterval", 1000))
5747	}
5748
5749	if invalidParams.Len() > 0 {
5750		return invalidParams
5751	}
5752	return nil
5753}
5754
5755// SetTdtInterval sets the TdtInterval field's value.
5756func (s *DvbTdtSettings) SetTdtInterval(v int64) *DvbTdtSettings {
5757	s.TdtInterval = &v
5758	return s
5759}
5760
5761// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
5762// the value EAC3.
5763type Eac3Settings struct {
5764	_ struct{} `type:"structure"`
5765
5766	// If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels.
5767	// Only used for 3/2 coding mode.
5768	AttenuationControl *string `locationName:"attenuationControl" type:"string" enum:"Eac3AttenuationControl"`
5769
5770	// Average bitrate in bits/second. Valid bitrates depend on the coding mode.
5771	Bitrate *int64 `locationName:"bitrate" min:"64000" type:"integer"`
5772
5773	// Specifies the "Bitstream Mode" (bsmod) for the emitted E-AC-3 stream. See
5774	// ATSC A/52-2012 (Annex E) for background on these values.
5775	BitstreamMode *string `locationName:"bitstreamMode" type:"string" enum:"Eac3BitstreamMode"`
5776
5777	// Dolby Digital Plus coding mode. Determines number of channels.
5778	CodingMode *string `locationName:"codingMode" type:"string" enum:"Eac3CodingMode"`
5779
5780	// Activates a DC highpass filter for all input channels.
5781	DcFilter *string `locationName:"dcFilter" type:"string" enum:"Eac3DcFilter"`
5782
5783	// Sets the dialnorm for the output. If blank and input audio is Dolby Digital
5784	// Plus, dialnorm will be passed through.
5785	Dialnorm *int64 `locationName:"dialnorm" min:"1" type:"integer"`
5786
5787	// Enables Dynamic Range Compression that restricts the absolute peak level
5788	// for a signal.
5789	DynamicRangeCompressionLine *string `locationName:"dynamicRangeCompressionLine" type:"string" enum:"Eac3DynamicRangeCompressionLine"`
5790
5791	// Enables Heavy Dynamic Range Compression, ensures that the instantaneous signal
5792	// peaks do not exceed specified levels.
5793	DynamicRangeCompressionRf *string `locationName:"dynamicRangeCompressionRf" type:"string" enum:"Eac3DynamicRangeCompressionRf"`
5794
5795	// When encoding 3/2 audio, controls whether the LFE channel is enabled
5796	LfeControl *string `locationName:"lfeControl" type:"string" enum:"Eac3LfeControl"`
5797
5798	// Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only
5799	// valid with 3_2_LFE coding mode.
5800	LfeFilter *string `locationName:"lfeFilter" type:"string" enum:"Eac3LfeFilter"`
5801
5802	// Left only/Right only center mix level. Only used for 3/2 coding mode.Valid
5803	// values: 3.0, 1.5, 0.0, -1.5 -3.0 -4.5 -6.0 -60
5804	LoRoCenterMixLevel *float64 `locationName:"loRoCenterMixLevel" type:"double"`
5805
5806	// Left only/Right only surround mix level. Only used for 3/2 coding mode.Valid
5807	// values: -1.5 -3.0 -4.5 -6.0 -60
5808	LoRoSurroundMixLevel *float64 `locationName:"loRoSurroundMixLevel" type:"double"`
5809
5810	// Left total/Right total center mix level. Only used for 3/2 coding mode.Valid
5811	// values: 3.0, 1.5, 0.0, -1.5 -3.0 -4.5 -6.0 -60
5812	LtRtCenterMixLevel *float64 `locationName:"ltRtCenterMixLevel" type:"double"`
5813
5814	// Left total/Right total surround mix level. Only used for 3/2 coding mode.Valid
5815	// values: -1.5 -3.0 -4.5 -6.0 -60
5816	LtRtSurroundMixLevel *float64 `locationName:"ltRtSurroundMixLevel" type:"double"`
5817
5818	// When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+,
5819	// or DolbyE decoder that supplied this audio data. If audio was not supplied
5820	// from one of these streams, then the static metadata settings will be used.
5821	MetadataControl *string `locationName:"metadataControl" type:"string" enum:"Eac3MetadataControl"`
5822
5823	// When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it is
5824	// present on the input. this detection is dynamic over the life of the transcode.
5825	// Inputs that alternate between DD+ and non-DD+ content will have a consistent
5826	// DD+ output as the system alternates between passthrough and encoding.
5827	PassthroughControl *string `locationName:"passthroughControl" type:"string" enum:"Eac3PassthroughControl"`
5828
5829	// Controls the amount of phase-shift applied to the surround channels. Only
5830	// used for 3/2 coding mode.
5831	PhaseControl *string `locationName:"phaseControl" type:"string" enum:"Eac3PhaseControl"`
5832
5833	// Sample rate in hz. Sample rate is always 48000.
5834	SampleRate *int64 `locationName:"sampleRate" min:"48000" type:"integer"`
5835
5836	// Stereo downmix preference. Only used for 3/2 coding mode.
5837	StereoDownmix *string `locationName:"stereoDownmix" type:"string" enum:"Eac3StereoDownmix"`
5838
5839	// When encoding 3/2 audio, sets whether an extra center back surround channel
5840	// is matrix encoded into the left and right surround channels.
5841	SurroundExMode *string `locationName:"surroundExMode" type:"string" enum:"Eac3SurroundExMode"`
5842
5843	// When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into
5844	// the two channels.
5845	SurroundMode *string `locationName:"surroundMode" type:"string" enum:"Eac3SurroundMode"`
5846}
5847
5848// String returns the string representation
5849func (s Eac3Settings) String() string {
5850	return awsutil.Prettify(s)
5851}
5852
5853// GoString returns the string representation
5854func (s Eac3Settings) GoString() string {
5855	return s.String()
5856}
5857
5858// Validate inspects the fields of the type to determine if they are valid.
5859func (s *Eac3Settings) Validate() error {
5860	invalidParams := request.ErrInvalidParams{Context: "Eac3Settings"}
5861	if s.Bitrate != nil && *s.Bitrate < 64000 {
5862		invalidParams.Add(request.NewErrParamMinValue("Bitrate", 64000))
5863	}
5864	if s.Dialnorm != nil && *s.Dialnorm < 1 {
5865		invalidParams.Add(request.NewErrParamMinValue("Dialnorm", 1))
5866	}
5867	if s.SampleRate != nil && *s.SampleRate < 48000 {
5868		invalidParams.Add(request.NewErrParamMinValue("SampleRate", 48000))
5869	}
5870
5871	if invalidParams.Len() > 0 {
5872		return invalidParams
5873	}
5874	return nil
5875}
5876
5877// SetAttenuationControl sets the AttenuationControl field's value.
5878func (s *Eac3Settings) SetAttenuationControl(v string) *Eac3Settings {
5879	s.AttenuationControl = &v
5880	return s
5881}
5882
5883// SetBitrate sets the Bitrate field's value.
5884func (s *Eac3Settings) SetBitrate(v int64) *Eac3Settings {
5885	s.Bitrate = &v
5886	return s
5887}
5888
5889// SetBitstreamMode sets the BitstreamMode field's value.
5890func (s *Eac3Settings) SetBitstreamMode(v string) *Eac3Settings {
5891	s.BitstreamMode = &v
5892	return s
5893}
5894
5895// SetCodingMode sets the CodingMode field's value.
5896func (s *Eac3Settings) SetCodingMode(v string) *Eac3Settings {
5897	s.CodingMode = &v
5898	return s
5899}
5900
5901// SetDcFilter sets the DcFilter field's value.
5902func (s *Eac3Settings) SetDcFilter(v string) *Eac3Settings {
5903	s.DcFilter = &v
5904	return s
5905}
5906
5907// SetDialnorm sets the Dialnorm field's value.
5908func (s *Eac3Settings) SetDialnorm(v int64) *Eac3Settings {
5909	s.Dialnorm = &v
5910	return s
5911}
5912
5913// SetDynamicRangeCompressionLine sets the DynamicRangeCompressionLine field's value.
5914func (s *Eac3Settings) SetDynamicRangeCompressionLine(v string) *Eac3Settings {
5915	s.DynamicRangeCompressionLine = &v
5916	return s
5917}
5918
5919// SetDynamicRangeCompressionRf sets the DynamicRangeCompressionRf field's value.
5920func (s *Eac3Settings) SetDynamicRangeCompressionRf(v string) *Eac3Settings {
5921	s.DynamicRangeCompressionRf = &v
5922	return s
5923}
5924
5925// SetLfeControl sets the LfeControl field's value.
5926func (s *Eac3Settings) SetLfeControl(v string) *Eac3Settings {
5927	s.LfeControl = &v
5928	return s
5929}
5930
5931// SetLfeFilter sets the LfeFilter field's value.
5932func (s *Eac3Settings) SetLfeFilter(v string) *Eac3Settings {
5933	s.LfeFilter = &v
5934	return s
5935}
5936
5937// SetLoRoCenterMixLevel sets the LoRoCenterMixLevel field's value.
5938func (s *Eac3Settings) SetLoRoCenterMixLevel(v float64) *Eac3Settings {
5939	s.LoRoCenterMixLevel = &v
5940	return s
5941}
5942
5943// SetLoRoSurroundMixLevel sets the LoRoSurroundMixLevel field's value.
5944func (s *Eac3Settings) SetLoRoSurroundMixLevel(v float64) *Eac3Settings {
5945	s.LoRoSurroundMixLevel = &v
5946	return s
5947}
5948
5949// SetLtRtCenterMixLevel sets the LtRtCenterMixLevel field's value.
5950func (s *Eac3Settings) SetLtRtCenterMixLevel(v float64) *Eac3Settings {
5951	s.LtRtCenterMixLevel = &v
5952	return s
5953}
5954
5955// SetLtRtSurroundMixLevel sets the LtRtSurroundMixLevel field's value.
5956func (s *Eac3Settings) SetLtRtSurroundMixLevel(v float64) *Eac3Settings {
5957	s.LtRtSurroundMixLevel = &v
5958	return s
5959}
5960
5961// SetMetadataControl sets the MetadataControl field's value.
5962func (s *Eac3Settings) SetMetadataControl(v string) *Eac3Settings {
5963	s.MetadataControl = &v
5964	return s
5965}
5966
5967// SetPassthroughControl sets the PassthroughControl field's value.
5968func (s *Eac3Settings) SetPassthroughControl(v string) *Eac3Settings {
5969	s.PassthroughControl = &v
5970	return s
5971}
5972
5973// SetPhaseControl sets the PhaseControl field's value.
5974func (s *Eac3Settings) SetPhaseControl(v string) *Eac3Settings {
5975	s.PhaseControl = &v
5976	return s
5977}
5978
5979// SetSampleRate sets the SampleRate field's value.
5980func (s *Eac3Settings) SetSampleRate(v int64) *Eac3Settings {
5981	s.SampleRate = &v
5982	return s
5983}
5984
5985// SetStereoDownmix sets the StereoDownmix field's value.
5986func (s *Eac3Settings) SetStereoDownmix(v string) *Eac3Settings {
5987	s.StereoDownmix = &v
5988	return s
5989}
5990
5991// SetSurroundExMode sets the SurroundExMode field's value.
5992func (s *Eac3Settings) SetSurroundExMode(v string) *Eac3Settings {
5993	s.SurroundExMode = &v
5994	return s
5995}
5996
5997// SetSurroundMode sets the SurroundMode field's value.
5998func (s *Eac3Settings) SetSurroundMode(v string) *Eac3Settings {
5999	s.SurroundMode = &v
6000	return s
6001}
6002
6003// Settings for embedded captions Source
6004type EmbeddedSourceSettings struct {
6005	_ struct{} `type:"structure"`
6006
6007	// When set to UPCONVERT, 608 data is both passed through via the "608 compatibility
6008	// bytes" fields of the 708 wrapper as well as translated into 708. 708 data
6009	// present in the source content will be discarded.
6010	Convert608To708 *string `locationName:"convert608To708" type:"string" enum:"EmbeddedConvert608To708"`
6011
6012	// Specifies the 608/708 channel number within the video track from which to
6013	// extract captions. Unused for passthrough.
6014	Source608ChannelNumber *int64 `locationName:"source608ChannelNumber" min:"1" type:"integer"`
6015
6016	// Specifies the video track index used for extracting captions. The system
6017	// only supports one input video track, so this should always be set to '1'.
6018	Source608TrackNumber *int64 `locationName:"source608TrackNumber" min:"1" type:"integer"`
6019}
6020
6021// String returns the string representation
6022func (s EmbeddedSourceSettings) String() string {
6023	return awsutil.Prettify(s)
6024}
6025
6026// GoString returns the string representation
6027func (s EmbeddedSourceSettings) GoString() string {
6028	return s.String()
6029}
6030
6031// Validate inspects the fields of the type to determine if they are valid.
6032func (s *EmbeddedSourceSettings) Validate() error {
6033	invalidParams := request.ErrInvalidParams{Context: "EmbeddedSourceSettings"}
6034	if s.Source608ChannelNumber != nil && *s.Source608ChannelNumber < 1 {
6035		invalidParams.Add(request.NewErrParamMinValue("Source608ChannelNumber", 1))
6036	}
6037	if s.Source608TrackNumber != nil && *s.Source608TrackNumber < 1 {
6038		invalidParams.Add(request.NewErrParamMinValue("Source608TrackNumber", 1))
6039	}
6040
6041	if invalidParams.Len() > 0 {
6042		return invalidParams
6043	}
6044	return nil
6045}
6046
6047// SetConvert608To708 sets the Convert608To708 field's value.
6048func (s *EmbeddedSourceSettings) SetConvert608To708(v string) *EmbeddedSourceSettings {
6049	s.Convert608To708 = &v
6050	return s
6051}
6052
6053// SetSource608ChannelNumber sets the Source608ChannelNumber field's value.
6054func (s *EmbeddedSourceSettings) SetSource608ChannelNumber(v int64) *EmbeddedSourceSettings {
6055	s.Source608ChannelNumber = &v
6056	return s
6057}
6058
6059// SetSource608TrackNumber sets the Source608TrackNumber field's value.
6060func (s *EmbeddedSourceSettings) SetSource608TrackNumber(v int64) *EmbeddedSourceSettings {
6061	s.Source608TrackNumber = &v
6062	return s
6063}
6064
6065// Describes account specific API endpoint
6066type Endpoint struct {
6067	_ struct{} `type:"structure"`
6068
6069	// URL of endpoint
6070	Url *string `locationName:"url" type:"string"`
6071}
6072
6073// String returns the string representation
6074func (s Endpoint) String() string {
6075	return awsutil.Prettify(s)
6076}
6077
6078// GoString returns the string representation
6079func (s Endpoint) GoString() string {
6080	return s.String()
6081}
6082
6083// SetUrl sets the Url field's value.
6084func (s *Endpoint) SetUrl(v string) *Endpoint {
6085	s.Url = &v
6086	return s
6087}
6088
6089// Settings for F4v container
6090type F4vSettings struct {
6091	_ struct{} `type:"structure"`
6092
6093	// If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the beginning
6094	// of the archive as required for progressive downloading. Otherwise it is placed
6095	// normally at the end.
6096	MoovPlacement *string `locationName:"moovPlacement" type:"string" enum:"F4vMoovPlacement"`
6097}
6098
6099// String returns the string representation
6100func (s F4vSettings) String() string {
6101	return awsutil.Prettify(s)
6102}
6103
6104// GoString returns the string representation
6105func (s F4vSettings) GoString() string {
6106	return s.String()
6107}
6108
6109// SetMoovPlacement sets the MoovPlacement field's value.
6110func (s *F4vSettings) SetMoovPlacement(v string) *F4vSettings {
6111	s.MoovPlacement = &v
6112	return s
6113}
6114
6115// Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to
6116// FILE_GROUP_SETTINGS.
6117type FileGroupSettings struct {
6118	_ struct{} `type:"structure"`
6119
6120	// Use Destination (Destination) to specify the S3 output location and the output
6121	// filename base. Destination accepts format identifiers. If you do not specify
6122	// the base filename in the URI, the service will use the filename of the input
6123	// file. If your job has multiple inputs, the service uses the filename of the
6124	// first input file.
6125	Destination *string `locationName:"destination" type:"string"`
6126}
6127
6128// String returns the string representation
6129func (s FileGroupSettings) String() string {
6130	return awsutil.Prettify(s)
6131}
6132
6133// GoString returns the string representation
6134func (s FileGroupSettings) GoString() string {
6135	return s.String()
6136}
6137
6138// SetDestination sets the Destination field's value.
6139func (s *FileGroupSettings) SetDestination(v string) *FileGroupSettings {
6140	s.Destination = &v
6141	return s
6142}
6143
6144// Settings for File-based Captions in Source
6145type FileSourceSettings struct {
6146	_ struct{} `type:"structure"`
6147
6148	// If set to UPCONVERT, 608 caption data is both passed through via the "608
6149	// compatibility bytes" fields of the 708 wrapper as well as translated into
6150	// 708. 708 data present in the source content will be discarded.
6151	Convert608To708 *string `locationName:"convert608To708" type:"string" enum:"FileSourceConvert608To708"`
6152
6153	// External caption file used for loading captions. Accepted file extensions
6154	// are 'scc', 'ttml', 'dfxp', 'stl', 'srt', and 'smi'.
6155	//
6156	// SourceFile is a required field
6157	SourceFile *string `locationName:"sourceFile" min:"14" type:"string" required:"true"`
6158
6159	// Specifies a time delta in seconds to offset the captions from the source
6160	// file.
6161	TimeDelta *int64 `locationName:"timeDelta" type:"integer"`
6162}
6163
6164// String returns the string representation
6165func (s FileSourceSettings) String() string {
6166	return awsutil.Prettify(s)
6167}
6168
6169// GoString returns the string representation
6170func (s FileSourceSettings) GoString() string {
6171	return s.String()
6172}
6173
6174// Validate inspects the fields of the type to determine if they are valid.
6175func (s *FileSourceSettings) Validate() error {
6176	invalidParams := request.ErrInvalidParams{Context: "FileSourceSettings"}
6177	if s.SourceFile == nil {
6178		invalidParams.Add(request.NewErrParamRequired("SourceFile"))
6179	}
6180	if s.SourceFile != nil && len(*s.SourceFile) < 14 {
6181		invalidParams.Add(request.NewErrParamMinLen("SourceFile", 14))
6182	}
6183	if s.TimeDelta != nil && *s.TimeDelta < -2.147483648e+09 {
6184		invalidParams.Add(request.NewErrParamMinValue("TimeDelta", -2.147483648e+09))
6185	}
6186
6187	if invalidParams.Len() > 0 {
6188		return invalidParams
6189	}
6190	return nil
6191}
6192
6193// SetConvert608To708 sets the Convert608To708 field's value.
6194func (s *FileSourceSettings) SetConvert608To708(v string) *FileSourceSettings {
6195	s.Convert608To708 = &v
6196	return s
6197}
6198
6199// SetSourceFile sets the SourceFile field's value.
6200func (s *FileSourceSettings) SetSourceFile(v string) *FileSourceSettings {
6201	s.SourceFile = &v
6202	return s
6203}
6204
6205// SetTimeDelta sets the TimeDelta field's value.
6206func (s *FileSourceSettings) SetTimeDelta(v int64) *FileSourceSettings {
6207	s.TimeDelta = &v
6208	return s
6209}
6210
6211// Required when you set (Codec) under (VideoDescription)>(CodecSettings) to
6212// the value FRAME_CAPTURE.
6213type FrameCaptureSettings struct {
6214	_ struct{} `type:"structure"`
6215
6216	// Frame capture will encode the first frame of the output stream, then one
6217	// frame every framerateDenominator/framerateNumerator seconds. For example,
6218	// settings of framerateNumerator = 1 and framerateDenominator = 3 (a rate of
6219	// 1/3 frame per second) will capture the first frame, then 1 frame every 3s.
6220	// Files will be named as filename.n.jpg where n is the 0-based sequence number
6221	// of each Capture.
6222	FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"`
6223
6224	// Frame capture will encode the first frame of the output stream, then one
6225	// frame every framerateDenominator/framerateNumerator seconds. For example,
6226	// settings of framerateNumerator = 1 and framerateDenominator = 3 (a rate of
6227	// 1/3 frame per second) will capture the first frame, then 1 frame every 3s.
6228	// Files will be named as filename.NNNNNNN.jpg where N is the 0-based frame
6229	// sequence number zero padded to 7 decimal places.
6230	FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"`
6231
6232	// Maximum number of captures (encoded jpg output files).
6233	MaxCaptures *int64 `locationName:"maxCaptures" min:"1" type:"integer"`
6234
6235	// JPEG Quality - a higher value equals higher quality.
6236	Quality *int64 `locationName:"quality" min:"1" type:"integer"`
6237}
6238
6239// String returns the string representation
6240func (s FrameCaptureSettings) String() string {
6241	return awsutil.Prettify(s)
6242}
6243
6244// GoString returns the string representation
6245func (s FrameCaptureSettings) GoString() string {
6246	return s.String()
6247}
6248
6249// Validate inspects the fields of the type to determine if they are valid.
6250func (s *FrameCaptureSettings) Validate() error {
6251	invalidParams := request.ErrInvalidParams{Context: "FrameCaptureSettings"}
6252	if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 {
6253		invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1))
6254	}
6255	if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 {
6256		invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1))
6257	}
6258	if s.MaxCaptures != nil && *s.MaxCaptures < 1 {
6259		invalidParams.Add(request.NewErrParamMinValue("MaxCaptures", 1))
6260	}
6261	if s.Quality != nil && *s.Quality < 1 {
6262		invalidParams.Add(request.NewErrParamMinValue("Quality", 1))
6263	}
6264
6265	if invalidParams.Len() > 0 {
6266		return invalidParams
6267	}
6268	return nil
6269}
6270
6271// SetFramerateDenominator sets the FramerateDenominator field's value.
6272func (s *FrameCaptureSettings) SetFramerateDenominator(v int64) *FrameCaptureSettings {
6273	s.FramerateDenominator = &v
6274	return s
6275}
6276
6277// SetFramerateNumerator sets the FramerateNumerator field's value.
6278func (s *FrameCaptureSettings) SetFramerateNumerator(v int64) *FrameCaptureSettings {
6279	s.FramerateNumerator = &v
6280	return s
6281}
6282
6283// SetMaxCaptures sets the MaxCaptures field's value.
6284func (s *FrameCaptureSettings) SetMaxCaptures(v int64) *FrameCaptureSettings {
6285	s.MaxCaptures = &v
6286	return s
6287}
6288
6289// SetQuality sets the Quality field's value.
6290func (s *FrameCaptureSettings) SetQuality(v int64) *FrameCaptureSettings {
6291	s.Quality = &v
6292	return s
6293}
6294
6295// Query a job by sending a request with the job ID.
6296type GetJobInput struct {
6297	_ struct{} `type:"structure"`
6298
6299	// the job ID of the job.
6300	//
6301	// Id is a required field
6302	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
6303}
6304
6305// String returns the string representation
6306func (s GetJobInput) String() string {
6307	return awsutil.Prettify(s)
6308}
6309
6310// GoString returns the string representation
6311func (s GetJobInput) GoString() string {
6312	return s.String()
6313}
6314
6315// Validate inspects the fields of the type to determine if they are valid.
6316func (s *GetJobInput) Validate() error {
6317	invalidParams := request.ErrInvalidParams{Context: "GetJobInput"}
6318	if s.Id == nil {
6319		invalidParams.Add(request.NewErrParamRequired("Id"))
6320	}
6321
6322	if invalidParams.Len() > 0 {
6323		return invalidParams
6324	}
6325	return nil
6326}
6327
6328// SetId sets the Id field's value.
6329func (s *GetJobInput) SetId(v string) *GetJobInput {
6330	s.Id = &v
6331	return s
6332}
6333
6334// Successful get job requests will return an OK message and the job JSON.
6335type GetJobOutput struct {
6336	_ struct{} `type:"structure"`
6337
6338	// Each job converts an input file into an output file or files. For more information,
6339	// see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
6340	Job *Job `locationName:"job" type:"structure"`
6341}
6342
6343// String returns the string representation
6344func (s GetJobOutput) String() string {
6345	return awsutil.Prettify(s)
6346}
6347
6348// GoString returns the string representation
6349func (s GetJobOutput) GoString() string {
6350	return s.String()
6351}
6352
6353// SetJob sets the Job field's value.
6354func (s *GetJobOutput) SetJob(v *Job) *GetJobOutput {
6355	s.Job = v
6356	return s
6357}
6358
6359// Query a job template by sending a request with the job template name.
6360type GetJobTemplateInput struct {
6361	_ struct{} `type:"structure"`
6362
6363	// The name of the job template.
6364	//
6365	// Name is a required field
6366	Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
6367}
6368
6369// String returns the string representation
6370func (s GetJobTemplateInput) String() string {
6371	return awsutil.Prettify(s)
6372}
6373
6374// GoString returns the string representation
6375func (s GetJobTemplateInput) GoString() string {
6376	return s.String()
6377}
6378
6379// Validate inspects the fields of the type to determine if they are valid.
6380func (s *GetJobTemplateInput) Validate() error {
6381	invalidParams := request.ErrInvalidParams{Context: "GetJobTemplateInput"}
6382	if s.Name == nil {
6383		invalidParams.Add(request.NewErrParamRequired("Name"))
6384	}
6385
6386	if invalidParams.Len() > 0 {
6387		return invalidParams
6388	}
6389	return nil
6390}
6391
6392// SetName sets the Name field's value.
6393func (s *GetJobTemplateInput) SetName(v string) *GetJobTemplateInput {
6394	s.Name = &v
6395	return s
6396}
6397
6398// Successful get job template requests will return an OK message and the job
6399// template JSON.
6400type GetJobTemplateOutput struct {
6401	_ struct{} `type:"structure"`
6402
6403	// A job template is a pre-made set of encoding instructions that you can use
6404	// to quickly create a job.
6405	JobTemplate *JobTemplate `locationName:"jobTemplate" type:"structure"`
6406}
6407
6408// String returns the string representation
6409func (s GetJobTemplateOutput) String() string {
6410	return awsutil.Prettify(s)
6411}
6412
6413// GoString returns the string representation
6414func (s GetJobTemplateOutput) GoString() string {
6415	return s.String()
6416}
6417
6418// SetJobTemplate sets the JobTemplate field's value.
6419func (s *GetJobTemplateOutput) SetJobTemplate(v *JobTemplate) *GetJobTemplateOutput {
6420	s.JobTemplate = v
6421	return s
6422}
6423
6424// Query a preset by sending a request with the preset name.
6425type GetPresetInput struct {
6426	_ struct{} `type:"structure"`
6427
6428	// The name of the preset.
6429	//
6430	// Name is a required field
6431	Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
6432}
6433
6434// String returns the string representation
6435func (s GetPresetInput) String() string {
6436	return awsutil.Prettify(s)
6437}
6438
6439// GoString returns the string representation
6440func (s GetPresetInput) GoString() string {
6441	return s.String()
6442}
6443
6444// Validate inspects the fields of the type to determine if they are valid.
6445func (s *GetPresetInput) Validate() error {
6446	invalidParams := request.ErrInvalidParams{Context: "GetPresetInput"}
6447	if s.Name == nil {
6448		invalidParams.Add(request.NewErrParamRequired("Name"))
6449	}
6450
6451	if invalidParams.Len() > 0 {
6452		return invalidParams
6453	}
6454	return nil
6455}
6456
6457// SetName sets the Name field's value.
6458func (s *GetPresetInput) SetName(v string) *GetPresetInput {
6459	s.Name = &v
6460	return s
6461}
6462
6463// Successful get preset requests will return an OK message and the preset JSON.
6464type GetPresetOutput struct {
6465	_ struct{} `type:"structure"`
6466
6467	// A preset is a collection of preconfigured media conversion settings that
6468	// you want MediaConvert to apply to the output during the conversion process.
6469	Preset *Preset `locationName:"preset" type:"structure"`
6470}
6471
6472// String returns the string representation
6473func (s GetPresetOutput) String() string {
6474	return awsutil.Prettify(s)
6475}
6476
6477// GoString returns the string representation
6478func (s GetPresetOutput) GoString() string {
6479	return s.String()
6480}
6481
6482// SetPreset sets the Preset field's value.
6483func (s *GetPresetOutput) SetPreset(v *Preset) *GetPresetOutput {
6484	s.Preset = v
6485	return s
6486}
6487
6488// Query a queue by sending a request with the queue name.
6489type GetQueueInput struct {
6490	_ struct{} `type:"structure"`
6491
6492	// The name of the queue.
6493	//
6494	// Name is a required field
6495	Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
6496}
6497
6498// String returns the string representation
6499func (s GetQueueInput) String() string {
6500	return awsutil.Prettify(s)
6501}
6502
6503// GoString returns the string representation
6504func (s GetQueueInput) GoString() string {
6505	return s.String()
6506}
6507
6508// Validate inspects the fields of the type to determine if they are valid.
6509func (s *GetQueueInput) Validate() error {
6510	invalidParams := request.ErrInvalidParams{Context: "GetQueueInput"}
6511	if s.Name == nil {
6512		invalidParams.Add(request.NewErrParamRequired("Name"))
6513	}
6514
6515	if invalidParams.Len() > 0 {
6516		return invalidParams
6517	}
6518	return nil
6519}
6520
6521// SetName sets the Name field's value.
6522func (s *GetQueueInput) SetName(v string) *GetQueueInput {
6523	s.Name = &v
6524	return s
6525}
6526
6527// Successful get queue requests will return an OK message and the queue JSON.
6528type GetQueueOutput struct {
6529	_ struct{} `type:"structure"`
6530
6531	// MediaConvert jobs are submitted to a queue. Unless specified otherwise jobs
6532	// are submitted to a built-in default queue. User can create additional queues
6533	// to separate the jobs of different categories or priority.
6534	Queue *Queue `locationName:"queue" type:"structure"`
6535}
6536
6537// String returns the string representation
6538func (s GetQueueOutput) String() string {
6539	return awsutil.Prettify(s)
6540}
6541
6542// GoString returns the string representation
6543func (s GetQueueOutput) GoString() string {
6544	return s.String()
6545}
6546
6547// SetQueue sets the Queue field's value.
6548func (s *GetQueueOutput) SetQueue(v *Queue) *GetQueueOutput {
6549	s.Queue = v
6550	return s
6551}
6552
6553// Settings for quality-defined variable bitrate encoding with the H.264 codec.
6554// Required when you set Rate control mode to QVBR. Not valid when you set Rate
6555// control mode to a value other than QVBR, or when you don't define Rate control
6556// mode.
6557type H264QvbrSettings struct {
6558	_ struct{} `type:"structure"`
6559
6560	// Use this setting only when Rate control mode is QVBR and Quality tuning level
6561	// is Multi-pass HQ. For Max average bitrate values suited to the complexity
6562	// of your input video, the service limits the average bitrate of the video
6563	// part of this output to the value you choose. That is, the total size of the
6564	// video element is less than or equal to the value you set multiplied by the
6565	// number of seconds of encoded output.
6566	MaxAverageBitrate *int64 `locationName:"maxAverageBitrate" min:"1000" type:"integer"`
6567
6568	// Required when you use QVBR rate control mode. That is, when you specify qvbrSettings
6569	// within h264Settings. Specify the target quality level for this output, from
6570	// 1 to 10. Use higher numbers for greater quality. Level 10 results in nearly
6571	// lossless compression. The quality level for most broadcast-quality transcodes
6572	// is between 6 and 9.
6573	//
6574	// QvbrQualityLevel is a required field
6575	QvbrQualityLevel *int64 `locationName:"qvbrQualityLevel" min:"1" type:"integer" required:"true"`
6576}
6577
6578// String returns the string representation
6579func (s H264QvbrSettings) String() string {
6580	return awsutil.Prettify(s)
6581}
6582
6583// GoString returns the string representation
6584func (s H264QvbrSettings) GoString() string {
6585	return s.String()
6586}
6587
6588// Validate inspects the fields of the type to determine if they are valid.
6589func (s *H264QvbrSettings) Validate() error {
6590	invalidParams := request.ErrInvalidParams{Context: "H264QvbrSettings"}
6591	if s.MaxAverageBitrate != nil && *s.MaxAverageBitrate < 1000 {
6592		invalidParams.Add(request.NewErrParamMinValue("MaxAverageBitrate", 1000))
6593	}
6594	if s.QvbrQualityLevel == nil {
6595		invalidParams.Add(request.NewErrParamRequired("QvbrQualityLevel"))
6596	}
6597	if s.QvbrQualityLevel != nil && *s.QvbrQualityLevel < 1 {
6598		invalidParams.Add(request.NewErrParamMinValue("QvbrQualityLevel", 1))
6599	}
6600
6601	if invalidParams.Len() > 0 {
6602		return invalidParams
6603	}
6604	return nil
6605}
6606
6607// SetMaxAverageBitrate sets the MaxAverageBitrate field's value.
6608func (s *H264QvbrSettings) SetMaxAverageBitrate(v int64) *H264QvbrSettings {
6609	s.MaxAverageBitrate = &v
6610	return s
6611}
6612
6613// SetQvbrQualityLevel sets the QvbrQualityLevel field's value.
6614func (s *H264QvbrSettings) SetQvbrQualityLevel(v int64) *H264QvbrSettings {
6615	s.QvbrQualityLevel = &v
6616	return s
6617}
6618
6619// Required when you set (Codec) under (VideoDescription)>(CodecSettings) to
6620// the value H_264.
6621type H264Settings struct {
6622	_ struct{} `type:"structure"`
6623
6624	// Adaptive quantization. Allows intra-frame quantizers to vary to improve visual
6625	// quality.
6626	AdaptiveQuantization *string `locationName:"adaptiveQuantization" type:"string" enum:"H264AdaptiveQuantization"`
6627
6628	// Average bitrate in bits/second. Required for VBR and CBR. For MS Smooth outputs,
6629	// bitrates must be unique when rounded down to the nearest multiple of 1000.
6630	Bitrate *int64 `locationName:"bitrate" min:"1000" type:"integer"`
6631
6632	// H.264 Level.
6633	CodecLevel *string `locationName:"codecLevel" type:"string" enum:"H264CodecLevel"`
6634
6635	// H.264 Profile. High 4:2:2 and 10-bit profiles are only available with the
6636	// AVC-I License.
6637	CodecProfile *string `locationName:"codecProfile" type:"string" enum:"H264CodecProfile"`
6638
6639	// Choose Adaptive to improve subjective video quality for high-motion content.
6640	// This will cause the service to use fewer B-frames (which infer information
6641	// based on other frames) for high-motion portions of the video and more B-frames
6642	// for low-motion portions. The maximum number of B-frames is limited by the
6643	// value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames).
6644	DynamicSubGop *string `locationName:"dynamicSubGop" type:"string" enum:"H264DynamicSubGop"`
6645
6646	// Entropy encoding mode. Use CABAC (must be in Main or High profile) or CAVLC.
6647	EntropyEncoding *string `locationName:"entropyEncoding" type:"string" enum:"H264EntropyEncoding"`
6648
6649	// Choosing FORCE_FIELD disables PAFF encoding for interlaced outputs.
6650	FieldEncoding *string `locationName:"fieldEncoding" type:"string" enum:"H264FieldEncoding"`
6651
6652	// Adjust quantization within each frame to reduce flicker or 'pop' on I-frames.
6653	FlickerAdaptiveQuantization *string `locationName:"flickerAdaptiveQuantization" type:"string" enum:"H264FlickerAdaptiveQuantization"`
6654
6655	// If you are using the console, use the Framerate setting to specify the framerate
6656	// for this output. If you want to keep the same framerate as the input video,
6657	// choose Follow source. If you want to do framerate conversion, choose a framerate
6658	// from the dropdown list or choose Custom. The framerates shown in the dropdown
6659	// list are decimal approximations of fractions. If you choose Custom, specify
6660	// your framerate as a fraction. If you are creating your transcoding job specification
6661	// as a JSON file without the console, use FramerateControl to specify which
6662	// value the service uses for the framerate for this output. Choose INITIALIZE_FROM_SOURCE
6663	// if you want the service to use the framerate from the input. Choose SPECIFIED
6664	// if you want the service to use the framerate you specify in the settings
6665	// FramerateNumerator and FramerateDenominator.
6666	FramerateControl *string `locationName:"framerateControl" type:"string" enum:"H264FramerateControl"`
6667
6668	// When set to INTERPOLATE, produces smoother motion during framerate conversion.
6669	FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"H264FramerateConversionAlgorithm"`
6670
6671	// When you use the API for transcode jobs that use framerate conversion, specify
6672	// the framerate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use
6673	// FramerateDenominator to specify the denominator of this fraction. In this
6674	// example, use 1001 for the value of FramerateDenominator. When you use the
6675	// console for transcode jobs that use framerate conversion, provide the value
6676	// as a decimal number for Framerate. In this example, specify 23.976.
6677	FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"`
6678
6679	// Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976
6680	// fps.
6681	FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"`
6682
6683	// If enable, use reference B frames for GOP structures that have B frames >
6684	// 1.
6685	GopBReference *string `locationName:"gopBReference" type:"string" enum:"H264GopBReference"`
6686
6687	// Frequency of closed GOPs. In streaming applications, it is recommended that
6688	// this be set to 1 so a decoder joining mid-stream will receive an IDR frame
6689	// as quickly as possible. Setting this value to 0 will break output segmenting.
6690	GopClosedCadence *int64 `locationName:"gopClosedCadence" type:"integer"`
6691
6692	// GOP Length (keyframe interval) in frames or seconds. Must be greater than
6693	// zero.
6694	GopSize *float64 `locationName:"gopSize" type:"double"`
6695
6696	// Indicates if the GOP Size in H264 is specified in frames or seconds. If seconds
6697	// the system will convert the GOP Size into a frame count at run time.
6698	GopSizeUnits *string `locationName:"gopSizeUnits" type:"string" enum:"H264GopSizeUnits"`
6699
6700	// Percentage of the buffer that should initially be filled (HRD buffer model).
6701	HrdBufferInitialFillPercentage *int64 `locationName:"hrdBufferInitialFillPercentage" type:"integer"`
6702
6703	// Size of buffer (HRD buffer model) in bits. For example, enter five megabits
6704	// as 5000000.
6705	HrdBufferSize *int64 `locationName:"hrdBufferSize" type:"integer"`
6706
6707	// Use Interlace mode (InterlaceMode) to choose the scan line type for the output.
6708	// * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce
6709	// interlaced output with the entire output having the same field polarity (top
6710	// or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default
6711	// Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore,
6712	// behavior depends on the input scan type, as follows. - If the source is interlaced,
6713	// the output will be interlaced with the same polarity as the source (it will
6714	// follow the source). The output could therefore be a mix of "top field first"
6715	// and "bottom field first". - If the source is progressive, the output will
6716	// be interlaced with "top field first" or "bottom field first" polarity, depending
6717	// on which of the Follow options you chose.
6718	InterlaceMode *string `locationName:"interlaceMode" type:"string" enum:"H264InterlaceMode"`
6719
6720	// Maximum bitrate in bits/second. For example, enter five megabits per second
6721	// as 5000000. Required when Rate control mode is QVBR.
6722	MaxBitrate *int64 `locationName:"maxBitrate" min:"1000" type:"integer"`
6723
6724	// Enforces separation between repeated (cadence) I-frames and I-frames inserted
6725	// by Scene Change Detection. If a scene change I-frame is within I-interval
6726	// frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene
6727	// change I-frame. GOP stretch requires enabling lookahead as well as setting
6728	// I-interval. The normal cadence resumes for the next GOP. This setting is
6729	// only used when Scene Change Detect is enabled. Note: Maximum GOP stretch
6730	// = GOP size + Min-I-interval - 1
6731	MinIInterval *int64 `locationName:"minIInterval" type:"integer"`
6732
6733	// Number of B-frames between reference frames.
6734	NumberBFramesBetweenReferenceFrames *int64 `locationName:"numberBFramesBetweenReferenceFrames" type:"integer"`
6735
6736	// Number of reference frames to use. The encoder may use more than requested
6737	// if using B-frames and/or interlaced encoding.
6738	NumberReferenceFrames *int64 `locationName:"numberReferenceFrames" min:"1" type:"integer"`
6739
6740	// Using the API, enable ParFollowSource if you want the service to use the
6741	// pixel aspect ratio from the input. Using the console, do this by choosing
6742	// Follow source for Pixel aspect ratio.
6743	ParControl *string `locationName:"parControl" type:"string" enum:"H264ParControl"`
6744
6745	// Pixel Aspect Ratio denominator.
6746	ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"`
6747
6748	// Pixel Aspect Ratio numerator.
6749	ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"`
6750
6751	// Use Quality tuning level (H264QualityTuningLevel) to specifiy whether to
6752	// use fast single-pass, high-quality singlepass, or high-quality multipass
6753	// video encoding.
6754	QualityTuningLevel *string `locationName:"qualityTuningLevel" type:"string" enum:"H264QualityTuningLevel"`
6755
6756	// Settings for quality-defined variable bitrate encoding with the H.264 codec.
6757	// Required when you set Rate control mode to QVBR. Not valid when you set Rate
6758	// control mode to a value other than QVBR, or when you don't define Rate control
6759	// mode.
6760	QvbrSettings *H264QvbrSettings `locationName:"qvbrSettings" type:"structure"`
6761
6762	// Use this setting to specify whether this output has a variable bitrate (VBR),
6763	// constant bitrate (CBR) or quality-defined variable bitrate (QVBR).
6764	RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"H264RateControlMode"`
6765
6766	// Places a PPS header on each encoded picture, even if repeated.
6767	RepeatPps *string `locationName:"repeatPps" type:"string" enum:"H264RepeatPps"`
6768
6769	// Scene change detection (inserts I-frames on scene changes).
6770	SceneChangeDetect *string `locationName:"sceneChangeDetect" type:"string" enum:"H264SceneChangeDetect"`
6771
6772	// Number of slices per picture. Must be less than or equal to the number of
6773	// macroblock rows for progressive pictures, and less than or equal to half
6774	// the number of macroblock rows for interlaced pictures.
6775	Slices *int64 `locationName:"slices" min:"1" type:"integer"`
6776
6777	// Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled
6778	// as 25fps, and audio is sped up correspondingly.
6779	SlowPal *string `locationName:"slowPal" type:"string" enum:"H264SlowPal"`
6780
6781	// Softness. Selects quantizer matrix, larger values reduce high-frequency content
6782	// in the encoded image.
6783	Softness *int64 `locationName:"softness" type:"integer"`
6784
6785	// Adjust quantization within each frame based on spatial variation of content
6786	// complexity.
6787	SpatialAdaptiveQuantization *string `locationName:"spatialAdaptiveQuantization" type:"string" enum:"H264SpatialAdaptiveQuantization"`
6788
6789	// Produces a bitstream compliant with SMPTE RP-2027.
6790	Syntax *string `locationName:"syntax" type:"string" enum:"H264Syntax"`
6791
6792	// This field applies only if the Streams > Advanced > Framerate (framerate)
6793	// field is set to 29.970. This field works with the Streams > Advanced > Preprocessors
6794	// > Deinterlacer field (deinterlace_mode) and the Streams > Advanced > Interlaced
6795	// Mode field (interlace_mode) to identify the scan type for the output: Progressive,
6796	// Interlaced, Hard Telecine or Soft Telecine. - Hard: produces 29.97i output
6797	// from 23.976 input. - Soft: produces 23.976; the player converts this output
6798	// to 29.97i.
6799	Telecine *string `locationName:"telecine" type:"string" enum:"H264Telecine"`
6800
6801	// Adjust quantization within each frame based on temporal variation of content
6802	// complexity.
6803	TemporalAdaptiveQuantization *string `locationName:"temporalAdaptiveQuantization" type:"string" enum:"H264TemporalAdaptiveQuantization"`
6804
6805	// Inserts timecode for each frame as 4 bytes of an unregistered SEI message.
6806	UnregisteredSeiTimecode *string `locationName:"unregisteredSeiTimecode" type:"string" enum:"H264UnregisteredSeiTimecode"`
6807}
6808
6809// String returns the string representation
6810func (s H264Settings) String() string {
6811	return awsutil.Prettify(s)
6812}
6813
6814// GoString returns the string representation
6815func (s H264Settings) GoString() string {
6816	return s.String()
6817}
6818
6819// Validate inspects the fields of the type to determine if they are valid.
6820func (s *H264Settings) Validate() error {
6821	invalidParams := request.ErrInvalidParams{Context: "H264Settings"}
6822	if s.Bitrate != nil && *s.Bitrate < 1000 {
6823		invalidParams.Add(request.NewErrParamMinValue("Bitrate", 1000))
6824	}
6825	if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 {
6826		invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1))
6827	}
6828	if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 {
6829		invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1))
6830	}
6831	if s.MaxBitrate != nil && *s.MaxBitrate < 1000 {
6832		invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 1000))
6833	}
6834	if s.NumberReferenceFrames != nil && *s.NumberReferenceFrames < 1 {
6835		invalidParams.Add(request.NewErrParamMinValue("NumberReferenceFrames", 1))
6836	}
6837	if s.ParDenominator != nil && *s.ParDenominator < 1 {
6838		invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1))
6839	}
6840	if s.ParNumerator != nil && *s.ParNumerator < 1 {
6841		invalidParams.Add(request.NewErrParamMinValue("ParNumerator", 1))
6842	}
6843	if s.Slices != nil && *s.Slices < 1 {
6844		invalidParams.Add(request.NewErrParamMinValue("Slices", 1))
6845	}
6846	if s.QvbrSettings != nil {
6847		if err := s.QvbrSettings.Validate(); err != nil {
6848			invalidParams.AddNested("QvbrSettings", err.(request.ErrInvalidParams))
6849		}
6850	}
6851
6852	if invalidParams.Len() > 0 {
6853		return invalidParams
6854	}
6855	return nil
6856}
6857
6858// SetAdaptiveQuantization sets the AdaptiveQuantization field's value.
6859func (s *H264Settings) SetAdaptiveQuantization(v string) *H264Settings {
6860	s.AdaptiveQuantization = &v
6861	return s
6862}
6863
6864// SetBitrate sets the Bitrate field's value.
6865func (s *H264Settings) SetBitrate(v int64) *H264Settings {
6866	s.Bitrate = &v
6867	return s
6868}
6869
6870// SetCodecLevel sets the CodecLevel field's value.
6871func (s *H264Settings) SetCodecLevel(v string) *H264Settings {
6872	s.CodecLevel = &v
6873	return s
6874}
6875
6876// SetCodecProfile sets the CodecProfile field's value.
6877func (s *H264Settings) SetCodecProfile(v string) *H264Settings {
6878	s.CodecProfile = &v
6879	return s
6880}
6881
6882// SetDynamicSubGop sets the DynamicSubGop field's value.
6883func (s *H264Settings) SetDynamicSubGop(v string) *H264Settings {
6884	s.DynamicSubGop = &v
6885	return s
6886}
6887
6888// SetEntropyEncoding sets the EntropyEncoding field's value.
6889func (s *H264Settings) SetEntropyEncoding(v string) *H264Settings {
6890	s.EntropyEncoding = &v
6891	return s
6892}
6893
6894// SetFieldEncoding sets the FieldEncoding field's value.
6895func (s *H264Settings) SetFieldEncoding(v string) *H264Settings {
6896	s.FieldEncoding = &v
6897	return s
6898}
6899
6900// SetFlickerAdaptiveQuantization sets the FlickerAdaptiveQuantization field's value.
6901func (s *H264Settings) SetFlickerAdaptiveQuantization(v string) *H264Settings {
6902	s.FlickerAdaptiveQuantization = &v
6903	return s
6904}
6905
6906// SetFramerateControl sets the FramerateControl field's value.
6907func (s *H264Settings) SetFramerateControl(v string) *H264Settings {
6908	s.FramerateControl = &v
6909	return s
6910}
6911
6912// SetFramerateConversionAlgorithm sets the FramerateConversionAlgorithm field's value.
6913func (s *H264Settings) SetFramerateConversionAlgorithm(v string) *H264Settings {
6914	s.FramerateConversionAlgorithm = &v
6915	return s
6916}
6917
6918// SetFramerateDenominator sets the FramerateDenominator field's value.
6919func (s *H264Settings) SetFramerateDenominator(v int64) *H264Settings {
6920	s.FramerateDenominator = &v
6921	return s
6922}
6923
6924// SetFramerateNumerator sets the FramerateNumerator field's value.
6925func (s *H264Settings) SetFramerateNumerator(v int64) *H264Settings {
6926	s.FramerateNumerator = &v
6927	return s
6928}
6929
6930// SetGopBReference sets the GopBReference field's value.
6931func (s *H264Settings) SetGopBReference(v string) *H264Settings {
6932	s.GopBReference = &v
6933	return s
6934}
6935
6936// SetGopClosedCadence sets the GopClosedCadence field's value.
6937func (s *H264Settings) SetGopClosedCadence(v int64) *H264Settings {
6938	s.GopClosedCadence = &v
6939	return s
6940}
6941
6942// SetGopSize sets the GopSize field's value.
6943func (s *H264Settings) SetGopSize(v float64) *H264Settings {
6944	s.GopSize = &v
6945	return s
6946}
6947
6948// SetGopSizeUnits sets the GopSizeUnits field's value.
6949func (s *H264Settings) SetGopSizeUnits(v string) *H264Settings {
6950	s.GopSizeUnits = &v
6951	return s
6952}
6953
6954// SetHrdBufferInitialFillPercentage sets the HrdBufferInitialFillPercentage field's value.
6955func (s *H264Settings) SetHrdBufferInitialFillPercentage(v int64) *H264Settings {
6956	s.HrdBufferInitialFillPercentage = &v
6957	return s
6958}
6959
6960// SetHrdBufferSize sets the HrdBufferSize field's value.
6961func (s *H264Settings) SetHrdBufferSize(v int64) *H264Settings {
6962	s.HrdBufferSize = &v
6963	return s
6964}
6965
6966// SetInterlaceMode sets the InterlaceMode field's value.
6967func (s *H264Settings) SetInterlaceMode(v string) *H264Settings {
6968	s.InterlaceMode = &v
6969	return s
6970}
6971
6972// SetMaxBitrate sets the MaxBitrate field's value.
6973func (s *H264Settings) SetMaxBitrate(v int64) *H264Settings {
6974	s.MaxBitrate = &v
6975	return s
6976}
6977
6978// SetMinIInterval sets the MinIInterval field's value.
6979func (s *H264Settings) SetMinIInterval(v int64) *H264Settings {
6980	s.MinIInterval = &v
6981	return s
6982}
6983
6984// SetNumberBFramesBetweenReferenceFrames sets the NumberBFramesBetweenReferenceFrames field's value.
6985func (s *H264Settings) SetNumberBFramesBetweenReferenceFrames(v int64) *H264Settings {
6986	s.NumberBFramesBetweenReferenceFrames = &v
6987	return s
6988}
6989
6990// SetNumberReferenceFrames sets the NumberReferenceFrames field's value.
6991func (s *H264Settings) SetNumberReferenceFrames(v int64) *H264Settings {
6992	s.NumberReferenceFrames = &v
6993	return s
6994}
6995
6996// SetParControl sets the ParControl field's value.
6997func (s *H264Settings) SetParControl(v string) *H264Settings {
6998	s.ParControl = &v
6999	return s
7000}
7001
7002// SetParDenominator sets the ParDenominator field's value.
7003func (s *H264Settings) SetParDenominator(v int64) *H264Settings {
7004	s.ParDenominator = &v
7005	return s
7006}
7007
7008// SetParNumerator sets the ParNumerator field's value.
7009func (s *H264Settings) SetParNumerator(v int64) *H264Settings {
7010	s.ParNumerator = &v
7011	return s
7012}
7013
7014// SetQualityTuningLevel sets the QualityTuningLevel field's value.
7015func (s *H264Settings) SetQualityTuningLevel(v string) *H264Settings {
7016	s.QualityTuningLevel = &v
7017	return s
7018}
7019
7020// SetQvbrSettings sets the QvbrSettings field's value.
7021func (s *H264Settings) SetQvbrSettings(v *H264QvbrSettings) *H264Settings {
7022	s.QvbrSettings = v
7023	return s
7024}
7025
7026// SetRateControlMode sets the RateControlMode field's value.
7027func (s *H264Settings) SetRateControlMode(v string) *H264Settings {
7028	s.RateControlMode = &v
7029	return s
7030}
7031
7032// SetRepeatPps sets the RepeatPps field's value.
7033func (s *H264Settings) SetRepeatPps(v string) *H264Settings {
7034	s.RepeatPps = &v
7035	return s
7036}
7037
7038// SetSceneChangeDetect sets the SceneChangeDetect field's value.
7039func (s *H264Settings) SetSceneChangeDetect(v string) *H264Settings {
7040	s.SceneChangeDetect = &v
7041	return s
7042}
7043
7044// SetSlices sets the Slices field's value.
7045func (s *H264Settings) SetSlices(v int64) *H264Settings {
7046	s.Slices = &v
7047	return s
7048}
7049
7050// SetSlowPal sets the SlowPal field's value.
7051func (s *H264Settings) SetSlowPal(v string) *H264Settings {
7052	s.SlowPal = &v
7053	return s
7054}
7055
7056// SetSoftness sets the Softness field's value.
7057func (s *H264Settings) SetSoftness(v int64) *H264Settings {
7058	s.Softness = &v
7059	return s
7060}
7061
7062// SetSpatialAdaptiveQuantization sets the SpatialAdaptiveQuantization field's value.
7063func (s *H264Settings) SetSpatialAdaptiveQuantization(v string) *H264Settings {
7064	s.SpatialAdaptiveQuantization = &v
7065	return s
7066}
7067
7068// SetSyntax sets the Syntax field's value.
7069func (s *H264Settings) SetSyntax(v string) *H264Settings {
7070	s.Syntax = &v
7071	return s
7072}
7073
7074// SetTelecine sets the Telecine field's value.
7075func (s *H264Settings) SetTelecine(v string) *H264Settings {
7076	s.Telecine = &v
7077	return s
7078}
7079
7080// SetTemporalAdaptiveQuantization sets the TemporalAdaptiveQuantization field's value.
7081func (s *H264Settings) SetTemporalAdaptiveQuantization(v string) *H264Settings {
7082	s.TemporalAdaptiveQuantization = &v
7083	return s
7084}
7085
7086// SetUnregisteredSeiTimecode sets the UnregisteredSeiTimecode field's value.
7087func (s *H264Settings) SetUnregisteredSeiTimecode(v string) *H264Settings {
7088	s.UnregisteredSeiTimecode = &v
7089	return s
7090}
7091
7092// Settings for quality-defined variable bitrate encoding with the H.265 codec.
7093// Required when you set Rate control mode to QVBR. Not valid when you set Rate
7094// control mode to a value other than QVBR, or when you don't define Rate control
7095// mode.
7096type H265QvbrSettings struct {
7097	_ struct{} `type:"structure"`
7098
7099	// Use this setting only when Rate control mode is QVBR and Quality tuning level
7100	// is Multi-pass HQ. For Max average bitrate values suited to the complexity
7101	// of your input video, the service limits the average bitrate of the video
7102	// part of this output to the value you choose. That is, the total size of the
7103	// video element is less than or equal to the value you set multiplied by the
7104	// number of seconds of encoded output.
7105	MaxAverageBitrate *int64 `locationName:"maxAverageBitrate" min:"1000" type:"integer"`
7106
7107	// Required when you use QVBR rate control mode. That is, when you specify qvbrSettings
7108	// within h265Settings. Specify the target quality level for this output, from
7109	// 1 to 10. Use higher numbers for greater quality. Level 10 results in nearly
7110	// lossless compression. The quality level for most broadcast-quality transcodes
7111	// is between 6 and 9.
7112	//
7113	// QvbrQualityLevel is a required field
7114	QvbrQualityLevel *int64 `locationName:"qvbrQualityLevel" min:"1" type:"integer" required:"true"`
7115}
7116
7117// String returns the string representation
7118func (s H265QvbrSettings) String() string {
7119	return awsutil.Prettify(s)
7120}
7121
7122// GoString returns the string representation
7123func (s H265QvbrSettings) GoString() string {
7124	return s.String()
7125}
7126
7127// Validate inspects the fields of the type to determine if they are valid.
7128func (s *H265QvbrSettings) Validate() error {
7129	invalidParams := request.ErrInvalidParams{Context: "H265QvbrSettings"}
7130	if s.MaxAverageBitrate != nil && *s.MaxAverageBitrate < 1000 {
7131		invalidParams.Add(request.NewErrParamMinValue("MaxAverageBitrate", 1000))
7132	}
7133	if s.QvbrQualityLevel == nil {
7134		invalidParams.Add(request.NewErrParamRequired("QvbrQualityLevel"))
7135	}
7136	if s.QvbrQualityLevel != nil && *s.QvbrQualityLevel < 1 {
7137		invalidParams.Add(request.NewErrParamMinValue("QvbrQualityLevel", 1))
7138	}
7139
7140	if invalidParams.Len() > 0 {
7141		return invalidParams
7142	}
7143	return nil
7144}
7145
7146// SetMaxAverageBitrate sets the MaxAverageBitrate field's value.
7147func (s *H265QvbrSettings) SetMaxAverageBitrate(v int64) *H265QvbrSettings {
7148	s.MaxAverageBitrate = &v
7149	return s
7150}
7151
7152// SetQvbrQualityLevel sets the QvbrQualityLevel field's value.
7153func (s *H265QvbrSettings) SetQvbrQualityLevel(v int64) *H265QvbrSettings {
7154	s.QvbrQualityLevel = &v
7155	return s
7156}
7157
7158// Settings for H265 codec
7159type H265Settings struct {
7160	_ struct{} `type:"structure"`
7161
7162	// Adaptive quantization. Allows intra-frame quantizers to vary to improve visual
7163	// quality.
7164	AdaptiveQuantization *string `locationName:"adaptiveQuantization" type:"string" enum:"H265AdaptiveQuantization"`
7165
7166	// Enables Alternate Transfer Function SEI message for outputs using Hybrid
7167	// Log Gamma (HLG) Electro-Optical Transfer Function (EOTF).
7168	AlternateTransferFunctionSei *string `locationName:"alternateTransferFunctionSei" type:"string" enum:"H265AlternateTransferFunctionSei"`
7169
7170	// Average bitrate in bits/second. Required for VBR and CBR. For MS Smooth outputs,
7171	// bitrates must be unique when rounded down to the nearest multiple of 1000.
7172	Bitrate *int64 `locationName:"bitrate" min:"1000" type:"integer"`
7173
7174	// H.265 Level.
7175	CodecLevel *string `locationName:"codecLevel" type:"string" enum:"H265CodecLevel"`
7176
7177	// Represents the Profile and Tier, per the HEVC (H.265) specification. Selections
7178	// are grouped as [Profile] / [Tier], so "Main/High" represents Main Profile
7179	// with High Tier. 4:2:2 profiles are only available with the HEVC 4:2:2 License.
7180	CodecProfile *string `locationName:"codecProfile" type:"string" enum:"H265CodecProfile"`
7181
7182	// Choose Adaptive to improve subjective video quality for high-motion content.
7183	// This will cause the service to use fewer B-frames (which infer information
7184	// based on other frames) for high-motion portions of the video and more B-frames
7185	// for low-motion portions. The maximum number of B-frames is limited by the
7186	// value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames).
7187	DynamicSubGop *string `locationName:"dynamicSubGop" type:"string" enum:"H265DynamicSubGop"`
7188
7189	// Adjust quantization within each frame to reduce flicker or 'pop' on I-frames.
7190	FlickerAdaptiveQuantization *string `locationName:"flickerAdaptiveQuantization" type:"string" enum:"H265FlickerAdaptiveQuantization"`
7191
7192	// If you are using the console, use the Framerate setting to specify the framerate
7193	// for this output. If you want to keep the same framerate as the input video,
7194	// choose Follow source. If you want to do framerate conversion, choose a framerate
7195	// from the dropdown list or choose Custom. The framerates shown in the dropdown
7196	// list are decimal approximations of fractions. If you choose Custom, specify
7197	// your framerate as a fraction. If you are creating your transcoding job sepecification
7198	// as a JSON file without the console, use FramerateControl to specify which
7199	// value the service uses for the framerate for this output. Choose INITIALIZE_FROM_SOURCE
7200	// if you want the service to use the framerate from the input. Choose SPECIFIED
7201	// if you want the service to use the framerate you specify in the settings
7202	// FramerateNumerator and FramerateDenominator.
7203	FramerateControl *string `locationName:"framerateControl" type:"string" enum:"H265FramerateControl"`
7204
7205	// When set to INTERPOLATE, produces smoother motion during framerate conversion.
7206	FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"H265FramerateConversionAlgorithm"`
7207
7208	// Framerate denominator.
7209	FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"`
7210
7211	// Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976
7212	// fps.
7213	FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"`
7214
7215	// If enable, use reference B frames for GOP structures that have B frames >
7216	// 1.
7217	GopBReference *string `locationName:"gopBReference" type:"string" enum:"H265GopBReference"`
7218
7219	// Frequency of closed GOPs. In streaming applications, it is recommended that
7220	// this be set to 1 so a decoder joining mid-stream will receive an IDR frame
7221	// as quickly as possible. Setting this value to 0 will break output segmenting.
7222	GopClosedCadence *int64 `locationName:"gopClosedCadence" type:"integer"`
7223
7224	// GOP Length (keyframe interval) in frames or seconds. Must be greater than
7225	// zero.
7226	GopSize *float64 `locationName:"gopSize" type:"double"`
7227
7228	// Indicates if the GOP Size in H265 is specified in frames or seconds. If seconds
7229	// the system will convert the GOP Size into a frame count at run time.
7230	GopSizeUnits *string `locationName:"gopSizeUnits" type:"string" enum:"H265GopSizeUnits"`
7231
7232	// Percentage of the buffer that should initially be filled (HRD buffer model).
7233	HrdBufferInitialFillPercentage *int64 `locationName:"hrdBufferInitialFillPercentage" type:"integer"`
7234
7235	// Size of buffer (HRD buffer model) in bits. For example, enter five megabits
7236	// as 5000000.
7237	HrdBufferSize *int64 `locationName:"hrdBufferSize" type:"integer"`
7238
7239	// Use Interlace mode (InterlaceMode) to choose the scan line type for the output.
7240	// * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce
7241	// interlaced output with the entire output having the same field polarity (top
7242	// or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default
7243	// Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore,
7244	// behavior depends on the input scan type. - If the source is interlaced, the
7245	// output will be interlaced with the same polarity as the source (it will follow
7246	// the source). The output could therefore be a mix of "top field first" and
7247	// "bottom field first". - If the source is progressive, the output will be
7248	// interlaced with "top field first" or "bottom field first" polarity, depending
7249	// on which of the Follow options you chose.
7250	InterlaceMode *string `locationName:"interlaceMode" type:"string" enum:"H265InterlaceMode"`
7251
7252	// Maximum bitrate in bits/second. For example, enter five megabits per second
7253	// as 5000000. Required when Rate control mode is QVBR.
7254	MaxBitrate *int64 `locationName:"maxBitrate" min:"1000" type:"integer"`
7255
7256	// Enforces separation between repeated (cadence) I-frames and I-frames inserted
7257	// by Scene Change Detection. If a scene change I-frame is within I-interval
7258	// frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene
7259	// change I-frame. GOP stretch requires enabling lookahead as well as setting
7260	// I-interval. The normal cadence resumes for the next GOP. This setting is
7261	// only used when Scene Change Detect is enabled. Note: Maximum GOP stretch
7262	// = GOP size + Min-I-interval - 1
7263	MinIInterval *int64 `locationName:"minIInterval" type:"integer"`
7264
7265	// Number of B-frames between reference frames.
7266	NumberBFramesBetweenReferenceFrames *int64 `locationName:"numberBFramesBetweenReferenceFrames" type:"integer"`
7267
7268	// Number of reference frames to use. The encoder may use more than requested
7269	// if using B-frames and/or interlaced encoding.
7270	NumberReferenceFrames *int64 `locationName:"numberReferenceFrames" min:"1" type:"integer"`
7271
7272	// Using the API, enable ParFollowSource if you want the service to use the
7273	// pixel aspect ratio from the input. Using the console, do this by choosing
7274	// Follow source for Pixel aspect ratio.
7275	ParControl *string `locationName:"parControl" type:"string" enum:"H265ParControl"`
7276
7277	// Pixel Aspect Ratio denominator.
7278	ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"`
7279
7280	// Pixel Aspect Ratio numerator.
7281	ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"`
7282
7283	// Use Quality tuning level (H265QualityTuningLevel) to specifiy whether to
7284	// use fast single-pass, high-quality singlepass, or high-quality multipass
7285	// video encoding.
7286	QualityTuningLevel *string `locationName:"qualityTuningLevel" type:"string" enum:"H265QualityTuningLevel"`
7287
7288	// Settings for quality-defined variable bitrate encoding with the H.265 codec.
7289	// Required when you set Rate control mode to QVBR. Not valid when you set Rate
7290	// control mode to a value other than QVBR, or when you don't define Rate control
7291	// mode.
7292	QvbrSettings *H265QvbrSettings `locationName:"qvbrSettings" type:"structure"`
7293
7294	// Use this setting to specify whether this output has a variable bitrate (VBR),
7295	// constant bitrate (CBR) or quality-defined variable bitrate (QVBR).
7296	RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"H265RateControlMode"`
7297
7298	// Specify Sample Adaptive Offset (SAO) filter strength. Adaptive mode dynamically
7299	// selects best strength based on content
7300	SampleAdaptiveOffsetFilterMode *string `locationName:"sampleAdaptiveOffsetFilterMode" type:"string" enum:"H265SampleAdaptiveOffsetFilterMode"`
7301
7302	// Scene change detection (inserts I-frames on scene changes).
7303	SceneChangeDetect *string `locationName:"sceneChangeDetect" type:"string" enum:"H265SceneChangeDetect"`
7304
7305	// Number of slices per picture. Must be less than or equal to the number of
7306	// macroblock rows for progressive pictures, and less than or equal to half
7307	// the number of macroblock rows for interlaced pictures.
7308	Slices *int64 `locationName:"slices" min:"1" type:"integer"`
7309
7310	// Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled
7311	// as 25fps, and audio is sped up correspondingly.
7312	SlowPal *string `locationName:"slowPal" type:"string" enum:"H265SlowPal"`
7313
7314	// Adjust quantization within each frame based on spatial variation of content
7315	// complexity.
7316	SpatialAdaptiveQuantization *string `locationName:"spatialAdaptiveQuantization" type:"string" enum:"H265SpatialAdaptiveQuantization"`
7317
7318	// This field applies only if the Streams > Advanced > Framerate (framerate)
7319	// field is set to 29.970. This field works with the Streams > Advanced > Preprocessors
7320	// > Deinterlacer field (deinterlace_mode) and the Streams > Advanced > Interlaced
7321	// Mode field (interlace_mode) to identify the scan type for the output: Progressive,
7322	// Interlaced, Hard Telecine or Soft Telecine. - Hard: produces 29.97i output
7323	// from 23.976 input. - Soft: produces 23.976; the player converts this output
7324	// to 29.97i.
7325	Telecine *string `locationName:"telecine" type:"string" enum:"H265Telecine"`
7326
7327	// Adjust quantization within each frame based on temporal variation of content
7328	// complexity.
7329	TemporalAdaptiveQuantization *string `locationName:"temporalAdaptiveQuantization" type:"string" enum:"H265TemporalAdaptiveQuantization"`
7330
7331	// Enables temporal layer identifiers in the encoded bitstream. Up to 3 layers
7332	// are supported depending on GOP structure: I- and P-frames form one layer,
7333	// reference B-frames can form a second layer and non-reference b-frames can
7334	// form a third layer. Decoders can optionally decode only the lower temporal
7335	// layers to generate a lower frame rate output. For example, given a bitstream
7336	// with temporal IDs and with b-frames = 1 (i.e. IbPbPb display order), a decoder
7337	// could decode all the frames for full frame rate output or only the I and
7338	// P frames (lowest temporal layer) for a half frame rate output.
7339	TemporalIds *string `locationName:"temporalIds" type:"string" enum:"H265TemporalIds"`
7340
7341	// Enable use of tiles, allowing horizontal as well as vertical subdivision
7342	// of the encoded pictures.
7343	Tiles *string `locationName:"tiles" type:"string" enum:"H265Tiles"`
7344
7345	// Inserts timecode for each frame as 4 bytes of an unregistered SEI message.
7346	UnregisteredSeiTimecode *string `locationName:"unregisteredSeiTimecode" type:"string" enum:"H265UnregisteredSeiTimecode"`
7347
7348	// If HVC1, output that is H.265 will be marked as HVC1 and adhere to the ISO-IECJTC1-SC29_N13798_Text_ISOIEC_FDIS_14496-15_3rd_E
7349	// spec which states that parameter set NAL units will be stored in the sample
7350	// headers but not in the samples directly. If HEV1, then H.265 will be marked
7351	// as HEV1 and parameter set NAL units will be written into the samples.
7352	WriteMp4PackagingType *string `locationName:"writeMp4PackagingType" type:"string" enum:"H265WriteMp4PackagingType"`
7353}
7354
7355// String returns the string representation
7356func (s H265Settings) String() string {
7357	return awsutil.Prettify(s)
7358}
7359
7360// GoString returns the string representation
7361func (s H265Settings) GoString() string {
7362	return s.String()
7363}
7364
7365// Validate inspects the fields of the type to determine if they are valid.
7366func (s *H265Settings) Validate() error {
7367	invalidParams := request.ErrInvalidParams{Context: "H265Settings"}
7368	if s.Bitrate != nil && *s.Bitrate < 1000 {
7369		invalidParams.Add(request.NewErrParamMinValue("Bitrate", 1000))
7370	}
7371	if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 {
7372		invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1))
7373	}
7374	if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 {
7375		invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1))
7376	}
7377	if s.MaxBitrate != nil && *s.MaxBitrate < 1000 {
7378		invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 1000))
7379	}
7380	if s.NumberReferenceFrames != nil && *s.NumberReferenceFrames < 1 {
7381		invalidParams.Add(request.NewErrParamMinValue("NumberReferenceFrames", 1))
7382	}
7383	if s.ParDenominator != nil && *s.ParDenominator < 1 {
7384		invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1))
7385	}
7386	if s.ParNumerator != nil && *s.ParNumerator < 1 {
7387		invalidParams.Add(request.NewErrParamMinValue("ParNumerator", 1))
7388	}
7389	if s.Slices != nil && *s.Slices < 1 {
7390		invalidParams.Add(request.NewErrParamMinValue("Slices", 1))
7391	}
7392	if s.QvbrSettings != nil {
7393		if err := s.QvbrSettings.Validate(); err != nil {
7394			invalidParams.AddNested("QvbrSettings", err.(request.ErrInvalidParams))
7395		}
7396	}
7397
7398	if invalidParams.Len() > 0 {
7399		return invalidParams
7400	}
7401	return nil
7402}
7403
7404// SetAdaptiveQuantization sets the AdaptiveQuantization field's value.
7405func (s *H265Settings) SetAdaptiveQuantization(v string) *H265Settings {
7406	s.AdaptiveQuantization = &v
7407	return s
7408}
7409
7410// SetAlternateTransferFunctionSei sets the AlternateTransferFunctionSei field's value.
7411func (s *H265Settings) SetAlternateTransferFunctionSei(v string) *H265Settings {
7412	s.AlternateTransferFunctionSei = &v
7413	return s
7414}
7415
7416// SetBitrate sets the Bitrate field's value.
7417func (s *H265Settings) SetBitrate(v int64) *H265Settings {
7418	s.Bitrate = &v
7419	return s
7420}
7421
7422// SetCodecLevel sets the CodecLevel field's value.
7423func (s *H265Settings) SetCodecLevel(v string) *H265Settings {
7424	s.CodecLevel = &v
7425	return s
7426}
7427
7428// SetCodecProfile sets the CodecProfile field's value.
7429func (s *H265Settings) SetCodecProfile(v string) *H265Settings {
7430	s.CodecProfile = &v
7431	return s
7432}
7433
7434// SetDynamicSubGop sets the DynamicSubGop field's value.
7435func (s *H265Settings) SetDynamicSubGop(v string) *H265Settings {
7436	s.DynamicSubGop = &v
7437	return s
7438}
7439
7440// SetFlickerAdaptiveQuantization sets the FlickerAdaptiveQuantization field's value.
7441func (s *H265Settings) SetFlickerAdaptiveQuantization(v string) *H265Settings {
7442	s.FlickerAdaptiveQuantization = &v
7443	return s
7444}
7445
7446// SetFramerateControl sets the FramerateControl field's value.
7447func (s *H265Settings) SetFramerateControl(v string) *H265Settings {
7448	s.FramerateControl = &v
7449	return s
7450}
7451
7452// SetFramerateConversionAlgorithm sets the FramerateConversionAlgorithm field's value.
7453func (s *H265Settings) SetFramerateConversionAlgorithm(v string) *H265Settings {
7454	s.FramerateConversionAlgorithm = &v
7455	return s
7456}
7457
7458// SetFramerateDenominator sets the FramerateDenominator field's value.
7459func (s *H265Settings) SetFramerateDenominator(v int64) *H265Settings {
7460	s.FramerateDenominator = &v
7461	return s
7462}
7463
7464// SetFramerateNumerator sets the FramerateNumerator field's value.
7465func (s *H265Settings) SetFramerateNumerator(v int64) *H265Settings {
7466	s.FramerateNumerator = &v
7467	return s
7468}
7469
7470// SetGopBReference sets the GopBReference field's value.
7471func (s *H265Settings) SetGopBReference(v string) *H265Settings {
7472	s.GopBReference = &v
7473	return s
7474}
7475
7476// SetGopClosedCadence sets the GopClosedCadence field's value.
7477func (s *H265Settings) SetGopClosedCadence(v int64) *H265Settings {
7478	s.GopClosedCadence = &v
7479	return s
7480}
7481
7482// SetGopSize sets the GopSize field's value.
7483func (s *H265Settings) SetGopSize(v float64) *H265Settings {
7484	s.GopSize = &v
7485	return s
7486}
7487
7488// SetGopSizeUnits sets the GopSizeUnits field's value.
7489func (s *H265Settings) SetGopSizeUnits(v string) *H265Settings {
7490	s.GopSizeUnits = &v
7491	return s
7492}
7493
7494// SetHrdBufferInitialFillPercentage sets the HrdBufferInitialFillPercentage field's value.
7495func (s *H265Settings) SetHrdBufferInitialFillPercentage(v int64) *H265Settings {
7496	s.HrdBufferInitialFillPercentage = &v
7497	return s
7498}
7499
7500// SetHrdBufferSize sets the HrdBufferSize field's value.
7501func (s *H265Settings) SetHrdBufferSize(v int64) *H265Settings {
7502	s.HrdBufferSize = &v
7503	return s
7504}
7505
7506// SetInterlaceMode sets the InterlaceMode field's value.
7507func (s *H265Settings) SetInterlaceMode(v string) *H265Settings {
7508	s.InterlaceMode = &v
7509	return s
7510}
7511
7512// SetMaxBitrate sets the MaxBitrate field's value.
7513func (s *H265Settings) SetMaxBitrate(v int64) *H265Settings {
7514	s.MaxBitrate = &v
7515	return s
7516}
7517
7518// SetMinIInterval sets the MinIInterval field's value.
7519func (s *H265Settings) SetMinIInterval(v int64) *H265Settings {
7520	s.MinIInterval = &v
7521	return s
7522}
7523
7524// SetNumberBFramesBetweenReferenceFrames sets the NumberBFramesBetweenReferenceFrames field's value.
7525func (s *H265Settings) SetNumberBFramesBetweenReferenceFrames(v int64) *H265Settings {
7526	s.NumberBFramesBetweenReferenceFrames = &v
7527	return s
7528}
7529
7530// SetNumberReferenceFrames sets the NumberReferenceFrames field's value.
7531func (s *H265Settings) SetNumberReferenceFrames(v int64) *H265Settings {
7532	s.NumberReferenceFrames = &v
7533	return s
7534}
7535
7536// SetParControl sets the ParControl field's value.
7537func (s *H265Settings) SetParControl(v string) *H265Settings {
7538	s.ParControl = &v
7539	return s
7540}
7541
7542// SetParDenominator sets the ParDenominator field's value.
7543func (s *H265Settings) SetParDenominator(v int64) *H265Settings {
7544	s.ParDenominator = &v
7545	return s
7546}
7547
7548// SetParNumerator sets the ParNumerator field's value.
7549func (s *H265Settings) SetParNumerator(v int64) *H265Settings {
7550	s.ParNumerator = &v
7551	return s
7552}
7553
7554// SetQualityTuningLevel sets the QualityTuningLevel field's value.
7555func (s *H265Settings) SetQualityTuningLevel(v string) *H265Settings {
7556	s.QualityTuningLevel = &v
7557	return s
7558}
7559
7560// SetQvbrSettings sets the QvbrSettings field's value.
7561func (s *H265Settings) SetQvbrSettings(v *H265QvbrSettings) *H265Settings {
7562	s.QvbrSettings = v
7563	return s
7564}
7565
7566// SetRateControlMode sets the RateControlMode field's value.
7567func (s *H265Settings) SetRateControlMode(v string) *H265Settings {
7568	s.RateControlMode = &v
7569	return s
7570}
7571
7572// SetSampleAdaptiveOffsetFilterMode sets the SampleAdaptiveOffsetFilterMode field's value.
7573func (s *H265Settings) SetSampleAdaptiveOffsetFilterMode(v string) *H265Settings {
7574	s.SampleAdaptiveOffsetFilterMode = &v
7575	return s
7576}
7577
7578// SetSceneChangeDetect sets the SceneChangeDetect field's value.
7579func (s *H265Settings) SetSceneChangeDetect(v string) *H265Settings {
7580	s.SceneChangeDetect = &v
7581	return s
7582}
7583
7584// SetSlices sets the Slices field's value.
7585func (s *H265Settings) SetSlices(v int64) *H265Settings {
7586	s.Slices = &v
7587	return s
7588}
7589
7590// SetSlowPal sets the SlowPal field's value.
7591func (s *H265Settings) SetSlowPal(v string) *H265Settings {
7592	s.SlowPal = &v
7593	return s
7594}
7595
7596// SetSpatialAdaptiveQuantization sets the SpatialAdaptiveQuantization field's value.
7597func (s *H265Settings) SetSpatialAdaptiveQuantization(v string) *H265Settings {
7598	s.SpatialAdaptiveQuantization = &v
7599	return s
7600}
7601
7602// SetTelecine sets the Telecine field's value.
7603func (s *H265Settings) SetTelecine(v string) *H265Settings {
7604	s.Telecine = &v
7605	return s
7606}
7607
7608// SetTemporalAdaptiveQuantization sets the TemporalAdaptiveQuantization field's value.
7609func (s *H265Settings) SetTemporalAdaptiveQuantization(v string) *H265Settings {
7610	s.TemporalAdaptiveQuantization = &v
7611	return s
7612}
7613
7614// SetTemporalIds sets the TemporalIds field's value.
7615func (s *H265Settings) SetTemporalIds(v string) *H265Settings {
7616	s.TemporalIds = &v
7617	return s
7618}
7619
7620// SetTiles sets the Tiles field's value.
7621func (s *H265Settings) SetTiles(v string) *H265Settings {
7622	s.Tiles = &v
7623	return s
7624}
7625
7626// SetUnregisteredSeiTimecode sets the UnregisteredSeiTimecode field's value.
7627func (s *H265Settings) SetUnregisteredSeiTimecode(v string) *H265Settings {
7628	s.UnregisteredSeiTimecode = &v
7629	return s
7630}
7631
7632// SetWriteMp4PackagingType sets the WriteMp4PackagingType field's value.
7633func (s *H265Settings) SetWriteMp4PackagingType(v string) *H265Settings {
7634	s.WriteMp4PackagingType = &v
7635	return s
7636}
7637
7638// Use the HDR master display (Hdr10Metadata) settings to correct HDR metadata
7639// or to provide missing metadata. These values vary depending on the input
7640// video and must be provided by a color grader. Range is 0 to 50,000, each
7641// increment represents 0.00002 in CIE1931 color coordinate. Note that these
7642// settings are not color correction. Note that if you are creating HDR outputs
7643// inside of an HLS CMAF package, to comply with the Apple specification, you
7644// must use the HVC1 for H.265 setting.
7645type Hdr10Metadata struct {
7646	_ struct{} `type:"structure"`
7647
7648	// HDR Master Display Information must be provided by a color grader, using
7649	// color grading tools. Range is 0 to 50,000, each increment represents 0.00002
7650	// in CIE1931 color coordinate. Note that this setting is not for color correction.
7651	BluePrimaryX *int64 `locationName:"bluePrimaryX" type:"integer"`
7652
7653	// HDR Master Display Information must be provided by a color grader, using
7654	// color grading tools. Range is 0 to 50,000, each increment represents 0.00002
7655	// in CIE1931 color coordinate. Note that this setting is not for color correction.
7656	BluePrimaryY *int64 `locationName:"bluePrimaryY" type:"integer"`
7657
7658	// HDR Master Display Information must be provided by a color grader, using
7659	// color grading tools. Range is 0 to 50,000, each increment represents 0.00002
7660	// in CIE1931 color coordinate. Note that this setting is not for color correction.
7661	GreenPrimaryX *int64 `locationName:"greenPrimaryX" type:"integer"`
7662
7663	// HDR Master Display Information must be provided by a color grader, using
7664	// color grading tools. Range is 0 to 50,000, each increment represents 0.00002
7665	// in CIE1931 color coordinate. Note that this setting is not for color correction.
7666	GreenPrimaryY *int64 `locationName:"greenPrimaryY" type:"integer"`
7667
7668	// Maximum light level among all samples in the coded video sequence, in units
7669	// of candelas per square meter.
7670	//
7671	// MaxContentLightLevel is a required field
7672	MaxContentLightLevel *int64 `locationName:"maxContentLightLevel" type:"integer" required:"true"`
7673
7674	// Maximum average light level of any frame in the coded video sequence, in
7675	// units of candelas per square meter.
7676	//
7677	// MaxFrameAverageLightLevel is a required field
7678	MaxFrameAverageLightLevel *int64 `locationName:"maxFrameAverageLightLevel" type:"integer" required:"true"`
7679
7680	// Nominal maximum mastering display luminance in units of of 0.0001 candelas
7681	// per square meter.
7682	MaxLuminance *int64 `locationName:"maxLuminance" type:"integer"`
7683
7684	// Nominal minimum mastering display luminance in units of of 0.0001 candelas
7685	// per square meter
7686	MinLuminance *int64 `locationName:"minLuminance" type:"integer"`
7687
7688	// HDR Master Display Information must be provided by a color grader, using
7689	// color grading tools. Range is 0 to 50,000, each increment represents 0.00002
7690	// in CIE1931 color coordinate. Note that this setting is not for color correction.
7691	RedPrimaryX *int64 `locationName:"redPrimaryX" type:"integer"`
7692
7693	// HDR Master Display Information must be provided by a color grader, using
7694	// color grading tools. Range is 0 to 50,000, each increment represents 0.00002
7695	// in CIE1931 color coordinate. Note that this setting is not for color correction.
7696	RedPrimaryY *int64 `locationName:"redPrimaryY" type:"integer"`
7697
7698	// HDR Master Display Information must be provided by a color grader, using
7699	// color grading tools. Range is 0 to 50,000, each increment represents 0.00002
7700	// in CIE1931 color coordinate. Note that this setting is not for color correction.
7701	WhitePointX *int64 `locationName:"whitePointX" type:"integer"`
7702
7703	// HDR Master Display Information must be provided by a color grader, using
7704	// color grading tools. Range is 0 to 50,000, each increment represents 0.00002
7705	// in CIE1931 color coordinate. Note that this setting is not for color correction.
7706	WhitePointY *int64 `locationName:"whitePointY" type:"integer"`
7707}
7708
7709// String returns the string representation
7710func (s Hdr10Metadata) String() string {
7711	return awsutil.Prettify(s)
7712}
7713
7714// GoString returns the string representation
7715func (s Hdr10Metadata) GoString() string {
7716	return s.String()
7717}
7718
7719// Validate inspects the fields of the type to determine if they are valid.
7720func (s *Hdr10Metadata) Validate() error {
7721	invalidParams := request.ErrInvalidParams{Context: "Hdr10Metadata"}
7722	if s.MaxContentLightLevel == nil {
7723		invalidParams.Add(request.NewErrParamRequired("MaxContentLightLevel"))
7724	}
7725	if s.MaxFrameAverageLightLevel == nil {
7726		invalidParams.Add(request.NewErrParamRequired("MaxFrameAverageLightLevel"))
7727	}
7728
7729	if invalidParams.Len() > 0 {
7730		return invalidParams
7731	}
7732	return nil
7733}
7734
7735// SetBluePrimaryX sets the BluePrimaryX field's value.
7736func (s *Hdr10Metadata) SetBluePrimaryX(v int64) *Hdr10Metadata {
7737	s.BluePrimaryX = &v
7738	return s
7739}
7740
7741// SetBluePrimaryY sets the BluePrimaryY field's value.
7742func (s *Hdr10Metadata) SetBluePrimaryY(v int64) *Hdr10Metadata {
7743	s.BluePrimaryY = &v
7744	return s
7745}
7746
7747// SetGreenPrimaryX sets the GreenPrimaryX field's value.
7748func (s *Hdr10Metadata) SetGreenPrimaryX(v int64) *Hdr10Metadata {
7749	s.GreenPrimaryX = &v
7750	return s
7751}
7752
7753// SetGreenPrimaryY sets the GreenPrimaryY field's value.
7754func (s *Hdr10Metadata) SetGreenPrimaryY(v int64) *Hdr10Metadata {
7755	s.GreenPrimaryY = &v
7756	return s
7757}
7758
7759// SetMaxContentLightLevel sets the MaxContentLightLevel field's value.
7760func (s *Hdr10Metadata) SetMaxContentLightLevel(v int64) *Hdr10Metadata {
7761	s.MaxContentLightLevel = &v
7762	return s
7763}
7764
7765// SetMaxFrameAverageLightLevel sets the MaxFrameAverageLightLevel field's value.
7766func (s *Hdr10Metadata) SetMaxFrameAverageLightLevel(v int64) *Hdr10Metadata {
7767	s.MaxFrameAverageLightLevel = &v
7768	return s
7769}
7770
7771// SetMaxLuminance sets the MaxLuminance field's value.
7772func (s *Hdr10Metadata) SetMaxLuminance(v int64) *Hdr10Metadata {
7773	s.MaxLuminance = &v
7774	return s
7775}
7776
7777// SetMinLuminance sets the MinLuminance field's value.
7778func (s *Hdr10Metadata) SetMinLuminance(v int64) *Hdr10Metadata {
7779	s.MinLuminance = &v
7780	return s
7781}
7782
7783// SetRedPrimaryX sets the RedPrimaryX field's value.
7784func (s *Hdr10Metadata) SetRedPrimaryX(v int64) *Hdr10Metadata {
7785	s.RedPrimaryX = &v
7786	return s
7787}
7788
7789// SetRedPrimaryY sets the RedPrimaryY field's value.
7790func (s *Hdr10Metadata) SetRedPrimaryY(v int64) *Hdr10Metadata {
7791	s.RedPrimaryY = &v
7792	return s
7793}
7794
7795// SetWhitePointX sets the WhitePointX field's value.
7796func (s *Hdr10Metadata) SetWhitePointX(v int64) *Hdr10Metadata {
7797	s.WhitePointX = &v
7798	return s
7799}
7800
7801// SetWhitePointY sets the WhitePointY field's value.
7802func (s *Hdr10Metadata) SetWhitePointY(v int64) *Hdr10Metadata {
7803	s.WhitePointY = &v
7804	return s
7805}
7806
7807// Caption Language Mapping
7808type HlsCaptionLanguageMapping struct {
7809	_ struct{} `type:"structure"`
7810
7811	// Caption channel.
7812	CaptionChannel *int64 `locationName:"captionChannel" type:"integer"`
7813
7814	// Specify the language for this caption channel, using the ISO 639-2 or ISO
7815	// 639-3 three-letter language code
7816	CustomLanguageCode *string `locationName:"customLanguageCode" min:"3" type:"string"`
7817
7818	// Specify the language, using the ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php.
7819	LanguageCode *string `locationName:"languageCode" type:"string" enum:"LanguageCode"`
7820
7821	// Caption language description.
7822	LanguageDescription *string `locationName:"languageDescription" type:"string"`
7823}
7824
7825// String returns the string representation
7826func (s HlsCaptionLanguageMapping) String() string {
7827	return awsutil.Prettify(s)
7828}
7829
7830// GoString returns the string representation
7831func (s HlsCaptionLanguageMapping) GoString() string {
7832	return s.String()
7833}
7834
7835// Validate inspects the fields of the type to determine if they are valid.
7836func (s *HlsCaptionLanguageMapping) Validate() error {
7837	invalidParams := request.ErrInvalidParams{Context: "HlsCaptionLanguageMapping"}
7838	if s.CaptionChannel != nil && *s.CaptionChannel < -2.147483648e+09 {
7839		invalidParams.Add(request.NewErrParamMinValue("CaptionChannel", -2.147483648e+09))
7840	}
7841	if s.CustomLanguageCode != nil && len(*s.CustomLanguageCode) < 3 {
7842		invalidParams.Add(request.NewErrParamMinLen("CustomLanguageCode", 3))
7843	}
7844
7845	if invalidParams.Len() > 0 {
7846		return invalidParams
7847	}
7848	return nil
7849}
7850
7851// SetCaptionChannel sets the CaptionChannel field's value.
7852func (s *HlsCaptionLanguageMapping) SetCaptionChannel(v int64) *HlsCaptionLanguageMapping {
7853	s.CaptionChannel = &v
7854	return s
7855}
7856
7857// SetCustomLanguageCode sets the CustomLanguageCode field's value.
7858func (s *HlsCaptionLanguageMapping) SetCustomLanguageCode(v string) *HlsCaptionLanguageMapping {
7859	s.CustomLanguageCode = &v
7860	return s
7861}
7862
7863// SetLanguageCode sets the LanguageCode field's value.
7864func (s *HlsCaptionLanguageMapping) SetLanguageCode(v string) *HlsCaptionLanguageMapping {
7865	s.LanguageCode = &v
7866	return s
7867}
7868
7869// SetLanguageDescription sets the LanguageDescription field's value.
7870func (s *HlsCaptionLanguageMapping) SetLanguageDescription(v string) *HlsCaptionLanguageMapping {
7871	s.LanguageDescription = &v
7872	return s
7873}
7874
7875// Settings for HLS encryption
7876type HlsEncryptionSettings struct {
7877	_ struct{} `type:"structure"`
7878
7879	// This is a 128-bit, 16-byte hex value represented by a 32-character text string.
7880	// If this parameter is not set then the Initialization Vector will follow the
7881	// segment number by default.
7882	ConstantInitializationVector *string `locationName:"constantInitializationVector" min:"32" type:"string"`
7883
7884	// Encrypts the segments with the given encryption scheme. Leave blank to disable.
7885	// Selecting 'Disabled' in the web interface also disables encryption.
7886	EncryptionMethod *string `locationName:"encryptionMethod" type:"string" enum:"HlsEncryptionType"`
7887
7888	// The Initialization Vector is a 128-bit number used in conjunction with the
7889	// key for encrypting blocks. If set to INCLUDE, Initialization Vector is listed
7890	// in the manifest. Otherwise Initialization Vector is not in the manifest.
7891	InitializationVectorInManifest *string `locationName:"initializationVectorInManifest" type:"string" enum:"HlsInitializationVectorInManifest"`
7892
7893	// Settings for use with a SPEKE key provider
7894	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure"`
7895
7896	// Settings for use with a SPEKE key provider.
7897	StaticKeyProvider *StaticKeyProvider `locationName:"staticKeyProvider" type:"structure"`
7898
7899	// Indicates which type of key provider is used for encryption.
7900	//
7901	// Type is a required field
7902	Type *string `locationName:"type" type:"string" required:"true" enum:"HlsKeyProviderType"`
7903}
7904
7905// String returns the string representation
7906func (s HlsEncryptionSettings) String() string {
7907	return awsutil.Prettify(s)
7908}
7909
7910// GoString returns the string representation
7911func (s HlsEncryptionSettings) GoString() string {
7912	return s.String()
7913}
7914
7915// Validate inspects the fields of the type to determine if they are valid.
7916func (s *HlsEncryptionSettings) Validate() error {
7917	invalidParams := request.ErrInvalidParams{Context: "HlsEncryptionSettings"}
7918	if s.ConstantInitializationVector != nil && len(*s.ConstantInitializationVector) < 32 {
7919		invalidParams.Add(request.NewErrParamMinLen("ConstantInitializationVector", 32))
7920	}
7921	if s.Type == nil {
7922		invalidParams.Add(request.NewErrParamRequired("Type"))
7923	}
7924	if s.SpekeKeyProvider != nil {
7925		if err := s.SpekeKeyProvider.Validate(); err != nil {
7926			invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams))
7927		}
7928	}
7929	if s.StaticKeyProvider != nil {
7930		if err := s.StaticKeyProvider.Validate(); err != nil {
7931			invalidParams.AddNested("StaticKeyProvider", err.(request.ErrInvalidParams))
7932		}
7933	}
7934
7935	if invalidParams.Len() > 0 {
7936		return invalidParams
7937	}
7938	return nil
7939}
7940
7941// SetConstantInitializationVector sets the ConstantInitializationVector field's value.
7942func (s *HlsEncryptionSettings) SetConstantInitializationVector(v string) *HlsEncryptionSettings {
7943	s.ConstantInitializationVector = &v
7944	return s
7945}
7946
7947// SetEncryptionMethod sets the EncryptionMethod field's value.
7948func (s *HlsEncryptionSettings) SetEncryptionMethod(v string) *HlsEncryptionSettings {
7949	s.EncryptionMethod = &v
7950	return s
7951}
7952
7953// SetInitializationVectorInManifest sets the InitializationVectorInManifest field's value.
7954func (s *HlsEncryptionSettings) SetInitializationVectorInManifest(v string) *HlsEncryptionSettings {
7955	s.InitializationVectorInManifest = &v
7956	return s
7957}
7958
7959// SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
7960func (s *HlsEncryptionSettings) SetSpekeKeyProvider(v *SpekeKeyProvider) *HlsEncryptionSettings {
7961	s.SpekeKeyProvider = v
7962	return s
7963}
7964
7965// SetStaticKeyProvider sets the StaticKeyProvider field's value.
7966func (s *HlsEncryptionSettings) SetStaticKeyProvider(v *StaticKeyProvider) *HlsEncryptionSettings {
7967	s.StaticKeyProvider = v
7968	return s
7969}
7970
7971// SetType sets the Type field's value.
7972func (s *HlsEncryptionSettings) SetType(v string) *HlsEncryptionSettings {
7973	s.Type = &v
7974	return s
7975}
7976
7977// Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to
7978// HLS_GROUP_SETTINGS.
7979type HlsGroupSettings struct {
7980	_ struct{} `type:"structure"`
7981
7982	// Choose one or more ad marker types to pass SCTE35 signals through to this
7983	// group of Apple HLS outputs.
7984	AdMarkers []*string `locationName:"adMarkers" type:"list"`
7985
7986	// A partial URI prefix that will be prepended to each output in the media .m3u8
7987	// file. Can be used if base manifest is delivered from a different URL than
7988	// the main .m3u8 file.
7989	BaseUrl *string `locationName:"baseUrl" type:"string"`
7990
7991	// Language to be used on Caption outputs
7992	CaptionLanguageMappings []*HlsCaptionLanguageMapping `locationName:"captionLanguageMappings" type:"list"`
7993
7994	// Applies only to 608 Embedded output captions. Insert: Include CLOSED-CAPTIONS
7995	// lines in the manifest. Specify at least one language in the CC1 Language
7996	// Code field. One CLOSED-CAPTION line is added for each Language Code you specify.
7997	// Make sure to specify the languages in the order in which they appear in the
7998	// original source (if the source is embedded format) or the order of the caption
7999	// selectors (if the source is other than embedded). Otherwise, languages in
8000	// the manifest will not match up properly with the output captions. None: Include
8001	// CLOSED-CAPTIONS=NONE line in the manifest. Omit: Omit any CLOSED-CAPTIONS
8002	// line from the manifest.
8003	CaptionLanguageSetting *string `locationName:"captionLanguageSetting" type:"string" enum:"HlsCaptionLanguageSetting"`
8004
8005	// When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client
8006	// from saving media segments for later replay.
8007	ClientCache *string `locationName:"clientCache" type:"string" enum:"HlsClientCache"`
8008
8009	// Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist
8010	// generation.
8011	CodecSpecification *string `locationName:"codecSpecification" type:"string" enum:"HlsCodecSpecification"`
8012
8013	// Use Destination (Destination) to specify the S3 output location and the output
8014	// filename base. Destination accepts format identifiers. If you do not specify
8015	// the base filename in the URI, the service will use the filename of the input
8016	// file. If your job has multiple inputs, the service uses the filename of the
8017	// first input file.
8018	Destination *string `locationName:"destination" type:"string"`
8019
8020	// Indicates whether segments should be placed in subdirectories.
8021	DirectoryStructure *string `locationName:"directoryStructure" type:"string" enum:"HlsDirectoryStructure"`
8022
8023	// DRM settings.
8024	Encryption *HlsEncryptionSettings `locationName:"encryption" type:"structure"`
8025
8026	// When set to GZIP, compresses HLS playlist.
8027	ManifestCompression *string `locationName:"manifestCompression" type:"string" enum:"HlsManifestCompression"`
8028
8029	// Indicates whether the output manifest should use floating point values for
8030	// segment duration.
8031	ManifestDurationFormat *string `locationName:"manifestDurationFormat" type:"string" enum:"HlsManifestDurationFormat"`
8032
8033	// Keep this setting at the default value of 0, unless you are troubleshooting
8034	// a problem with how devices play back the end of your video asset. If you
8035	// know that player devices are hanging on the final segment of your video because
8036	// the length of your final segment is too short, use this setting to specify
8037	// a minimum final segment length, in seconds. Choose a value that is greater
8038	// than or equal to 1 and less than your segment length. When you specify a
8039	// value for this setting, the encoder will combine any final segment that is
8040	// shorter than the length that you specify with the previous segment. For example,
8041	// your segment length is 3 seconds and your final segment is .5 seconds without
8042	// a minimum final segment length; when you set the minimum final segment length
8043	// to 1, your final segment is 3.5 seconds.
8044	MinFinalSegmentLength *float64 `locationName:"minFinalSegmentLength" type:"double"`
8045
8046	// When set, Minimum Segment Size is enforced by looking ahead and back within
8047	// the specified range for a nearby avail and extending the segment size if
8048	// needed.
8049	//
8050	// MinSegmentLength is a required field
8051	MinSegmentLength *int64 `locationName:"minSegmentLength" type:"integer" required:"true"`
8052
8053	// Indicates whether the .m3u8 manifest file should be generated for this HLS
8054	// output group.
8055	OutputSelection *string `locationName:"outputSelection" type:"string" enum:"HlsOutputSelection"`
8056
8057	// Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files.
8058	// The value is calculated as follows: either the program date and time are
8059	// initialized using the input timecode source, or the time is initialized using
8060	// the input timecode source and the date is initialized using the timestamp_offset.
8061	ProgramDateTime *string `locationName:"programDateTime" type:"string" enum:"HlsProgramDateTime"`
8062
8063	// Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds.
8064	ProgramDateTimePeriod *int64 `locationName:"programDateTimePeriod" type:"integer"`
8065
8066	// When set to SINGLE_FILE, emits program as a single media resource (.ts) file,
8067	// uses #EXT-X-BYTERANGE tags to index segment for playback.
8068	SegmentControl *string `locationName:"segmentControl" type:"string" enum:"HlsSegmentControl"`
8069
8070	// Length of MPEG-2 Transport Stream segments to create (in seconds). Note that
8071	// segments will end on the next keyframe after this number of seconds, so actual
8072	// segment length may be longer.
8073	//
8074	// SegmentLength is a required field
8075	SegmentLength *int64 `locationName:"segmentLength" min:"1" type:"integer" required:"true"`
8076
8077	// Number of segments to write to a subdirectory before starting a new one.
8078	// directoryStructure must be SINGLE_DIRECTORY for this setting to have an effect.
8079	SegmentsPerSubdirectory *int64 `locationName:"segmentsPerSubdirectory" min:"1" type:"integer"`
8080
8081	// Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag
8082	// of variant manifest.
8083	StreamInfResolution *string `locationName:"streamInfResolution" type:"string" enum:"HlsStreamInfResolution"`
8084
8085	// Indicates ID3 frame that has the timecode.
8086	TimedMetadataId3Frame *string `locationName:"timedMetadataId3Frame" type:"string" enum:"HlsTimedMetadataId3Frame"`
8087
8088	// Timed Metadata interval in seconds.
8089	TimedMetadataId3Period *int64 `locationName:"timedMetadataId3Period" type:"integer"`
8090
8091	// Provides an extra millisecond delta offset to fine tune the timestamps.
8092	TimestampDeltaMilliseconds *int64 `locationName:"timestampDeltaMilliseconds" type:"integer"`
8093}
8094
8095// String returns the string representation
8096func (s HlsGroupSettings) String() string {
8097	return awsutil.Prettify(s)
8098}
8099
8100// GoString returns the string representation
8101func (s HlsGroupSettings) GoString() string {
8102	return s.String()
8103}
8104
8105// Validate inspects the fields of the type to determine if they are valid.
8106func (s *HlsGroupSettings) Validate() error {
8107	invalidParams := request.ErrInvalidParams{Context: "HlsGroupSettings"}
8108	if s.MinSegmentLength == nil {
8109		invalidParams.Add(request.NewErrParamRequired("MinSegmentLength"))
8110	}
8111	if s.SegmentLength == nil {
8112		invalidParams.Add(request.NewErrParamRequired("SegmentLength"))
8113	}
8114	if s.SegmentLength != nil && *s.SegmentLength < 1 {
8115		invalidParams.Add(request.NewErrParamMinValue("SegmentLength", 1))
8116	}
8117	if s.SegmentsPerSubdirectory != nil && *s.SegmentsPerSubdirectory < 1 {
8118		invalidParams.Add(request.NewErrParamMinValue("SegmentsPerSubdirectory", 1))
8119	}
8120	if s.TimedMetadataId3Period != nil && *s.TimedMetadataId3Period < -2.147483648e+09 {
8121		invalidParams.Add(request.NewErrParamMinValue("TimedMetadataId3Period", -2.147483648e+09))
8122	}
8123	if s.TimestampDeltaMilliseconds != nil && *s.TimestampDeltaMilliseconds < -2.147483648e+09 {
8124		invalidParams.Add(request.NewErrParamMinValue("TimestampDeltaMilliseconds", -2.147483648e+09))
8125	}
8126	if s.CaptionLanguageMappings != nil {
8127		for i, v := range s.CaptionLanguageMappings {
8128			if v == nil {
8129				continue
8130			}
8131			if err := v.Validate(); err != nil {
8132				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionLanguageMappings", i), err.(request.ErrInvalidParams))
8133			}
8134		}
8135	}
8136	if s.Encryption != nil {
8137		if err := s.Encryption.Validate(); err != nil {
8138			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
8139		}
8140	}
8141
8142	if invalidParams.Len() > 0 {
8143		return invalidParams
8144	}
8145	return nil
8146}
8147
8148// SetAdMarkers sets the AdMarkers field's value.
8149func (s *HlsGroupSettings) SetAdMarkers(v []*string) *HlsGroupSettings {
8150	s.AdMarkers = v
8151	return s
8152}
8153
8154// SetBaseUrl sets the BaseUrl field's value.
8155func (s *HlsGroupSettings) SetBaseUrl(v string) *HlsGroupSettings {
8156	s.BaseUrl = &v
8157	return s
8158}
8159
8160// SetCaptionLanguageMappings sets the CaptionLanguageMappings field's value.
8161func (s *HlsGroupSettings) SetCaptionLanguageMappings(v []*HlsCaptionLanguageMapping) *HlsGroupSettings {
8162	s.CaptionLanguageMappings = v
8163	return s
8164}
8165
8166// SetCaptionLanguageSetting sets the CaptionLanguageSetting field's value.
8167func (s *HlsGroupSettings) SetCaptionLanguageSetting(v string) *HlsGroupSettings {
8168	s.CaptionLanguageSetting = &v
8169	return s
8170}
8171
8172// SetClientCache sets the ClientCache field's value.
8173func (s *HlsGroupSettings) SetClientCache(v string) *HlsGroupSettings {
8174	s.ClientCache = &v
8175	return s
8176}
8177
8178// SetCodecSpecification sets the CodecSpecification field's value.
8179func (s *HlsGroupSettings) SetCodecSpecification(v string) *HlsGroupSettings {
8180	s.CodecSpecification = &v
8181	return s
8182}
8183
8184// SetDestination sets the Destination field's value.
8185func (s *HlsGroupSettings) SetDestination(v string) *HlsGroupSettings {
8186	s.Destination = &v
8187	return s
8188}
8189
8190// SetDirectoryStructure sets the DirectoryStructure field's value.
8191func (s *HlsGroupSettings) SetDirectoryStructure(v string) *HlsGroupSettings {
8192	s.DirectoryStructure = &v
8193	return s
8194}
8195
8196// SetEncryption sets the Encryption field's value.
8197func (s *HlsGroupSettings) SetEncryption(v *HlsEncryptionSettings) *HlsGroupSettings {
8198	s.Encryption = v
8199	return s
8200}
8201
8202// SetManifestCompression sets the ManifestCompression field's value.
8203func (s *HlsGroupSettings) SetManifestCompression(v string) *HlsGroupSettings {
8204	s.ManifestCompression = &v
8205	return s
8206}
8207
8208// SetManifestDurationFormat sets the ManifestDurationFormat field's value.
8209func (s *HlsGroupSettings) SetManifestDurationFormat(v string) *HlsGroupSettings {
8210	s.ManifestDurationFormat = &v
8211	return s
8212}
8213
8214// SetMinFinalSegmentLength sets the MinFinalSegmentLength field's value.
8215func (s *HlsGroupSettings) SetMinFinalSegmentLength(v float64) *HlsGroupSettings {
8216	s.MinFinalSegmentLength = &v
8217	return s
8218}
8219
8220// SetMinSegmentLength sets the MinSegmentLength field's value.
8221func (s *HlsGroupSettings) SetMinSegmentLength(v int64) *HlsGroupSettings {
8222	s.MinSegmentLength = &v
8223	return s
8224}
8225
8226// SetOutputSelection sets the OutputSelection field's value.
8227func (s *HlsGroupSettings) SetOutputSelection(v string) *HlsGroupSettings {
8228	s.OutputSelection = &v
8229	return s
8230}
8231
8232// SetProgramDateTime sets the ProgramDateTime field's value.
8233func (s *HlsGroupSettings) SetProgramDateTime(v string) *HlsGroupSettings {
8234	s.ProgramDateTime = &v
8235	return s
8236}
8237
8238// SetProgramDateTimePeriod sets the ProgramDateTimePeriod field's value.
8239func (s *HlsGroupSettings) SetProgramDateTimePeriod(v int64) *HlsGroupSettings {
8240	s.ProgramDateTimePeriod = &v
8241	return s
8242}
8243
8244// SetSegmentControl sets the SegmentControl field's value.
8245func (s *HlsGroupSettings) SetSegmentControl(v string) *HlsGroupSettings {
8246	s.SegmentControl = &v
8247	return s
8248}
8249
8250// SetSegmentLength sets the SegmentLength field's value.
8251func (s *HlsGroupSettings) SetSegmentLength(v int64) *HlsGroupSettings {
8252	s.SegmentLength = &v
8253	return s
8254}
8255
8256// SetSegmentsPerSubdirectory sets the SegmentsPerSubdirectory field's value.
8257func (s *HlsGroupSettings) SetSegmentsPerSubdirectory(v int64) *HlsGroupSettings {
8258	s.SegmentsPerSubdirectory = &v
8259	return s
8260}
8261
8262// SetStreamInfResolution sets the StreamInfResolution field's value.
8263func (s *HlsGroupSettings) SetStreamInfResolution(v string) *HlsGroupSettings {
8264	s.StreamInfResolution = &v
8265	return s
8266}
8267
8268// SetTimedMetadataId3Frame sets the TimedMetadataId3Frame field's value.
8269func (s *HlsGroupSettings) SetTimedMetadataId3Frame(v string) *HlsGroupSettings {
8270	s.TimedMetadataId3Frame = &v
8271	return s
8272}
8273
8274// SetTimedMetadataId3Period sets the TimedMetadataId3Period field's value.
8275func (s *HlsGroupSettings) SetTimedMetadataId3Period(v int64) *HlsGroupSettings {
8276	s.TimedMetadataId3Period = &v
8277	return s
8278}
8279
8280// SetTimestampDeltaMilliseconds sets the TimestampDeltaMilliseconds field's value.
8281func (s *HlsGroupSettings) SetTimestampDeltaMilliseconds(v int64) *HlsGroupSettings {
8282	s.TimestampDeltaMilliseconds = &v
8283	return s
8284}
8285
8286// Settings for HLS output groups
8287type HlsSettings struct {
8288	_ struct{} `type:"structure"`
8289
8290	// Specifies the group to which the audio Rendition belongs.
8291	AudioGroupId *string `locationName:"audioGroupId" type:"string"`
8292
8293	// List all the audio groups that are used with the video output stream. Input
8294	// all the audio GROUP-IDs that are associated to the video, separate by ','.
8295	AudioRenditionSets *string `locationName:"audioRenditionSets" type:"string"`
8296
8297	// Four types of audio-only tracks are supported: Audio-Only Variant Stream
8298	// The client can play back this audio-only stream instead of video in low-bandwidth
8299	// scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest. Alternate
8300	// Audio, Auto Select, Default Alternate rendition that the client should try
8301	// to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest
8302	// with DEFAULT=YES, AUTOSELECT=YES Alternate Audio, Auto Select, Not Default
8303	// Alternate rendition that the client may try to play back by default. Represented
8304	// as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES Alternate
8305	// Audio, not Auto Select Alternate rendition that the client will not try to
8306	// play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with
8307	// DEFAULT=NO, AUTOSELECT=NO
8308	AudioTrackType *string `locationName:"audioTrackType" type:"string" enum:"HlsAudioTrackType"`
8309
8310	// When set to INCLUDE, writes I-Frame Only Manifest in addition to the HLS
8311	// manifest
8312	IFrameOnlyManifest *string `locationName:"iFrameOnlyManifest" type:"string" enum:"HlsIFrameOnlyManifest"`
8313
8314	// String concatenated to end of segment filenames. Accepts "Format Identifiers":#format_identifier_parameters.
8315	SegmentModifier *string `locationName:"segmentModifier" type:"string"`
8316}
8317
8318// String returns the string representation
8319func (s HlsSettings) String() string {
8320	return awsutil.Prettify(s)
8321}
8322
8323// GoString returns the string representation
8324func (s HlsSettings) GoString() string {
8325	return s.String()
8326}
8327
8328// SetAudioGroupId sets the AudioGroupId field's value.
8329func (s *HlsSettings) SetAudioGroupId(v string) *HlsSettings {
8330	s.AudioGroupId = &v
8331	return s
8332}
8333
8334// SetAudioRenditionSets sets the AudioRenditionSets field's value.
8335func (s *HlsSettings) SetAudioRenditionSets(v string) *HlsSettings {
8336	s.AudioRenditionSets = &v
8337	return s
8338}
8339
8340// SetAudioTrackType sets the AudioTrackType field's value.
8341func (s *HlsSettings) SetAudioTrackType(v string) *HlsSettings {
8342	s.AudioTrackType = &v
8343	return s
8344}
8345
8346// SetIFrameOnlyManifest sets the IFrameOnlyManifest field's value.
8347func (s *HlsSettings) SetIFrameOnlyManifest(v string) *HlsSettings {
8348	s.IFrameOnlyManifest = &v
8349	return s
8350}
8351
8352// SetSegmentModifier sets the SegmentModifier field's value.
8353func (s *HlsSettings) SetSegmentModifier(v string) *HlsSettings {
8354	s.SegmentModifier = &v
8355	return s
8356}
8357
8358// To insert ID3 tags in your output, specify two values. Use ID3 tag (Id3)
8359// to specify the base 64 encoded string and use Timecode (TimeCode) to specify
8360// the time when the tag should be inserted. To insert multiple ID3 tags in
8361// your output, create multiple instances of ID3 insertion (Id3Insertion).
8362type Id3Insertion struct {
8363	_ struct{} `type:"structure"`
8364
8365	// Use ID3 tag (Id3) to provide a tag value in base64-encode format.
8366	//
8367	// Id3 is a required field
8368	Id3 *string `locationName:"id3" type:"string" required:"true"`
8369
8370	// Provide a Timecode (TimeCode) in HH:MM:SS:FF or HH:MM:SS;FF format.
8371	//
8372	// Timecode is a required field
8373	Timecode *string `locationName:"timecode" type:"string" required:"true"`
8374}
8375
8376// String returns the string representation
8377func (s Id3Insertion) String() string {
8378	return awsutil.Prettify(s)
8379}
8380
8381// GoString returns the string representation
8382func (s Id3Insertion) GoString() string {
8383	return s.String()
8384}
8385
8386// Validate inspects the fields of the type to determine if they are valid.
8387func (s *Id3Insertion) Validate() error {
8388	invalidParams := request.ErrInvalidParams{Context: "Id3Insertion"}
8389	if s.Id3 == nil {
8390		invalidParams.Add(request.NewErrParamRequired("Id3"))
8391	}
8392	if s.Timecode == nil {
8393		invalidParams.Add(request.NewErrParamRequired("Timecode"))
8394	}
8395
8396	if invalidParams.Len() > 0 {
8397		return invalidParams
8398	}
8399	return nil
8400}
8401
8402// SetId3 sets the Id3 field's value.
8403func (s *Id3Insertion) SetId3(v string) *Id3Insertion {
8404	s.Id3 = &v
8405	return s
8406}
8407
8408// SetTimecode sets the Timecode field's value.
8409func (s *Id3Insertion) SetTimecode(v string) *Id3Insertion {
8410	s.Timecode = &v
8411	return s
8412}
8413
8414// Enable the Image inserter (ImageInserter) feature to include a graphic overlay
8415// on your video. Enable or disable this feature for each output individually.
8416// This setting is disabled by default.
8417type ImageInserter struct {
8418	_ struct{} `type:"structure"`
8419
8420	// Image to insert. Must be 32 bit windows BMP, PNG, or TGA file. Must not be
8421	// larger than the output frames.
8422	//
8423	// InsertableImages is a required field
8424	InsertableImages []*InsertableImage `locationName:"insertableImages" type:"list" required:"true"`
8425}
8426
8427// String returns the string representation
8428func (s ImageInserter) String() string {
8429	return awsutil.Prettify(s)
8430}
8431
8432// GoString returns the string representation
8433func (s ImageInserter) GoString() string {
8434	return s.String()
8435}
8436
8437// Validate inspects the fields of the type to determine if they are valid.
8438func (s *ImageInserter) Validate() error {
8439	invalidParams := request.ErrInvalidParams{Context: "ImageInserter"}
8440	if s.InsertableImages == nil {
8441		invalidParams.Add(request.NewErrParamRequired("InsertableImages"))
8442	}
8443	if s.InsertableImages != nil {
8444		for i, v := range s.InsertableImages {
8445			if v == nil {
8446				continue
8447			}
8448			if err := v.Validate(); err != nil {
8449				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InsertableImages", i), err.(request.ErrInvalidParams))
8450			}
8451		}
8452	}
8453
8454	if invalidParams.Len() > 0 {
8455		return invalidParams
8456	}
8457	return nil
8458}
8459
8460// SetInsertableImages sets the InsertableImages field's value.
8461func (s *ImageInserter) SetInsertableImages(v []*InsertableImage) *ImageInserter {
8462	s.InsertableImages = v
8463	return s
8464}
8465
8466// Specifies media input
8467type Input struct {
8468	_ struct{} `type:"structure"`
8469
8470	// Specifies set of audio selectors within an input to combine. An input may
8471	// have multiple audio selector groups. See "Audio Selector Group":#inputs-audio_selector_group
8472	// for more information.
8473	AudioSelectorGroups map[string]*AudioSelectorGroup `locationName:"audioSelectorGroups" type:"map"`
8474
8475	// Use Audio selectors (AudioSelectors) to specify a track or set of tracks
8476	// from the input that you will use in your outputs. You can use mutiple Audio
8477	// selectors per input.
8478	AudioSelectors map[string]*AudioSelector `locationName:"audioSelectors" type:"map"`
8479
8480	// Use Captions selectors (CaptionSelectors) to specify the captions data from
8481	// the input that you will use in your outputs. You can use mutiple captions
8482	// selectors per input.
8483	CaptionSelectors map[string]*CaptionSelector `locationName:"captionSelectors" type:"map"`
8484
8485	// Enable Deblock (InputDeblockFilter) to produce smoother motion in the output.
8486	// Default is disabled. Only manaully controllable for MPEG2 and uncompressed
8487	// video inputs.
8488	DeblockFilter *string `locationName:"deblockFilter" type:"string" enum:"InputDeblockFilter"`
8489
8490	// Enable Denoise (InputDenoiseFilter) to filter noise from the input. Default
8491	// is disabled. Only applicable to MPEG2, H.264, H.265, and uncompressed video
8492	// inputs.
8493	DenoiseFilter *string `locationName:"denoiseFilter" type:"string" enum:"InputDenoiseFilter"`
8494
8495	// Use Input (fileInput) to define the source file used in the transcode job.
8496	// There can be multiple inputs in a job. These inputs are concantenated, in
8497	// the order they are specified in the job, to create the output.
8498	//
8499	// FileInput is a required field
8500	FileInput *string `locationName:"fileInput" type:"string" required:"true"`
8501
8502	// Use Filter enable (InputFilterEnable) to specify how the transcoding service
8503	// applies the denoise and deblock filters. You must also enable the filters
8504	// separately, with Denoise (InputDenoiseFilter) and Deblock (InputDeblockFilter).
8505	// * Auto - The transcoding service determines whether to apply filtering, depending
8506	// on input type and quality. * Disable - The input is not filtered. This is
8507	// true even if you use the API to enable them in (InputDeblockFilter) and (InputDeblockFilter).
8508	// * Force - The in put is filtered regardless of input type.
8509	FilterEnable *string `locationName:"filterEnable" type:"string" enum:"InputFilterEnable"`
8510
8511	// Use Filter strength (FilterStrength) to adjust the magnitude the input filter
8512	// settings (Deblock and Denoise). The range is -5 to 5. Default is 0.
8513	FilterStrength *int64 `locationName:"filterStrength" type:"integer"`
8514
8515	// (InputClippings) contains sets of start and end times that together specify
8516	// a portion of the input to be used in the outputs. If you provide only a start
8517	// time, the clip will be the entire input from that point to the end. If you
8518	// provide only an end time, it will be the entire input up to that point. When
8519	// you specify more than one input clip, the transcoding service creates the
8520	// job outputs by stringing the clips together in the order you specify them.
8521	InputClippings []*InputClipping `locationName:"inputClippings" type:"list"`
8522
8523	// Use Program (programNumber) to select a specific program from within a multi-program
8524	// transport stream. Note that Quad 4K is not currently supported. Default is
8525	// the first program within the transport stream. If the program you specify
8526	// doesn't exist, the transcoding service will use this default.
8527	ProgramNumber *int64 `locationName:"programNumber" min:"1" type:"integer"`
8528
8529	// Set PSI control (InputPsiControl) for transport stream inputs to specify
8530	// which data the demux process to scans. * Ignore PSI - Scan all PIDs for audio
8531	// and video. * Use PSI - Scan only PSI data.
8532	PsiControl *string `locationName:"psiControl" type:"string" enum:"InputPsiControl"`
8533
8534	// Timecode source under input settings (InputTimecodeSource) only affects the
8535	// behavior of features that apply to a single input at a time, such as input
8536	// clipping and synchronizing some captions formats. Use this setting to specify
8537	// whether the service counts frames by timecodes embedded in the video (EMBEDDED)
8538	// or by starting the first frame at zero (ZEROBASED). In both cases, the timecode
8539	// format is HH:MM:SS:FF or HH:MM:SS;FF, where FF is the frame number. Only
8540	// set this to EMBEDDED if your source video has embedded timecodes.
8541	TimecodeSource *string `locationName:"timecodeSource" type:"string" enum:"InputTimecodeSource"`
8542
8543	// Selector for video.
8544	VideoSelector *VideoSelector `locationName:"videoSelector" type:"structure"`
8545}
8546
8547// String returns the string representation
8548func (s Input) String() string {
8549	return awsutil.Prettify(s)
8550}
8551
8552// GoString returns the string representation
8553func (s Input) GoString() string {
8554	return s.String()
8555}
8556
8557// Validate inspects the fields of the type to determine if they are valid.
8558func (s *Input) Validate() error {
8559	invalidParams := request.ErrInvalidParams{Context: "Input"}
8560	if s.FileInput == nil {
8561		invalidParams.Add(request.NewErrParamRequired("FileInput"))
8562	}
8563	if s.FilterStrength != nil && *s.FilterStrength < -5 {
8564		invalidParams.Add(request.NewErrParamMinValue("FilterStrength", -5))
8565	}
8566	if s.ProgramNumber != nil && *s.ProgramNumber < 1 {
8567		invalidParams.Add(request.NewErrParamMinValue("ProgramNumber", 1))
8568	}
8569	if s.AudioSelectorGroups != nil {
8570		for i, v := range s.AudioSelectorGroups {
8571			if v == nil {
8572				continue
8573			}
8574			if err := v.Validate(); err != nil {
8575				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioSelectorGroups", i), err.(request.ErrInvalidParams))
8576			}
8577		}
8578	}
8579	if s.AudioSelectors != nil {
8580		for i, v := range s.AudioSelectors {
8581			if v == nil {
8582				continue
8583			}
8584			if err := v.Validate(); err != nil {
8585				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioSelectors", i), err.(request.ErrInvalidParams))
8586			}
8587		}
8588	}
8589	if s.CaptionSelectors != nil {
8590		for i, v := range s.CaptionSelectors {
8591			if v == nil {
8592				continue
8593			}
8594			if err := v.Validate(); err != nil {
8595				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionSelectors", i), err.(request.ErrInvalidParams))
8596			}
8597		}
8598	}
8599	if s.VideoSelector != nil {
8600		if err := s.VideoSelector.Validate(); err != nil {
8601			invalidParams.AddNested("VideoSelector", err.(request.ErrInvalidParams))
8602		}
8603	}
8604
8605	if invalidParams.Len() > 0 {
8606		return invalidParams
8607	}
8608	return nil
8609}
8610
8611// SetAudioSelectorGroups sets the AudioSelectorGroups field's value.
8612func (s *Input) SetAudioSelectorGroups(v map[string]*AudioSelectorGroup) *Input {
8613	s.AudioSelectorGroups = v
8614	return s
8615}
8616
8617// SetAudioSelectors sets the AudioSelectors field's value.
8618func (s *Input) SetAudioSelectors(v map[string]*AudioSelector) *Input {
8619	s.AudioSelectors = v
8620	return s
8621}
8622
8623// SetCaptionSelectors sets the CaptionSelectors field's value.
8624func (s *Input) SetCaptionSelectors(v map[string]*CaptionSelector) *Input {
8625	s.CaptionSelectors = v
8626	return s
8627}
8628
8629// SetDeblockFilter sets the DeblockFilter field's value.
8630func (s *Input) SetDeblockFilter(v string) *Input {
8631	s.DeblockFilter = &v
8632	return s
8633}
8634
8635// SetDenoiseFilter sets the DenoiseFilter field's value.
8636func (s *Input) SetDenoiseFilter(v string) *Input {
8637	s.DenoiseFilter = &v
8638	return s
8639}
8640
8641// SetFileInput sets the FileInput field's value.
8642func (s *Input) SetFileInput(v string) *Input {
8643	s.FileInput = &v
8644	return s
8645}
8646
8647// SetFilterEnable sets the FilterEnable field's value.
8648func (s *Input) SetFilterEnable(v string) *Input {
8649	s.FilterEnable = &v
8650	return s
8651}
8652
8653// SetFilterStrength sets the FilterStrength field's value.
8654func (s *Input) SetFilterStrength(v int64) *Input {
8655	s.FilterStrength = &v
8656	return s
8657}
8658
8659// SetInputClippings sets the InputClippings field's value.
8660func (s *Input) SetInputClippings(v []*InputClipping) *Input {
8661	s.InputClippings = v
8662	return s
8663}
8664
8665// SetProgramNumber sets the ProgramNumber field's value.
8666func (s *Input) SetProgramNumber(v int64) *Input {
8667	s.ProgramNumber = &v
8668	return s
8669}
8670
8671// SetPsiControl sets the PsiControl field's value.
8672func (s *Input) SetPsiControl(v string) *Input {
8673	s.PsiControl = &v
8674	return s
8675}
8676
8677// SetTimecodeSource sets the TimecodeSource field's value.
8678func (s *Input) SetTimecodeSource(v string) *Input {
8679	s.TimecodeSource = &v
8680	return s
8681}
8682
8683// SetVideoSelector sets the VideoSelector field's value.
8684func (s *Input) SetVideoSelector(v *VideoSelector) *Input {
8685	s.VideoSelector = v
8686	return s
8687}
8688
8689// To transcode only portions of your input (clips), include one Input clipping
8690// (one instance of InputClipping in the JSON job file) for each input clip.
8691// All input clips you specify will be included in every output of the job.
8692type InputClipping struct {
8693	_ struct{} `type:"structure"`
8694
8695	// Set End timecode (EndTimecode) to the end of the portion of the input you
8696	// are clipping. The frame corresponding to the End timecode value is included
8697	// in the clip. Start timecode or End timecode may be left blank, but not both.
8698	// Use the format HH:MM:SS:FF or HH:MM:SS;FF, where HH is the hour, MM is the
8699	// minute, SS is the second, and FF is the frame number. When choosing this
8700	// value, take into account your setting for timecode source under input settings
8701	// (InputTimecodeSource). For example, if you have embedded timecodes that start
8702	// at 01:00:00:00 and you want your clip to end six minutes into the video,
8703	// use 01:06:00:00.
8704	EndTimecode *string `locationName:"endTimecode" type:"string"`
8705
8706	// Set Start timecode (StartTimecode) to the beginning of the portion of the
8707	// input you are clipping. The frame corresponding to the Start timecode value
8708	// is included in the clip. Start timecode or End timecode may be left blank,
8709	// but not both. Use the format HH:MM:SS:FF or HH:MM:SS;FF, where HH is the
8710	// hour, MM is the minute, SS is the second, and FF is the frame number. When
8711	// choosing this value, take into account your setting for Input timecode source.
8712	// For example, if you have embedded timecodes that start at 01:00:00:00 and
8713	// you want your clip to begin five minutes into the video, use 01:05:00:00.
8714	StartTimecode *string `locationName:"startTimecode" type:"string"`
8715}
8716
8717// String returns the string representation
8718func (s InputClipping) String() string {
8719	return awsutil.Prettify(s)
8720}
8721
8722// GoString returns the string representation
8723func (s InputClipping) GoString() string {
8724	return s.String()
8725}
8726
8727// SetEndTimecode sets the EndTimecode field's value.
8728func (s *InputClipping) SetEndTimecode(v string) *InputClipping {
8729	s.EndTimecode = &v
8730	return s
8731}
8732
8733// SetStartTimecode sets the StartTimecode field's value.
8734func (s *InputClipping) SetStartTimecode(v string) *InputClipping {
8735	s.StartTimecode = &v
8736	return s
8737}
8738
8739// Specified video input in a template.
8740type InputTemplate struct {
8741	_ struct{} `type:"structure"`
8742
8743	// Specifies set of audio selectors within an input to combine. An input may
8744	// have multiple audio selector groups. See "Audio Selector Group":#inputs-audio_selector_group
8745	// for more information.
8746	AudioSelectorGroups map[string]*AudioSelectorGroup `locationName:"audioSelectorGroups" type:"map"`
8747
8748	// Use Audio selectors (AudioSelectors) to specify a track or set of tracks
8749	// from the input that you will use in your outputs. You can use mutiple Audio
8750	// selectors per input.
8751	AudioSelectors map[string]*AudioSelector `locationName:"audioSelectors" type:"map"`
8752
8753	// Use Captions selectors (CaptionSelectors) to specify the captions data from
8754	// the input that you will use in your outputs. You can use mutiple captions
8755	// selectors per input.
8756	CaptionSelectors map[string]*CaptionSelector `locationName:"captionSelectors" type:"map"`
8757
8758	// Enable Deblock (InputDeblockFilter) to produce smoother motion in the output.
8759	// Default is disabled. Only manaully controllable for MPEG2 and uncompressed
8760	// video inputs.
8761	DeblockFilter *string `locationName:"deblockFilter" type:"string" enum:"InputDeblockFilter"`
8762
8763	// Enable Denoise (InputDenoiseFilter) to filter noise from the input. Default
8764	// is disabled. Only applicable to MPEG2, H.264, H.265, and uncompressed video
8765	// inputs.
8766	DenoiseFilter *string `locationName:"denoiseFilter" type:"string" enum:"InputDenoiseFilter"`
8767
8768	// Use Filter enable (InputFilterEnable) to specify how the transcoding service
8769	// applies the denoise and deblock filters. You must also enable the filters
8770	// separately, with Denoise (InputDenoiseFilter) and Deblock (InputDeblockFilter).
8771	// * Auto - The transcoding service determines whether to apply filtering, depending
8772	// on input type and quality. * Disable - The input is not filtered. This is
8773	// true even if you use the API to enable them in (InputDeblockFilter) and (InputDeblockFilter).
8774	// * Force - The in put is filtered regardless of input type.
8775	FilterEnable *string `locationName:"filterEnable" type:"string" enum:"InputFilterEnable"`
8776
8777	// Use Filter strength (FilterStrength) to adjust the magnitude the input filter
8778	// settings (Deblock and Denoise). The range is -5 to 5. Default is 0.
8779	FilterStrength *int64 `locationName:"filterStrength" type:"integer"`
8780
8781	// (InputClippings) contains sets of start and end times that together specify
8782	// a portion of the input to be used in the outputs. If you provide only a start
8783	// time, the clip will be the entire input from that point to the end. If you
8784	// provide only an end time, it will be the entire input up to that point. When
8785	// you specify more than one input clip, the transcoding service creates the
8786	// job outputs by stringing the clips together in the order you specify them.
8787	InputClippings []*InputClipping `locationName:"inputClippings" type:"list"`
8788
8789	// Use Program (programNumber) to select a specific program from within a multi-program
8790	// transport stream. Note that Quad 4K is not currently supported. Default is
8791	// the first program within the transport stream. If the program you specify
8792	// doesn't exist, the transcoding service will use this default.
8793	ProgramNumber *int64 `locationName:"programNumber" min:"1" type:"integer"`
8794
8795	// Set PSI control (InputPsiControl) for transport stream inputs to specify
8796	// which data the demux process to scans. * Ignore PSI - Scan all PIDs for audio
8797	// and video. * Use PSI - Scan only PSI data.
8798	PsiControl *string `locationName:"psiControl" type:"string" enum:"InputPsiControl"`
8799
8800	// Timecode source under input settings (InputTimecodeSource) only affects the
8801	// behavior of features that apply to a single input at a time, such as input
8802	// clipping and synchronizing some captions formats. Use this setting to specify
8803	// whether the service counts frames by timecodes embedded in the video (EMBEDDED)
8804	// or by starting the first frame at zero (ZEROBASED). In both cases, the timecode
8805	// format is HH:MM:SS:FF or HH:MM:SS;FF, where FF is the frame number. Only
8806	// set this to EMBEDDED if your source video has embedded timecodes.
8807	TimecodeSource *string `locationName:"timecodeSource" type:"string" enum:"InputTimecodeSource"`
8808
8809	// Selector for video.
8810	VideoSelector *VideoSelector `locationName:"videoSelector" type:"structure"`
8811}
8812
8813// String returns the string representation
8814func (s InputTemplate) String() string {
8815	return awsutil.Prettify(s)
8816}
8817
8818// GoString returns the string representation
8819func (s InputTemplate) GoString() string {
8820	return s.String()
8821}
8822
8823// Validate inspects the fields of the type to determine if they are valid.
8824func (s *InputTemplate) Validate() error {
8825	invalidParams := request.ErrInvalidParams{Context: "InputTemplate"}
8826	if s.FilterStrength != nil && *s.FilterStrength < -5 {
8827		invalidParams.Add(request.NewErrParamMinValue("FilterStrength", -5))
8828	}
8829	if s.ProgramNumber != nil && *s.ProgramNumber < 1 {
8830		invalidParams.Add(request.NewErrParamMinValue("ProgramNumber", 1))
8831	}
8832	if s.AudioSelectorGroups != nil {
8833		for i, v := range s.AudioSelectorGroups {
8834			if v == nil {
8835				continue
8836			}
8837			if err := v.Validate(); err != nil {
8838				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioSelectorGroups", i), err.(request.ErrInvalidParams))
8839			}
8840		}
8841	}
8842	if s.AudioSelectors != nil {
8843		for i, v := range s.AudioSelectors {
8844			if v == nil {
8845				continue
8846			}
8847			if err := v.Validate(); err != nil {
8848				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioSelectors", i), err.(request.ErrInvalidParams))
8849			}
8850		}
8851	}
8852	if s.CaptionSelectors != nil {
8853		for i, v := range s.CaptionSelectors {
8854			if v == nil {
8855				continue
8856			}
8857			if err := v.Validate(); err != nil {
8858				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionSelectors", i), err.(request.ErrInvalidParams))
8859			}
8860		}
8861	}
8862	if s.VideoSelector != nil {
8863		if err := s.VideoSelector.Validate(); err != nil {
8864			invalidParams.AddNested("VideoSelector", err.(request.ErrInvalidParams))
8865		}
8866	}
8867
8868	if invalidParams.Len() > 0 {
8869		return invalidParams
8870	}
8871	return nil
8872}
8873
8874// SetAudioSelectorGroups sets the AudioSelectorGroups field's value.
8875func (s *InputTemplate) SetAudioSelectorGroups(v map[string]*AudioSelectorGroup) *InputTemplate {
8876	s.AudioSelectorGroups = v
8877	return s
8878}
8879
8880// SetAudioSelectors sets the AudioSelectors field's value.
8881func (s *InputTemplate) SetAudioSelectors(v map[string]*AudioSelector) *InputTemplate {
8882	s.AudioSelectors = v
8883	return s
8884}
8885
8886// SetCaptionSelectors sets the CaptionSelectors field's value.
8887func (s *InputTemplate) SetCaptionSelectors(v map[string]*CaptionSelector) *InputTemplate {
8888	s.CaptionSelectors = v
8889	return s
8890}
8891
8892// SetDeblockFilter sets the DeblockFilter field's value.
8893func (s *InputTemplate) SetDeblockFilter(v string) *InputTemplate {
8894	s.DeblockFilter = &v
8895	return s
8896}
8897
8898// SetDenoiseFilter sets the DenoiseFilter field's value.
8899func (s *InputTemplate) SetDenoiseFilter(v string) *InputTemplate {
8900	s.DenoiseFilter = &v
8901	return s
8902}
8903
8904// SetFilterEnable sets the FilterEnable field's value.
8905func (s *InputTemplate) SetFilterEnable(v string) *InputTemplate {
8906	s.FilterEnable = &v
8907	return s
8908}
8909
8910// SetFilterStrength sets the FilterStrength field's value.
8911func (s *InputTemplate) SetFilterStrength(v int64) *InputTemplate {
8912	s.FilterStrength = &v
8913	return s
8914}
8915
8916// SetInputClippings sets the InputClippings field's value.
8917func (s *InputTemplate) SetInputClippings(v []*InputClipping) *InputTemplate {
8918	s.InputClippings = v
8919	return s
8920}
8921
8922// SetProgramNumber sets the ProgramNumber field's value.
8923func (s *InputTemplate) SetProgramNumber(v int64) *InputTemplate {
8924	s.ProgramNumber = &v
8925	return s
8926}
8927
8928// SetPsiControl sets the PsiControl field's value.
8929func (s *InputTemplate) SetPsiControl(v string) *InputTemplate {
8930	s.PsiControl = &v
8931	return s
8932}
8933
8934// SetTimecodeSource sets the TimecodeSource field's value.
8935func (s *InputTemplate) SetTimecodeSource(v string) *InputTemplate {
8936	s.TimecodeSource = &v
8937	return s
8938}
8939
8940// SetVideoSelector sets the VideoSelector field's value.
8941func (s *InputTemplate) SetVideoSelector(v *VideoSelector) *InputTemplate {
8942	s.VideoSelector = v
8943	return s
8944}
8945
8946// Settings for Insertable Image
8947type InsertableImage struct {
8948	_ struct{} `type:"structure"`
8949
8950	// Use Duration (Duration) to set the time, in milliseconds, for the image to
8951	// remain on the output video.
8952	Duration *int64 `locationName:"duration" type:"integer"`
8953
8954	// Use Fade in (FadeIut) to set the length, in milliseconds, of the inserted
8955	// image fade in. If you don't specify a value for Fade in, the image will appear
8956	// abruptly at the Start time.
8957	FadeIn *int64 `locationName:"fadeIn" type:"integer"`
8958
8959	// Use Fade out (FadeOut) to set the length, in milliseconds, of the inserted
8960	// image fade out. If you don't specify a value for Fade out, the image will
8961	// disappear abruptly at the end of the inserted image duration.
8962	FadeOut *int64 `locationName:"fadeOut" type:"integer"`
8963
8964	// Specify the Height (Height) of the inserted image. Use a value that is less
8965	// than or equal to the video resolution height. Leave this setting blank to
8966	// use the native height of the image.
8967	Height *int64 `locationName:"height" type:"integer"`
8968
8969	// Use Image location (imageInserterInput) to specify the Amazon S3 location
8970	// of the image to be inserted into the output. Use a 32 bit BMP, PNG, or TGA
8971	// file that fits inside the video frame.
8972	//
8973	// ImageInserterInput is a required field
8974	ImageInserterInput *string `locationName:"imageInserterInput" min:"14" type:"string" required:"true"`
8975
8976	// Use Left (ImageX) to set the distance, in pixels, between the inserted image
8977	// and the left edge of the frame. Required for BMP, PNG and TGA input.
8978	//
8979	// ImageX is a required field
8980	ImageX *int64 `locationName:"imageX" type:"integer" required:"true"`
8981
8982	// Use Top (ImageY) to set the distance, in pixels, between the inserted image
8983	// and the top edge of the video frame. Required for BMP, PNG and TGA input.
8984	//
8985	// ImageY is a required field
8986	ImageY *int64 `locationName:"imageY" type:"integer" required:"true"`
8987
8988	// Use Layer (Layer) to specify how overlapping inserted images appear. Images
8989	// with higher values of layer appear on top of images with lower values of
8990	// layer.
8991	//
8992	// Layer is a required field
8993	Layer *int64 `locationName:"layer" type:"integer" required:"true"`
8994
8995	// Use Opacity (Opacity) to specify how much of the underlying video shows through
8996	// the inserted image. 0 is transparent and 100 is fully opaque. Default is
8997	// 50.
8998	//
8999	// Opacity is a required field
9000	Opacity *int64 `locationName:"opacity" type:"integer" required:"true"`
9001
9002	// Use Start time (StartTime) to specify the video timecode when the image is
9003	// inserted in the output. This must be in timecode (HH:MM:SS:FF or HH:MM:SS;FF)
9004	// format.
9005	StartTime *string `locationName:"startTime" type:"string"`
9006
9007	// Specify the Width (Width) of the inserted image. Use a value that is less
9008	// than or equal to the video resolution width. Leave this setting blank to
9009	// use the native width of the image.
9010	Width *int64 `locationName:"width" type:"integer"`
9011}
9012
9013// String returns the string representation
9014func (s InsertableImage) String() string {
9015	return awsutil.Prettify(s)
9016}
9017
9018// GoString returns the string representation
9019func (s InsertableImage) GoString() string {
9020	return s.String()
9021}
9022
9023// Validate inspects the fields of the type to determine if they are valid.
9024func (s *InsertableImage) Validate() error {
9025	invalidParams := request.ErrInvalidParams{Context: "InsertableImage"}
9026	if s.Duration != nil && *s.Duration < -2.147483648e+09 {
9027		invalidParams.Add(request.NewErrParamMinValue("Duration", -2.147483648e+09))
9028	}
9029	if s.FadeIn != nil && *s.FadeIn < -2.147483648e+09 {
9030		invalidParams.Add(request.NewErrParamMinValue("FadeIn", -2.147483648e+09))
9031	}
9032	if s.FadeOut != nil && *s.FadeOut < -2.147483648e+09 {
9033		invalidParams.Add(request.NewErrParamMinValue("FadeOut", -2.147483648e+09))
9034	}
9035	if s.Height != nil && *s.Height < -2.147483648e+09 {
9036		invalidParams.Add(request.NewErrParamMinValue("Height", -2.147483648e+09))
9037	}
9038	if s.ImageInserterInput == nil {
9039		invalidParams.Add(request.NewErrParamRequired("ImageInserterInput"))
9040	}
9041	if s.ImageInserterInput != nil && len(*s.ImageInserterInput) < 14 {
9042		invalidParams.Add(request.NewErrParamMinLen("ImageInserterInput", 14))
9043	}
9044	if s.ImageX == nil {
9045		invalidParams.Add(request.NewErrParamRequired("ImageX"))
9046	}
9047	if s.ImageX != nil && *s.ImageX < -2.147483648e+09 {
9048		invalidParams.Add(request.NewErrParamMinValue("ImageX", -2.147483648e+09))
9049	}
9050	if s.ImageY == nil {
9051		invalidParams.Add(request.NewErrParamRequired("ImageY"))
9052	}
9053	if s.ImageY != nil && *s.ImageY < -2.147483648e+09 {
9054		invalidParams.Add(request.NewErrParamMinValue("ImageY", -2.147483648e+09))
9055	}
9056	if s.Layer == nil {
9057		invalidParams.Add(request.NewErrParamRequired("Layer"))
9058	}
9059	if s.Opacity == nil {
9060		invalidParams.Add(request.NewErrParamRequired("Opacity"))
9061	}
9062	if s.Width != nil && *s.Width < -2.147483648e+09 {
9063		invalidParams.Add(request.NewErrParamMinValue("Width", -2.147483648e+09))
9064	}
9065
9066	if invalidParams.Len() > 0 {
9067		return invalidParams
9068	}
9069	return nil
9070}
9071
9072// SetDuration sets the Duration field's value.
9073func (s *InsertableImage) SetDuration(v int64) *InsertableImage {
9074	s.Duration = &v
9075	return s
9076}
9077
9078// SetFadeIn sets the FadeIn field's value.
9079func (s *InsertableImage) SetFadeIn(v int64) *InsertableImage {
9080	s.FadeIn = &v
9081	return s
9082}
9083
9084// SetFadeOut sets the FadeOut field's value.
9085func (s *InsertableImage) SetFadeOut(v int64) *InsertableImage {
9086	s.FadeOut = &v
9087	return s
9088}
9089
9090// SetHeight sets the Height field's value.
9091func (s *InsertableImage) SetHeight(v int64) *InsertableImage {
9092	s.Height = &v
9093	return s
9094}
9095
9096// SetImageInserterInput sets the ImageInserterInput field's value.
9097func (s *InsertableImage) SetImageInserterInput(v string) *InsertableImage {
9098	s.ImageInserterInput = &v
9099	return s
9100}
9101
9102// SetImageX sets the ImageX field's value.
9103func (s *InsertableImage) SetImageX(v int64) *InsertableImage {
9104	s.ImageX = &v
9105	return s
9106}
9107
9108// SetImageY sets the ImageY field's value.
9109func (s *InsertableImage) SetImageY(v int64) *InsertableImage {
9110	s.ImageY = &v
9111	return s
9112}
9113
9114// SetLayer sets the Layer field's value.
9115func (s *InsertableImage) SetLayer(v int64) *InsertableImage {
9116	s.Layer = &v
9117	return s
9118}
9119
9120// SetOpacity sets the Opacity field's value.
9121func (s *InsertableImage) SetOpacity(v int64) *InsertableImage {
9122	s.Opacity = &v
9123	return s
9124}
9125
9126// SetStartTime sets the StartTime field's value.
9127func (s *InsertableImage) SetStartTime(v string) *InsertableImage {
9128	s.StartTime = &v
9129	return s
9130}
9131
9132// SetWidth sets the Width field's value.
9133func (s *InsertableImage) SetWidth(v int64) *InsertableImage {
9134	s.Width = &v
9135	return s
9136}
9137
9138// Each job converts an input file into an output file or files. For more information,
9139// see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
9140type Job struct {
9141	_ struct{} `type:"structure"`
9142
9143	// An identifier for this resource that is unique within all of AWS.
9144	Arn *string `locationName:"arn" type:"string"`
9145
9146	// The time, in Unix epoch format in seconds, when the job got created.
9147	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unixTimestamp"`
9148
9149	// Error code for the job
9150	ErrorCode *int64 `locationName:"errorCode" type:"integer"`
9151
9152	// Error message of Job
9153	ErrorMessage *string `locationName:"errorMessage" type:"string"`
9154
9155	// A portion of the job's ARN, unique within your AWS Elemental MediaConvert
9156	// resources
9157	Id *string `locationName:"id" type:"string"`
9158
9159	// The job template that the job is created from, if it is created from a job
9160	// template.
9161	JobTemplate *string `locationName:"jobTemplate" type:"string"`
9162
9163	// List of output group details
9164	OutputGroupDetails []*OutputGroupDetail `locationName:"outputGroupDetails" type:"list"`
9165
9166	// Optional. When you create a job, you can specify a queue to send it to. If
9167	// you don't specify, the job will go to the default queue. For more about queues,
9168	// see the User Guide topic at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
9169	Queue *string `locationName:"queue" type:"string"`
9170
9171	// The IAM role you use for creating this job. For details about permissions,
9172	// see the User Guide topic at the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html
9173	//
9174	// Role is a required field
9175	Role *string `locationName:"role" type:"string" required:"true"`
9176
9177	// JobSettings contains all the transcode settings for a job.
9178	//
9179	// Settings is a required field
9180	Settings *JobSettings `locationName:"settings" type:"structure" required:"true"`
9181
9182	// A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR.
9183	Status *string `locationName:"status" type:"string" enum:"JobStatus"`
9184
9185	// Information about when jobs are submitted, started, and finished is specified
9186	// in Unix epoch format in seconds.
9187	Timing *Timing `locationName:"timing" type:"structure"`
9188
9189	// User-defined metadata that you want to associate with an MediaConvert job.
9190	// You specify metadata in key/value pairs.
9191	UserMetadata map[string]*string `locationName:"userMetadata" type:"map"`
9192}
9193
9194// String returns the string representation
9195func (s Job) String() string {
9196	return awsutil.Prettify(s)
9197}
9198
9199// GoString returns the string representation
9200func (s Job) GoString() string {
9201	return s.String()
9202}
9203
9204// SetArn sets the Arn field's value.
9205func (s *Job) SetArn(v string) *Job {
9206	s.Arn = &v
9207	return s
9208}
9209
9210// SetCreatedAt sets the CreatedAt field's value.
9211func (s *Job) SetCreatedAt(v time.Time) *Job {
9212	s.CreatedAt = &v
9213	return s
9214}
9215
9216// SetErrorCode sets the ErrorCode field's value.
9217func (s *Job) SetErrorCode(v int64) *Job {
9218	s.ErrorCode = &v
9219	return s
9220}
9221
9222// SetErrorMessage sets the ErrorMessage field's value.
9223func (s *Job) SetErrorMessage(v string) *Job {
9224	s.ErrorMessage = &v
9225	return s
9226}
9227
9228// SetId sets the Id field's value.
9229func (s *Job) SetId(v string) *Job {
9230	s.Id = &v
9231	return s
9232}
9233
9234// SetJobTemplate sets the JobTemplate field's value.
9235func (s *Job) SetJobTemplate(v string) *Job {
9236	s.JobTemplate = &v
9237	return s
9238}
9239
9240// SetOutputGroupDetails sets the OutputGroupDetails field's value.
9241func (s *Job) SetOutputGroupDetails(v []*OutputGroupDetail) *Job {
9242	s.OutputGroupDetails = v
9243	return s
9244}
9245
9246// SetQueue sets the Queue field's value.
9247func (s *Job) SetQueue(v string) *Job {
9248	s.Queue = &v
9249	return s
9250}
9251
9252// SetRole sets the Role field's value.
9253func (s *Job) SetRole(v string) *Job {
9254	s.Role = &v
9255	return s
9256}
9257
9258// SetSettings sets the Settings field's value.
9259func (s *Job) SetSettings(v *JobSettings) *Job {
9260	s.Settings = v
9261	return s
9262}
9263
9264// SetStatus sets the Status field's value.
9265func (s *Job) SetStatus(v string) *Job {
9266	s.Status = &v
9267	return s
9268}
9269
9270// SetTiming sets the Timing field's value.
9271func (s *Job) SetTiming(v *Timing) *Job {
9272	s.Timing = v
9273	return s
9274}
9275
9276// SetUserMetadata sets the UserMetadata field's value.
9277func (s *Job) SetUserMetadata(v map[string]*string) *Job {
9278	s.UserMetadata = v
9279	return s
9280}
9281
9282// JobSettings contains all the transcode settings for a job.
9283type JobSettings struct {
9284	_ struct{} `type:"structure"`
9285
9286	// When specified, this offset (in milliseconds) is added to the input Ad Avail
9287	// PTS time.
9288	AdAvailOffset *int64 `locationName:"adAvailOffset" type:"integer"`
9289
9290	// Settings for ad avail blanking. Video can be blanked or overlaid with an
9291	// image, and audio muted during SCTE-35 triggered ad avails.
9292	AvailBlanking *AvailBlanking `locationName:"availBlanking" type:"structure"`
9293
9294	// Use Inputs (inputs) to define source file used in the transcode job. There
9295	// can be multiple inputs add in a job. These inputs will be concantenated together
9296	// to create the output.
9297	//
9298	// Inputs is a required field
9299	Inputs []*Input `locationName:"inputs" type:"list" required:"true"`
9300
9301	// Settings for Nielsen Configuration
9302	NielsenConfiguration *NielsenConfiguration `locationName:"nielsenConfiguration" type:"structure"`
9303
9304	// (OutputGroups) contains one group of settings for each set of outputs that
9305	// share a common package type. All unpackaged files (MPEG-4, MPEG-2 TS, Quicktime,
9306	// MXF, and no container) are grouped in a single output group as well. Required
9307	// in (OutputGroups) is a group of settings that apply to the whole group. This
9308	// required object depends on the value you set for (Type) under (OutputGroups)>(OutputGroupSettings).
9309	// Type, settings object pairs are as follows. * FILE_GROUP_SETTINGS, FileGroupSettings
9310	// * HLS_GROUP_SETTINGS, HlsGroupSettings * DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings
9311	// * MS_SMOOTH_GROUP_SETTINGS, MsSmoothGroupSettings * CMAF_GROUP_SETTINGS,
9312	// CmafGroupSettings
9313	//
9314	// OutputGroups is a required field
9315	OutputGroups []*OutputGroup `locationName:"outputGroups" type:"list" required:"true"`
9316
9317	// Contains settings used to acquire and adjust timecode information from inputs.
9318	TimecodeConfig *TimecodeConfig `locationName:"timecodeConfig" type:"structure"`
9319
9320	// Enable Timed metadata insertion (TimedMetadataInsertion) to include ID3 tags
9321	// in your job. To include timed metadata, you must enable it here, enable it
9322	// in each output container, and specify tags and timecodes in ID3 insertion
9323	// (Id3Insertion) objects.
9324	TimedMetadataInsertion *TimedMetadataInsertion `locationName:"timedMetadataInsertion" type:"structure"`
9325}
9326
9327// String returns the string representation
9328func (s JobSettings) String() string {
9329	return awsutil.Prettify(s)
9330}
9331
9332// GoString returns the string representation
9333func (s JobSettings) GoString() string {
9334	return s.String()
9335}
9336
9337// Validate inspects the fields of the type to determine if they are valid.
9338func (s *JobSettings) Validate() error {
9339	invalidParams := request.ErrInvalidParams{Context: "JobSettings"}
9340	if s.AdAvailOffset != nil && *s.AdAvailOffset < -1000 {
9341		invalidParams.Add(request.NewErrParamMinValue("AdAvailOffset", -1000))
9342	}
9343	if s.Inputs == nil {
9344		invalidParams.Add(request.NewErrParamRequired("Inputs"))
9345	}
9346	if s.OutputGroups == nil {
9347		invalidParams.Add(request.NewErrParamRequired("OutputGroups"))
9348	}
9349	if s.AvailBlanking != nil {
9350		if err := s.AvailBlanking.Validate(); err != nil {
9351			invalidParams.AddNested("AvailBlanking", err.(request.ErrInvalidParams))
9352		}
9353	}
9354	if s.Inputs != nil {
9355		for i, v := range s.Inputs {
9356			if v == nil {
9357				continue
9358			}
9359			if err := v.Validate(); err != nil {
9360				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Inputs", i), err.(request.ErrInvalidParams))
9361			}
9362		}
9363	}
9364	if s.OutputGroups != nil {
9365		for i, v := range s.OutputGroups {
9366			if v == nil {
9367				continue
9368			}
9369			if err := v.Validate(); err != nil {
9370				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputGroups", i), err.(request.ErrInvalidParams))
9371			}
9372		}
9373	}
9374	if s.TimedMetadataInsertion != nil {
9375		if err := s.TimedMetadataInsertion.Validate(); err != nil {
9376			invalidParams.AddNested("TimedMetadataInsertion", err.(request.ErrInvalidParams))
9377		}
9378	}
9379
9380	if invalidParams.Len() > 0 {
9381		return invalidParams
9382	}
9383	return nil
9384}
9385
9386// SetAdAvailOffset sets the AdAvailOffset field's value.
9387func (s *JobSettings) SetAdAvailOffset(v int64) *JobSettings {
9388	s.AdAvailOffset = &v
9389	return s
9390}
9391
9392// SetAvailBlanking sets the AvailBlanking field's value.
9393func (s *JobSettings) SetAvailBlanking(v *AvailBlanking) *JobSettings {
9394	s.AvailBlanking = v
9395	return s
9396}
9397
9398// SetInputs sets the Inputs field's value.
9399func (s *JobSettings) SetInputs(v []*Input) *JobSettings {
9400	s.Inputs = v
9401	return s
9402}
9403
9404// SetNielsenConfiguration sets the NielsenConfiguration field's value.
9405func (s *JobSettings) SetNielsenConfiguration(v *NielsenConfiguration) *JobSettings {
9406	s.NielsenConfiguration = v
9407	return s
9408}
9409
9410// SetOutputGroups sets the OutputGroups field's value.
9411func (s *JobSettings) SetOutputGroups(v []*OutputGroup) *JobSettings {
9412	s.OutputGroups = v
9413	return s
9414}
9415
9416// SetTimecodeConfig sets the TimecodeConfig field's value.
9417func (s *JobSettings) SetTimecodeConfig(v *TimecodeConfig) *JobSettings {
9418	s.TimecodeConfig = v
9419	return s
9420}
9421
9422// SetTimedMetadataInsertion sets the TimedMetadataInsertion field's value.
9423func (s *JobSettings) SetTimedMetadataInsertion(v *TimedMetadataInsertion) *JobSettings {
9424	s.TimedMetadataInsertion = v
9425	return s
9426}
9427
9428// A job template is a pre-made set of encoding instructions that you can use
9429// to quickly create a job.
9430type JobTemplate struct {
9431	_ struct{} `type:"structure"`
9432
9433	// An identifier for this resource that is unique within all of AWS.
9434	Arn *string `locationName:"arn" type:"string"`
9435
9436	// An optional category you create to organize your job templates.
9437	Category *string `locationName:"category" type:"string"`
9438
9439	// The timestamp in epoch seconds for Job template creation.
9440	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unixTimestamp"`
9441
9442	// An optional description you create for each job template.
9443	Description *string `locationName:"description" type:"string"`
9444
9445	// The timestamp in epoch seconds when the Job template was last updated.
9446	LastUpdated *time.Time `locationName:"lastUpdated" type:"timestamp" timestampFormat:"unixTimestamp"`
9447
9448	// A name you create for each job template. Each name must be unique within
9449	// your account.
9450	//
9451	// Name is a required field
9452	Name *string `locationName:"name" type:"string" required:"true"`
9453
9454	// Optional. The queue that jobs created from this template are assigned to.
9455	// If you don't specify this, jobs will go to the default queue.
9456	Queue *string `locationName:"queue" type:"string"`
9457
9458	// JobTemplateSettings contains all the transcode settings saved in the template
9459	// that will be applied to jobs created from it.
9460	//
9461	// Settings is a required field
9462	Settings *JobTemplateSettings `locationName:"settings" type:"structure" required:"true"`
9463
9464	// A job template can be of two types: system or custom. System or built-in
9465	// job templates can't be modified or deleted by the user.
9466	Type *string `locationName:"type" type:"string" enum:"Type"`
9467}
9468
9469// String returns the string representation
9470func (s JobTemplate) String() string {
9471	return awsutil.Prettify(s)
9472}
9473
9474// GoString returns the string representation
9475func (s JobTemplate) GoString() string {
9476	return s.String()
9477}
9478
9479// SetArn sets the Arn field's value.
9480func (s *JobTemplate) SetArn(v string) *JobTemplate {
9481	s.Arn = &v
9482	return s
9483}
9484
9485// SetCategory sets the Category field's value.
9486func (s *JobTemplate) SetCategory(v string) *JobTemplate {
9487	s.Category = &v
9488	return s
9489}
9490
9491// SetCreatedAt sets the CreatedAt field's value.
9492func (s *JobTemplate) SetCreatedAt(v time.Time) *JobTemplate {
9493	s.CreatedAt = &v
9494	return s
9495}
9496
9497// SetDescription sets the Description field's value.
9498func (s *JobTemplate) SetDescription(v string) *JobTemplate {
9499	s.Description = &v
9500	return s
9501}
9502
9503// SetLastUpdated sets the LastUpdated field's value.
9504func (s *JobTemplate) SetLastUpdated(v time.Time) *JobTemplate {
9505	s.LastUpdated = &v
9506	return s
9507}
9508
9509// SetName sets the Name field's value.
9510func (s *JobTemplate) SetName(v string) *JobTemplate {
9511	s.Name = &v
9512	return s
9513}
9514
9515// SetQueue sets the Queue field's value.
9516func (s *JobTemplate) SetQueue(v string) *JobTemplate {
9517	s.Queue = &v
9518	return s
9519}
9520
9521// SetSettings sets the Settings field's value.
9522func (s *JobTemplate) SetSettings(v *JobTemplateSettings) *JobTemplate {
9523	s.Settings = v
9524	return s
9525}
9526
9527// SetType sets the Type field's value.
9528func (s *JobTemplate) SetType(v string) *JobTemplate {
9529	s.Type = &v
9530	return s
9531}
9532
9533// JobTemplateSettings contains all the transcode settings saved in the template
9534// that will be applied to jobs created from it.
9535type JobTemplateSettings struct {
9536	_ struct{} `type:"structure"`
9537
9538	// When specified, this offset (in milliseconds) is added to the input Ad Avail
9539	// PTS time.
9540	AdAvailOffset *int64 `locationName:"adAvailOffset" type:"integer"`
9541
9542	// Settings for ad avail blanking. Video can be blanked or overlaid with an
9543	// image, and audio muted during SCTE-35 triggered ad avails.
9544	AvailBlanking *AvailBlanking `locationName:"availBlanking" type:"structure"`
9545
9546	// Use Inputs (inputs) to define the source file used in the transcode job.
9547	// There can only be one input in a job template. Using the API, you can include
9548	// multiple inputs when referencing a job template.
9549	Inputs []*InputTemplate `locationName:"inputs" type:"list"`
9550
9551	// Settings for Nielsen Configuration
9552	NielsenConfiguration *NielsenConfiguration `locationName:"nielsenConfiguration" type:"structure"`
9553
9554	// (OutputGroups) contains one group of settings for each set of outputs that
9555	// share a common package type. All unpackaged files (MPEG-4, MPEG-2 TS, Quicktime,
9556	// MXF, and no container) are grouped in a single output group as well. Required
9557	// in (OutputGroups) is a group of settings that apply to the whole group. This
9558	// required object depends on the value you set for (Type) under (OutputGroups)>(OutputGroupSettings).
9559	// Type, settings object pairs are as follows. * FILE_GROUP_SETTINGS, FileGroupSettings
9560	// * HLS_GROUP_SETTINGS, HlsGroupSettings * DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings
9561	// * MS_SMOOTH_GROUP_SETTINGS, MsSmoothGroupSettings * CMAF_GROUP_SETTINGS,
9562	// CmafGroupSettings
9563	//
9564	// OutputGroups is a required field
9565	OutputGroups []*OutputGroup `locationName:"outputGroups" type:"list" required:"true"`
9566
9567	// Contains settings used to acquire and adjust timecode information from inputs.
9568	TimecodeConfig *TimecodeConfig `locationName:"timecodeConfig" type:"structure"`
9569
9570	// Enable Timed metadata insertion (TimedMetadataInsertion) to include ID3 tags
9571	// in your job. To include timed metadata, you must enable it here, enable it
9572	// in each output container, and specify tags and timecodes in ID3 insertion
9573	// (Id3Insertion) objects.
9574	TimedMetadataInsertion *TimedMetadataInsertion `locationName:"timedMetadataInsertion" type:"structure"`
9575}
9576
9577// String returns the string representation
9578func (s JobTemplateSettings) String() string {
9579	return awsutil.Prettify(s)
9580}
9581
9582// GoString returns the string representation
9583func (s JobTemplateSettings) GoString() string {
9584	return s.String()
9585}
9586
9587// Validate inspects the fields of the type to determine if they are valid.
9588func (s *JobTemplateSettings) Validate() error {
9589	invalidParams := request.ErrInvalidParams{Context: "JobTemplateSettings"}
9590	if s.AdAvailOffset != nil && *s.AdAvailOffset < -1000 {
9591		invalidParams.Add(request.NewErrParamMinValue("AdAvailOffset", -1000))
9592	}
9593	if s.OutputGroups == nil {
9594		invalidParams.Add(request.NewErrParamRequired("OutputGroups"))
9595	}
9596	if s.AvailBlanking != nil {
9597		if err := s.AvailBlanking.Validate(); err != nil {
9598			invalidParams.AddNested("AvailBlanking", err.(request.ErrInvalidParams))
9599		}
9600	}
9601	if s.Inputs != nil {
9602		for i, v := range s.Inputs {
9603			if v == nil {
9604				continue
9605			}
9606			if err := v.Validate(); err != nil {
9607				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Inputs", i), err.(request.ErrInvalidParams))
9608			}
9609		}
9610	}
9611	if s.OutputGroups != nil {
9612		for i, v := range s.OutputGroups {
9613			if v == nil {
9614				continue
9615			}
9616			if err := v.Validate(); err != nil {
9617				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputGroups", i), err.(request.ErrInvalidParams))
9618			}
9619		}
9620	}
9621	if s.TimedMetadataInsertion != nil {
9622		if err := s.TimedMetadataInsertion.Validate(); err != nil {
9623			invalidParams.AddNested("TimedMetadataInsertion", err.(request.ErrInvalidParams))
9624		}
9625	}
9626
9627	if invalidParams.Len() > 0 {
9628		return invalidParams
9629	}
9630	return nil
9631}
9632
9633// SetAdAvailOffset sets the AdAvailOffset field's value.
9634func (s *JobTemplateSettings) SetAdAvailOffset(v int64) *JobTemplateSettings {
9635	s.AdAvailOffset = &v
9636	return s
9637}
9638
9639// SetAvailBlanking sets the AvailBlanking field's value.
9640func (s *JobTemplateSettings) SetAvailBlanking(v *AvailBlanking) *JobTemplateSettings {
9641	s.AvailBlanking = v
9642	return s
9643}
9644
9645// SetInputs sets the Inputs field's value.
9646func (s *JobTemplateSettings) SetInputs(v []*InputTemplate) *JobTemplateSettings {
9647	s.Inputs = v
9648	return s
9649}
9650
9651// SetNielsenConfiguration sets the NielsenConfiguration field's value.
9652func (s *JobTemplateSettings) SetNielsenConfiguration(v *NielsenConfiguration) *JobTemplateSettings {
9653	s.NielsenConfiguration = v
9654	return s
9655}
9656
9657// SetOutputGroups sets the OutputGroups field's value.
9658func (s *JobTemplateSettings) SetOutputGroups(v []*OutputGroup) *JobTemplateSettings {
9659	s.OutputGroups = v
9660	return s
9661}
9662
9663// SetTimecodeConfig sets the TimecodeConfig field's value.
9664func (s *JobTemplateSettings) SetTimecodeConfig(v *TimecodeConfig) *JobTemplateSettings {
9665	s.TimecodeConfig = v
9666	return s
9667}
9668
9669// SetTimedMetadataInsertion sets the TimedMetadataInsertion field's value.
9670func (s *JobTemplateSettings) SetTimedMetadataInsertion(v *TimedMetadataInsertion) *JobTemplateSettings {
9671	s.TimedMetadataInsertion = v
9672	return s
9673}
9674
9675// You can send list job templates requests with an empty body. Optionally,
9676// you can filter the response by category by specifying it in your request
9677// body. You can also optionally specify the maximum number, up to twenty, of
9678// job templates to be returned.
9679type ListJobTemplatesInput struct {
9680	_ struct{} `type:"structure"`
9681
9682	// Optionally, specify a job template category to limit responses to only job
9683	// templates from that category.
9684	Category *string `location:"querystring" locationName:"category" type:"string"`
9685
9686	// Optional. When you request a list of job templates, you can choose to list
9687	// them alphabetically by NAME or chronologically by CREATION_DATE. If you don't
9688	// specify, the service will list them by name.
9689	ListBy *string `location:"querystring" locationName:"listBy" type:"string" enum:"JobTemplateListBy"`
9690
9691	// Optional. Number of job templates, up to twenty, that will be returned at
9692	// one time.
9693	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
9694
9695	// Use this string, provided with the response to a previous request, to request
9696	// the next batch of job templates.
9697	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
9698
9699	// When you request lists of resources, you can optionally specify whether they
9700	// are sorted in ASCENDING or DESCENDING order. Default varies by resource.
9701	Order *string `location:"querystring" locationName:"order" type:"string" enum:"Order"`
9702}
9703
9704// String returns the string representation
9705func (s ListJobTemplatesInput) String() string {
9706	return awsutil.Prettify(s)
9707}
9708
9709// GoString returns the string representation
9710func (s ListJobTemplatesInput) GoString() string {
9711	return s.String()
9712}
9713
9714// Validate inspects the fields of the type to determine if they are valid.
9715func (s *ListJobTemplatesInput) Validate() error {
9716	invalidParams := request.ErrInvalidParams{Context: "ListJobTemplatesInput"}
9717	if s.MaxResults != nil && *s.MaxResults < 1 {
9718		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9719	}
9720
9721	if invalidParams.Len() > 0 {
9722		return invalidParams
9723	}
9724	return nil
9725}
9726
9727// SetCategory sets the Category field's value.
9728func (s *ListJobTemplatesInput) SetCategory(v string) *ListJobTemplatesInput {
9729	s.Category = &v
9730	return s
9731}
9732
9733// SetListBy sets the ListBy field's value.
9734func (s *ListJobTemplatesInput) SetListBy(v string) *ListJobTemplatesInput {
9735	s.ListBy = &v
9736	return s
9737}
9738
9739// SetMaxResults sets the MaxResults field's value.
9740func (s *ListJobTemplatesInput) SetMaxResults(v int64) *ListJobTemplatesInput {
9741	s.MaxResults = &v
9742	return s
9743}
9744
9745// SetNextToken sets the NextToken field's value.
9746func (s *ListJobTemplatesInput) SetNextToken(v string) *ListJobTemplatesInput {
9747	s.NextToken = &v
9748	return s
9749}
9750
9751// SetOrder sets the Order field's value.
9752func (s *ListJobTemplatesInput) SetOrder(v string) *ListJobTemplatesInput {
9753	s.Order = &v
9754	return s
9755}
9756
9757// Successful list job templates requests return a JSON array of job templates.
9758// If you do not specify how they are ordered, you will receive them in alphabetical
9759// order by name.
9760type ListJobTemplatesOutput struct {
9761	_ struct{} `type:"structure"`
9762
9763	// List of Job templates.
9764	JobTemplates []*JobTemplate `locationName:"jobTemplates" type:"list"`
9765
9766	// Use this string to request the next batch of job templates.
9767	NextToken *string `locationName:"nextToken" type:"string"`
9768}
9769
9770// String returns the string representation
9771func (s ListJobTemplatesOutput) String() string {
9772	return awsutil.Prettify(s)
9773}
9774
9775// GoString returns the string representation
9776func (s ListJobTemplatesOutput) GoString() string {
9777	return s.String()
9778}
9779
9780// SetJobTemplates sets the JobTemplates field's value.
9781func (s *ListJobTemplatesOutput) SetJobTemplates(v []*JobTemplate) *ListJobTemplatesOutput {
9782	s.JobTemplates = v
9783	return s
9784}
9785
9786// SetNextToken sets the NextToken field's value.
9787func (s *ListJobTemplatesOutput) SetNextToken(v string) *ListJobTemplatesOutput {
9788	s.NextToken = &v
9789	return s
9790}
9791
9792// You can send list jobs requests with an empty body. Optionally, you can filter
9793// the response by queue and/or job status by specifying them in your request
9794// body. You can also optionally specify the maximum number, up to twenty, of
9795// jobs to be returned.
9796type ListJobsInput struct {
9797	_ struct{} `type:"structure"`
9798
9799	// Optional. Number of jobs, up to twenty, that will be returned at one time.
9800	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
9801
9802	// Use this string, provided with the response to a previous request, to request
9803	// the next batch of jobs.
9804	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
9805
9806	// When you request lists of resources, you can optionally specify whether they
9807	// are sorted in ASCENDING or DESCENDING order. Default varies by resource.
9808	Order *string `location:"querystring" locationName:"order" type:"string" enum:"Order"`
9809
9810	// Provide a queue name to get back only jobs from that queue.
9811	Queue *string `location:"querystring" locationName:"queue" type:"string"`
9812
9813	// A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR.
9814	Status *string `location:"querystring" locationName:"status" type:"string" enum:"JobStatus"`
9815}
9816
9817// String returns the string representation
9818func (s ListJobsInput) String() string {
9819	return awsutil.Prettify(s)
9820}
9821
9822// GoString returns the string representation
9823func (s ListJobsInput) GoString() string {
9824	return s.String()
9825}
9826
9827// Validate inspects the fields of the type to determine if they are valid.
9828func (s *ListJobsInput) Validate() error {
9829	invalidParams := request.ErrInvalidParams{Context: "ListJobsInput"}
9830	if s.MaxResults != nil && *s.MaxResults < 1 {
9831		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9832	}
9833
9834	if invalidParams.Len() > 0 {
9835		return invalidParams
9836	}
9837	return nil
9838}
9839
9840// SetMaxResults sets the MaxResults field's value.
9841func (s *ListJobsInput) SetMaxResults(v int64) *ListJobsInput {
9842	s.MaxResults = &v
9843	return s
9844}
9845
9846// SetNextToken sets the NextToken field's value.
9847func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput {
9848	s.NextToken = &v
9849	return s
9850}
9851
9852// SetOrder sets the Order field's value.
9853func (s *ListJobsInput) SetOrder(v string) *ListJobsInput {
9854	s.Order = &v
9855	return s
9856}
9857
9858// SetQueue sets the Queue field's value.
9859func (s *ListJobsInput) SetQueue(v string) *ListJobsInput {
9860	s.Queue = &v
9861	return s
9862}
9863
9864// SetStatus sets the Status field's value.
9865func (s *ListJobsInput) SetStatus(v string) *ListJobsInput {
9866	s.Status = &v
9867	return s
9868}
9869
9870// Successful list jobs requests return a JSON array of jobs. If you do not
9871// specify how they are ordered, you will receive the most recently created
9872// first.
9873type ListJobsOutput struct {
9874	_ struct{} `type:"structure"`
9875
9876	// List of jobs
9877	Jobs []*Job `locationName:"jobs" type:"list"`
9878
9879	// Use this string to request the next batch of jobs.
9880	NextToken *string `locationName:"nextToken" type:"string"`
9881}
9882
9883// String returns the string representation
9884func (s ListJobsOutput) String() string {
9885	return awsutil.Prettify(s)
9886}
9887
9888// GoString returns the string representation
9889func (s ListJobsOutput) GoString() string {
9890	return s.String()
9891}
9892
9893// SetJobs sets the Jobs field's value.
9894func (s *ListJobsOutput) SetJobs(v []*Job) *ListJobsOutput {
9895	s.Jobs = v
9896	return s
9897}
9898
9899// SetNextToken sets the NextToken field's value.
9900func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput {
9901	s.NextToken = &v
9902	return s
9903}
9904
9905// You can send list presets requests with an empty body. Optionally, you can
9906// filter the response by category by specifying it in your request body. You
9907// can also optionally specify the maximum number, up to twenty, of queues to
9908// be returned.
9909type ListPresetsInput struct {
9910	_ struct{} `type:"structure"`
9911
9912	// Optionally, specify a preset category to limit responses to only presets
9913	// from that category.
9914	Category *string `location:"querystring" locationName:"category" type:"string"`
9915
9916	// Optional. When you request a list of presets, you can choose to list them
9917	// alphabetically by NAME or chronologically by CREATION_DATE. If you don't
9918	// specify, the service will list them by name.
9919	ListBy *string `location:"querystring" locationName:"listBy" type:"string" enum:"PresetListBy"`
9920
9921	// Optional. Number of presets, up to twenty, that will be returned at one time
9922	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
9923
9924	// Use this string, provided with the response to a previous request, to request
9925	// the next batch of presets.
9926	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
9927
9928	// When you request lists of resources, you can optionally specify whether they
9929	// are sorted in ASCENDING or DESCENDING order. Default varies by resource.
9930	Order *string `location:"querystring" locationName:"order" type:"string" enum:"Order"`
9931}
9932
9933// String returns the string representation
9934func (s ListPresetsInput) String() string {
9935	return awsutil.Prettify(s)
9936}
9937
9938// GoString returns the string representation
9939func (s ListPresetsInput) GoString() string {
9940	return s.String()
9941}
9942
9943// Validate inspects the fields of the type to determine if they are valid.
9944func (s *ListPresetsInput) Validate() error {
9945	invalidParams := request.ErrInvalidParams{Context: "ListPresetsInput"}
9946	if s.MaxResults != nil && *s.MaxResults < 1 {
9947		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9948	}
9949
9950	if invalidParams.Len() > 0 {
9951		return invalidParams
9952	}
9953	return nil
9954}
9955
9956// SetCategory sets the Category field's value.
9957func (s *ListPresetsInput) SetCategory(v string) *ListPresetsInput {
9958	s.Category = &v
9959	return s
9960}
9961
9962// SetListBy sets the ListBy field's value.
9963func (s *ListPresetsInput) SetListBy(v string) *ListPresetsInput {
9964	s.ListBy = &v
9965	return s
9966}
9967
9968// SetMaxResults sets the MaxResults field's value.
9969func (s *ListPresetsInput) SetMaxResults(v int64) *ListPresetsInput {
9970	s.MaxResults = &v
9971	return s
9972}
9973
9974// SetNextToken sets the NextToken field's value.
9975func (s *ListPresetsInput) SetNextToken(v string) *ListPresetsInput {
9976	s.NextToken = &v
9977	return s
9978}
9979
9980// SetOrder sets the Order field's value.
9981func (s *ListPresetsInput) SetOrder(v string) *ListPresetsInput {
9982	s.Order = &v
9983	return s
9984}
9985
9986// Successful list presets requests return a JSON array of presets. If you do
9987// not specify how they are ordered, you will receive them alphabetically by
9988// name.
9989type ListPresetsOutput struct {
9990	_ struct{} `type:"structure"`
9991
9992	// Use this string to request the next batch of presets.
9993	NextToken *string `locationName:"nextToken" type:"string"`
9994
9995	// List of presets
9996	Presets []*Preset `locationName:"presets" type:"list"`
9997}
9998
9999// String returns the string representation
10000func (s ListPresetsOutput) String() string {
10001	return awsutil.Prettify(s)
10002}
10003
10004// GoString returns the string representation
10005func (s ListPresetsOutput) GoString() string {
10006	return s.String()
10007}
10008
10009// SetNextToken sets the NextToken field's value.
10010func (s *ListPresetsOutput) SetNextToken(v string) *ListPresetsOutput {
10011	s.NextToken = &v
10012	return s
10013}
10014
10015// SetPresets sets the Presets field's value.
10016func (s *ListPresetsOutput) SetPresets(v []*Preset) *ListPresetsOutput {
10017	s.Presets = v
10018	return s
10019}
10020
10021// You can send list queues requests with an empty body. You can optionally
10022// specify the maximum number, up to twenty, of queues to be returned.
10023type ListQueuesInput struct {
10024	_ struct{} `type:"structure"`
10025
10026	// Optional. When you request a list of queues, you can choose to list them
10027	// alphabetically by NAME or chronologically by CREATION_DATE. If you don't
10028	// specify, the service will list them by creation date.
10029	ListBy *string `location:"querystring" locationName:"listBy" type:"string" enum:"QueueListBy"`
10030
10031	// Optional. Number of queues, up to twenty, that will be returned at one time.
10032	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10033
10034	// Use this string, provided with the response to a previous request, to request
10035	// the next batch of queues.
10036	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
10037
10038	// When you request lists of resources, you can optionally specify whether they
10039	// are sorted in ASCENDING or DESCENDING order. Default varies by resource.
10040	Order *string `location:"querystring" locationName:"order" type:"string" enum:"Order"`
10041}
10042
10043// String returns the string representation
10044func (s ListQueuesInput) String() string {
10045	return awsutil.Prettify(s)
10046}
10047
10048// GoString returns the string representation
10049func (s ListQueuesInput) GoString() string {
10050	return s.String()
10051}
10052
10053// Validate inspects the fields of the type to determine if they are valid.
10054func (s *ListQueuesInput) Validate() error {
10055	invalidParams := request.ErrInvalidParams{Context: "ListQueuesInput"}
10056	if s.MaxResults != nil && *s.MaxResults < 1 {
10057		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10058	}
10059
10060	if invalidParams.Len() > 0 {
10061		return invalidParams
10062	}
10063	return nil
10064}
10065
10066// SetListBy sets the ListBy field's value.
10067func (s *ListQueuesInput) SetListBy(v string) *ListQueuesInput {
10068	s.ListBy = &v
10069	return s
10070}
10071
10072// SetMaxResults sets the MaxResults field's value.
10073func (s *ListQueuesInput) SetMaxResults(v int64) *ListQueuesInput {
10074	s.MaxResults = &v
10075	return s
10076}
10077
10078// SetNextToken sets the NextToken field's value.
10079func (s *ListQueuesInput) SetNextToken(v string) *ListQueuesInput {
10080	s.NextToken = &v
10081	return s
10082}
10083
10084// SetOrder sets the Order field's value.
10085func (s *ListQueuesInput) SetOrder(v string) *ListQueuesInput {
10086	s.Order = &v
10087	return s
10088}
10089
10090// Successful list queues return a JSON array of queues. If you do not specify
10091// how they are ordered, you will receive them alphabetically by name.
10092type ListQueuesOutput struct {
10093	_ struct{} `type:"structure"`
10094
10095	// Use this string to request the next batch of queues.
10096	NextToken *string `locationName:"nextToken" type:"string"`
10097
10098	// List of queues
10099	Queues []*Queue `locationName:"queues" type:"list"`
10100}
10101
10102// String returns the string representation
10103func (s ListQueuesOutput) String() string {
10104	return awsutil.Prettify(s)
10105}
10106
10107// GoString returns the string representation
10108func (s ListQueuesOutput) GoString() string {
10109	return s.String()
10110}
10111
10112// SetNextToken sets the NextToken field's value.
10113func (s *ListQueuesOutput) SetNextToken(v string) *ListQueuesOutput {
10114	s.NextToken = &v
10115	return s
10116}
10117
10118// SetQueues sets the Queues field's value.
10119func (s *ListQueuesOutput) SetQueues(v []*Queue) *ListQueuesOutput {
10120	s.Queues = v
10121	return s
10122}
10123
10124// List the tags for your AWS Elemental MediaConvert resource by sending a request
10125// with the Amazon Resource Name (ARN) of the resource. To get the ARN, send
10126// a GET request with the resource name.
10127type ListTagsForResourceInput struct {
10128	_ struct{} `type:"structure"`
10129
10130	// The Amazon Resource Name (ARN) of the resource that you want to list tags
10131	// for. To get the ARN, send a GET request with the resource name.
10132	//
10133	// Arn is a required field
10134	Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"`
10135}
10136
10137// String returns the string representation
10138func (s ListTagsForResourceInput) String() string {
10139	return awsutil.Prettify(s)
10140}
10141
10142// GoString returns the string representation
10143func (s ListTagsForResourceInput) GoString() string {
10144	return s.String()
10145}
10146
10147// Validate inspects the fields of the type to determine if they are valid.
10148func (s *ListTagsForResourceInput) Validate() error {
10149	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
10150	if s.Arn == nil {
10151		invalidParams.Add(request.NewErrParamRequired("Arn"))
10152	}
10153
10154	if invalidParams.Len() > 0 {
10155		return invalidParams
10156	}
10157	return nil
10158}
10159
10160// SetArn sets the Arn field's value.
10161func (s *ListTagsForResourceInput) SetArn(v string) *ListTagsForResourceInput {
10162	s.Arn = &v
10163	return s
10164}
10165
10166// A successful request to list the tags for a resource returns a JSON map of
10167// tags.
10168type ListTagsForResourceOutput struct {
10169	_ struct{} `type:"structure"`
10170
10171	// The Amazon Resource Name (ARN) and tags for an AWS Elemental MediaConvert
10172	// resource.
10173	ResourceTags *ResourceTags `locationName:"resourceTags" type:"structure"`
10174}
10175
10176// String returns the string representation
10177func (s ListTagsForResourceOutput) String() string {
10178	return awsutil.Prettify(s)
10179}
10180
10181// GoString returns the string representation
10182func (s ListTagsForResourceOutput) GoString() string {
10183	return s.String()
10184}
10185
10186// SetResourceTags sets the ResourceTags field's value.
10187func (s *ListTagsForResourceOutput) SetResourceTags(v *ResourceTags) *ListTagsForResourceOutput {
10188	s.ResourceTags = v
10189	return s
10190}
10191
10192// Settings for M2TS Container.
10193type M2tsSettings struct {
10194	_ struct{} `type:"structure"`
10195
10196	// Selects between the DVB and ATSC buffer models for Dolby Digital audio.
10197	AudioBufferModel *string `locationName:"audioBufferModel" type:"string" enum:"M2tsAudioBufferModel"`
10198
10199	// The number of audio frames to insert for each PES packet.
10200	AudioFramesPerPes *int64 `locationName:"audioFramesPerPes" type:"integer"`
10201
10202	// Packet Identifier (PID) of the elementary audio stream(s) in the transport
10203	// stream. Multiple values are accepted, and can be entered in ranges and/or
10204	// by comma separation.
10205	AudioPids []*int64 `locationName:"audioPids" type:"list"`
10206
10207	// The output bitrate of the transport stream in bits per second. Setting to
10208	// 0 lets the muxer automatically determine the appropriate bitrate. Other common
10209	// values are 3750000, 7500000, and 15000000.
10210	Bitrate *int64 `locationName:"bitrate" type:"integer"`
10211
10212	// Controls what buffer model to use for accurate interleaving. If set to MULTIPLEX,
10213	// use multiplex buffer model. If set to NONE, this can lead to lower latency,
10214	// but low-memory devices may not be able to play back the stream without interruptions.
10215	BufferModel *string `locationName:"bufferModel" type:"string" enum:"M2tsBufferModel"`
10216
10217	// Inserts DVB Network Information Table (NIT) at the specified table repetition
10218	// interval.
10219	DvbNitSettings *DvbNitSettings `locationName:"dvbNitSettings" type:"structure"`
10220
10221	// Inserts DVB Service Description Table (NIT) at the specified table repetition
10222	// interval.
10223	DvbSdtSettings *DvbSdtSettings `locationName:"dvbSdtSettings" type:"structure"`
10224
10225	// Packet Identifier (PID) for input source DVB Subtitle data to this output.
10226	// Multiple values are accepted, and can be entered in ranges and/or by comma
10227	// separation.
10228	DvbSubPids []*int64 `locationName:"dvbSubPids" type:"list"`
10229
10230	// Inserts DVB Time and Date Table (TDT) at the specified table repetition interval.
10231	DvbTdtSettings *DvbTdtSettings `locationName:"dvbTdtSettings" type:"structure"`
10232
10233	// Packet Identifier (PID) for input source DVB Teletext data to this output.
10234	DvbTeletextPid *int64 `locationName:"dvbTeletextPid" min:"32" type:"integer"`
10235
10236	// When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added to
10237	// partitions 3 and 4. The interval between these additional markers will be
10238	// fixed, and will be slightly shorter than the video EBP marker interval. When
10239	// set to VIDEO_INTERVAL, these additional markers will not be inserted. Only
10240	// applicable when EBP segmentation markers are is selected (segmentationMarkers
10241	// is EBP or EBP_LEGACY).
10242	EbpAudioInterval *string `locationName:"ebpAudioInterval" type:"string" enum:"M2tsEbpAudioInterval"`
10243
10244	// Selects which PIDs to place EBP markers on. They can either be placed only
10245	// on the video PID, or on both the video PID and all audio PIDs. Only applicable
10246	// when EBP segmentation markers are is selected (segmentationMarkers is EBP
10247	// or EBP_LEGACY).
10248	EbpPlacement *string `locationName:"ebpPlacement" type:"string" enum:"M2tsEbpPlacement"`
10249
10250	// Controls whether to include the ES Rate field in the PES header.
10251	EsRateInPes *string `locationName:"esRateInPes" type:"string" enum:"M2tsEsRateInPes"`
10252
10253	// The length in seconds of each fragment. Only used with EBP markers.
10254	FragmentTime *float64 `locationName:"fragmentTime" type:"double"`
10255
10256	// Maximum time in milliseconds between Program Clock References (PCRs) inserted
10257	// into the transport stream.
10258	MaxPcrInterval *int64 `locationName:"maxPcrInterval" type:"integer"`
10259
10260	// When set, enforces that Encoder Boundary Points do not come within the specified
10261	// time interval of each other by looking ahead at input video. If another EBP
10262	// is going to come in within the specified time interval, the current EBP is
10263	// not emitted, and the segment is "stretched" to the next marker. The lookahead
10264	// value does not add latency to the system. The Live Event must be configured
10265	// elsewhere to create sufficient latency to make the lookahead accurate.
10266	MinEbpInterval *int64 `locationName:"minEbpInterval" type:"integer"`
10267
10268	// If INSERT, Nielsen inaudible tones for media tracking will be detected in
10269	// the input audio and an equivalent ID3 tag will be inserted in the output.
10270	NielsenId3 *string `locationName:"nielsenId3" type:"string" enum:"M2tsNielsenId3"`
10271
10272	// Value in bits per second of extra null packets to insert into the transport
10273	// stream. This can be used if a downstream encryption system requires periodic
10274	// null packets.
10275	NullPacketBitrate *float64 `locationName:"nullPacketBitrate" type:"double"`
10276
10277	// The number of milliseconds between instances of this table in the output
10278	// transport stream.
10279	PatInterval *int64 `locationName:"patInterval" type:"integer"`
10280
10281	// When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is inserted
10282	// for every Packetized Elementary Stream (PES) header. This is effective only
10283	// when the PCR PID is the same as the video or audio elementary stream.
10284	PcrControl *string `locationName:"pcrControl" type:"string" enum:"M2tsPcrControl"`
10285
10286	// Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport
10287	// stream. When no value is given, the encoder will assign the same value as
10288	// the Video PID.
10289	PcrPid *int64 `locationName:"pcrPid" min:"32" type:"integer"`
10290
10291	// The number of milliseconds between instances of this table in the output
10292	// transport stream.
10293	PmtInterval *int64 `locationName:"pmtInterval" type:"integer"`
10294
10295	// Packet Identifier (PID) for the Program Map Table (PMT) in the transport
10296	// stream.
10297	PmtPid *int64 `locationName:"pmtPid" min:"32" type:"integer"`
10298
10299	// Packet Identifier (PID) of the private metadata stream in the transport stream.
10300	PrivateMetadataPid *int64 `locationName:"privateMetadataPid" min:"32" type:"integer"`
10301
10302	// The value of the program number field in the Program Map Table.
10303	ProgramNumber *int64 `locationName:"programNumber" type:"integer"`
10304
10305	// When set to CBR, inserts null packets into transport stream to fill specified
10306	// bitrate. When set to VBR, the bitrate setting acts as the maximum bitrate,
10307	// but the output will not be padded up to that bitrate.
10308	RateMode *string `locationName:"rateMode" type:"string" enum:"M2tsRateMode"`
10309
10310	// Packet Identifier (PID) of the SCTE-35 stream in the transport stream.
10311	Scte35Pid *int64 `locationName:"scte35Pid" min:"32" type:"integer"`
10312
10313	// Enables SCTE-35 passthrough (scte35Source) to pass any SCTE-35 signals from
10314	// input to output.
10315	Scte35Source *string `locationName:"scte35Source" type:"string" enum:"M2tsScte35Source"`
10316
10317	// Inserts segmentation markers at each segmentation_time period. rai_segstart
10318	// sets the Random Access Indicator bit in the adaptation field. rai_adapt sets
10319	// the RAI bit and adds the current timecode in the private data bytes. psi_segstart
10320	// inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary
10321	// Point information to the adaptation field as per OpenCable specification
10322	// OC-SP-EBP-I01-130118. ebp_legacy adds Encoder Boundary Point information
10323	// to the adaptation field using a legacy proprietary format.
10324	SegmentationMarkers *string `locationName:"segmentationMarkers" type:"string" enum:"M2tsSegmentationMarkers"`
10325
10326	// The segmentation style parameter controls how segmentation markers are inserted
10327	// into the transport stream. With avails, it is possible that segments may
10328	// be truncated, which can influence where future segmentation markers are inserted.
10329	// When a segmentation style of "reset_cadence" is selected and a segment is
10330	// truncated due to an avail, we will reset the segmentation cadence. This means
10331	// the subsequent segment will have a duration of of $segmentation_time seconds.
10332	// When a segmentation style of "maintain_cadence" is selected and a segment
10333	// is truncated due to an avail, we will not reset the segmentation cadence.
10334	// This means the subsequent segment will likely be truncated as well. However,
10335	// all segments after that will have a duration of $segmentation_time seconds.
10336	// Note that EBP lookahead is a slight exception to this rule.
10337	SegmentationStyle *string `locationName:"segmentationStyle" type:"string" enum:"M2tsSegmentationStyle"`
10338
10339	// The length in seconds of each segment. Required unless markers is set to
10340	// _none_.
10341	SegmentationTime *float64 `locationName:"segmentationTime" type:"double"`
10342
10343	// Packet Identifier (PID) of the timed metadata stream in the transport stream.
10344	TimedMetadataPid *int64 `locationName:"timedMetadataPid" min:"32" type:"integer"`
10345
10346	// The value of the transport stream ID field in the Program Map Table.
10347	TransportStreamId *int64 `locationName:"transportStreamId" type:"integer"`
10348
10349	// Packet Identifier (PID) of the elementary video stream in the transport stream.
10350	VideoPid *int64 `locationName:"videoPid" min:"32" type:"integer"`
10351}
10352
10353// String returns the string representation
10354func (s M2tsSettings) String() string {
10355	return awsutil.Prettify(s)
10356}
10357
10358// GoString returns the string representation
10359func (s M2tsSettings) GoString() string {
10360	return s.String()
10361}
10362
10363// Validate inspects the fields of the type to determine if they are valid.
10364func (s *M2tsSettings) Validate() error {
10365	invalidParams := request.ErrInvalidParams{Context: "M2tsSettings"}
10366	if s.DvbTeletextPid != nil && *s.DvbTeletextPid < 32 {
10367		invalidParams.Add(request.NewErrParamMinValue("DvbTeletextPid", 32))
10368	}
10369	if s.PcrPid != nil && *s.PcrPid < 32 {
10370		invalidParams.Add(request.NewErrParamMinValue("PcrPid", 32))
10371	}
10372	if s.PmtPid != nil && *s.PmtPid < 32 {
10373		invalidParams.Add(request.NewErrParamMinValue("PmtPid", 32))
10374	}
10375	if s.PrivateMetadataPid != nil && *s.PrivateMetadataPid < 32 {
10376		invalidParams.Add(request.NewErrParamMinValue("PrivateMetadataPid", 32))
10377	}
10378	if s.Scte35Pid != nil && *s.Scte35Pid < 32 {
10379		invalidParams.Add(request.NewErrParamMinValue("Scte35Pid", 32))
10380	}
10381	if s.TimedMetadataPid != nil && *s.TimedMetadataPid < 32 {
10382		invalidParams.Add(request.NewErrParamMinValue("TimedMetadataPid", 32))
10383	}
10384	if s.VideoPid != nil && *s.VideoPid < 32 {
10385		invalidParams.Add(request.NewErrParamMinValue("VideoPid", 32))
10386	}
10387	if s.DvbNitSettings != nil {
10388		if err := s.DvbNitSettings.Validate(); err != nil {
10389			invalidParams.AddNested("DvbNitSettings", err.(request.ErrInvalidParams))
10390		}
10391	}
10392	if s.DvbSdtSettings != nil {
10393		if err := s.DvbSdtSettings.Validate(); err != nil {
10394			invalidParams.AddNested("DvbSdtSettings", err.(request.ErrInvalidParams))
10395		}
10396	}
10397	if s.DvbTdtSettings != nil {
10398		if err := s.DvbTdtSettings.Validate(); err != nil {
10399			invalidParams.AddNested("DvbTdtSettings", err.(request.ErrInvalidParams))
10400		}
10401	}
10402
10403	if invalidParams.Len() > 0 {
10404		return invalidParams
10405	}
10406	return nil
10407}
10408
10409// SetAudioBufferModel sets the AudioBufferModel field's value.
10410func (s *M2tsSettings) SetAudioBufferModel(v string) *M2tsSettings {
10411	s.AudioBufferModel = &v
10412	return s
10413}
10414
10415// SetAudioFramesPerPes sets the AudioFramesPerPes field's value.
10416func (s *M2tsSettings) SetAudioFramesPerPes(v int64) *M2tsSettings {
10417	s.AudioFramesPerPes = &v
10418	return s
10419}
10420
10421// SetAudioPids sets the AudioPids field's value.
10422func (s *M2tsSettings) SetAudioPids(v []*int64) *M2tsSettings {
10423	s.AudioPids = v
10424	return s
10425}
10426
10427// SetBitrate sets the Bitrate field's value.
10428func (s *M2tsSettings) SetBitrate(v int64) *M2tsSettings {
10429	s.Bitrate = &v
10430	return s
10431}
10432
10433// SetBufferModel sets the BufferModel field's value.
10434func (s *M2tsSettings) SetBufferModel(v string) *M2tsSettings {
10435	s.BufferModel = &v
10436	return s
10437}
10438
10439// SetDvbNitSettings sets the DvbNitSettings field's value.
10440func (s *M2tsSettings) SetDvbNitSettings(v *DvbNitSettings) *M2tsSettings {
10441	s.DvbNitSettings = v
10442	return s
10443}
10444
10445// SetDvbSdtSettings sets the DvbSdtSettings field's value.
10446func (s *M2tsSettings) SetDvbSdtSettings(v *DvbSdtSettings) *M2tsSettings {
10447	s.DvbSdtSettings = v
10448	return s
10449}
10450
10451// SetDvbSubPids sets the DvbSubPids field's value.
10452func (s *M2tsSettings) SetDvbSubPids(v []*int64) *M2tsSettings {
10453	s.DvbSubPids = v
10454	return s
10455}
10456
10457// SetDvbTdtSettings sets the DvbTdtSettings field's value.
10458func (s *M2tsSettings) SetDvbTdtSettings(v *DvbTdtSettings) *M2tsSettings {
10459	s.DvbTdtSettings = v
10460	return s
10461}
10462
10463// SetDvbTeletextPid sets the DvbTeletextPid field's value.
10464func (s *M2tsSettings) SetDvbTeletextPid(v int64) *M2tsSettings {
10465	s.DvbTeletextPid = &v
10466	return s
10467}
10468
10469// SetEbpAudioInterval sets the EbpAudioInterval field's value.
10470func (s *M2tsSettings) SetEbpAudioInterval(v string) *M2tsSettings {
10471	s.EbpAudioInterval = &v
10472	return s
10473}
10474
10475// SetEbpPlacement sets the EbpPlacement field's value.
10476func (s *M2tsSettings) SetEbpPlacement(v string) *M2tsSettings {
10477	s.EbpPlacement = &v
10478	return s
10479}
10480
10481// SetEsRateInPes sets the EsRateInPes field's value.
10482func (s *M2tsSettings) SetEsRateInPes(v string) *M2tsSettings {
10483	s.EsRateInPes = &v
10484	return s
10485}
10486
10487// SetFragmentTime sets the FragmentTime field's value.
10488func (s *M2tsSettings) SetFragmentTime(v float64) *M2tsSettings {
10489	s.FragmentTime = &v
10490	return s
10491}
10492
10493// SetMaxPcrInterval sets the MaxPcrInterval field's value.
10494func (s *M2tsSettings) SetMaxPcrInterval(v int64) *M2tsSettings {
10495	s.MaxPcrInterval = &v
10496	return s
10497}
10498
10499// SetMinEbpInterval sets the MinEbpInterval field's value.
10500func (s *M2tsSettings) SetMinEbpInterval(v int64) *M2tsSettings {
10501	s.MinEbpInterval = &v
10502	return s
10503}
10504
10505// SetNielsenId3 sets the NielsenId3 field's value.
10506func (s *M2tsSettings) SetNielsenId3(v string) *M2tsSettings {
10507	s.NielsenId3 = &v
10508	return s
10509}
10510
10511// SetNullPacketBitrate sets the NullPacketBitrate field's value.
10512func (s *M2tsSettings) SetNullPacketBitrate(v float64) *M2tsSettings {
10513	s.NullPacketBitrate = &v
10514	return s
10515}
10516
10517// SetPatInterval sets the PatInterval field's value.
10518func (s *M2tsSettings) SetPatInterval(v int64) *M2tsSettings {
10519	s.PatInterval = &v
10520	return s
10521}
10522
10523// SetPcrControl sets the PcrControl field's value.
10524func (s *M2tsSettings) SetPcrControl(v string) *M2tsSettings {
10525	s.PcrControl = &v
10526	return s
10527}
10528
10529// SetPcrPid sets the PcrPid field's value.
10530func (s *M2tsSettings) SetPcrPid(v int64) *M2tsSettings {
10531	s.PcrPid = &v
10532	return s
10533}
10534
10535// SetPmtInterval sets the PmtInterval field's value.
10536func (s *M2tsSettings) SetPmtInterval(v int64) *M2tsSettings {
10537	s.PmtInterval = &v
10538	return s
10539}
10540
10541// SetPmtPid sets the PmtPid field's value.
10542func (s *M2tsSettings) SetPmtPid(v int64) *M2tsSettings {
10543	s.PmtPid = &v
10544	return s
10545}
10546
10547// SetPrivateMetadataPid sets the PrivateMetadataPid field's value.
10548func (s *M2tsSettings) SetPrivateMetadataPid(v int64) *M2tsSettings {
10549	s.PrivateMetadataPid = &v
10550	return s
10551}
10552
10553// SetProgramNumber sets the ProgramNumber field's value.
10554func (s *M2tsSettings) SetProgramNumber(v int64) *M2tsSettings {
10555	s.ProgramNumber = &v
10556	return s
10557}
10558
10559// SetRateMode sets the RateMode field's value.
10560func (s *M2tsSettings) SetRateMode(v string) *M2tsSettings {
10561	s.RateMode = &v
10562	return s
10563}
10564
10565// SetScte35Pid sets the Scte35Pid field's value.
10566func (s *M2tsSettings) SetScte35Pid(v int64) *M2tsSettings {
10567	s.Scte35Pid = &v
10568	return s
10569}
10570
10571// SetScte35Source sets the Scte35Source field's value.
10572func (s *M2tsSettings) SetScte35Source(v string) *M2tsSettings {
10573	s.Scte35Source = &v
10574	return s
10575}
10576
10577// SetSegmentationMarkers sets the SegmentationMarkers field's value.
10578func (s *M2tsSettings) SetSegmentationMarkers(v string) *M2tsSettings {
10579	s.SegmentationMarkers = &v
10580	return s
10581}
10582
10583// SetSegmentationStyle sets the SegmentationStyle field's value.
10584func (s *M2tsSettings) SetSegmentationStyle(v string) *M2tsSettings {
10585	s.SegmentationStyle = &v
10586	return s
10587}
10588
10589// SetSegmentationTime sets the SegmentationTime field's value.
10590func (s *M2tsSettings) SetSegmentationTime(v float64) *M2tsSettings {
10591	s.SegmentationTime = &v
10592	return s
10593}
10594
10595// SetTimedMetadataPid sets the TimedMetadataPid field's value.
10596func (s *M2tsSettings) SetTimedMetadataPid(v int64) *M2tsSettings {
10597	s.TimedMetadataPid = &v
10598	return s
10599}
10600
10601// SetTransportStreamId sets the TransportStreamId field's value.
10602func (s *M2tsSettings) SetTransportStreamId(v int64) *M2tsSettings {
10603	s.TransportStreamId = &v
10604	return s
10605}
10606
10607// SetVideoPid sets the VideoPid field's value.
10608func (s *M2tsSettings) SetVideoPid(v int64) *M2tsSettings {
10609	s.VideoPid = &v
10610	return s
10611}
10612
10613// Settings for TS segments in HLS
10614type M3u8Settings struct {
10615	_ struct{} `type:"structure"`
10616
10617	// The number of audio frames to insert for each PES packet.
10618	AudioFramesPerPes *int64 `locationName:"audioFramesPerPes" type:"integer"`
10619
10620	// Packet Identifier (PID) of the elementary audio stream(s) in the transport
10621	// stream. Multiple values are accepted, and can be entered in ranges and/or
10622	// by comma separation.
10623	AudioPids []*int64 `locationName:"audioPids" type:"list"`
10624
10625	// If INSERT, Nielsen inaudible tones for media tracking will be detected in
10626	// the input audio and an equivalent ID3 tag will be inserted in the output.
10627	NielsenId3 *string `locationName:"nielsenId3" type:"string" enum:"M3u8NielsenId3"`
10628
10629	// The number of milliseconds between instances of this table in the output
10630	// transport stream.
10631	PatInterval *int64 `locationName:"patInterval" type:"integer"`
10632
10633	// When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted
10634	// for every Packetized Elementary Stream (PES) header. This parameter is effective
10635	// only when the PCR PID is the same as the video or audio elementary stream.
10636	PcrControl *string `locationName:"pcrControl" type:"string" enum:"M3u8PcrControl"`
10637
10638	// Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport
10639	// stream. When no value is given, the encoder will assign the same value as
10640	// the Video PID.
10641	PcrPid *int64 `locationName:"pcrPid" min:"32" type:"integer"`
10642
10643	// The number of milliseconds between instances of this table in the output
10644	// transport stream.
10645	PmtInterval *int64 `locationName:"pmtInterval" type:"integer"`
10646
10647	// Packet Identifier (PID) for the Program Map Table (PMT) in the transport
10648	// stream.
10649	PmtPid *int64 `locationName:"pmtPid" min:"32" type:"integer"`
10650
10651	// Packet Identifier (PID) of the private metadata stream in the transport stream.
10652	PrivateMetadataPid *int64 `locationName:"privateMetadataPid" min:"32" type:"integer"`
10653
10654	// The value of the program number field in the Program Map Table.
10655	ProgramNumber *int64 `locationName:"programNumber" type:"integer"`
10656
10657	// Packet Identifier (PID) of the SCTE-35 stream in the transport stream.
10658	Scte35Pid *int64 `locationName:"scte35Pid" min:"32" type:"integer"`
10659
10660	// Enables SCTE-35 passthrough (scte35Source) to pass any SCTE-35 signals from
10661	// input to output.
10662	Scte35Source *string `locationName:"scte35Source" type:"string" enum:"M3u8Scte35Source"`
10663
10664	// Applies only to HLS outputs. Use this setting to specify whether the service
10665	// inserts the ID3 timed metadata from the input in this output.
10666	TimedMetadata *string `locationName:"timedMetadata" type:"string" enum:"TimedMetadata"`
10667
10668	// Packet Identifier (PID) of the timed metadata stream in the transport stream.
10669	TimedMetadataPid *int64 `locationName:"timedMetadataPid" min:"32" type:"integer"`
10670
10671	// The value of the transport stream ID field in the Program Map Table.
10672	TransportStreamId *int64 `locationName:"transportStreamId" type:"integer"`
10673
10674	// Packet Identifier (PID) of the elementary video stream in the transport stream.
10675	VideoPid *int64 `locationName:"videoPid" min:"32" type:"integer"`
10676}
10677
10678// String returns the string representation
10679func (s M3u8Settings) String() string {
10680	return awsutil.Prettify(s)
10681}
10682
10683// GoString returns the string representation
10684func (s M3u8Settings) GoString() string {
10685	return s.String()
10686}
10687
10688// Validate inspects the fields of the type to determine if they are valid.
10689func (s *M3u8Settings) Validate() error {
10690	invalidParams := request.ErrInvalidParams{Context: "M3u8Settings"}
10691	if s.PcrPid != nil && *s.PcrPid < 32 {
10692		invalidParams.Add(request.NewErrParamMinValue("PcrPid", 32))
10693	}
10694	if s.PmtPid != nil && *s.PmtPid < 32 {
10695		invalidParams.Add(request.NewErrParamMinValue("PmtPid", 32))
10696	}
10697	if s.PrivateMetadataPid != nil && *s.PrivateMetadataPid < 32 {
10698		invalidParams.Add(request.NewErrParamMinValue("PrivateMetadataPid", 32))
10699	}
10700	if s.Scte35Pid != nil && *s.Scte35Pid < 32 {
10701		invalidParams.Add(request.NewErrParamMinValue("Scte35Pid", 32))
10702	}
10703	if s.TimedMetadataPid != nil && *s.TimedMetadataPid < 32 {
10704		invalidParams.Add(request.NewErrParamMinValue("TimedMetadataPid", 32))
10705	}
10706	if s.VideoPid != nil && *s.VideoPid < 32 {
10707		invalidParams.Add(request.NewErrParamMinValue("VideoPid", 32))
10708	}
10709
10710	if invalidParams.Len() > 0 {
10711		return invalidParams
10712	}
10713	return nil
10714}
10715
10716// SetAudioFramesPerPes sets the AudioFramesPerPes field's value.
10717func (s *M3u8Settings) SetAudioFramesPerPes(v int64) *M3u8Settings {
10718	s.AudioFramesPerPes = &v
10719	return s
10720}
10721
10722// SetAudioPids sets the AudioPids field's value.
10723func (s *M3u8Settings) SetAudioPids(v []*int64) *M3u8Settings {
10724	s.AudioPids = v
10725	return s
10726}
10727
10728// SetNielsenId3 sets the NielsenId3 field's value.
10729func (s *M3u8Settings) SetNielsenId3(v string) *M3u8Settings {
10730	s.NielsenId3 = &v
10731	return s
10732}
10733
10734// SetPatInterval sets the PatInterval field's value.
10735func (s *M3u8Settings) SetPatInterval(v int64) *M3u8Settings {
10736	s.PatInterval = &v
10737	return s
10738}
10739
10740// SetPcrControl sets the PcrControl field's value.
10741func (s *M3u8Settings) SetPcrControl(v string) *M3u8Settings {
10742	s.PcrControl = &v
10743	return s
10744}
10745
10746// SetPcrPid sets the PcrPid field's value.
10747func (s *M3u8Settings) SetPcrPid(v int64) *M3u8Settings {
10748	s.PcrPid = &v
10749	return s
10750}
10751
10752// SetPmtInterval sets the PmtInterval field's value.
10753func (s *M3u8Settings) SetPmtInterval(v int64) *M3u8Settings {
10754	s.PmtInterval = &v
10755	return s
10756}
10757
10758// SetPmtPid sets the PmtPid field's value.
10759func (s *M3u8Settings) SetPmtPid(v int64) *M3u8Settings {
10760	s.PmtPid = &v
10761	return s
10762}
10763
10764// SetPrivateMetadataPid sets the PrivateMetadataPid field's value.
10765func (s *M3u8Settings) SetPrivateMetadataPid(v int64) *M3u8Settings {
10766	s.PrivateMetadataPid = &v
10767	return s
10768}
10769
10770// SetProgramNumber sets the ProgramNumber field's value.
10771func (s *M3u8Settings) SetProgramNumber(v int64) *M3u8Settings {
10772	s.ProgramNumber = &v
10773	return s
10774}
10775
10776// SetScte35Pid sets the Scte35Pid field's value.
10777func (s *M3u8Settings) SetScte35Pid(v int64) *M3u8Settings {
10778	s.Scte35Pid = &v
10779	return s
10780}
10781
10782// SetScte35Source sets the Scte35Source field's value.
10783func (s *M3u8Settings) SetScte35Source(v string) *M3u8Settings {
10784	s.Scte35Source = &v
10785	return s
10786}
10787
10788// SetTimedMetadata sets the TimedMetadata field's value.
10789func (s *M3u8Settings) SetTimedMetadata(v string) *M3u8Settings {
10790	s.TimedMetadata = &v
10791	return s
10792}
10793
10794// SetTimedMetadataPid sets the TimedMetadataPid field's value.
10795func (s *M3u8Settings) SetTimedMetadataPid(v int64) *M3u8Settings {
10796	s.TimedMetadataPid = &v
10797	return s
10798}
10799
10800// SetTransportStreamId sets the TransportStreamId field's value.
10801func (s *M3u8Settings) SetTransportStreamId(v int64) *M3u8Settings {
10802	s.TransportStreamId = &v
10803	return s
10804}
10805
10806// SetVideoPid sets the VideoPid field's value.
10807func (s *M3u8Settings) SetVideoPid(v int64) *M3u8Settings {
10808	s.VideoPid = &v
10809	return s
10810}
10811
10812// Settings for MOV Container.
10813type MovSettings struct {
10814	_ struct{} `type:"structure"`
10815
10816	// When enabled, include 'clap' atom if appropriate for the video output settings.
10817	ClapAtom *string `locationName:"clapAtom" type:"string" enum:"MovClapAtom"`
10818
10819	// When enabled, file composition times will start at zero, composition times
10820	// in the 'ctts' (composition time to sample) box for B-frames will be negative,
10821	// and a 'cslg' (composition shift least greatest) box will be included per
10822	// 14496-1 amendment 1. This improves compatibility with Apple players and tools.
10823	CslgAtom *string `locationName:"cslgAtom" type:"string" enum:"MovCslgAtom"`
10824
10825	// When set to XDCAM, writes MPEG2 video streams into the QuickTime file using
10826	// XDCAM fourcc codes. This increases compatibility with Apple editors and players,
10827	// but may decrease compatibility with other players. Only applicable when the
10828	// video codec is MPEG2.
10829	Mpeg2FourCCControl *string `locationName:"mpeg2FourCCControl" type:"string" enum:"MovMpeg2FourCCControl"`
10830
10831	// If set to OMNEON, inserts Omneon-compatible padding
10832	PaddingControl *string `locationName:"paddingControl" type:"string" enum:"MovPaddingControl"`
10833
10834	// A value of 'external' creates separate media files and the wrapper file (.mov)
10835	// contains references to these media files. A value of 'self_contained' creates
10836	// only a wrapper (.mov) file and this file contains all of the media.
10837	Reference *string `locationName:"reference" type:"string" enum:"MovReference"`
10838}
10839
10840// String returns the string representation
10841func (s MovSettings) String() string {
10842	return awsutil.Prettify(s)
10843}
10844
10845// GoString returns the string representation
10846func (s MovSettings) GoString() string {
10847	return s.String()
10848}
10849
10850// SetClapAtom sets the ClapAtom field's value.
10851func (s *MovSettings) SetClapAtom(v string) *MovSettings {
10852	s.ClapAtom = &v
10853	return s
10854}
10855
10856// SetCslgAtom sets the CslgAtom field's value.
10857func (s *MovSettings) SetCslgAtom(v string) *MovSettings {
10858	s.CslgAtom = &v
10859	return s
10860}
10861
10862// SetMpeg2FourCCControl sets the Mpeg2FourCCControl field's value.
10863func (s *MovSettings) SetMpeg2FourCCControl(v string) *MovSettings {
10864	s.Mpeg2FourCCControl = &v
10865	return s
10866}
10867
10868// SetPaddingControl sets the PaddingControl field's value.
10869func (s *MovSettings) SetPaddingControl(v string) *MovSettings {
10870	s.PaddingControl = &v
10871	return s
10872}
10873
10874// SetReference sets the Reference field's value.
10875func (s *MovSettings) SetReference(v string) *MovSettings {
10876	s.Reference = &v
10877	return s
10878}
10879
10880// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
10881// the value MP2.
10882type Mp2Settings struct {
10883	_ struct{} `type:"structure"`
10884
10885	// Average bitrate in bits/second.
10886	Bitrate *int64 `locationName:"bitrate" min:"32000" type:"integer"`
10887
10888	// Set Channels to specify the number of channels in this output audio track.
10889	// Choosing Mono in the console will give you 1 output channel; choosing Stereo
10890	// will give you 2. In the API, valid values are 1 and 2.
10891	Channels *int64 `locationName:"channels" min:"1" type:"integer"`
10892
10893	// Sample rate in hz.
10894	SampleRate *int64 `locationName:"sampleRate" min:"32000" type:"integer"`
10895}
10896
10897// String returns the string representation
10898func (s Mp2Settings) String() string {
10899	return awsutil.Prettify(s)
10900}
10901
10902// GoString returns the string representation
10903func (s Mp2Settings) GoString() string {
10904	return s.String()
10905}
10906
10907// Validate inspects the fields of the type to determine if they are valid.
10908func (s *Mp2Settings) Validate() error {
10909	invalidParams := request.ErrInvalidParams{Context: "Mp2Settings"}
10910	if s.Bitrate != nil && *s.Bitrate < 32000 {
10911		invalidParams.Add(request.NewErrParamMinValue("Bitrate", 32000))
10912	}
10913	if s.Channels != nil && *s.Channels < 1 {
10914		invalidParams.Add(request.NewErrParamMinValue("Channels", 1))
10915	}
10916	if s.SampleRate != nil && *s.SampleRate < 32000 {
10917		invalidParams.Add(request.NewErrParamMinValue("SampleRate", 32000))
10918	}
10919
10920	if invalidParams.Len() > 0 {
10921		return invalidParams
10922	}
10923	return nil
10924}
10925
10926// SetBitrate sets the Bitrate field's value.
10927func (s *Mp2Settings) SetBitrate(v int64) *Mp2Settings {
10928	s.Bitrate = &v
10929	return s
10930}
10931
10932// SetChannels sets the Channels field's value.
10933func (s *Mp2Settings) SetChannels(v int64) *Mp2Settings {
10934	s.Channels = &v
10935	return s
10936}
10937
10938// SetSampleRate sets the SampleRate field's value.
10939func (s *Mp2Settings) SetSampleRate(v int64) *Mp2Settings {
10940	s.SampleRate = &v
10941	return s
10942}
10943
10944// Settings for MP4 Container
10945type Mp4Settings struct {
10946	_ struct{} `type:"structure"`
10947
10948	// When enabled, file composition times will start at zero, composition times
10949	// in the 'ctts' (composition time to sample) box for B-frames will be negative,
10950	// and a 'cslg' (composition shift least greatest) box will be included per
10951	// 14496-1 amendment 1. This improves compatibility with Apple players and tools.
10952	CslgAtom *string `locationName:"cslgAtom" type:"string" enum:"Mp4CslgAtom"`
10953
10954	// Inserts a free-space box immediately after the moov box.
10955	FreeSpaceBox *string `locationName:"freeSpaceBox" type:"string" enum:"Mp4FreeSpaceBox"`
10956
10957	// If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the beginning
10958	// of the archive as required for progressive downloading. Otherwise it is placed
10959	// normally at the end.
10960	MoovPlacement *string `locationName:"moovPlacement" type:"string" enum:"Mp4MoovPlacement"`
10961
10962	// Overrides the "Major Brand" field in the output file. Usually not necessary
10963	// to specify.
10964	Mp4MajorBrand *string `locationName:"mp4MajorBrand" type:"string"`
10965}
10966
10967// String returns the string representation
10968func (s Mp4Settings) String() string {
10969	return awsutil.Prettify(s)
10970}
10971
10972// GoString returns the string representation
10973func (s Mp4Settings) GoString() string {
10974	return s.String()
10975}
10976
10977// SetCslgAtom sets the CslgAtom field's value.
10978func (s *Mp4Settings) SetCslgAtom(v string) *Mp4Settings {
10979	s.CslgAtom = &v
10980	return s
10981}
10982
10983// SetFreeSpaceBox sets the FreeSpaceBox field's value.
10984func (s *Mp4Settings) SetFreeSpaceBox(v string) *Mp4Settings {
10985	s.FreeSpaceBox = &v
10986	return s
10987}
10988
10989// SetMoovPlacement sets the MoovPlacement field's value.
10990func (s *Mp4Settings) SetMoovPlacement(v string) *Mp4Settings {
10991	s.MoovPlacement = &v
10992	return s
10993}
10994
10995// SetMp4MajorBrand sets the Mp4MajorBrand field's value.
10996func (s *Mp4Settings) SetMp4MajorBrand(v string) *Mp4Settings {
10997	s.Mp4MajorBrand = &v
10998	return s
10999}
11000
11001// Required when you set (Codec) under (VideoDescription)>(CodecSettings) to
11002// the value MPEG2.
11003type Mpeg2Settings struct {
11004	_ struct{} `type:"structure"`
11005
11006	// Adaptive quantization. Allows intra-frame quantizers to vary to improve visual
11007	// quality.
11008	AdaptiveQuantization *string `locationName:"adaptiveQuantization" type:"string" enum:"Mpeg2AdaptiveQuantization"`
11009
11010	// Average bitrate in bits/second. Required for VBR and CBR. For MS Smooth outputs,
11011	// bitrates must be unique when rounded down to the nearest multiple of 1000.
11012	Bitrate *int64 `locationName:"bitrate" min:"1000" type:"integer"`
11013
11014	// Use Level (Mpeg2CodecLevel) to set the MPEG-2 level for the video output.
11015	CodecLevel *string `locationName:"codecLevel" type:"string" enum:"Mpeg2CodecLevel"`
11016
11017	// Use Profile (Mpeg2CodecProfile) to set the MPEG-2 profile for the video output.
11018	CodecProfile *string `locationName:"codecProfile" type:"string" enum:"Mpeg2CodecProfile"`
11019
11020	// Choose Adaptive to improve subjective video quality for high-motion content.
11021	// This will cause the service to use fewer B-frames (which infer information
11022	// based on other frames) for high-motion portions of the video and more B-frames
11023	// for low-motion portions. The maximum number of B-frames is limited by the
11024	// value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames).
11025	DynamicSubGop *string `locationName:"dynamicSubGop" type:"string" enum:"Mpeg2DynamicSubGop"`
11026
11027	// If you are using the console, use the Framerate setting to specify the framerate
11028	// for this output. If you want to keep the same framerate as the input video,
11029	// choose Follow source. If you want to do framerate conversion, choose a framerate
11030	// from the dropdown list or choose Custom. The framerates shown in the dropdown
11031	// list are decimal approximations of fractions. If you choose Custom, specify
11032	// your framerate as a fraction. If you are creating your transcoding job sepecification
11033	// as a JSON file without the console, use FramerateControl to specify which
11034	// value the service uses for the framerate for this output. Choose INITIALIZE_FROM_SOURCE
11035	// if you want the service to use the framerate from the input. Choose SPECIFIED
11036	// if you want the service to use the framerate you specify in the settings
11037	// FramerateNumerator and FramerateDenominator.
11038	FramerateControl *string `locationName:"framerateControl" type:"string" enum:"Mpeg2FramerateControl"`
11039
11040	// When set to INTERPOLATE, produces smoother motion during framerate conversion.
11041	FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"Mpeg2FramerateConversionAlgorithm"`
11042
11043	// Framerate denominator.
11044	FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"`
11045
11046	// Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976
11047	// fps.
11048	FramerateNumerator *int64 `locationName:"framerateNumerator" min:"24" type:"integer"`
11049
11050	// Frequency of closed GOPs. In streaming applications, it is recommended that
11051	// this be set to 1 so a decoder joining mid-stream will receive an IDR frame
11052	// as quickly as possible. Setting this value to 0 will break output segmenting.
11053	GopClosedCadence *int64 `locationName:"gopClosedCadence" type:"integer"`
11054
11055	// GOP Length (keyframe interval) in frames or seconds. Must be greater than
11056	// zero.
11057	GopSize *float64 `locationName:"gopSize" type:"double"`
11058
11059	// Indicates if the GOP Size in MPEG2 is specified in frames or seconds. If
11060	// seconds the system will convert the GOP Size into a frame count at run time.
11061	GopSizeUnits *string `locationName:"gopSizeUnits" type:"string" enum:"Mpeg2GopSizeUnits"`
11062
11063	// Percentage of the buffer that should initially be filled (HRD buffer model).
11064	HrdBufferInitialFillPercentage *int64 `locationName:"hrdBufferInitialFillPercentage" type:"integer"`
11065
11066	// Size of buffer (HRD buffer model) in bits. For example, enter five megabits
11067	// as 5000000.
11068	HrdBufferSize *int64 `locationName:"hrdBufferSize" type:"integer"`
11069
11070	// Use Interlace mode (InterlaceMode) to choose the scan line type for the output.
11071	// * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce
11072	// interlaced output with the entire output having the same field polarity (top
11073	// or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default
11074	// Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore,
11075	// behavior depends on the input scan type. - If the source is interlaced, the
11076	// output will be interlaced with the same polarity as the source (it will follow
11077	// the source). The output could therefore be a mix of "top field first" and
11078	// "bottom field first". - If the source is progressive, the output will be
11079	// interlaced with "top field first" or "bottom field first" polarity, depending
11080	// on which of the Follow options you chose.
11081	InterlaceMode *string `locationName:"interlaceMode" type:"string" enum:"Mpeg2InterlaceMode"`
11082
11083	// Use Intra DC precision (Mpeg2IntraDcPrecision) to set quantization precision
11084	// for intra-block DC coefficients. If you choose the value auto, the service
11085	// will automatically select the precision based on the per-frame compression
11086	// ratio.
11087	IntraDcPrecision *string `locationName:"intraDcPrecision" type:"string" enum:"Mpeg2IntraDcPrecision"`
11088
11089	// Maximum bitrate in bits/second. For example, enter five megabits per second
11090	// as 5000000.
11091	MaxBitrate *int64 `locationName:"maxBitrate" min:"1000" type:"integer"`
11092
11093	// Enforces separation between repeated (cadence) I-frames and I-frames inserted
11094	// by Scene Change Detection. If a scene change I-frame is within I-interval
11095	// frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene
11096	// change I-frame. GOP stretch requires enabling lookahead as well as setting
11097	// I-interval. The normal cadence resumes for the next GOP. This setting is
11098	// only used when Scene Change Detect is enabled. Note: Maximum GOP stretch
11099	// = GOP size + Min-I-interval - 1
11100	MinIInterval *int64 `locationName:"minIInterval" type:"integer"`
11101
11102	// Number of B-frames between reference frames.
11103	NumberBFramesBetweenReferenceFrames *int64 `locationName:"numberBFramesBetweenReferenceFrames" type:"integer"`
11104
11105	// Using the API, enable ParFollowSource if you want the service to use the
11106	// pixel aspect ratio from the input. Using the console, do this by choosing
11107	// Follow source for Pixel aspect ratio.
11108	ParControl *string `locationName:"parControl" type:"string" enum:"Mpeg2ParControl"`
11109
11110	// Pixel Aspect Ratio denominator.
11111	ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"`
11112
11113	// Pixel Aspect Ratio numerator.
11114	ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"`
11115
11116	// Use Quality tuning level (Mpeg2QualityTuningLevel) to specifiy whether to
11117	// use single-pass or multipass video encoding.
11118	QualityTuningLevel *string `locationName:"qualityTuningLevel" type:"string" enum:"Mpeg2QualityTuningLevel"`
11119
11120	// Use Rate control mode (Mpeg2RateControlMode) to specifiy whether the bitrate
11121	// is variable (vbr) or constant (cbr).
11122	RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"Mpeg2RateControlMode"`
11123
11124	// Scene change detection (inserts I-frames on scene changes).
11125	SceneChangeDetect *string `locationName:"sceneChangeDetect" type:"string" enum:"Mpeg2SceneChangeDetect"`
11126
11127	// Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled
11128	// as 25fps, and audio is sped up correspondingly.
11129	SlowPal *string `locationName:"slowPal" type:"string" enum:"Mpeg2SlowPal"`
11130
11131	// Softness. Selects quantizer matrix, larger values reduce high-frequency content
11132	// in the encoded image.
11133	Softness *int64 `locationName:"softness" type:"integer"`
11134
11135	// Adjust quantization within each frame based on spatial variation of content
11136	// complexity.
11137	SpatialAdaptiveQuantization *string `locationName:"spatialAdaptiveQuantization" type:"string" enum:"Mpeg2SpatialAdaptiveQuantization"`
11138
11139	// Produces a Type D-10 compatible bitstream (SMPTE 356M-2001).
11140	Syntax *string `locationName:"syntax" type:"string" enum:"Mpeg2Syntax"`
11141
11142	// Only use Telecine (Mpeg2Telecine) when you set Framerate (Framerate) to 29.970.
11143	// Set Telecine (Mpeg2Telecine) to Hard (hard) to produce a 29.97i output from
11144	// a 23.976 input. Set it to Soft (soft) to produce 23.976 output and leave
11145	// converstion to the player.
11146	Telecine *string `locationName:"telecine" type:"string" enum:"Mpeg2Telecine"`
11147
11148	// Adjust quantization within each frame based on temporal variation of content
11149	// complexity.
11150	TemporalAdaptiveQuantization *string `locationName:"temporalAdaptiveQuantization" type:"string" enum:"Mpeg2TemporalAdaptiveQuantization"`
11151}
11152
11153// String returns the string representation
11154func (s Mpeg2Settings) String() string {
11155	return awsutil.Prettify(s)
11156}
11157
11158// GoString returns the string representation
11159func (s Mpeg2Settings) GoString() string {
11160	return s.String()
11161}
11162
11163// Validate inspects the fields of the type to determine if they are valid.
11164func (s *Mpeg2Settings) Validate() error {
11165	invalidParams := request.ErrInvalidParams{Context: "Mpeg2Settings"}
11166	if s.Bitrate != nil && *s.Bitrate < 1000 {
11167		invalidParams.Add(request.NewErrParamMinValue("Bitrate", 1000))
11168	}
11169	if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 {
11170		invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1))
11171	}
11172	if s.FramerateNumerator != nil && *s.FramerateNumerator < 24 {
11173		invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 24))
11174	}
11175	if s.MaxBitrate != nil && *s.MaxBitrate < 1000 {
11176		invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 1000))
11177	}
11178	if s.ParDenominator != nil && *s.ParDenominator < 1 {
11179		invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1))
11180	}
11181	if s.ParNumerator != nil && *s.ParNumerator < 1 {
11182		invalidParams.Add(request.NewErrParamMinValue("ParNumerator", 1))
11183	}
11184
11185	if invalidParams.Len() > 0 {
11186		return invalidParams
11187	}
11188	return nil
11189}
11190
11191// SetAdaptiveQuantization sets the AdaptiveQuantization field's value.
11192func (s *Mpeg2Settings) SetAdaptiveQuantization(v string) *Mpeg2Settings {
11193	s.AdaptiveQuantization = &v
11194	return s
11195}
11196
11197// SetBitrate sets the Bitrate field's value.
11198func (s *Mpeg2Settings) SetBitrate(v int64) *Mpeg2Settings {
11199	s.Bitrate = &v
11200	return s
11201}
11202
11203// SetCodecLevel sets the CodecLevel field's value.
11204func (s *Mpeg2Settings) SetCodecLevel(v string) *Mpeg2Settings {
11205	s.CodecLevel = &v
11206	return s
11207}
11208
11209// SetCodecProfile sets the CodecProfile field's value.
11210func (s *Mpeg2Settings) SetCodecProfile(v string) *Mpeg2Settings {
11211	s.CodecProfile = &v
11212	return s
11213}
11214
11215// SetDynamicSubGop sets the DynamicSubGop field's value.
11216func (s *Mpeg2Settings) SetDynamicSubGop(v string) *Mpeg2Settings {
11217	s.DynamicSubGop = &v
11218	return s
11219}
11220
11221// SetFramerateControl sets the FramerateControl field's value.
11222func (s *Mpeg2Settings) SetFramerateControl(v string) *Mpeg2Settings {
11223	s.FramerateControl = &v
11224	return s
11225}
11226
11227// SetFramerateConversionAlgorithm sets the FramerateConversionAlgorithm field's value.
11228func (s *Mpeg2Settings) SetFramerateConversionAlgorithm(v string) *Mpeg2Settings {
11229	s.FramerateConversionAlgorithm = &v
11230	return s
11231}
11232
11233// SetFramerateDenominator sets the FramerateDenominator field's value.
11234func (s *Mpeg2Settings) SetFramerateDenominator(v int64) *Mpeg2Settings {
11235	s.FramerateDenominator = &v
11236	return s
11237}
11238
11239// SetFramerateNumerator sets the FramerateNumerator field's value.
11240func (s *Mpeg2Settings) SetFramerateNumerator(v int64) *Mpeg2Settings {
11241	s.FramerateNumerator = &v
11242	return s
11243}
11244
11245// SetGopClosedCadence sets the GopClosedCadence field's value.
11246func (s *Mpeg2Settings) SetGopClosedCadence(v int64) *Mpeg2Settings {
11247	s.GopClosedCadence = &v
11248	return s
11249}
11250
11251// SetGopSize sets the GopSize field's value.
11252func (s *Mpeg2Settings) SetGopSize(v float64) *Mpeg2Settings {
11253	s.GopSize = &v
11254	return s
11255}
11256
11257// SetGopSizeUnits sets the GopSizeUnits field's value.
11258func (s *Mpeg2Settings) SetGopSizeUnits(v string) *Mpeg2Settings {
11259	s.GopSizeUnits = &v
11260	return s
11261}
11262
11263// SetHrdBufferInitialFillPercentage sets the HrdBufferInitialFillPercentage field's value.
11264func (s *Mpeg2Settings) SetHrdBufferInitialFillPercentage(v int64) *Mpeg2Settings {
11265	s.HrdBufferInitialFillPercentage = &v
11266	return s
11267}
11268
11269// SetHrdBufferSize sets the HrdBufferSize field's value.
11270func (s *Mpeg2Settings) SetHrdBufferSize(v int64) *Mpeg2Settings {
11271	s.HrdBufferSize = &v
11272	return s
11273}
11274
11275// SetInterlaceMode sets the InterlaceMode field's value.
11276func (s *Mpeg2Settings) SetInterlaceMode(v string) *Mpeg2Settings {
11277	s.InterlaceMode = &v
11278	return s
11279}
11280
11281// SetIntraDcPrecision sets the IntraDcPrecision field's value.
11282func (s *Mpeg2Settings) SetIntraDcPrecision(v string) *Mpeg2Settings {
11283	s.IntraDcPrecision = &v
11284	return s
11285}
11286
11287// SetMaxBitrate sets the MaxBitrate field's value.
11288func (s *Mpeg2Settings) SetMaxBitrate(v int64) *Mpeg2Settings {
11289	s.MaxBitrate = &v
11290	return s
11291}
11292
11293// SetMinIInterval sets the MinIInterval field's value.
11294func (s *Mpeg2Settings) SetMinIInterval(v int64) *Mpeg2Settings {
11295	s.MinIInterval = &v
11296	return s
11297}
11298
11299// SetNumberBFramesBetweenReferenceFrames sets the NumberBFramesBetweenReferenceFrames field's value.
11300func (s *Mpeg2Settings) SetNumberBFramesBetweenReferenceFrames(v int64) *Mpeg2Settings {
11301	s.NumberBFramesBetweenReferenceFrames = &v
11302	return s
11303}
11304
11305// SetParControl sets the ParControl field's value.
11306func (s *Mpeg2Settings) SetParControl(v string) *Mpeg2Settings {
11307	s.ParControl = &v
11308	return s
11309}
11310
11311// SetParDenominator sets the ParDenominator field's value.
11312func (s *Mpeg2Settings) SetParDenominator(v int64) *Mpeg2Settings {
11313	s.ParDenominator = &v
11314	return s
11315}
11316
11317// SetParNumerator sets the ParNumerator field's value.
11318func (s *Mpeg2Settings) SetParNumerator(v int64) *Mpeg2Settings {
11319	s.ParNumerator = &v
11320	return s
11321}
11322
11323// SetQualityTuningLevel sets the QualityTuningLevel field's value.
11324func (s *Mpeg2Settings) SetQualityTuningLevel(v string) *Mpeg2Settings {
11325	s.QualityTuningLevel = &v
11326	return s
11327}
11328
11329// SetRateControlMode sets the RateControlMode field's value.
11330func (s *Mpeg2Settings) SetRateControlMode(v string) *Mpeg2Settings {
11331	s.RateControlMode = &v
11332	return s
11333}
11334
11335// SetSceneChangeDetect sets the SceneChangeDetect field's value.
11336func (s *Mpeg2Settings) SetSceneChangeDetect(v string) *Mpeg2Settings {
11337	s.SceneChangeDetect = &v
11338	return s
11339}
11340
11341// SetSlowPal sets the SlowPal field's value.
11342func (s *Mpeg2Settings) SetSlowPal(v string) *Mpeg2Settings {
11343	s.SlowPal = &v
11344	return s
11345}
11346
11347// SetSoftness sets the Softness field's value.
11348func (s *Mpeg2Settings) SetSoftness(v int64) *Mpeg2Settings {
11349	s.Softness = &v
11350	return s
11351}
11352
11353// SetSpatialAdaptiveQuantization sets the SpatialAdaptiveQuantization field's value.
11354func (s *Mpeg2Settings) SetSpatialAdaptiveQuantization(v string) *Mpeg2Settings {
11355	s.SpatialAdaptiveQuantization = &v
11356	return s
11357}
11358
11359// SetSyntax sets the Syntax field's value.
11360func (s *Mpeg2Settings) SetSyntax(v string) *Mpeg2Settings {
11361	s.Syntax = &v
11362	return s
11363}
11364
11365// SetTelecine sets the Telecine field's value.
11366func (s *Mpeg2Settings) SetTelecine(v string) *Mpeg2Settings {
11367	s.Telecine = &v
11368	return s
11369}
11370
11371// SetTemporalAdaptiveQuantization sets the TemporalAdaptiveQuantization field's value.
11372func (s *Mpeg2Settings) SetTemporalAdaptiveQuantization(v string) *Mpeg2Settings {
11373	s.TemporalAdaptiveQuantization = &v
11374	return s
11375}
11376
11377// If you are using DRM, set DRM System (MsSmoothEncryptionSettings) to specify
11378// the value SpekeKeyProvider.
11379type MsSmoothEncryptionSettings struct {
11380	_ struct{} `type:"structure"`
11381
11382	// Settings for use with a SPEKE key provider
11383	//
11384	// SpekeKeyProvider is a required field
11385	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"`
11386}
11387
11388// String returns the string representation
11389func (s MsSmoothEncryptionSettings) String() string {
11390	return awsutil.Prettify(s)
11391}
11392
11393// GoString returns the string representation
11394func (s MsSmoothEncryptionSettings) GoString() string {
11395	return s.String()
11396}
11397
11398// Validate inspects the fields of the type to determine if they are valid.
11399func (s *MsSmoothEncryptionSettings) Validate() error {
11400	invalidParams := request.ErrInvalidParams{Context: "MsSmoothEncryptionSettings"}
11401	if s.SpekeKeyProvider == nil {
11402		invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider"))
11403	}
11404	if s.SpekeKeyProvider != nil {
11405		if err := s.SpekeKeyProvider.Validate(); err != nil {
11406			invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams))
11407		}
11408	}
11409
11410	if invalidParams.Len() > 0 {
11411		return invalidParams
11412	}
11413	return nil
11414}
11415
11416// SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
11417func (s *MsSmoothEncryptionSettings) SetSpekeKeyProvider(v *SpekeKeyProvider) *MsSmoothEncryptionSettings {
11418	s.SpekeKeyProvider = v
11419	return s
11420}
11421
11422// Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to
11423// MS_SMOOTH_GROUP_SETTINGS.
11424type MsSmoothGroupSettings struct {
11425	_ struct{} `type:"structure"`
11426
11427	// COMBINE_DUPLICATE_STREAMS combines identical audio encoding settings across
11428	// a Microsoft Smooth output group into a single audio stream.
11429	AudioDeduplication *string `locationName:"audioDeduplication" type:"string" enum:"MsSmoothAudioDeduplication"`
11430
11431	// Use Destination (Destination) to specify the S3 output location and the output
11432	// filename base. Destination accepts format identifiers. If you do not specify
11433	// the base filename in the URI, the service will use the filename of the input
11434	// file. If your job has multiple inputs, the service uses the filename of the
11435	// first input file.
11436	Destination *string `locationName:"destination" type:"string"`
11437
11438	// If you are using DRM, set DRM System (MsSmoothEncryptionSettings) to specify
11439	// the value SpekeKeyProvider.
11440	Encryption *MsSmoothEncryptionSettings `locationName:"encryption" type:"structure"`
11441
11442	// Use Fragment length (FragmentLength) to specify the mp4 fragment sizes in
11443	// seconds. Fragment length must be compatible with GOP size and framerate.
11444	//
11445	// FragmentLength is a required field
11446	FragmentLength *int64 `locationName:"fragmentLength" min:"1" type:"integer" required:"true"`
11447
11448	// Use Manifest encoding (MsSmoothManifestEncoding) to specify the encoding
11449	// format for the server and client manifest. Valid options are utf8 and utf16.
11450	ManifestEncoding *string `locationName:"manifestEncoding" type:"string" enum:"MsSmoothManifestEncoding"`
11451}
11452
11453// String returns the string representation
11454func (s MsSmoothGroupSettings) String() string {
11455	return awsutil.Prettify(s)
11456}
11457
11458// GoString returns the string representation
11459func (s MsSmoothGroupSettings) GoString() string {
11460	return s.String()
11461}
11462
11463// Validate inspects the fields of the type to determine if they are valid.
11464func (s *MsSmoothGroupSettings) Validate() error {
11465	invalidParams := request.ErrInvalidParams{Context: "MsSmoothGroupSettings"}
11466	if s.FragmentLength == nil {
11467		invalidParams.Add(request.NewErrParamRequired("FragmentLength"))
11468	}
11469	if s.FragmentLength != nil && *s.FragmentLength < 1 {
11470		invalidParams.Add(request.NewErrParamMinValue("FragmentLength", 1))
11471	}
11472	if s.Encryption != nil {
11473		if err := s.Encryption.Validate(); err != nil {
11474			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
11475		}
11476	}
11477
11478	if invalidParams.Len() > 0 {
11479		return invalidParams
11480	}
11481	return nil
11482}
11483
11484// SetAudioDeduplication sets the AudioDeduplication field's value.
11485func (s *MsSmoothGroupSettings) SetAudioDeduplication(v string) *MsSmoothGroupSettings {
11486	s.AudioDeduplication = &v
11487	return s
11488}
11489
11490// SetDestination sets the Destination field's value.
11491func (s *MsSmoothGroupSettings) SetDestination(v string) *MsSmoothGroupSettings {
11492	s.Destination = &v
11493	return s
11494}
11495
11496// SetEncryption sets the Encryption field's value.
11497func (s *MsSmoothGroupSettings) SetEncryption(v *MsSmoothEncryptionSettings) *MsSmoothGroupSettings {
11498	s.Encryption = v
11499	return s
11500}
11501
11502// SetFragmentLength sets the FragmentLength field's value.
11503func (s *MsSmoothGroupSettings) SetFragmentLength(v int64) *MsSmoothGroupSettings {
11504	s.FragmentLength = &v
11505	return s
11506}
11507
11508// SetManifestEncoding sets the ManifestEncoding field's value.
11509func (s *MsSmoothGroupSettings) SetManifestEncoding(v string) *MsSmoothGroupSettings {
11510	s.ManifestEncoding = &v
11511	return s
11512}
11513
11514// Settings for Nielsen Configuration
11515type NielsenConfiguration struct {
11516	_ struct{} `type:"structure"`
11517
11518	// Use Nielsen Configuration (NielsenConfiguration) to set the Nielsen measurement
11519	// system breakout code. Supported values are 0, 3, 7, and 9.
11520	BreakoutCode *int64 `locationName:"breakoutCode" type:"integer"`
11521
11522	// Use Distributor ID (DistributorID) to specify the distributor ID that is
11523	// assigned to your organization by Neilsen.
11524	DistributorId *string `locationName:"distributorId" type:"string"`
11525}
11526
11527// String returns the string representation
11528func (s NielsenConfiguration) String() string {
11529	return awsutil.Prettify(s)
11530}
11531
11532// GoString returns the string representation
11533func (s NielsenConfiguration) GoString() string {
11534	return s.String()
11535}
11536
11537// SetBreakoutCode sets the BreakoutCode field's value.
11538func (s *NielsenConfiguration) SetBreakoutCode(v int64) *NielsenConfiguration {
11539	s.BreakoutCode = &v
11540	return s
11541}
11542
11543// SetDistributorId sets the DistributorId field's value.
11544func (s *NielsenConfiguration) SetDistributorId(v string) *NielsenConfiguration {
11545	s.DistributorId = &v
11546	return s
11547}
11548
11549// Enable the Noise reducer (NoiseReducer) feature to remove noise from your
11550// video output if necessary. Enable or disable this feature for each output
11551// individually. This setting is disabled by default. When you enable Noise
11552// reducer (NoiseReducer), you must also select a value for Noise reducer filter
11553// (NoiseReducerFilter).
11554type NoiseReducer struct {
11555	_ struct{} `type:"structure"`
11556
11557	// Use Noise reducer filter (NoiseReducerFilter) to select one of the following
11558	// spatial image filtering functions. To use this setting, you must also enable
11559	// Noise reducer (NoiseReducer). * Bilateral is an edge preserving noise reduction
11560	// filter. * Mean (softest), Gaussian, Lanczos, and Sharpen (sharpest) are convolution
11561	// filters. * Conserve is a min/max noise reduction filter. * Spatial is a frequency-domain
11562	// filter based on JND principles.
11563	//
11564	// Filter is a required field
11565	Filter *string `locationName:"filter" type:"string" required:"true" enum:"NoiseReducerFilter"`
11566
11567	// Settings for a noise reducer filter
11568	FilterSettings *NoiseReducerFilterSettings `locationName:"filterSettings" type:"structure"`
11569
11570	// Noise reducer filter settings for spatial filter.
11571	SpatialFilterSettings *NoiseReducerSpatialFilterSettings `locationName:"spatialFilterSettings" type:"structure"`
11572}
11573
11574// String returns the string representation
11575func (s NoiseReducer) String() string {
11576	return awsutil.Prettify(s)
11577}
11578
11579// GoString returns the string representation
11580func (s NoiseReducer) GoString() string {
11581	return s.String()
11582}
11583
11584// Validate inspects the fields of the type to determine if they are valid.
11585func (s *NoiseReducer) Validate() error {
11586	invalidParams := request.ErrInvalidParams{Context: "NoiseReducer"}
11587	if s.Filter == nil {
11588		invalidParams.Add(request.NewErrParamRequired("Filter"))
11589	}
11590	if s.SpatialFilterSettings != nil {
11591		if err := s.SpatialFilterSettings.Validate(); err != nil {
11592			invalidParams.AddNested("SpatialFilterSettings", err.(request.ErrInvalidParams))
11593		}
11594	}
11595
11596	if invalidParams.Len() > 0 {
11597		return invalidParams
11598	}
11599	return nil
11600}
11601
11602// SetFilter sets the Filter field's value.
11603func (s *NoiseReducer) SetFilter(v string) *NoiseReducer {
11604	s.Filter = &v
11605	return s
11606}
11607
11608// SetFilterSettings sets the FilterSettings field's value.
11609func (s *NoiseReducer) SetFilterSettings(v *NoiseReducerFilterSettings) *NoiseReducer {
11610	s.FilterSettings = v
11611	return s
11612}
11613
11614// SetSpatialFilterSettings sets the SpatialFilterSettings field's value.
11615func (s *NoiseReducer) SetSpatialFilterSettings(v *NoiseReducerSpatialFilterSettings) *NoiseReducer {
11616	s.SpatialFilterSettings = v
11617	return s
11618}
11619
11620// Settings for a noise reducer filter
11621type NoiseReducerFilterSettings struct {
11622	_ struct{} `type:"structure"`
11623
11624	// Relative strength of noise reducing filter. Higher values produce stronger
11625	// filtering.
11626	Strength *int64 `locationName:"strength" type:"integer"`
11627}
11628
11629// String returns the string representation
11630func (s NoiseReducerFilterSettings) String() string {
11631	return awsutil.Prettify(s)
11632}
11633
11634// GoString returns the string representation
11635func (s NoiseReducerFilterSettings) GoString() string {
11636	return s.String()
11637}
11638
11639// SetStrength sets the Strength field's value.
11640func (s *NoiseReducerFilterSettings) SetStrength(v int64) *NoiseReducerFilterSettings {
11641	s.Strength = &v
11642	return s
11643}
11644
11645// Noise reducer filter settings for spatial filter.
11646type NoiseReducerSpatialFilterSettings struct {
11647	_ struct{} `type:"structure"`
11648
11649	// Specify strength of post noise reduction sharpening filter, with 0 disabling
11650	// the filter and 3 enabling it at maximum strength.
11651	PostFilterSharpenStrength *int64 `locationName:"postFilterSharpenStrength" type:"integer"`
11652
11653	// The speed of the filter, from -2 (lower speed) to 3 (higher speed), with
11654	// 0 being the nominal value.
11655	Speed *int64 `locationName:"speed" type:"integer"`
11656
11657	// Relative strength of noise reducing filter. Higher values produce stronger
11658	// filtering.
11659	Strength *int64 `locationName:"strength" type:"integer"`
11660}
11661
11662// String returns the string representation
11663func (s NoiseReducerSpatialFilterSettings) String() string {
11664	return awsutil.Prettify(s)
11665}
11666
11667// GoString returns the string representation
11668func (s NoiseReducerSpatialFilterSettings) GoString() string {
11669	return s.String()
11670}
11671
11672// Validate inspects the fields of the type to determine if they are valid.
11673func (s *NoiseReducerSpatialFilterSettings) Validate() error {
11674	invalidParams := request.ErrInvalidParams{Context: "NoiseReducerSpatialFilterSettings"}
11675	if s.Speed != nil && *s.Speed < -2 {
11676		invalidParams.Add(request.NewErrParamMinValue("Speed", -2))
11677	}
11678
11679	if invalidParams.Len() > 0 {
11680		return invalidParams
11681	}
11682	return nil
11683}
11684
11685// SetPostFilterSharpenStrength sets the PostFilterSharpenStrength field's value.
11686func (s *NoiseReducerSpatialFilterSettings) SetPostFilterSharpenStrength(v int64) *NoiseReducerSpatialFilterSettings {
11687	s.PostFilterSharpenStrength = &v
11688	return s
11689}
11690
11691// SetSpeed sets the Speed field's value.
11692func (s *NoiseReducerSpatialFilterSettings) SetSpeed(v int64) *NoiseReducerSpatialFilterSettings {
11693	s.Speed = &v
11694	return s
11695}
11696
11697// SetStrength sets the Strength field's value.
11698func (s *NoiseReducerSpatialFilterSettings) SetStrength(v int64) *NoiseReducerSpatialFilterSettings {
11699	s.Strength = &v
11700	return s
11701}
11702
11703// An output object describes the settings for a single output file or stream
11704// in an output group.
11705type Output struct {
11706	_ struct{} `type:"structure"`
11707
11708	// (AudioDescriptions) contains groups of audio encoding settings organized
11709	// by audio codec. Include one instance of (AudioDescriptions) per output. (AudioDescriptions)
11710	// can contain multiple groups of encoding settings.
11711	AudioDescriptions []*AudioDescription `locationName:"audioDescriptions" type:"list"`
11712
11713	// (CaptionDescriptions) contains groups of captions settings. For each output
11714	// that has captions, include one instance of (CaptionDescriptions). (CaptionDescriptions)
11715	// can contain multiple groups of captions settings.
11716	CaptionDescriptions []*CaptionDescription `locationName:"captionDescriptions" type:"list"`
11717
11718	// Container specific settings.
11719	ContainerSettings *ContainerSettings `locationName:"containerSettings" type:"structure"`
11720
11721	// Use Extension (Extension) to specify the file extension for outputs in File
11722	// output groups. If you do not specify a value, the service will use default
11723	// extensions by container type as follows * MPEG-2 transport stream, m2ts *
11724	// Quicktime, mov * MXF container, mxf * MPEG-4 container, mp4 * No Container,
11725	// the service will use codec extensions (e.g. AAC, H265, H265, AC3)
11726	Extension *string `locationName:"extension" type:"string"`
11727
11728	// Use Name modifier (NameModifier) to have the service add a string to the
11729	// end of each output filename. You specify the base filename as part of your
11730	// destination URI. When you create multiple outputs in the same output group,
11731	// Name modifier (NameModifier) is required. Name modifier also accepts format
11732	// identifiers. For DASH ISO outputs, if you use the format identifiers $Number$
11733	// or $Time$ in one output, you must use them in the same way in all outputs
11734	// of the output group.
11735	NameModifier *string `locationName:"nameModifier" min:"1" type:"string"`
11736
11737	// Specific settings for this type of output.
11738	OutputSettings *OutputSettings `locationName:"outputSettings" type:"structure"`
11739
11740	// Use Preset (Preset) to specifiy a preset for your transcoding settings. Provide
11741	// the system or custom preset name. You can specify either Preset (Preset)
11742	// or Container settings (ContainerSettings), but not both.
11743	Preset *string `locationName:"preset" type:"string"`
11744
11745	// (VideoDescription) contains a group of video encoding settings. The specific
11746	// video settings depend on the video codec you choose when you specify a value
11747	// for Video codec (codec). Include one instance of (VideoDescription) per output.
11748	VideoDescription *VideoDescription `locationName:"videoDescription" type:"structure"`
11749}
11750
11751// String returns the string representation
11752func (s Output) String() string {
11753	return awsutil.Prettify(s)
11754}
11755
11756// GoString returns the string representation
11757func (s Output) GoString() string {
11758	return s.String()
11759}
11760
11761// Validate inspects the fields of the type to determine if they are valid.
11762func (s *Output) Validate() error {
11763	invalidParams := request.ErrInvalidParams{Context: "Output"}
11764	if s.NameModifier != nil && len(*s.NameModifier) < 1 {
11765		invalidParams.Add(request.NewErrParamMinLen("NameModifier", 1))
11766	}
11767	if s.AudioDescriptions != nil {
11768		for i, v := range s.AudioDescriptions {
11769			if v == nil {
11770				continue
11771			}
11772			if err := v.Validate(); err != nil {
11773				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioDescriptions", i), err.(request.ErrInvalidParams))
11774			}
11775		}
11776	}
11777	if s.CaptionDescriptions != nil {
11778		for i, v := range s.CaptionDescriptions {
11779			if v == nil {
11780				continue
11781			}
11782			if err := v.Validate(); err != nil {
11783				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionDescriptions", i), err.(request.ErrInvalidParams))
11784			}
11785		}
11786	}
11787	if s.ContainerSettings != nil {
11788		if err := s.ContainerSettings.Validate(); err != nil {
11789			invalidParams.AddNested("ContainerSettings", err.(request.ErrInvalidParams))
11790		}
11791	}
11792	if s.VideoDescription != nil {
11793		if err := s.VideoDescription.Validate(); err != nil {
11794			invalidParams.AddNested("VideoDescription", err.(request.ErrInvalidParams))
11795		}
11796	}
11797
11798	if invalidParams.Len() > 0 {
11799		return invalidParams
11800	}
11801	return nil
11802}
11803
11804// SetAudioDescriptions sets the AudioDescriptions field's value.
11805func (s *Output) SetAudioDescriptions(v []*AudioDescription) *Output {
11806	s.AudioDescriptions = v
11807	return s
11808}
11809
11810// SetCaptionDescriptions sets the CaptionDescriptions field's value.
11811func (s *Output) SetCaptionDescriptions(v []*CaptionDescription) *Output {
11812	s.CaptionDescriptions = v
11813	return s
11814}
11815
11816// SetContainerSettings sets the ContainerSettings field's value.
11817func (s *Output) SetContainerSettings(v *ContainerSettings) *Output {
11818	s.ContainerSettings = v
11819	return s
11820}
11821
11822// SetExtension sets the Extension field's value.
11823func (s *Output) SetExtension(v string) *Output {
11824	s.Extension = &v
11825	return s
11826}
11827
11828// SetNameModifier sets the NameModifier field's value.
11829func (s *Output) SetNameModifier(v string) *Output {
11830	s.NameModifier = &v
11831	return s
11832}
11833
11834// SetOutputSettings sets the OutputSettings field's value.
11835func (s *Output) SetOutputSettings(v *OutputSettings) *Output {
11836	s.OutputSettings = v
11837	return s
11838}
11839
11840// SetPreset sets the Preset field's value.
11841func (s *Output) SetPreset(v string) *Output {
11842	s.Preset = &v
11843	return s
11844}
11845
11846// SetVideoDescription sets the VideoDescription field's value.
11847func (s *Output) SetVideoDescription(v *VideoDescription) *Output {
11848	s.VideoDescription = v
11849	return s
11850}
11851
11852// OutputChannel mapping settings.
11853type OutputChannelMapping struct {
11854	_ struct{} `type:"structure"`
11855
11856	// List of input channels
11857	//
11858	// InputChannels is a required field
11859	InputChannels []*int64 `locationName:"inputChannels" type:"list" required:"true"`
11860}
11861
11862// String returns the string representation
11863func (s OutputChannelMapping) String() string {
11864	return awsutil.Prettify(s)
11865}
11866
11867// GoString returns the string representation
11868func (s OutputChannelMapping) GoString() string {
11869	return s.String()
11870}
11871
11872// Validate inspects the fields of the type to determine if they are valid.
11873func (s *OutputChannelMapping) Validate() error {
11874	invalidParams := request.ErrInvalidParams{Context: "OutputChannelMapping"}
11875	if s.InputChannels == nil {
11876		invalidParams.Add(request.NewErrParamRequired("InputChannels"))
11877	}
11878
11879	if invalidParams.Len() > 0 {
11880		return invalidParams
11881	}
11882	return nil
11883}
11884
11885// SetInputChannels sets the InputChannels field's value.
11886func (s *OutputChannelMapping) SetInputChannels(v []*int64) *OutputChannelMapping {
11887	s.InputChannels = v
11888	return s
11889}
11890
11891// Details regarding output
11892type OutputDetail struct {
11893	_ struct{} `type:"structure"`
11894
11895	// Duration in milliseconds
11896	DurationInMs *int64 `locationName:"durationInMs" type:"integer"`
11897
11898	// Contains details about the output's video stream
11899	VideoDetails *VideoDetail `locationName:"videoDetails" type:"structure"`
11900}
11901
11902// String returns the string representation
11903func (s OutputDetail) String() string {
11904	return awsutil.Prettify(s)
11905}
11906
11907// GoString returns the string representation
11908func (s OutputDetail) GoString() string {
11909	return s.String()
11910}
11911
11912// SetDurationInMs sets the DurationInMs field's value.
11913func (s *OutputDetail) SetDurationInMs(v int64) *OutputDetail {
11914	s.DurationInMs = &v
11915	return s
11916}
11917
11918// SetVideoDetails sets the VideoDetails field's value.
11919func (s *OutputDetail) SetVideoDetails(v *VideoDetail) *OutputDetail {
11920	s.VideoDetails = v
11921	return s
11922}
11923
11924// Group of outputs
11925type OutputGroup struct {
11926	_ struct{} `type:"structure"`
11927
11928	// Use Custom Group Name (CustomName) to specify a name for the output group.
11929	// This value is displayed on the console and can make your job settings JSON
11930	// more human-readable. It does not affect your outputs. Use up to twelve characters
11931	// that are either letters, numbers, spaces, or underscores.
11932	CustomName *string `locationName:"customName" type:"string"`
11933
11934	// Name of the output group
11935	Name *string `locationName:"name" type:"string"`
11936
11937	// Output Group settings, including type
11938	//
11939	// OutputGroupSettings is a required field
11940	OutputGroupSettings *OutputGroupSettings `locationName:"outputGroupSettings" type:"structure" required:"true"`
11941
11942	// This object holds groups of encoding settings, one group of settings per
11943	// output.
11944	//
11945	// Outputs is a required field
11946	Outputs []*Output `locationName:"outputs" type:"list" required:"true"`
11947}
11948
11949// String returns the string representation
11950func (s OutputGroup) String() string {
11951	return awsutil.Prettify(s)
11952}
11953
11954// GoString returns the string representation
11955func (s OutputGroup) GoString() string {
11956	return s.String()
11957}
11958
11959// Validate inspects the fields of the type to determine if they are valid.
11960func (s *OutputGroup) Validate() error {
11961	invalidParams := request.ErrInvalidParams{Context: "OutputGroup"}
11962	if s.OutputGroupSettings == nil {
11963		invalidParams.Add(request.NewErrParamRequired("OutputGroupSettings"))
11964	}
11965	if s.Outputs == nil {
11966		invalidParams.Add(request.NewErrParamRequired("Outputs"))
11967	}
11968	if s.OutputGroupSettings != nil {
11969		if err := s.OutputGroupSettings.Validate(); err != nil {
11970			invalidParams.AddNested("OutputGroupSettings", err.(request.ErrInvalidParams))
11971		}
11972	}
11973	if s.Outputs != nil {
11974		for i, v := range s.Outputs {
11975			if v == nil {
11976				continue
11977			}
11978			if err := v.Validate(); err != nil {
11979				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams))
11980			}
11981		}
11982	}
11983
11984	if invalidParams.Len() > 0 {
11985		return invalidParams
11986	}
11987	return nil
11988}
11989
11990// SetCustomName sets the CustomName field's value.
11991func (s *OutputGroup) SetCustomName(v string) *OutputGroup {
11992	s.CustomName = &v
11993	return s
11994}
11995
11996// SetName sets the Name field's value.
11997func (s *OutputGroup) SetName(v string) *OutputGroup {
11998	s.Name = &v
11999	return s
12000}
12001
12002// SetOutputGroupSettings sets the OutputGroupSettings field's value.
12003func (s *OutputGroup) SetOutputGroupSettings(v *OutputGroupSettings) *OutputGroup {
12004	s.OutputGroupSettings = v
12005	return s
12006}
12007
12008// SetOutputs sets the Outputs field's value.
12009func (s *OutputGroup) SetOutputs(v []*Output) *OutputGroup {
12010	s.Outputs = v
12011	return s
12012}
12013
12014// Contains details about the output groups specified in the job settings.
12015type OutputGroupDetail struct {
12016	_ struct{} `type:"structure"`
12017
12018	// Details about the output
12019	OutputDetails []*OutputDetail `locationName:"outputDetails" type:"list"`
12020}
12021
12022// String returns the string representation
12023func (s OutputGroupDetail) String() string {
12024	return awsutil.Prettify(s)
12025}
12026
12027// GoString returns the string representation
12028func (s OutputGroupDetail) GoString() string {
12029	return s.String()
12030}
12031
12032// SetOutputDetails sets the OutputDetails field's value.
12033func (s *OutputGroupDetail) SetOutputDetails(v []*OutputDetail) *OutputGroupDetail {
12034	s.OutputDetails = v
12035	return s
12036}
12037
12038// Output Group settings, including type
12039type OutputGroupSettings struct {
12040	_ struct{} `type:"structure"`
12041
12042	// Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to
12043	// CMAF_GROUP_SETTINGS. Each output in a CMAF Output Group may only contain
12044	// a single video, audio, or caption output.
12045	CmafGroupSettings *CmafGroupSettings `locationName:"cmafGroupSettings" type:"structure"`
12046
12047	// Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to
12048	// DASH_ISO_GROUP_SETTINGS.
12049	DashIsoGroupSettings *DashIsoGroupSettings `locationName:"dashIsoGroupSettings" type:"structure"`
12050
12051	// Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to
12052	// FILE_GROUP_SETTINGS.
12053	FileGroupSettings *FileGroupSettings `locationName:"fileGroupSettings" type:"structure"`
12054
12055	// Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to
12056	// HLS_GROUP_SETTINGS.
12057	HlsGroupSettings *HlsGroupSettings `locationName:"hlsGroupSettings" type:"structure"`
12058
12059	// Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to
12060	// MS_SMOOTH_GROUP_SETTINGS.
12061	MsSmoothGroupSettings *MsSmoothGroupSettings `locationName:"msSmoothGroupSettings" type:"structure"`
12062
12063	// Type of output group (File group, Apple HLS, DASH ISO, Microsoft Smooth Streaming,
12064	// CMAF)
12065	//
12066	// Type is a required field
12067	Type *string `locationName:"type" type:"string" required:"true" enum:"OutputGroupType"`
12068}
12069
12070// String returns the string representation
12071func (s OutputGroupSettings) String() string {
12072	return awsutil.Prettify(s)
12073}
12074
12075// GoString returns the string representation
12076func (s OutputGroupSettings) GoString() string {
12077	return s.String()
12078}
12079
12080// Validate inspects the fields of the type to determine if they are valid.
12081func (s *OutputGroupSettings) Validate() error {
12082	invalidParams := request.ErrInvalidParams{Context: "OutputGroupSettings"}
12083	if s.Type == nil {
12084		invalidParams.Add(request.NewErrParamRequired("Type"))
12085	}
12086	if s.CmafGroupSettings != nil {
12087		if err := s.CmafGroupSettings.Validate(); err != nil {
12088			invalidParams.AddNested("CmafGroupSettings", err.(request.ErrInvalidParams))
12089		}
12090	}
12091	if s.DashIsoGroupSettings != nil {
12092		if err := s.DashIsoGroupSettings.Validate(); err != nil {
12093			invalidParams.AddNested("DashIsoGroupSettings", err.(request.ErrInvalidParams))
12094		}
12095	}
12096	if s.HlsGroupSettings != nil {
12097		if err := s.HlsGroupSettings.Validate(); err != nil {
12098			invalidParams.AddNested("HlsGroupSettings", err.(request.ErrInvalidParams))
12099		}
12100	}
12101	if s.MsSmoothGroupSettings != nil {
12102		if err := s.MsSmoothGroupSettings.Validate(); err != nil {
12103			invalidParams.AddNested("MsSmoothGroupSettings", err.(request.ErrInvalidParams))
12104		}
12105	}
12106
12107	if invalidParams.Len() > 0 {
12108		return invalidParams
12109	}
12110	return nil
12111}
12112
12113// SetCmafGroupSettings sets the CmafGroupSettings field's value.
12114func (s *OutputGroupSettings) SetCmafGroupSettings(v *CmafGroupSettings) *OutputGroupSettings {
12115	s.CmafGroupSettings = v
12116	return s
12117}
12118
12119// SetDashIsoGroupSettings sets the DashIsoGroupSettings field's value.
12120func (s *OutputGroupSettings) SetDashIsoGroupSettings(v *DashIsoGroupSettings) *OutputGroupSettings {
12121	s.DashIsoGroupSettings = v
12122	return s
12123}
12124
12125// SetFileGroupSettings sets the FileGroupSettings field's value.
12126func (s *OutputGroupSettings) SetFileGroupSettings(v *FileGroupSettings) *OutputGroupSettings {
12127	s.FileGroupSettings = v
12128	return s
12129}
12130
12131// SetHlsGroupSettings sets the HlsGroupSettings field's value.
12132func (s *OutputGroupSettings) SetHlsGroupSettings(v *HlsGroupSettings) *OutputGroupSettings {
12133	s.HlsGroupSettings = v
12134	return s
12135}
12136
12137// SetMsSmoothGroupSettings sets the MsSmoothGroupSettings field's value.
12138func (s *OutputGroupSettings) SetMsSmoothGroupSettings(v *MsSmoothGroupSettings) *OutputGroupSettings {
12139	s.MsSmoothGroupSettings = v
12140	return s
12141}
12142
12143// SetType sets the Type field's value.
12144func (s *OutputGroupSettings) SetType(v string) *OutputGroupSettings {
12145	s.Type = &v
12146	return s
12147}
12148
12149// Specific settings for this type of output.
12150type OutputSettings struct {
12151	_ struct{} `type:"structure"`
12152
12153	// Settings for HLS output groups
12154	HlsSettings *HlsSettings `locationName:"hlsSettings" type:"structure"`
12155}
12156
12157// String returns the string representation
12158func (s OutputSettings) String() string {
12159	return awsutil.Prettify(s)
12160}
12161
12162// GoString returns the string representation
12163func (s OutputSettings) GoString() string {
12164	return s.String()
12165}
12166
12167// SetHlsSettings sets the HlsSettings field's value.
12168func (s *OutputSettings) SetHlsSettings(v *HlsSettings) *OutputSettings {
12169	s.HlsSettings = v
12170	return s
12171}
12172
12173// A preset is a collection of preconfigured media conversion settings that
12174// you want MediaConvert to apply to the output during the conversion process.
12175type Preset struct {
12176	_ struct{} `type:"structure"`
12177
12178	// An identifier for this resource that is unique within all of AWS.
12179	Arn *string `locationName:"arn" type:"string"`
12180
12181	// An optional category you create to organize your presets.
12182	Category *string `locationName:"category" type:"string"`
12183
12184	// The timestamp in epoch seconds for preset creation.
12185	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unixTimestamp"`
12186
12187	// An optional description you create for each preset.
12188	Description *string `locationName:"description" type:"string"`
12189
12190	// The timestamp in epoch seconds when the preset was last updated.
12191	LastUpdated *time.Time `locationName:"lastUpdated" type:"timestamp" timestampFormat:"unixTimestamp"`
12192
12193	// A name you create for each preset. Each name must be unique within your account.
12194	//
12195	// Name is a required field
12196	Name *string `locationName:"name" type:"string" required:"true"`
12197
12198	// Settings for preset
12199	//
12200	// Settings is a required field
12201	Settings *PresetSettings `locationName:"settings" type:"structure" required:"true"`
12202
12203	// A preset can be of two types: system or custom. System or built-in preset
12204	// can't be modified or deleted by the user.
12205	Type *string `locationName:"type" type:"string" enum:"Type"`
12206}
12207
12208// String returns the string representation
12209func (s Preset) String() string {
12210	return awsutil.Prettify(s)
12211}
12212
12213// GoString returns the string representation
12214func (s Preset) GoString() string {
12215	return s.String()
12216}
12217
12218// SetArn sets the Arn field's value.
12219func (s *Preset) SetArn(v string) *Preset {
12220	s.Arn = &v
12221	return s
12222}
12223
12224// SetCategory sets the Category field's value.
12225func (s *Preset) SetCategory(v string) *Preset {
12226	s.Category = &v
12227	return s
12228}
12229
12230// SetCreatedAt sets the CreatedAt field's value.
12231func (s *Preset) SetCreatedAt(v time.Time) *Preset {
12232	s.CreatedAt = &v
12233	return s
12234}
12235
12236// SetDescription sets the Description field's value.
12237func (s *Preset) SetDescription(v string) *Preset {
12238	s.Description = &v
12239	return s
12240}
12241
12242// SetLastUpdated sets the LastUpdated field's value.
12243func (s *Preset) SetLastUpdated(v time.Time) *Preset {
12244	s.LastUpdated = &v
12245	return s
12246}
12247
12248// SetName sets the Name field's value.
12249func (s *Preset) SetName(v string) *Preset {
12250	s.Name = &v
12251	return s
12252}
12253
12254// SetSettings sets the Settings field's value.
12255func (s *Preset) SetSettings(v *PresetSettings) *Preset {
12256	s.Settings = v
12257	return s
12258}
12259
12260// SetType sets the Type field's value.
12261func (s *Preset) SetType(v string) *Preset {
12262	s.Type = &v
12263	return s
12264}
12265
12266// Settings for preset
12267type PresetSettings struct {
12268	_ struct{} `type:"structure"`
12269
12270	// (AudioDescriptions) contains groups of audio encoding settings organized
12271	// by audio codec. Include one instance of (AudioDescriptions) per output. (AudioDescriptions)
12272	// can contain multiple groups of encoding settings.
12273	AudioDescriptions []*AudioDescription `locationName:"audioDescriptions" type:"list"`
12274
12275	// Caption settings for this preset. There can be multiple caption settings
12276	// in a single output.
12277	CaptionDescriptions []*CaptionDescriptionPreset `locationName:"captionDescriptions" type:"list"`
12278
12279	// Container specific settings.
12280	ContainerSettings *ContainerSettings `locationName:"containerSettings" type:"structure"`
12281
12282	// (VideoDescription) contains a group of video encoding settings. The specific
12283	// video settings depend on the video codec you choose when you specify a value
12284	// for Video codec (codec). Include one instance of (VideoDescription) per output.
12285	VideoDescription *VideoDescription `locationName:"videoDescription" type:"structure"`
12286}
12287
12288// String returns the string representation
12289func (s PresetSettings) String() string {
12290	return awsutil.Prettify(s)
12291}
12292
12293// GoString returns the string representation
12294func (s PresetSettings) GoString() string {
12295	return s.String()
12296}
12297
12298// Validate inspects the fields of the type to determine if they are valid.
12299func (s *PresetSettings) Validate() error {
12300	invalidParams := request.ErrInvalidParams{Context: "PresetSettings"}
12301	if s.AudioDescriptions != nil {
12302		for i, v := range s.AudioDescriptions {
12303			if v == nil {
12304				continue
12305			}
12306			if err := v.Validate(); err != nil {
12307				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioDescriptions", i), err.(request.ErrInvalidParams))
12308			}
12309		}
12310	}
12311	if s.CaptionDescriptions != nil {
12312		for i, v := range s.CaptionDescriptions {
12313			if v == nil {
12314				continue
12315			}
12316			if err := v.Validate(); err != nil {
12317				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionDescriptions", i), err.(request.ErrInvalidParams))
12318			}
12319		}
12320	}
12321	if s.ContainerSettings != nil {
12322		if err := s.ContainerSettings.Validate(); err != nil {
12323			invalidParams.AddNested("ContainerSettings", err.(request.ErrInvalidParams))
12324		}
12325	}
12326	if s.VideoDescription != nil {
12327		if err := s.VideoDescription.Validate(); err != nil {
12328			invalidParams.AddNested("VideoDescription", err.(request.ErrInvalidParams))
12329		}
12330	}
12331
12332	if invalidParams.Len() > 0 {
12333		return invalidParams
12334	}
12335	return nil
12336}
12337
12338// SetAudioDescriptions sets the AudioDescriptions field's value.
12339func (s *PresetSettings) SetAudioDescriptions(v []*AudioDescription) *PresetSettings {
12340	s.AudioDescriptions = v
12341	return s
12342}
12343
12344// SetCaptionDescriptions sets the CaptionDescriptions field's value.
12345func (s *PresetSettings) SetCaptionDescriptions(v []*CaptionDescriptionPreset) *PresetSettings {
12346	s.CaptionDescriptions = v
12347	return s
12348}
12349
12350// SetContainerSettings sets the ContainerSettings field's value.
12351func (s *PresetSettings) SetContainerSettings(v *ContainerSettings) *PresetSettings {
12352	s.ContainerSettings = v
12353	return s
12354}
12355
12356// SetVideoDescription sets the VideoDescription field's value.
12357func (s *PresetSettings) SetVideoDescription(v *VideoDescription) *PresetSettings {
12358	s.VideoDescription = v
12359	return s
12360}
12361
12362// Required when you set (Codec) under (VideoDescription)>(CodecSettings) to
12363// the value PRORES.
12364type ProresSettings struct {
12365	_ struct{} `type:"structure"`
12366
12367	// Use Profile (ProResCodecProfile) to specifiy the type of Apple ProRes codec
12368	// to use for this output.
12369	CodecProfile *string `locationName:"codecProfile" type:"string" enum:"ProresCodecProfile"`
12370
12371	// If you are using the console, use the Framerate setting to specify the framerate
12372	// for this output. If you want to keep the same framerate as the input video,
12373	// choose Follow source. If you want to do framerate conversion, choose a framerate
12374	// from the dropdown list or choose Custom. The framerates shown in the dropdown
12375	// list are decimal approximations of fractions. If you choose Custom, specify
12376	// your framerate as a fraction. If you are creating your transcoding job sepecification
12377	// as a JSON file without the console, use FramerateControl to specify which
12378	// value the service uses for the framerate for this output. Choose INITIALIZE_FROM_SOURCE
12379	// if you want the service to use the framerate from the input. Choose SPECIFIED
12380	// if you want the service to use the framerate you specify in the settings
12381	// FramerateNumerator and FramerateDenominator.
12382	FramerateControl *string `locationName:"framerateControl" type:"string" enum:"ProresFramerateControl"`
12383
12384	// When set to INTERPOLATE, produces smoother motion during framerate conversion.
12385	FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"ProresFramerateConversionAlgorithm"`
12386
12387	// Framerate denominator.
12388	FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"`
12389
12390	// When you use the API for transcode jobs that use framerate conversion, specify
12391	// the framerate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use
12392	// FramerateNumerator to specify the numerator of this fraction. In this example,
12393	// use 24000 for the value of FramerateNumerator.
12394	FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"`
12395
12396	// Use Interlace mode (InterlaceMode) to choose the scan line type for the output.
12397	// * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce
12398	// interlaced output with the entire output having the same field polarity (top
12399	// or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default
12400	// Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore,
12401	// behavior depends on the input scan type. - If the source is interlaced, the
12402	// output will be interlaced with the same polarity as the source (it will follow
12403	// the source). The output could therefore be a mix of "top field first" and
12404	// "bottom field first". - If the source is progressive, the output will be
12405	// interlaced with "top field first" or "bottom field first" polarity, depending
12406	// on which of the Follow options you chose.
12407	InterlaceMode *string `locationName:"interlaceMode" type:"string" enum:"ProresInterlaceMode"`
12408
12409	// Use (ProresParControl) to specify how the service determines the pixel aspect
12410	// ratio. Set to Follow source (INITIALIZE_FROM_SOURCE) to use the pixel aspect
12411	// ratio from the input. To specify a different pixel aspect ratio: Using the
12412	// console, choose it from the dropdown menu. Using the API, set ProresParControl
12413	// to (SPECIFIED) and provide for (ParNumerator) and (ParDenominator).
12414	ParControl *string `locationName:"parControl" type:"string" enum:"ProresParControl"`
12415
12416	// Pixel Aspect Ratio denominator.
12417	ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"`
12418
12419	// Pixel Aspect Ratio numerator.
12420	ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"`
12421
12422	// Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled
12423	// as 25fps, and audio is sped up correspondingly.
12424	SlowPal *string `locationName:"slowPal" type:"string" enum:"ProresSlowPal"`
12425
12426	// Only use Telecine (ProresTelecine) when you set Framerate (Framerate) to
12427	// 29.970. Set Telecine (ProresTelecine) to Hard (hard) to produce a 29.97i
12428	// output from a 23.976 input. Set it to Soft (soft) to produce 23.976 output
12429	// and leave converstion to the player.
12430	Telecine *string `locationName:"telecine" type:"string" enum:"ProresTelecine"`
12431}
12432
12433// String returns the string representation
12434func (s ProresSettings) String() string {
12435	return awsutil.Prettify(s)
12436}
12437
12438// GoString returns the string representation
12439func (s ProresSettings) GoString() string {
12440	return s.String()
12441}
12442
12443// Validate inspects the fields of the type to determine if they are valid.
12444func (s *ProresSettings) Validate() error {
12445	invalidParams := request.ErrInvalidParams{Context: "ProresSettings"}
12446	if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 {
12447		invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1))
12448	}
12449	if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 {
12450		invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1))
12451	}
12452	if s.ParDenominator != nil && *s.ParDenominator < 1 {
12453		invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1))
12454	}
12455	if s.ParNumerator != nil && *s.ParNumerator < 1 {
12456		invalidParams.Add(request.NewErrParamMinValue("ParNumerator", 1))
12457	}
12458
12459	if invalidParams.Len() > 0 {
12460		return invalidParams
12461	}
12462	return nil
12463}
12464
12465// SetCodecProfile sets the CodecProfile field's value.
12466func (s *ProresSettings) SetCodecProfile(v string) *ProresSettings {
12467	s.CodecProfile = &v
12468	return s
12469}
12470
12471// SetFramerateControl sets the FramerateControl field's value.
12472func (s *ProresSettings) SetFramerateControl(v string) *ProresSettings {
12473	s.FramerateControl = &v
12474	return s
12475}
12476
12477// SetFramerateConversionAlgorithm sets the FramerateConversionAlgorithm field's value.
12478func (s *ProresSettings) SetFramerateConversionAlgorithm(v string) *ProresSettings {
12479	s.FramerateConversionAlgorithm = &v
12480	return s
12481}
12482
12483// SetFramerateDenominator sets the FramerateDenominator field's value.
12484func (s *ProresSettings) SetFramerateDenominator(v int64) *ProresSettings {
12485	s.FramerateDenominator = &v
12486	return s
12487}
12488
12489// SetFramerateNumerator sets the FramerateNumerator field's value.
12490func (s *ProresSettings) SetFramerateNumerator(v int64) *ProresSettings {
12491	s.FramerateNumerator = &v
12492	return s
12493}
12494
12495// SetInterlaceMode sets the InterlaceMode field's value.
12496func (s *ProresSettings) SetInterlaceMode(v string) *ProresSettings {
12497	s.InterlaceMode = &v
12498	return s
12499}
12500
12501// SetParControl sets the ParControl field's value.
12502func (s *ProresSettings) SetParControl(v string) *ProresSettings {
12503	s.ParControl = &v
12504	return s
12505}
12506
12507// SetParDenominator sets the ParDenominator field's value.
12508func (s *ProresSettings) SetParDenominator(v int64) *ProresSettings {
12509	s.ParDenominator = &v
12510	return s
12511}
12512
12513// SetParNumerator sets the ParNumerator field's value.
12514func (s *ProresSettings) SetParNumerator(v int64) *ProresSettings {
12515	s.ParNumerator = &v
12516	return s
12517}
12518
12519// SetSlowPal sets the SlowPal field's value.
12520func (s *ProresSettings) SetSlowPal(v string) *ProresSettings {
12521	s.SlowPal = &v
12522	return s
12523}
12524
12525// SetTelecine sets the Telecine field's value.
12526func (s *ProresSettings) SetTelecine(v string) *ProresSettings {
12527	s.Telecine = &v
12528	return s
12529}
12530
12531// MediaConvert jobs are submitted to a queue. Unless specified otherwise jobs
12532// are submitted to a built-in default queue. User can create additional queues
12533// to separate the jobs of different categories or priority.
12534type Queue struct {
12535	_ struct{} `type:"structure"`
12536
12537	// An identifier for this resource that is unique within all of AWS.
12538	Arn *string `locationName:"arn" type:"string"`
12539
12540	// The timestamp in epoch seconds for queue creation.
12541	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unixTimestamp"`
12542
12543	// An optional description you create for each queue.
12544	Description *string `locationName:"description" type:"string"`
12545
12546	// The timestamp in epoch seconds when the queue was last updated.
12547	LastUpdated *time.Time `locationName:"lastUpdated" type:"timestamp" timestampFormat:"unixTimestamp"`
12548
12549	// A name you create for each queue. Each name must be unique within your account.
12550	//
12551	// Name is a required field
12552	Name *string `locationName:"name" type:"string" required:"true"`
12553
12554	// Estimated number of jobs in PROGRESSING status.
12555	ProgressingJobsCount *int64 `locationName:"progressingJobsCount" type:"integer"`
12556
12557	// Queues can be ACTIVE or PAUSED. If you pause a queue, jobs in that queue
12558	// will not begin. Jobs running when a queue is paused continue to run until
12559	// they finish or error out.
12560	Status *string `locationName:"status" type:"string" enum:"QueueStatus"`
12561
12562	// Estimated number of jobs in SUBMITTED status.
12563	SubmittedJobsCount *int64 `locationName:"submittedJobsCount" type:"integer"`
12564
12565	// A queue can be of two types: system or custom. System or built-in queues
12566	// can't be modified or deleted by the user.
12567	Type *string `locationName:"type" type:"string" enum:"Type"`
12568}
12569
12570// String returns the string representation
12571func (s Queue) String() string {
12572	return awsutil.Prettify(s)
12573}
12574
12575// GoString returns the string representation
12576func (s Queue) GoString() string {
12577	return s.String()
12578}
12579
12580// SetArn sets the Arn field's value.
12581func (s *Queue) SetArn(v string) *Queue {
12582	s.Arn = &v
12583	return s
12584}
12585
12586// SetCreatedAt sets the CreatedAt field's value.
12587func (s *Queue) SetCreatedAt(v time.Time) *Queue {
12588	s.CreatedAt = &v
12589	return s
12590}
12591
12592// SetDescription sets the Description field's value.
12593func (s *Queue) SetDescription(v string) *Queue {
12594	s.Description = &v
12595	return s
12596}
12597
12598// SetLastUpdated sets the LastUpdated field's value.
12599func (s *Queue) SetLastUpdated(v time.Time) *Queue {
12600	s.LastUpdated = &v
12601	return s
12602}
12603
12604// SetName sets the Name field's value.
12605func (s *Queue) SetName(v string) *Queue {
12606	s.Name = &v
12607	return s
12608}
12609
12610// SetProgressingJobsCount sets the ProgressingJobsCount field's value.
12611func (s *Queue) SetProgressingJobsCount(v int64) *Queue {
12612	s.ProgressingJobsCount = &v
12613	return s
12614}
12615
12616// SetStatus sets the Status field's value.
12617func (s *Queue) SetStatus(v string) *Queue {
12618	s.Status = &v
12619	return s
12620}
12621
12622// SetSubmittedJobsCount sets the SubmittedJobsCount field's value.
12623func (s *Queue) SetSubmittedJobsCount(v int64) *Queue {
12624	s.SubmittedJobsCount = &v
12625	return s
12626}
12627
12628// SetType sets the Type field's value.
12629func (s *Queue) SetType(v string) *Queue {
12630	s.Type = &v
12631	return s
12632}
12633
12634// Use Rectangle to identify a specific area of the video frame.
12635type Rectangle struct {
12636	_ struct{} `type:"structure"`
12637
12638	// Height of rectangle in pixels. Specify only even numbers.
12639	//
12640	// Height is a required field
12641	Height *int64 `locationName:"height" min:"2" type:"integer" required:"true"`
12642
12643	// Width of rectangle in pixels. Specify only even numbers.
12644	//
12645	// Width is a required field
12646	Width *int64 `locationName:"width" min:"2" type:"integer" required:"true"`
12647
12648	// The distance, in pixels, between the rectangle and the left edge of the video
12649	// frame. Specify only even numbers.
12650	//
12651	// X is a required field
12652	X *int64 `locationName:"x" type:"integer" required:"true"`
12653
12654	// The distance, in pixels, between the rectangle and the top edge of the video
12655	// frame. Specify only even numbers.
12656	//
12657	// Y is a required field
12658	Y *int64 `locationName:"y" type:"integer" required:"true"`
12659}
12660
12661// String returns the string representation
12662func (s Rectangle) String() string {
12663	return awsutil.Prettify(s)
12664}
12665
12666// GoString returns the string representation
12667func (s Rectangle) GoString() string {
12668	return s.String()
12669}
12670
12671// Validate inspects the fields of the type to determine if they are valid.
12672func (s *Rectangle) Validate() error {
12673	invalidParams := request.ErrInvalidParams{Context: "Rectangle"}
12674	if s.Height == nil {
12675		invalidParams.Add(request.NewErrParamRequired("Height"))
12676	}
12677	if s.Height != nil && *s.Height < 2 {
12678		invalidParams.Add(request.NewErrParamMinValue("Height", 2))
12679	}
12680	if s.Width == nil {
12681		invalidParams.Add(request.NewErrParamRequired("Width"))
12682	}
12683	if s.Width != nil && *s.Width < 2 {
12684		invalidParams.Add(request.NewErrParamMinValue("Width", 2))
12685	}
12686	if s.X == nil {
12687		invalidParams.Add(request.NewErrParamRequired("X"))
12688	}
12689	if s.Y == nil {
12690		invalidParams.Add(request.NewErrParamRequired("Y"))
12691	}
12692
12693	if invalidParams.Len() > 0 {
12694		return invalidParams
12695	}
12696	return nil
12697}
12698
12699// SetHeight sets the Height field's value.
12700func (s *Rectangle) SetHeight(v int64) *Rectangle {
12701	s.Height = &v
12702	return s
12703}
12704
12705// SetWidth sets the Width field's value.
12706func (s *Rectangle) SetWidth(v int64) *Rectangle {
12707	s.Width = &v
12708	return s
12709}
12710
12711// SetX sets the X field's value.
12712func (s *Rectangle) SetX(v int64) *Rectangle {
12713	s.X = &v
12714	return s
12715}
12716
12717// SetY sets the Y field's value.
12718func (s *Rectangle) SetY(v int64) *Rectangle {
12719	s.Y = &v
12720	return s
12721}
12722
12723// Use Manual audio remixing (RemixSettings) to adjust audio levels for each
12724// audio channel in each output of your job. With audio remixing, you can output
12725// more or fewer audio channels than your input audio source provides.
12726type RemixSettings struct {
12727	_ struct{} `type:"structure"`
12728
12729	// Channel mapping (ChannelMapping) contains the group of fields that hold the
12730	// remixing value for each channel. Units are in dB. Acceptable values are within
12731	// the range from -60 (mute) through 6. A setting of 0 passes the input channel
12732	// unchanged to the output channel (no attenuation or amplification).
12733	//
12734	// ChannelMapping is a required field
12735	ChannelMapping *ChannelMapping `locationName:"channelMapping" type:"structure" required:"true"`
12736
12737	// Specify the number of audio channels from your input that you want to use
12738	// in your output. With remixing, you might combine or split the data in these
12739	// channels, so the number of channels in your final output might be different.
12740	//
12741	// ChannelsIn is a required field
12742	ChannelsIn *int64 `locationName:"channelsIn" min:"1" type:"integer" required:"true"`
12743
12744	// Specify the number of channels in this output after remixing. Valid values:
12745	// 1, 2, 4, 6, 8
12746	//
12747	// ChannelsOut is a required field
12748	ChannelsOut *int64 `locationName:"channelsOut" min:"1" type:"integer" required:"true"`
12749}
12750
12751// String returns the string representation
12752func (s RemixSettings) String() string {
12753	return awsutil.Prettify(s)
12754}
12755
12756// GoString returns the string representation
12757func (s RemixSettings) GoString() string {
12758	return s.String()
12759}
12760
12761// Validate inspects the fields of the type to determine if they are valid.
12762func (s *RemixSettings) Validate() error {
12763	invalidParams := request.ErrInvalidParams{Context: "RemixSettings"}
12764	if s.ChannelMapping == nil {
12765		invalidParams.Add(request.NewErrParamRequired("ChannelMapping"))
12766	}
12767	if s.ChannelsIn == nil {
12768		invalidParams.Add(request.NewErrParamRequired("ChannelsIn"))
12769	}
12770	if s.ChannelsIn != nil && *s.ChannelsIn < 1 {
12771		invalidParams.Add(request.NewErrParamMinValue("ChannelsIn", 1))
12772	}
12773	if s.ChannelsOut == nil {
12774		invalidParams.Add(request.NewErrParamRequired("ChannelsOut"))
12775	}
12776	if s.ChannelsOut != nil && *s.ChannelsOut < 1 {
12777		invalidParams.Add(request.NewErrParamMinValue("ChannelsOut", 1))
12778	}
12779	if s.ChannelMapping != nil {
12780		if err := s.ChannelMapping.Validate(); err != nil {
12781			invalidParams.AddNested("ChannelMapping", err.(request.ErrInvalidParams))
12782		}
12783	}
12784
12785	if invalidParams.Len() > 0 {
12786		return invalidParams
12787	}
12788	return nil
12789}
12790
12791// SetChannelMapping sets the ChannelMapping field's value.
12792func (s *RemixSettings) SetChannelMapping(v *ChannelMapping) *RemixSettings {
12793	s.ChannelMapping = v
12794	return s
12795}
12796
12797// SetChannelsIn sets the ChannelsIn field's value.
12798func (s *RemixSettings) SetChannelsIn(v int64) *RemixSettings {
12799	s.ChannelsIn = &v
12800	return s
12801}
12802
12803// SetChannelsOut sets the ChannelsOut field's value.
12804func (s *RemixSettings) SetChannelsOut(v int64) *RemixSettings {
12805	s.ChannelsOut = &v
12806	return s
12807}
12808
12809// The Amazon Resource Name (ARN) and tags for an AWS Elemental MediaConvert
12810// resource.
12811type ResourceTags struct {
12812	_ struct{} `type:"structure"`
12813
12814	// The Amazon Resource Name (ARN) of the resource.
12815	Arn *string `locationName:"arn" type:"string"`
12816
12817	// The tags for the resource.
12818	Tags map[string]*string `locationName:"tags" type:"map"`
12819}
12820
12821// String returns the string representation
12822func (s ResourceTags) String() string {
12823	return awsutil.Prettify(s)
12824}
12825
12826// GoString returns the string representation
12827func (s ResourceTags) GoString() string {
12828	return s.String()
12829}
12830
12831// SetArn sets the Arn field's value.
12832func (s *ResourceTags) SetArn(v string) *ResourceTags {
12833	s.Arn = &v
12834	return s
12835}
12836
12837// SetTags sets the Tags field's value.
12838func (s *ResourceTags) SetTags(v map[string]*string) *ResourceTags {
12839	s.Tags = v
12840	return s
12841}
12842
12843// Settings for SCC caption output.
12844type SccDestinationSettings struct {
12845	_ struct{} `type:"structure"`
12846
12847	// Set Framerate (SccDestinationFramerate) to make sure that the captions and
12848	// the video are synchronized in the output. Specify a framerate that matches
12849	// the framerate of the associated video. If the video framerate is 29.97, choose
12850	// 29.97 dropframe (FRAMERATE_29_97_DROPFRAME) only if the video has video_insertion=true
12851	// and drop_frame_timecode=true; otherwise, choose 29.97 non-dropframe (FRAMERATE_29_97_NON_DROPFRAME).
12852	Framerate *string `locationName:"framerate" type:"string" enum:"SccDestinationFramerate"`
12853}
12854
12855// String returns the string representation
12856func (s SccDestinationSettings) String() string {
12857	return awsutil.Prettify(s)
12858}
12859
12860// GoString returns the string representation
12861func (s SccDestinationSettings) GoString() string {
12862	return s.String()
12863}
12864
12865// SetFramerate sets the Framerate field's value.
12866func (s *SccDestinationSettings) SetFramerate(v string) *SccDestinationSettings {
12867	s.Framerate = &v
12868	return s
12869}
12870
12871// Settings for use with a SPEKE key provider
12872type SpekeKeyProvider struct {
12873	_ struct{} `type:"structure"`
12874
12875	// The SPEKE-compliant server uses Resource ID (ResourceId) to identify content.
12876	//
12877	// ResourceId is a required field
12878	ResourceId *string `locationName:"resourceId" type:"string" required:"true"`
12879
12880	// Relates to SPEKE implementation. DRM system identifiers. DASH output groups
12881	// support a max of two system ids. Other group types support one system id.
12882	//
12883	// SystemIds is a required field
12884	SystemIds []*string `locationName:"systemIds" type:"list" required:"true"`
12885
12886	// Use URL (Url) to specify the SPEKE-compliant server that will provide keys
12887	// for content.
12888	//
12889	// Url is a required field
12890	Url *string `locationName:"url" type:"string" required:"true"`
12891}
12892
12893// String returns the string representation
12894func (s SpekeKeyProvider) String() string {
12895	return awsutil.Prettify(s)
12896}
12897
12898// GoString returns the string representation
12899func (s SpekeKeyProvider) GoString() string {
12900	return s.String()
12901}
12902
12903// Validate inspects the fields of the type to determine if they are valid.
12904func (s *SpekeKeyProvider) Validate() error {
12905	invalidParams := request.ErrInvalidParams{Context: "SpekeKeyProvider"}
12906	if s.ResourceId == nil {
12907		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
12908	}
12909	if s.SystemIds == nil {
12910		invalidParams.Add(request.NewErrParamRequired("SystemIds"))
12911	}
12912	if s.Url == nil {
12913		invalidParams.Add(request.NewErrParamRequired("Url"))
12914	}
12915
12916	if invalidParams.Len() > 0 {
12917		return invalidParams
12918	}
12919	return nil
12920}
12921
12922// SetResourceId sets the ResourceId field's value.
12923func (s *SpekeKeyProvider) SetResourceId(v string) *SpekeKeyProvider {
12924	s.ResourceId = &v
12925	return s
12926}
12927
12928// SetSystemIds sets the SystemIds field's value.
12929func (s *SpekeKeyProvider) SetSystemIds(v []*string) *SpekeKeyProvider {
12930	s.SystemIds = v
12931	return s
12932}
12933
12934// SetUrl sets the Url field's value.
12935func (s *SpekeKeyProvider) SetUrl(v string) *SpekeKeyProvider {
12936	s.Url = &v
12937	return s
12938}
12939
12940// Settings for use with a SPEKE key provider.
12941type StaticKeyProvider struct {
12942	_ struct{} `type:"structure"`
12943
12944	// Relates to DRM implementation. Sets the value of the KEYFORMAT attribute.
12945	// Must be 'identity' or a reverse DNS string. May be omitted to indicate an
12946	// implicit value of 'identity'.
12947	KeyFormat *string `locationName:"keyFormat" type:"string"`
12948
12949	// Relates to DRM implementation. Either a single positive integer version value
12950	// or a slash delimited list of version values (1/2/3).
12951	KeyFormatVersions *string `locationName:"keyFormatVersions" type:"string"`
12952
12953	// Relates to DRM implementation. Use a 32-character hexidecimal string to specify
12954	// Key Value (StaticKeyValue).
12955	//
12956	// StaticKeyValue is a required field
12957	StaticKeyValue *string `locationName:"staticKeyValue" type:"string" required:"true"`
12958
12959	// Relates to DRM implementation. The location of the license server used for
12960	// protecting content.
12961	//
12962	// Url is a required field
12963	Url *string `locationName:"url" type:"string" required:"true"`
12964}
12965
12966// String returns the string representation
12967func (s StaticKeyProvider) String() string {
12968	return awsutil.Prettify(s)
12969}
12970
12971// GoString returns the string representation
12972func (s StaticKeyProvider) GoString() string {
12973	return s.String()
12974}
12975
12976// Validate inspects the fields of the type to determine if they are valid.
12977func (s *StaticKeyProvider) Validate() error {
12978	invalidParams := request.ErrInvalidParams{Context: "StaticKeyProvider"}
12979	if s.StaticKeyValue == nil {
12980		invalidParams.Add(request.NewErrParamRequired("StaticKeyValue"))
12981	}
12982	if s.Url == nil {
12983		invalidParams.Add(request.NewErrParamRequired("Url"))
12984	}
12985
12986	if invalidParams.Len() > 0 {
12987		return invalidParams
12988	}
12989	return nil
12990}
12991
12992// SetKeyFormat sets the KeyFormat field's value.
12993func (s *StaticKeyProvider) SetKeyFormat(v string) *StaticKeyProvider {
12994	s.KeyFormat = &v
12995	return s
12996}
12997
12998// SetKeyFormatVersions sets the KeyFormatVersions field's value.
12999func (s *StaticKeyProvider) SetKeyFormatVersions(v string) *StaticKeyProvider {
13000	s.KeyFormatVersions = &v
13001	return s
13002}
13003
13004// SetStaticKeyValue sets the StaticKeyValue field's value.
13005func (s *StaticKeyProvider) SetStaticKeyValue(v string) *StaticKeyProvider {
13006	s.StaticKeyValue = &v
13007	return s
13008}
13009
13010// SetUrl sets the Url field's value.
13011func (s *StaticKeyProvider) SetUrl(v string) *StaticKeyProvider {
13012	s.Url = &v
13013	return s
13014}
13015
13016// To tag a queue, preset, or job template, send a request with the tags and
13017// the Amazon Resource Name (ARN) of the resource that you want to tag.
13018type TagResourceInput struct {
13019	_ struct{} `type:"structure"`
13020
13021	// The Amazon Resource Name (ARN) of the resource that you want to tag. To get
13022	// the ARN, send a GET request with the resource name.
13023	//
13024	// Arn is a required field
13025	Arn *string `locationName:"arn" type:"string" required:"true"`
13026
13027	// The tags that you want to add to the resource. You can tag resources with
13028	// a key-value pair or with only a key.
13029	//
13030	// Tags is a required field
13031	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
13032}
13033
13034// String returns the string representation
13035func (s TagResourceInput) String() string {
13036	return awsutil.Prettify(s)
13037}
13038
13039// GoString returns the string representation
13040func (s TagResourceInput) GoString() string {
13041	return s.String()
13042}
13043
13044// Validate inspects the fields of the type to determine if they are valid.
13045func (s *TagResourceInput) Validate() error {
13046	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
13047	if s.Arn == nil {
13048		invalidParams.Add(request.NewErrParamRequired("Arn"))
13049	}
13050	if s.Tags == nil {
13051		invalidParams.Add(request.NewErrParamRequired("Tags"))
13052	}
13053
13054	if invalidParams.Len() > 0 {
13055		return invalidParams
13056	}
13057	return nil
13058}
13059
13060// SetArn sets the Arn field's value.
13061func (s *TagResourceInput) SetArn(v string) *TagResourceInput {
13062	s.Arn = &v
13063	return s
13064}
13065
13066// SetTags sets the Tags field's value.
13067func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
13068	s.Tags = v
13069	return s
13070}
13071
13072// Successful tag resource requests return an OK message.
13073type TagResourceOutput struct {
13074	_ struct{} `type:"structure"`
13075}
13076
13077// String returns the string representation
13078func (s TagResourceOutput) String() string {
13079	return awsutil.Prettify(s)
13080}
13081
13082// GoString returns the string representation
13083func (s TagResourceOutput) GoString() string {
13084	return s.String()
13085}
13086
13087// Settings for Teletext caption output
13088type TeletextDestinationSettings struct {
13089	_ struct{} `type:"structure"`
13090
13091	// Set pageNumber to the Teletext page number for the destination captions for
13092	// this output. This value must be a three-digit hexadecimal string; strings
13093	// ending in -FF are invalid. If you are passing through the entire set of Teletext
13094	// data, do not use this field.
13095	PageNumber *string `locationName:"pageNumber" min:"3" type:"string"`
13096}
13097
13098// String returns the string representation
13099func (s TeletextDestinationSettings) String() string {
13100	return awsutil.Prettify(s)
13101}
13102
13103// GoString returns the string representation
13104func (s TeletextDestinationSettings) GoString() string {
13105	return s.String()
13106}
13107
13108// Validate inspects the fields of the type to determine if they are valid.
13109func (s *TeletextDestinationSettings) Validate() error {
13110	invalidParams := request.ErrInvalidParams{Context: "TeletextDestinationSettings"}
13111	if s.PageNumber != nil && len(*s.PageNumber) < 3 {
13112		invalidParams.Add(request.NewErrParamMinLen("PageNumber", 3))
13113	}
13114
13115	if invalidParams.Len() > 0 {
13116		return invalidParams
13117	}
13118	return nil
13119}
13120
13121// SetPageNumber sets the PageNumber field's value.
13122func (s *TeletextDestinationSettings) SetPageNumber(v string) *TeletextDestinationSettings {
13123	s.PageNumber = &v
13124	return s
13125}
13126
13127// Settings specific to Teletext caption sources, including Page number.
13128type TeletextSourceSettings struct {
13129	_ struct{} `type:"structure"`
13130
13131	// Use Page Number (PageNumber) to specify the three-digit hexadecimal page
13132	// number that will be used for Teletext captions. Do not use this setting if
13133	// you are passing through teletext from the input source to output.
13134	PageNumber *string `locationName:"pageNumber" min:"3" type:"string"`
13135}
13136
13137// String returns the string representation
13138func (s TeletextSourceSettings) String() string {
13139	return awsutil.Prettify(s)
13140}
13141
13142// GoString returns the string representation
13143func (s TeletextSourceSettings) GoString() string {
13144	return s.String()
13145}
13146
13147// Validate inspects the fields of the type to determine if they are valid.
13148func (s *TeletextSourceSettings) Validate() error {
13149	invalidParams := request.ErrInvalidParams{Context: "TeletextSourceSettings"}
13150	if s.PageNumber != nil && len(*s.PageNumber) < 3 {
13151		invalidParams.Add(request.NewErrParamMinLen("PageNumber", 3))
13152	}
13153
13154	if invalidParams.Len() > 0 {
13155		return invalidParams
13156	}
13157	return nil
13158}
13159
13160// SetPageNumber sets the PageNumber field's value.
13161func (s *TeletextSourceSettings) SetPageNumber(v string) *TeletextSourceSettings {
13162	s.PageNumber = &v
13163	return s
13164}
13165
13166// Timecode burn-in (TimecodeBurnIn)--Burns the output timecode and specified
13167// prefix into the output.
13168type TimecodeBurnin struct {
13169	_ struct{} `type:"structure"`
13170
13171	// Use Font Size (FontSize) to set the font size of any burned-in timecode.
13172	// Valid values are 10, 16, 32, 48.
13173	FontSize *int64 `locationName:"fontSize" min:"10" type:"integer"`
13174
13175	// Use Position (Position) under under Timecode burn-in (TimecodeBurnIn) to
13176	// specify the location the burned-in timecode on output video.
13177	Position *string `locationName:"position" type:"string" enum:"TimecodeBurninPosition"`
13178
13179	// Use Prefix (Prefix) to place ASCII characters before any burned-in timecode.
13180	// For example, a prefix of "EZ-" will result in the timecode "EZ-00:00:00:00".
13181	// Provide either the characters themselves or the ASCII code equivalents. The
13182	// supported range of characters is 0x20 through 0x7e. This includes letters,
13183	// numbers, and all special characters represented on a standard English keyboard.
13184	Prefix *string `locationName:"prefix" type:"string"`
13185}
13186
13187// String returns the string representation
13188func (s TimecodeBurnin) String() string {
13189	return awsutil.Prettify(s)
13190}
13191
13192// GoString returns the string representation
13193func (s TimecodeBurnin) GoString() string {
13194	return s.String()
13195}
13196
13197// Validate inspects the fields of the type to determine if they are valid.
13198func (s *TimecodeBurnin) Validate() error {
13199	invalidParams := request.ErrInvalidParams{Context: "TimecodeBurnin"}
13200	if s.FontSize != nil && *s.FontSize < 10 {
13201		invalidParams.Add(request.NewErrParamMinValue("FontSize", 10))
13202	}
13203
13204	if invalidParams.Len() > 0 {
13205		return invalidParams
13206	}
13207	return nil
13208}
13209
13210// SetFontSize sets the FontSize field's value.
13211func (s *TimecodeBurnin) SetFontSize(v int64) *TimecodeBurnin {
13212	s.FontSize = &v
13213	return s
13214}
13215
13216// SetPosition sets the Position field's value.
13217func (s *TimecodeBurnin) SetPosition(v string) *TimecodeBurnin {
13218	s.Position = &v
13219	return s
13220}
13221
13222// SetPrefix sets the Prefix field's value.
13223func (s *TimecodeBurnin) SetPrefix(v string) *TimecodeBurnin {
13224	s.Prefix = &v
13225	return s
13226}
13227
13228// These settings control how the service handles timecodes throughout the job.
13229// These settings don't affect input clipping.
13230type TimecodeConfig struct {
13231	_ struct{} `type:"structure"`
13232
13233	// If you use an editing platform that relies on an anchor timecode, use Anchor
13234	// Timecode (Anchor) to specify a timecode that will match the input video frame
13235	// to the output video frame. Use 24-hour format with frame number, (HH:MM:SS:FF)
13236	// or (HH:MM:SS;FF). This setting ignores framerate conversion. System behavior
13237	// for Anchor Timecode varies depending on your setting for Source (TimecodeSource).
13238	// * If Source (TimecodeSource) is set to Specified Start (SPECIFIEDSTART),
13239	// the first input frame is the specified value in Start Timecode (Start). Anchor
13240	// Timecode (Anchor) and Start Timecode (Start) are used calculate output timecode.
13241	// * If Source (TimecodeSource) is set to Start at 0 (ZEROBASED) the first frame
13242	// is 00:00:00:00. * If Source (TimecodeSource) is set to Embedded (EMBEDDED),
13243	// the first frame is the timecode value on the first input frame of the input.
13244	Anchor *string `locationName:"anchor" type:"string"`
13245
13246	// Use Source (TimecodeSource) to set how timecodes are handled within this
13247	// job. To make sure that your video, audio, captions, and markers are synchronized
13248	// and that time-based features, such as image inserter, work correctly, choose
13249	// the Timecode source option that matches your assets. All timecodes are in
13250	// a 24-hour format with frame number (HH:MM:SS:FF). * Embedded (EMBEDDED) -
13251	// Use the timecode that is in the input video. If no embedded timecode is in
13252	// the source, the service will use Start at 0 (ZEROBASED) instead. * Start
13253	// at 0 (ZEROBASED) - Set the timecode of the initial frame to 00:00:00:00.
13254	// * Specified Start (SPECIFIEDSTART) - Set the timecode of the initial frame
13255	// to a value other than zero. You use Start timecode (Start) to provide this
13256	// value.
13257	Source *string `locationName:"source" type:"string" enum:"TimecodeSource"`
13258
13259	// Only use when you set Source (TimecodeSource) to Specified start (SPECIFIEDSTART).
13260	// Use Start timecode (Start) to specify the timecode for the initial frame.
13261	// Use 24-hour format with frame number, (HH:MM:SS:FF) or (HH:MM:SS;FF).
13262	Start *string `locationName:"start" type:"string"`
13263
13264	// Only applies to outputs that support program-date-time stamp. Use Timestamp
13265	// offset (TimestampOffset) to overwrite the timecode date without affecting
13266	// the time and frame number. Provide the new date as a string in the format
13267	// "yyyy-mm-dd". To use Time stamp offset, you must also enable Insert program-date-time
13268	// (InsertProgramDateTime) in the output settings. For example, if the date
13269	// part of your timecodes is 2002-1-25 and you want to change it to one year
13270	// later, set Timestamp offset (TimestampOffset) to 2003-1-25.
13271	TimestampOffset *string `locationName:"timestampOffset" type:"string"`
13272}
13273
13274// String returns the string representation
13275func (s TimecodeConfig) String() string {
13276	return awsutil.Prettify(s)
13277}
13278
13279// GoString returns the string representation
13280func (s TimecodeConfig) GoString() string {
13281	return s.String()
13282}
13283
13284// SetAnchor sets the Anchor field's value.
13285func (s *TimecodeConfig) SetAnchor(v string) *TimecodeConfig {
13286	s.Anchor = &v
13287	return s
13288}
13289
13290// SetSource sets the Source field's value.
13291func (s *TimecodeConfig) SetSource(v string) *TimecodeConfig {
13292	s.Source = &v
13293	return s
13294}
13295
13296// SetStart sets the Start field's value.
13297func (s *TimecodeConfig) SetStart(v string) *TimecodeConfig {
13298	s.Start = &v
13299	return s
13300}
13301
13302// SetTimestampOffset sets the TimestampOffset field's value.
13303func (s *TimecodeConfig) SetTimestampOffset(v string) *TimecodeConfig {
13304	s.TimestampOffset = &v
13305	return s
13306}
13307
13308// Enable Timed metadata insertion (TimedMetadataInsertion) to include ID3 tags
13309// in your job. To include timed metadata, you must enable it here, enable it
13310// in each output container, and specify tags and timecodes in ID3 insertion
13311// (Id3Insertion) objects.
13312type TimedMetadataInsertion struct {
13313	_ struct{} `type:"structure"`
13314
13315	// Id3Insertions contains the array of Id3Insertion instances.
13316	//
13317	// Id3Insertions is a required field
13318	Id3Insertions []*Id3Insertion `locationName:"id3Insertions" type:"list" required:"true"`
13319}
13320
13321// String returns the string representation
13322func (s TimedMetadataInsertion) String() string {
13323	return awsutil.Prettify(s)
13324}
13325
13326// GoString returns the string representation
13327func (s TimedMetadataInsertion) GoString() string {
13328	return s.String()
13329}
13330
13331// Validate inspects the fields of the type to determine if they are valid.
13332func (s *TimedMetadataInsertion) Validate() error {
13333	invalidParams := request.ErrInvalidParams{Context: "TimedMetadataInsertion"}
13334	if s.Id3Insertions == nil {
13335		invalidParams.Add(request.NewErrParamRequired("Id3Insertions"))
13336	}
13337	if s.Id3Insertions != nil {
13338		for i, v := range s.Id3Insertions {
13339			if v == nil {
13340				continue
13341			}
13342			if err := v.Validate(); err != nil {
13343				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Id3Insertions", i), err.(request.ErrInvalidParams))
13344			}
13345		}
13346	}
13347
13348	if invalidParams.Len() > 0 {
13349		return invalidParams
13350	}
13351	return nil
13352}
13353
13354// SetId3Insertions sets the Id3Insertions field's value.
13355func (s *TimedMetadataInsertion) SetId3Insertions(v []*Id3Insertion) *TimedMetadataInsertion {
13356	s.Id3Insertions = v
13357	return s
13358}
13359
13360// Information about when jobs are submitted, started, and finished is specified
13361// in Unix epoch format in seconds.
13362type Timing struct {
13363	_ struct{} `type:"structure"`
13364
13365	// The time, in Unix epoch format, that the transcoding job finished
13366	FinishTime *time.Time `locationName:"finishTime" type:"timestamp" timestampFormat:"unixTimestamp"`
13367
13368	// The time, in Unix epoch format, that transcoding for the job began.
13369	StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"unixTimestamp"`
13370
13371	// The time, in Unix epoch format, that you submitted the job.
13372	SubmitTime *time.Time `locationName:"submitTime" type:"timestamp" timestampFormat:"unixTimestamp"`
13373}
13374
13375// String returns the string representation
13376func (s Timing) String() string {
13377	return awsutil.Prettify(s)
13378}
13379
13380// GoString returns the string representation
13381func (s Timing) GoString() string {
13382	return s.String()
13383}
13384
13385// SetFinishTime sets the FinishTime field's value.
13386func (s *Timing) SetFinishTime(v time.Time) *Timing {
13387	s.FinishTime = &v
13388	return s
13389}
13390
13391// SetStartTime sets the StartTime field's value.
13392func (s *Timing) SetStartTime(v time.Time) *Timing {
13393	s.StartTime = &v
13394	return s
13395}
13396
13397// SetSubmitTime sets the SubmitTime field's value.
13398func (s *Timing) SetSubmitTime(v time.Time) *Timing {
13399	s.SubmitTime = &v
13400	return s
13401}
13402
13403// Settings specific to TTML caption outputs, including Pass style information
13404// (TtmlStylePassthrough).
13405type TtmlDestinationSettings struct {
13406	_ struct{} `type:"structure"`
13407
13408	// Pass through style and position information from a TTML-like input source
13409	// (TTML, SMPTE-TT, CFF-TT) to the CFF-TT output or TTML output.
13410	StylePassthrough *string `locationName:"stylePassthrough" type:"string" enum:"TtmlStylePassthrough"`
13411}
13412
13413// String returns the string representation
13414func (s TtmlDestinationSettings) String() string {
13415	return awsutil.Prettify(s)
13416}
13417
13418// GoString returns the string representation
13419func (s TtmlDestinationSettings) GoString() string {
13420	return s.String()
13421}
13422
13423// SetStylePassthrough sets the StylePassthrough field's value.
13424func (s *TtmlDestinationSettings) SetStylePassthrough(v string) *TtmlDestinationSettings {
13425	s.StylePassthrough = &v
13426	return s
13427}
13428
13429// To remove tags from a resource, send a request with the Amazon Resource Name
13430// (ARN) of the resource and the keys of the tags that you want to remove.
13431type UntagResourceInput struct {
13432	_ struct{} `type:"structure"`
13433
13434	// The Amazon Resource Name (ARN) of the resource that you want to remove tags
13435	// from. To get the ARN, send a GET request with the resource name.
13436	Arn *string `locationName:"arn" type:"string"`
13437
13438	// The keys of the tags that you want to remove from the resource.
13439	TagKeys []*string `locationName:"tagKeys" type:"list"`
13440}
13441
13442// String returns the string representation
13443func (s UntagResourceInput) String() string {
13444	return awsutil.Prettify(s)
13445}
13446
13447// GoString returns the string representation
13448func (s UntagResourceInput) GoString() string {
13449	return s.String()
13450}
13451
13452// SetArn sets the Arn field's value.
13453func (s *UntagResourceInput) SetArn(v string) *UntagResourceInput {
13454	s.Arn = &v
13455	return s
13456}
13457
13458// SetTagKeys sets the TagKeys field's value.
13459func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
13460	s.TagKeys = v
13461	return s
13462}
13463
13464// A successful request to remove a tag from a resource returns an OK message.
13465type UntagResourceOutput struct {
13466	_ struct{} `type:"structure"`
13467}
13468
13469// String returns the string representation
13470func (s UntagResourceOutput) String() string {
13471	return awsutil.Prettify(s)
13472}
13473
13474// GoString returns the string representation
13475func (s UntagResourceOutput) GoString() string {
13476	return s.String()
13477}
13478
13479// Modify a job template by sending a request with the job template name and
13480// any of the following that you wish to change: description, category, and
13481// queue.
13482type UpdateJobTemplateInput struct {
13483	_ struct{} `type:"structure"`
13484
13485	// The new category for the job template, if you are changing it.
13486	Category *string `locationName:"category" type:"string"`
13487
13488	// The new description for the job template, if you are changing it.
13489	Description *string `locationName:"description" type:"string"`
13490
13491	// The name of the job template you are modifying
13492	//
13493	// Name is a required field
13494	Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
13495
13496	// The new queue for the job template, if you are changing it.
13497	Queue *string `locationName:"queue" type:"string"`
13498
13499	// JobTemplateSettings contains all the transcode settings saved in the template
13500	// that will be applied to jobs created from it.
13501	Settings *JobTemplateSettings `locationName:"settings" type:"structure"`
13502}
13503
13504// String returns the string representation
13505func (s UpdateJobTemplateInput) String() string {
13506	return awsutil.Prettify(s)
13507}
13508
13509// GoString returns the string representation
13510func (s UpdateJobTemplateInput) GoString() string {
13511	return s.String()
13512}
13513
13514// Validate inspects the fields of the type to determine if they are valid.
13515func (s *UpdateJobTemplateInput) Validate() error {
13516	invalidParams := request.ErrInvalidParams{Context: "UpdateJobTemplateInput"}
13517	if s.Name == nil {
13518		invalidParams.Add(request.NewErrParamRequired("Name"))
13519	}
13520	if s.Settings != nil {
13521		if err := s.Settings.Validate(); err != nil {
13522			invalidParams.AddNested("Settings", err.(request.ErrInvalidParams))
13523		}
13524	}
13525
13526	if invalidParams.Len() > 0 {
13527		return invalidParams
13528	}
13529	return nil
13530}
13531
13532// SetCategory sets the Category field's value.
13533func (s *UpdateJobTemplateInput) SetCategory(v string) *UpdateJobTemplateInput {
13534	s.Category = &v
13535	return s
13536}
13537
13538// SetDescription sets the Description field's value.
13539func (s *UpdateJobTemplateInput) SetDescription(v string) *UpdateJobTemplateInput {
13540	s.Description = &v
13541	return s
13542}
13543
13544// SetName sets the Name field's value.
13545func (s *UpdateJobTemplateInput) SetName(v string) *UpdateJobTemplateInput {
13546	s.Name = &v
13547	return s
13548}
13549
13550// SetQueue sets the Queue field's value.
13551func (s *UpdateJobTemplateInput) SetQueue(v string) *UpdateJobTemplateInput {
13552	s.Queue = &v
13553	return s
13554}
13555
13556// SetSettings sets the Settings field's value.
13557func (s *UpdateJobTemplateInput) SetSettings(v *JobTemplateSettings) *UpdateJobTemplateInput {
13558	s.Settings = v
13559	return s
13560}
13561
13562// Successful update job template requests will return the new job template
13563// JSON.
13564type UpdateJobTemplateOutput struct {
13565	_ struct{} `type:"structure"`
13566
13567	// A job template is a pre-made set of encoding instructions that you can use
13568	// to quickly create a job.
13569	JobTemplate *JobTemplate `locationName:"jobTemplate" type:"structure"`
13570}
13571
13572// String returns the string representation
13573func (s UpdateJobTemplateOutput) String() string {
13574	return awsutil.Prettify(s)
13575}
13576
13577// GoString returns the string representation
13578func (s UpdateJobTemplateOutput) GoString() string {
13579	return s.String()
13580}
13581
13582// SetJobTemplate sets the JobTemplate field's value.
13583func (s *UpdateJobTemplateOutput) SetJobTemplate(v *JobTemplate) *UpdateJobTemplateOutput {
13584	s.JobTemplate = v
13585	return s
13586}
13587
13588// Modify a preset by sending a request with the preset name and any of the
13589// following that you wish to change: description, category, and transcoding
13590// settings.
13591type UpdatePresetInput struct {
13592	_ struct{} `type:"structure"`
13593
13594	// The new category for the preset, if you are changing it.
13595	Category *string `locationName:"category" type:"string"`
13596
13597	// The new description for the preset, if you are changing it.
13598	Description *string `locationName:"description" type:"string"`
13599
13600	// The name of the preset you are modifying.
13601	//
13602	// Name is a required field
13603	Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
13604
13605	// Settings for preset
13606	Settings *PresetSettings `locationName:"settings" type:"structure"`
13607}
13608
13609// String returns the string representation
13610func (s UpdatePresetInput) String() string {
13611	return awsutil.Prettify(s)
13612}
13613
13614// GoString returns the string representation
13615func (s UpdatePresetInput) GoString() string {
13616	return s.String()
13617}
13618
13619// Validate inspects the fields of the type to determine if they are valid.
13620func (s *UpdatePresetInput) Validate() error {
13621	invalidParams := request.ErrInvalidParams{Context: "UpdatePresetInput"}
13622	if s.Name == nil {
13623		invalidParams.Add(request.NewErrParamRequired("Name"))
13624	}
13625	if s.Settings != nil {
13626		if err := s.Settings.Validate(); err != nil {
13627			invalidParams.AddNested("Settings", err.(request.ErrInvalidParams))
13628		}
13629	}
13630
13631	if invalidParams.Len() > 0 {
13632		return invalidParams
13633	}
13634	return nil
13635}
13636
13637// SetCategory sets the Category field's value.
13638func (s *UpdatePresetInput) SetCategory(v string) *UpdatePresetInput {
13639	s.Category = &v
13640	return s
13641}
13642
13643// SetDescription sets the Description field's value.
13644func (s *UpdatePresetInput) SetDescription(v string) *UpdatePresetInput {
13645	s.Description = &v
13646	return s
13647}
13648
13649// SetName sets the Name field's value.
13650func (s *UpdatePresetInput) SetName(v string) *UpdatePresetInput {
13651	s.Name = &v
13652	return s
13653}
13654
13655// SetSettings sets the Settings field's value.
13656func (s *UpdatePresetInput) SetSettings(v *PresetSettings) *UpdatePresetInput {
13657	s.Settings = v
13658	return s
13659}
13660
13661// Successful update preset requests will return the new preset JSON.
13662type UpdatePresetOutput struct {
13663	_ struct{} `type:"structure"`
13664
13665	// A preset is a collection of preconfigured media conversion settings that
13666	// you want MediaConvert to apply to the output during the conversion process.
13667	Preset *Preset `locationName:"preset" type:"structure"`
13668}
13669
13670// String returns the string representation
13671func (s UpdatePresetOutput) String() string {
13672	return awsutil.Prettify(s)
13673}
13674
13675// GoString returns the string representation
13676func (s UpdatePresetOutput) GoString() string {
13677	return s.String()
13678}
13679
13680// SetPreset sets the Preset field's value.
13681func (s *UpdatePresetOutput) SetPreset(v *Preset) *UpdatePresetOutput {
13682	s.Preset = v
13683	return s
13684}
13685
13686// Modify a queue by sending a request with the queue name and any of the following
13687// that you wish to change - description, status. You pause or activate a queue
13688// by changing its status between ACTIVE and PAUSED.
13689type UpdateQueueInput struct {
13690	_ struct{} `type:"structure"`
13691
13692	// The new description for the queue, if you are changing it.
13693	Description *string `locationName:"description" type:"string"`
13694
13695	// The name of the queue you are modifying.
13696	//
13697	// Name is a required field
13698	Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
13699
13700	// Queues can be ACTIVE or PAUSED. If you pause a queue, jobs in that queue
13701	// will not begin. Jobs running when a queue is paused continue to run until
13702	// they finish or error out.
13703	Status *string `locationName:"status" type:"string" enum:"QueueStatus"`
13704}
13705
13706// String returns the string representation
13707func (s UpdateQueueInput) String() string {
13708	return awsutil.Prettify(s)
13709}
13710
13711// GoString returns the string representation
13712func (s UpdateQueueInput) GoString() string {
13713	return s.String()
13714}
13715
13716// Validate inspects the fields of the type to determine if they are valid.
13717func (s *UpdateQueueInput) Validate() error {
13718	invalidParams := request.ErrInvalidParams{Context: "UpdateQueueInput"}
13719	if s.Name == nil {
13720		invalidParams.Add(request.NewErrParamRequired("Name"))
13721	}
13722
13723	if invalidParams.Len() > 0 {
13724		return invalidParams
13725	}
13726	return nil
13727}
13728
13729// SetDescription sets the Description field's value.
13730func (s *UpdateQueueInput) SetDescription(v string) *UpdateQueueInput {
13731	s.Description = &v
13732	return s
13733}
13734
13735// SetName sets the Name field's value.
13736func (s *UpdateQueueInput) SetName(v string) *UpdateQueueInput {
13737	s.Name = &v
13738	return s
13739}
13740
13741// SetStatus sets the Status field's value.
13742func (s *UpdateQueueInput) SetStatus(v string) *UpdateQueueInput {
13743	s.Status = &v
13744	return s
13745}
13746
13747// Successful update queue requests will return the new queue JSON.
13748type UpdateQueueOutput struct {
13749	_ struct{} `type:"structure"`
13750
13751	// MediaConvert jobs are submitted to a queue. Unless specified otherwise jobs
13752	// are submitted to a built-in default queue. User can create additional queues
13753	// to separate the jobs of different categories or priority.
13754	Queue *Queue `locationName:"queue" type:"structure"`
13755}
13756
13757// String returns the string representation
13758func (s UpdateQueueOutput) String() string {
13759	return awsutil.Prettify(s)
13760}
13761
13762// GoString returns the string representation
13763func (s UpdateQueueOutput) GoString() string {
13764	return s.String()
13765}
13766
13767// SetQueue sets the Queue field's value.
13768func (s *UpdateQueueOutput) SetQueue(v *Queue) *UpdateQueueOutput {
13769	s.Queue = v
13770	return s
13771}
13772
13773// Video codec settings, (CodecSettings) under (VideoDescription), contains
13774// the group of settings related to video encoding. The settings in this group
13775// vary depending on the value you choose for Video codec (Codec). For each
13776// codec enum you choose, define the corresponding settings object. The following
13777// lists the codec enum, settings object pairs. * H_264, H264Settings * H_265,
13778// H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings * FRAME_CAPTURE,
13779// FrameCaptureSettings
13780type VideoCodecSettings struct {
13781	_ struct{} `type:"structure"`
13782
13783	// Type of video codec
13784	//
13785	// Codec is a required field
13786	Codec *string `locationName:"codec" type:"string" required:"true" enum:"VideoCodec"`
13787
13788	// Required when you set (Codec) under (VideoDescription)>(CodecSettings) to
13789	// the value FRAME_CAPTURE.
13790	FrameCaptureSettings *FrameCaptureSettings `locationName:"frameCaptureSettings" type:"structure"`
13791
13792	// Required when you set (Codec) under (VideoDescription)>(CodecSettings) to
13793	// the value H_264.
13794	H264Settings *H264Settings `locationName:"h264Settings" type:"structure"`
13795
13796	// Settings for H265 codec
13797	H265Settings *H265Settings `locationName:"h265Settings" type:"structure"`
13798
13799	// Required when you set (Codec) under (VideoDescription)>(CodecSettings) to
13800	// the value MPEG2.
13801	Mpeg2Settings *Mpeg2Settings `locationName:"mpeg2Settings" type:"structure"`
13802
13803	// Required when you set (Codec) under (VideoDescription)>(CodecSettings) to
13804	// the value PRORES.
13805	ProresSettings *ProresSettings `locationName:"proresSettings" type:"structure"`
13806}
13807
13808// String returns the string representation
13809func (s VideoCodecSettings) String() string {
13810	return awsutil.Prettify(s)
13811}
13812
13813// GoString returns the string representation
13814func (s VideoCodecSettings) GoString() string {
13815	return s.String()
13816}
13817
13818// Validate inspects the fields of the type to determine if they are valid.
13819func (s *VideoCodecSettings) Validate() error {
13820	invalidParams := request.ErrInvalidParams{Context: "VideoCodecSettings"}
13821	if s.Codec == nil {
13822		invalidParams.Add(request.NewErrParamRequired("Codec"))
13823	}
13824	if s.FrameCaptureSettings != nil {
13825		if err := s.FrameCaptureSettings.Validate(); err != nil {
13826			invalidParams.AddNested("FrameCaptureSettings", err.(request.ErrInvalidParams))
13827		}
13828	}
13829	if s.H264Settings != nil {
13830		if err := s.H264Settings.Validate(); err != nil {
13831			invalidParams.AddNested("H264Settings", err.(request.ErrInvalidParams))
13832		}
13833	}
13834	if s.H265Settings != nil {
13835		if err := s.H265Settings.Validate(); err != nil {
13836			invalidParams.AddNested("H265Settings", err.(request.ErrInvalidParams))
13837		}
13838	}
13839	if s.Mpeg2Settings != nil {
13840		if err := s.Mpeg2Settings.Validate(); err != nil {
13841			invalidParams.AddNested("Mpeg2Settings", err.(request.ErrInvalidParams))
13842		}
13843	}
13844	if s.ProresSettings != nil {
13845		if err := s.ProresSettings.Validate(); err != nil {
13846			invalidParams.AddNested("ProresSettings", err.(request.ErrInvalidParams))
13847		}
13848	}
13849
13850	if invalidParams.Len() > 0 {
13851		return invalidParams
13852	}
13853	return nil
13854}
13855
13856// SetCodec sets the Codec field's value.
13857func (s *VideoCodecSettings) SetCodec(v string) *VideoCodecSettings {
13858	s.Codec = &v
13859	return s
13860}
13861
13862// SetFrameCaptureSettings sets the FrameCaptureSettings field's value.
13863func (s *VideoCodecSettings) SetFrameCaptureSettings(v *FrameCaptureSettings) *VideoCodecSettings {
13864	s.FrameCaptureSettings = v
13865	return s
13866}
13867
13868// SetH264Settings sets the H264Settings field's value.
13869func (s *VideoCodecSettings) SetH264Settings(v *H264Settings) *VideoCodecSettings {
13870	s.H264Settings = v
13871	return s
13872}
13873
13874// SetH265Settings sets the H265Settings field's value.
13875func (s *VideoCodecSettings) SetH265Settings(v *H265Settings) *VideoCodecSettings {
13876	s.H265Settings = v
13877	return s
13878}
13879
13880// SetMpeg2Settings sets the Mpeg2Settings field's value.
13881func (s *VideoCodecSettings) SetMpeg2Settings(v *Mpeg2Settings) *VideoCodecSettings {
13882	s.Mpeg2Settings = v
13883	return s
13884}
13885
13886// SetProresSettings sets the ProresSettings field's value.
13887func (s *VideoCodecSettings) SetProresSettings(v *ProresSettings) *VideoCodecSettings {
13888	s.ProresSettings = v
13889	return s
13890}
13891
13892// Settings for video outputs
13893type VideoDescription struct {
13894	_ struct{} `type:"structure"`
13895
13896	// This setting only applies to H.264 and MPEG2 outputs. Use Insert AFD signaling
13897	// (AfdSignaling) to specify whether the service includes AFD values in the
13898	// output video data and what those values are. * Choose None to remove all
13899	// AFD values from this output. * Choose Fixed to ignore input AFD values and
13900	// instead encode the value specified in the job. * Choose Auto to calculate
13901	// output AFD values based on the input AFD scaler data.
13902	AfdSignaling *string `locationName:"afdSignaling" type:"string" enum:"AfdSignaling"`
13903
13904	// Enable Anti-alias (AntiAlias) to enhance sharp edges in video output when
13905	// your input resolution is much larger than your output resolution. Default
13906	// is enabled.
13907	AntiAlias *string `locationName:"antiAlias" type:"string" enum:"AntiAlias"`
13908
13909	// Video codec settings, (CodecSettings) under (VideoDescription), contains
13910	// the group of settings related to video encoding. The settings in this group
13911	// vary depending on the value you choose for Video codec (Codec). For each
13912	// codec enum you choose, define the corresponding settings object. The following
13913	// lists the codec enum, settings object pairs. * H_264, H264Settings * H_265,
13914	// H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings * FRAME_CAPTURE,
13915	// FrameCaptureSettings
13916	//
13917	// CodecSettings is a required field
13918	CodecSettings *VideoCodecSettings `locationName:"codecSettings" type:"structure" required:"true"`
13919
13920	// Enable Insert color metadata (ColorMetadata) to include color metadata in
13921	// this output. This setting is enabled by default.
13922	ColorMetadata *string `locationName:"colorMetadata" type:"string" enum:"ColorMetadata"`
13923
13924	// Applies only if your input aspect ratio is different from your output aspect
13925	// ratio. Use Input cropping rectangle (Crop) to specify the video area the
13926	// service will include in the output. This will crop the input source, causing
13927	// video pixels to be removed on encode. Do not use this setting if you have
13928	// enabled Stretch to output (stretchToOutput) in your output settings.
13929	Crop *Rectangle `locationName:"crop" type:"structure"`
13930
13931	// Applies only to 29.97 fps outputs. When this feature is enabled, the service
13932	// will use drop-frame timecode on outputs. If it is not possible to use drop-frame
13933	// timecode, the system will fall back to non-drop-frame. This setting is enabled
13934	// by default when Timecode insertion (TimecodeInsertion) is enabled.
13935	DropFrameTimecode *string `locationName:"dropFrameTimecode" type:"string" enum:"DropFrameTimecode"`
13936
13937	// Applies only if you set AFD Signaling(AfdSignaling) to Fixed (FIXED). Use
13938	// Fixed (FixedAfd) to specify a four-bit AFD value which the service will write
13939	// on all frames of this video output.
13940	FixedAfd *int64 `locationName:"fixedAfd" type:"integer"`
13941
13942	// Use the Height (Height) setting to define the video resolution height for
13943	// this output. Specify in pixels. If you don't provide a value here, the service
13944	// will use the input height.
13945	Height *int64 `locationName:"height" min:"32" type:"integer"`
13946
13947	// Use Position (Position) to point to a rectangle object to define your position.
13948	// This setting overrides any other aspect ratio.
13949	Position *Rectangle `locationName:"position" type:"structure"`
13950
13951	// Use Respond to AFD (RespondToAfd) to specify how the service changes the
13952	// video itself in response to AFD values in the input. * Choose Respond to
13953	// clip the input video frame according to the AFD value, input display aspect
13954	// ratio, and output display aspect ratio. * Choose Passthrough to include the
13955	// input AFD values. Do not choose this when AfdSignaling is set to (NONE).
13956	// A preferred implementation of this workflow is to set RespondToAfd to (NONE)
13957	// and set AfdSignaling to (AUTO). * Choose None to remove all input AFD values
13958	// from this output.
13959	RespondToAfd *string `locationName:"respondToAfd" type:"string" enum:"RespondToAfd"`
13960
13961	// Applies only if your input aspect ratio is different from your output aspect
13962	// ratio. Enable Stretch to output (StretchToOutput) to have the service stretch
13963	// your video image to fit. Leave this setting disabled to allow the service
13964	// to letterbox your video instead. This setting overrides any positioning value
13965	// you specify elsewhere in the job.
13966	ScalingBehavior *string `locationName:"scalingBehavior" type:"string" enum:"ScalingBehavior"`
13967
13968	// Use Sharpness (Sharpness)setting to specify the strength of anti-aliasing.
13969	// This setting changes the width of the anti-alias filter kernel used for scaling.
13970	// Sharpness only applies if your output resolution is different from your input
13971	// resolution, and if you set Anti-alias (AntiAlias) to ENABLED. 0 is the softest
13972	// setting, 100 the sharpest, and 50 recommended for most content.
13973	Sharpness *int64 `locationName:"sharpness" type:"integer"`
13974
13975	// Applies only to H.264, H.265, MPEG2, and ProRes outputs. Only enable Timecode
13976	// insertion when the input framerate is identical to the output framerate.
13977	// To include timecodes in this output, set Timecode insertion (VideoTimecodeInsertion)
13978	// to PIC_TIMING_SEI. To leave them out, set it to DISABLED. Default is DISABLED.
13979	// When the service inserts timecodes in an output, by default, it uses any
13980	// embedded timecodes from the input. If none are present, the service will
13981	// set the timecode for the first output frame to zero. To change this default
13982	// behavior, adjust the settings under Timecode configuration (TimecodeConfig).
13983	// In the console, these settings are located under Job > Job settings > Timecode
13984	// configuration. Note - Timecode source under input settings (InputTimecodeSource)
13985	// does not affect the timecodes that are inserted in the output. Source under
13986	// Job settings > Timecode configuration (TimecodeSource) does.
13987	TimecodeInsertion *string `locationName:"timecodeInsertion" type:"string" enum:"VideoTimecodeInsertion"`
13988
13989	// Find additional transcoding features under Preprocessors (VideoPreprocessors).
13990	// Enable the features at each output individually. These features are disabled
13991	// by default.
13992	VideoPreprocessors *VideoPreprocessor `locationName:"videoPreprocessors" type:"structure"`
13993
13994	// Use Width (Width) to define the video resolution width, in pixels, for this
13995	// output. If you don't provide a value here, the service will use the input
13996	// width.
13997	Width *int64 `locationName:"width" min:"32" type:"integer"`
13998}
13999
14000// String returns the string representation
14001func (s VideoDescription) String() string {
14002	return awsutil.Prettify(s)
14003}
14004
14005// GoString returns the string representation
14006func (s VideoDescription) GoString() string {
14007	return s.String()
14008}
14009
14010// Validate inspects the fields of the type to determine if they are valid.
14011func (s *VideoDescription) Validate() error {
14012	invalidParams := request.ErrInvalidParams{Context: "VideoDescription"}
14013	if s.CodecSettings == nil {
14014		invalidParams.Add(request.NewErrParamRequired("CodecSettings"))
14015	}
14016	if s.Height != nil && *s.Height < 32 {
14017		invalidParams.Add(request.NewErrParamMinValue("Height", 32))
14018	}
14019	if s.Width != nil && *s.Width < 32 {
14020		invalidParams.Add(request.NewErrParamMinValue("Width", 32))
14021	}
14022	if s.CodecSettings != nil {
14023		if err := s.CodecSettings.Validate(); err != nil {
14024			invalidParams.AddNested("CodecSettings", err.(request.ErrInvalidParams))
14025		}
14026	}
14027	if s.Crop != nil {
14028		if err := s.Crop.Validate(); err != nil {
14029			invalidParams.AddNested("Crop", err.(request.ErrInvalidParams))
14030		}
14031	}
14032	if s.Position != nil {
14033		if err := s.Position.Validate(); err != nil {
14034			invalidParams.AddNested("Position", err.(request.ErrInvalidParams))
14035		}
14036	}
14037	if s.VideoPreprocessors != nil {
14038		if err := s.VideoPreprocessors.Validate(); err != nil {
14039			invalidParams.AddNested("VideoPreprocessors", err.(request.ErrInvalidParams))
14040		}
14041	}
14042
14043	if invalidParams.Len() > 0 {
14044		return invalidParams
14045	}
14046	return nil
14047}
14048
14049// SetAfdSignaling sets the AfdSignaling field's value.
14050func (s *VideoDescription) SetAfdSignaling(v string) *VideoDescription {
14051	s.AfdSignaling = &v
14052	return s
14053}
14054
14055// SetAntiAlias sets the AntiAlias field's value.
14056func (s *VideoDescription) SetAntiAlias(v string) *VideoDescription {
14057	s.AntiAlias = &v
14058	return s
14059}
14060
14061// SetCodecSettings sets the CodecSettings field's value.
14062func (s *VideoDescription) SetCodecSettings(v *VideoCodecSettings) *VideoDescription {
14063	s.CodecSettings = v
14064	return s
14065}
14066
14067// SetColorMetadata sets the ColorMetadata field's value.
14068func (s *VideoDescription) SetColorMetadata(v string) *VideoDescription {
14069	s.ColorMetadata = &v
14070	return s
14071}
14072
14073// SetCrop sets the Crop field's value.
14074func (s *VideoDescription) SetCrop(v *Rectangle) *VideoDescription {
14075	s.Crop = v
14076	return s
14077}
14078
14079// SetDropFrameTimecode sets the DropFrameTimecode field's value.
14080func (s *VideoDescription) SetDropFrameTimecode(v string) *VideoDescription {
14081	s.DropFrameTimecode = &v
14082	return s
14083}
14084
14085// SetFixedAfd sets the FixedAfd field's value.
14086func (s *VideoDescription) SetFixedAfd(v int64) *VideoDescription {
14087	s.FixedAfd = &v
14088	return s
14089}
14090
14091// SetHeight sets the Height field's value.
14092func (s *VideoDescription) SetHeight(v int64) *VideoDescription {
14093	s.Height = &v
14094	return s
14095}
14096
14097// SetPosition sets the Position field's value.
14098func (s *VideoDescription) SetPosition(v *Rectangle) *VideoDescription {
14099	s.Position = v
14100	return s
14101}
14102
14103// SetRespondToAfd sets the RespondToAfd field's value.
14104func (s *VideoDescription) SetRespondToAfd(v string) *VideoDescription {
14105	s.RespondToAfd = &v
14106	return s
14107}
14108
14109// SetScalingBehavior sets the ScalingBehavior field's value.
14110func (s *VideoDescription) SetScalingBehavior(v string) *VideoDescription {
14111	s.ScalingBehavior = &v
14112	return s
14113}
14114
14115// SetSharpness sets the Sharpness field's value.
14116func (s *VideoDescription) SetSharpness(v int64) *VideoDescription {
14117	s.Sharpness = &v
14118	return s
14119}
14120
14121// SetTimecodeInsertion sets the TimecodeInsertion field's value.
14122func (s *VideoDescription) SetTimecodeInsertion(v string) *VideoDescription {
14123	s.TimecodeInsertion = &v
14124	return s
14125}
14126
14127// SetVideoPreprocessors sets the VideoPreprocessors field's value.
14128func (s *VideoDescription) SetVideoPreprocessors(v *VideoPreprocessor) *VideoDescription {
14129	s.VideoPreprocessors = v
14130	return s
14131}
14132
14133// SetWidth sets the Width field's value.
14134func (s *VideoDescription) SetWidth(v int64) *VideoDescription {
14135	s.Width = &v
14136	return s
14137}
14138
14139// Contains details about the output's video stream
14140type VideoDetail struct {
14141	_ struct{} `type:"structure"`
14142
14143	// Height in pixels for the output
14144	HeightInPx *int64 `locationName:"heightInPx" type:"integer"`
14145
14146	// Width in pixels for the output
14147	WidthInPx *int64 `locationName:"widthInPx" type:"integer"`
14148}
14149
14150// String returns the string representation
14151func (s VideoDetail) String() string {
14152	return awsutil.Prettify(s)
14153}
14154
14155// GoString returns the string representation
14156func (s VideoDetail) GoString() string {
14157	return s.String()
14158}
14159
14160// SetHeightInPx sets the HeightInPx field's value.
14161func (s *VideoDetail) SetHeightInPx(v int64) *VideoDetail {
14162	s.HeightInPx = &v
14163	return s
14164}
14165
14166// SetWidthInPx sets the WidthInPx field's value.
14167func (s *VideoDetail) SetWidthInPx(v int64) *VideoDetail {
14168	s.WidthInPx = &v
14169	return s
14170}
14171
14172// Find additional transcoding features under Preprocessors (VideoPreprocessors).
14173// Enable the features at each output individually. These features are disabled
14174// by default.
14175type VideoPreprocessor struct {
14176	_ struct{} `type:"structure"`
14177
14178	// Enable the Color corrector (ColorCorrector) feature if necessary. Enable
14179	// or disable this feature for each output individually. This setting is disabled
14180	// by default.
14181	ColorCorrector *ColorCorrector `locationName:"colorCorrector" type:"structure"`
14182
14183	// Use Deinterlacer (Deinterlacer) to produce smoother motion and a clearer
14184	// picture.
14185	Deinterlacer *Deinterlacer `locationName:"deinterlacer" type:"structure"`
14186
14187	// Enable the Image inserter (ImageInserter) feature to include a graphic overlay
14188	// on your video. Enable or disable this feature for each output individually.
14189	// This setting is disabled by default.
14190	ImageInserter *ImageInserter `locationName:"imageInserter" type:"structure"`
14191
14192	// Enable the Noise reducer (NoiseReducer) feature to remove noise from your
14193	// video output if necessary. Enable or disable this feature for each output
14194	// individually. This setting is disabled by default.
14195	NoiseReducer *NoiseReducer `locationName:"noiseReducer" type:"structure"`
14196
14197	// Timecode burn-in (TimecodeBurnIn)--Burns the output timecode and specified
14198	// prefix into the output.
14199	TimecodeBurnin *TimecodeBurnin `locationName:"timecodeBurnin" type:"structure"`
14200}
14201
14202// String returns the string representation
14203func (s VideoPreprocessor) String() string {
14204	return awsutil.Prettify(s)
14205}
14206
14207// GoString returns the string representation
14208func (s VideoPreprocessor) GoString() string {
14209	return s.String()
14210}
14211
14212// Validate inspects the fields of the type to determine if they are valid.
14213func (s *VideoPreprocessor) Validate() error {
14214	invalidParams := request.ErrInvalidParams{Context: "VideoPreprocessor"}
14215	if s.ColorCorrector != nil {
14216		if err := s.ColorCorrector.Validate(); err != nil {
14217			invalidParams.AddNested("ColorCorrector", err.(request.ErrInvalidParams))
14218		}
14219	}
14220	if s.ImageInserter != nil {
14221		if err := s.ImageInserter.Validate(); err != nil {
14222			invalidParams.AddNested("ImageInserter", err.(request.ErrInvalidParams))
14223		}
14224	}
14225	if s.NoiseReducer != nil {
14226		if err := s.NoiseReducer.Validate(); err != nil {
14227			invalidParams.AddNested("NoiseReducer", err.(request.ErrInvalidParams))
14228		}
14229	}
14230	if s.TimecodeBurnin != nil {
14231		if err := s.TimecodeBurnin.Validate(); err != nil {
14232			invalidParams.AddNested("TimecodeBurnin", err.(request.ErrInvalidParams))
14233		}
14234	}
14235
14236	if invalidParams.Len() > 0 {
14237		return invalidParams
14238	}
14239	return nil
14240}
14241
14242// SetColorCorrector sets the ColorCorrector field's value.
14243func (s *VideoPreprocessor) SetColorCorrector(v *ColorCorrector) *VideoPreprocessor {
14244	s.ColorCorrector = v
14245	return s
14246}
14247
14248// SetDeinterlacer sets the Deinterlacer field's value.
14249func (s *VideoPreprocessor) SetDeinterlacer(v *Deinterlacer) *VideoPreprocessor {
14250	s.Deinterlacer = v
14251	return s
14252}
14253
14254// SetImageInserter sets the ImageInserter field's value.
14255func (s *VideoPreprocessor) SetImageInserter(v *ImageInserter) *VideoPreprocessor {
14256	s.ImageInserter = v
14257	return s
14258}
14259
14260// SetNoiseReducer sets the NoiseReducer field's value.
14261func (s *VideoPreprocessor) SetNoiseReducer(v *NoiseReducer) *VideoPreprocessor {
14262	s.NoiseReducer = v
14263	return s
14264}
14265
14266// SetTimecodeBurnin sets the TimecodeBurnin field's value.
14267func (s *VideoPreprocessor) SetTimecodeBurnin(v *TimecodeBurnin) *VideoPreprocessor {
14268	s.TimecodeBurnin = v
14269	return s
14270}
14271
14272// Selector for video.
14273type VideoSelector struct {
14274	_ struct{} `type:"structure"`
14275
14276	// If your input video has accurate color space metadata, or if you don't know
14277	// about color space, leave this set to the default value FOLLOW. The service
14278	// will automatically detect your input color space. If your input video has
14279	// metadata indicating the wrong color space, or if your input video is missing
14280	// color space metadata that should be there, specify the accurate color space
14281	// here. If you choose HDR10, you can also correct inaccurate color space coefficients,
14282	// using the HDR master display information controls. You must also set Color
14283	// space usage (ColorSpaceUsage) to FORCE for the service to use these values.
14284	ColorSpace *string `locationName:"colorSpace" type:"string" enum:"ColorSpace"`
14285
14286	// There are two sources for color metadata, the input file and the job configuration
14287	// (in the Color space and HDR master display informaiton settings). The Color
14288	// space usage setting controls which takes precedence. FORCE: The system will
14289	// use color metadata supplied by user, if any. If the user does not supply
14290	// color metadata, the system will use data from the source. FALLBACK: The system
14291	// will use color metadata from the source. If source has no color metadata,
14292	// the system will use user-supplied color metadata values if available.
14293	ColorSpaceUsage *string `locationName:"colorSpaceUsage" type:"string" enum:"ColorSpaceUsage"`
14294
14295	// Use the HDR master display (Hdr10Metadata) settings to correct HDR metadata
14296	// or to provide missing metadata. These values vary depending on the input
14297	// video and must be provided by a color grader. Range is 0 to 50,000, each
14298	// increment represents 0.00002 in CIE1931 color coordinate. Note that these
14299	// settings are not color correction. Note that if you are creating HDR outputs
14300	// inside of an HLS CMAF package, to comply with the Apple specification, you
14301	// must use the HVC1 for H.265 setting.
14302	Hdr10Metadata *Hdr10Metadata `locationName:"hdr10Metadata" type:"structure"`
14303
14304	// Use PID (Pid) to select specific video data from an input file. Specify this
14305	// value as an integer; the system automatically converts it to the hexidecimal
14306	// value. For example, 257 selects PID 0x101. A PID, or packet identifier, is
14307	// an identifier for a set of data in an MPEG-2 transport stream container.
14308	Pid *int64 `locationName:"pid" min:"1" type:"integer"`
14309
14310	// Selects a specific program from within a multi-program transport stream.
14311	// Note that Quad 4K is not currently supported.
14312	ProgramNumber *int64 `locationName:"programNumber" type:"integer"`
14313}
14314
14315// String returns the string representation
14316func (s VideoSelector) String() string {
14317	return awsutil.Prettify(s)
14318}
14319
14320// GoString returns the string representation
14321func (s VideoSelector) GoString() string {
14322	return s.String()
14323}
14324
14325// Validate inspects the fields of the type to determine if they are valid.
14326func (s *VideoSelector) Validate() error {
14327	invalidParams := request.ErrInvalidParams{Context: "VideoSelector"}
14328	if s.Pid != nil && *s.Pid < 1 {
14329		invalidParams.Add(request.NewErrParamMinValue("Pid", 1))
14330	}
14331	if s.ProgramNumber != nil && *s.ProgramNumber < -2.147483648e+09 {
14332		invalidParams.Add(request.NewErrParamMinValue("ProgramNumber", -2.147483648e+09))
14333	}
14334	if s.Hdr10Metadata != nil {
14335		if err := s.Hdr10Metadata.Validate(); err != nil {
14336			invalidParams.AddNested("Hdr10Metadata", err.(request.ErrInvalidParams))
14337		}
14338	}
14339
14340	if invalidParams.Len() > 0 {
14341		return invalidParams
14342	}
14343	return nil
14344}
14345
14346// SetColorSpace sets the ColorSpace field's value.
14347func (s *VideoSelector) SetColorSpace(v string) *VideoSelector {
14348	s.ColorSpace = &v
14349	return s
14350}
14351
14352// SetColorSpaceUsage sets the ColorSpaceUsage field's value.
14353func (s *VideoSelector) SetColorSpaceUsage(v string) *VideoSelector {
14354	s.ColorSpaceUsage = &v
14355	return s
14356}
14357
14358// SetHdr10Metadata sets the Hdr10Metadata field's value.
14359func (s *VideoSelector) SetHdr10Metadata(v *Hdr10Metadata) *VideoSelector {
14360	s.Hdr10Metadata = v
14361	return s
14362}
14363
14364// SetPid sets the Pid field's value.
14365func (s *VideoSelector) SetPid(v int64) *VideoSelector {
14366	s.Pid = &v
14367	return s
14368}
14369
14370// SetProgramNumber sets the ProgramNumber field's value.
14371func (s *VideoSelector) SetProgramNumber(v int64) *VideoSelector {
14372	s.ProgramNumber = &v
14373	return s
14374}
14375
14376// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to
14377// the value WAV.
14378type WavSettings struct {
14379	_ struct{} `type:"structure"`
14380
14381	// Specify Bit depth (BitDepth), in bits per sample, to choose the encoding
14382	// quality for this audio track.
14383	BitDepth *int64 `locationName:"bitDepth" min:"16" type:"integer"`
14384
14385	// Set Channels to specify the number of channels in this output audio track.
14386	// With WAV, valid values 1, 2, 4, and 8. In the console, these values are Mono,
14387	// Stereo, 4-Channel, and 8-Channel, respectively.
14388	Channels *int64 `locationName:"channels" min:"1" type:"integer"`
14389
14390	// The service defaults to using RIFF for WAV outputs. If your output audio
14391	// is likely to exceed 4 GB in file size, or if you otherwise need the extended
14392	// support of the RF64 format, set your output WAV file format to RF64.
14393	Format *string `locationName:"format" type:"string" enum:"WavFormat"`
14394
14395	// Sample rate in Hz.
14396	SampleRate *int64 `locationName:"sampleRate" min:"8000" type:"integer"`
14397}
14398
14399// String returns the string representation
14400func (s WavSettings) String() string {
14401	return awsutil.Prettify(s)
14402}
14403
14404// GoString returns the string representation
14405func (s WavSettings) GoString() string {
14406	return s.String()
14407}
14408
14409// Validate inspects the fields of the type to determine if they are valid.
14410func (s *WavSettings) Validate() error {
14411	invalidParams := request.ErrInvalidParams{Context: "WavSettings"}
14412	if s.BitDepth != nil && *s.BitDepth < 16 {
14413		invalidParams.Add(request.NewErrParamMinValue("BitDepth", 16))
14414	}
14415	if s.Channels != nil && *s.Channels < 1 {
14416		invalidParams.Add(request.NewErrParamMinValue("Channels", 1))
14417	}
14418	if s.SampleRate != nil && *s.SampleRate < 8000 {
14419		invalidParams.Add(request.NewErrParamMinValue("SampleRate", 8000))
14420	}
14421
14422	if invalidParams.Len() > 0 {
14423		return invalidParams
14424	}
14425	return nil
14426}
14427
14428// SetBitDepth sets the BitDepth field's value.
14429func (s *WavSettings) SetBitDepth(v int64) *WavSettings {
14430	s.BitDepth = &v
14431	return s
14432}
14433
14434// SetChannels sets the Channels field's value.
14435func (s *WavSettings) SetChannels(v int64) *WavSettings {
14436	s.Channels = &v
14437	return s
14438}
14439
14440// SetFormat sets the Format field's value.
14441func (s *WavSettings) SetFormat(v string) *WavSettings {
14442	s.Format = &v
14443	return s
14444}
14445
14446// SetSampleRate sets the SampleRate field's value.
14447func (s *WavSettings) SetSampleRate(v int64) *WavSettings {
14448	s.SampleRate = &v
14449	return s
14450}
14451
14452// Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio
14453// + audio description (AD) as a stereo pair. The value for AudioType will be
14454// set to 3, which signals to downstream systems that this stream contains "broadcaster
14455// mixed AD". Note that the input received by the encoder must contain pre-mixed
14456// audio; the encoder does not perform the mixing. When you choose BROADCASTER_MIXED_AD,
14457// the encoder ignores any values you provide in AudioType and FollowInputAudioType.
14458// Choose NORMAL when the input does not contain pre-mixed audio + audio description
14459// (AD). In this case, the encoder will use any values you provide for AudioType
14460// and FollowInputAudioType.
14461const (
14462	// AacAudioDescriptionBroadcasterMixBroadcasterMixedAd is a AacAudioDescriptionBroadcasterMix enum value
14463	AacAudioDescriptionBroadcasterMixBroadcasterMixedAd = "BROADCASTER_MIXED_AD"
14464
14465	// AacAudioDescriptionBroadcasterMixNormal is a AacAudioDescriptionBroadcasterMix enum value
14466	AacAudioDescriptionBroadcasterMixNormal = "NORMAL"
14467)
14468
14469// AAC Profile.
14470const (
14471	// AacCodecProfileLc is a AacCodecProfile enum value
14472	AacCodecProfileLc = "LC"
14473
14474	// AacCodecProfileHev1 is a AacCodecProfile enum value
14475	AacCodecProfileHev1 = "HEV1"
14476
14477	// AacCodecProfileHev2 is a AacCodecProfile enum value
14478	AacCodecProfileHev2 = "HEV2"
14479)
14480
14481// Mono (Audio Description), Mono, Stereo, or 5.1 channel layout. Valid values
14482// depend on rate control mode and profile. "1.0 - Audio Description (Receiver
14483// Mix)" setting receives a stereo description plus control track and emits
14484// a mono AAC encode of the description track, with control data emitted in
14485// the PES header as per ETSI TS 101 154 Annex E.
14486const (
14487	// AacCodingModeAdReceiverMix is a AacCodingMode enum value
14488	AacCodingModeAdReceiverMix = "AD_RECEIVER_MIX"
14489
14490	// AacCodingModeCodingMode10 is a AacCodingMode enum value
14491	AacCodingModeCodingMode10 = "CODING_MODE_1_0"
14492
14493	// AacCodingModeCodingMode11 is a AacCodingMode enum value
14494	AacCodingModeCodingMode11 = "CODING_MODE_1_1"
14495
14496	// AacCodingModeCodingMode20 is a AacCodingMode enum value
14497	AacCodingModeCodingMode20 = "CODING_MODE_2_0"
14498
14499	// AacCodingModeCodingMode51 is a AacCodingMode enum value
14500	AacCodingModeCodingMode51 = "CODING_MODE_5_1"
14501)
14502
14503// Rate Control Mode.
14504const (
14505	// AacRateControlModeCbr is a AacRateControlMode enum value
14506	AacRateControlModeCbr = "CBR"
14507
14508	// AacRateControlModeVbr is a AacRateControlMode enum value
14509	AacRateControlModeVbr = "VBR"
14510)
14511
14512// Enables LATM/LOAS AAC output. Note that if you use LATM/LOAS AAC in an output,
14513// you must choose "No container" for the output container.
14514const (
14515	// AacRawFormatLatmLoas is a AacRawFormat enum value
14516	AacRawFormatLatmLoas = "LATM_LOAS"
14517
14518	// AacRawFormatNone is a AacRawFormat enum value
14519	AacRawFormatNone = "NONE"
14520)
14521
14522// Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream
14523// containers.
14524const (
14525	// AacSpecificationMpeg2 is a AacSpecification enum value
14526	AacSpecificationMpeg2 = "MPEG2"
14527
14528	// AacSpecificationMpeg4 is a AacSpecification enum value
14529	AacSpecificationMpeg4 = "MPEG4"
14530)
14531
14532// VBR Quality Level - Only used if rate_control_mode is VBR.
14533const (
14534	// AacVbrQualityLow is a AacVbrQuality enum value
14535	AacVbrQualityLow = "LOW"
14536
14537	// AacVbrQualityMediumLow is a AacVbrQuality enum value
14538	AacVbrQualityMediumLow = "MEDIUM_LOW"
14539
14540	// AacVbrQualityMediumHigh is a AacVbrQuality enum value
14541	AacVbrQualityMediumHigh = "MEDIUM_HIGH"
14542
14543	// AacVbrQualityHigh is a AacVbrQuality enum value
14544	AacVbrQualityHigh = "HIGH"
14545)
14546
14547// Specifies the "Bitstream Mode" (bsmod) for the emitted AC-3 stream. See ATSC
14548// A/52-2012 for background on these values.
14549const (
14550	// Ac3BitstreamModeCompleteMain is a Ac3BitstreamMode enum value
14551	Ac3BitstreamModeCompleteMain = "COMPLETE_MAIN"
14552
14553	// Ac3BitstreamModeCommentary is a Ac3BitstreamMode enum value
14554	Ac3BitstreamModeCommentary = "COMMENTARY"
14555
14556	// Ac3BitstreamModeDialogue is a Ac3BitstreamMode enum value
14557	Ac3BitstreamModeDialogue = "DIALOGUE"
14558
14559	// Ac3BitstreamModeEmergency is a Ac3BitstreamMode enum value
14560	Ac3BitstreamModeEmergency = "EMERGENCY"
14561
14562	// Ac3BitstreamModeHearingImpaired is a Ac3BitstreamMode enum value
14563	Ac3BitstreamModeHearingImpaired = "HEARING_IMPAIRED"
14564
14565	// Ac3BitstreamModeMusicAndEffects is a Ac3BitstreamMode enum value
14566	Ac3BitstreamModeMusicAndEffects = "MUSIC_AND_EFFECTS"
14567
14568	// Ac3BitstreamModeVisuallyImpaired is a Ac3BitstreamMode enum value
14569	Ac3BitstreamModeVisuallyImpaired = "VISUALLY_IMPAIRED"
14570
14571	// Ac3BitstreamModeVoiceOver is a Ac3BitstreamMode enum value
14572	Ac3BitstreamModeVoiceOver = "VOICE_OVER"
14573)
14574
14575// Dolby Digital coding mode. Determines number of channels.
14576const (
14577	// Ac3CodingModeCodingMode10 is a Ac3CodingMode enum value
14578	Ac3CodingModeCodingMode10 = "CODING_MODE_1_0"
14579
14580	// Ac3CodingModeCodingMode11 is a Ac3CodingMode enum value
14581	Ac3CodingModeCodingMode11 = "CODING_MODE_1_1"
14582
14583	// Ac3CodingModeCodingMode20 is a Ac3CodingMode enum value
14584	Ac3CodingModeCodingMode20 = "CODING_MODE_2_0"
14585
14586	// Ac3CodingModeCodingMode32Lfe is a Ac3CodingMode enum value
14587	Ac3CodingModeCodingMode32Lfe = "CODING_MODE_3_2_LFE"
14588)
14589
14590// If set to FILM_STANDARD, adds dynamic range compression signaling to the
14591// output bitstream as defined in the Dolby Digital specification.
14592const (
14593	// Ac3DynamicRangeCompressionProfileFilmStandard is a Ac3DynamicRangeCompressionProfile enum value
14594	Ac3DynamicRangeCompressionProfileFilmStandard = "FILM_STANDARD"
14595
14596	// Ac3DynamicRangeCompressionProfileNone is a Ac3DynamicRangeCompressionProfile enum value
14597	Ac3DynamicRangeCompressionProfileNone = "NONE"
14598)
14599
14600// Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only
14601// valid with 3_2_LFE coding mode.
14602const (
14603	// Ac3LfeFilterEnabled is a Ac3LfeFilter enum value
14604	Ac3LfeFilterEnabled = "ENABLED"
14605
14606	// Ac3LfeFilterDisabled is a Ac3LfeFilter enum value
14607	Ac3LfeFilterDisabled = "DISABLED"
14608)
14609
14610// When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+,
14611// or DolbyE decoder that supplied this audio data. If audio was not supplied
14612// from one of these streams, then the static metadata settings will be used.
14613const (
14614	// Ac3MetadataControlFollowInput is a Ac3MetadataControl enum value
14615	Ac3MetadataControlFollowInput = "FOLLOW_INPUT"
14616
14617	// Ac3MetadataControlUseConfigured is a Ac3MetadataControl enum value
14618	Ac3MetadataControlUseConfigured = "USE_CONFIGURED"
14619)
14620
14621// This setting only applies to H.264 and MPEG2 outputs. Use Insert AFD signaling
14622// (AfdSignaling) to specify whether the service includes AFD values in the
14623// output video data and what those values are. * Choose None to remove all
14624// AFD values from this output. * Choose Fixed to ignore input AFD values and
14625// instead encode the value specified in the job. * Choose Auto to calculate
14626// output AFD values based on the input AFD scaler data.
14627const (
14628	// AfdSignalingNone is a AfdSignaling enum value
14629	AfdSignalingNone = "NONE"
14630
14631	// AfdSignalingAuto is a AfdSignaling enum value
14632	AfdSignalingAuto = "AUTO"
14633
14634	// AfdSignalingFixed is a AfdSignaling enum value
14635	AfdSignalingFixed = "FIXED"
14636)
14637
14638// Enable Anti-alias (AntiAlias) to enhance sharp edges in video output when
14639// your input resolution is much larger than your output resolution. Default
14640// is enabled.
14641const (
14642	// AntiAliasDisabled is a AntiAlias enum value
14643	AntiAliasDisabled = "DISABLED"
14644
14645	// AntiAliasEnabled is a AntiAlias enum value
14646	AntiAliasEnabled = "ENABLED"
14647)
14648
14649// Type of Audio codec.
14650const (
14651	// AudioCodecAac is a AudioCodec enum value
14652	AudioCodecAac = "AAC"
14653
14654	// AudioCodecMp2 is a AudioCodec enum value
14655	AudioCodecMp2 = "MP2"
14656
14657	// AudioCodecWav is a AudioCodec enum value
14658	AudioCodecWav = "WAV"
14659
14660	// AudioCodecAiff is a AudioCodec enum value
14661	AudioCodecAiff = "AIFF"
14662
14663	// AudioCodecAc3 is a AudioCodec enum value
14664	AudioCodecAc3 = "AC3"
14665
14666	// AudioCodecEac3 is a AudioCodec enum value
14667	AudioCodecEac3 = "EAC3"
14668
14669	// AudioCodecPassthrough is a AudioCodec enum value
14670	AudioCodecPassthrough = "PASSTHROUGH"
14671)
14672
14673// Enable this setting on one audio selector to set it as the default for the
14674// job. The service uses this default for outputs where it can't find the specified
14675// input audio. If you don't set a default, those outputs have no audio.
14676const (
14677	// AudioDefaultSelectionDefault is a AudioDefaultSelection enum value
14678	AudioDefaultSelectionDefault = "DEFAULT"
14679
14680	// AudioDefaultSelectionNotDefault is a AudioDefaultSelection enum value
14681	AudioDefaultSelectionNotDefault = "NOT_DEFAULT"
14682)
14683
14684// Choosing FOLLOW_INPUT will cause the ISO 639 language code of the output
14685// to follow the ISO 639 language code of the input. The language specified
14686// for languageCode' will be used when USE_CONFIGURED is selected or when FOLLOW_INPUT
14687// is selected but there is no ISO 639 language code specified by the input.
14688const (
14689	// AudioLanguageCodeControlFollowInput is a AudioLanguageCodeControl enum value
14690	AudioLanguageCodeControlFollowInput = "FOLLOW_INPUT"
14691
14692	// AudioLanguageCodeControlUseConfigured is a AudioLanguageCodeControl enum value
14693	AudioLanguageCodeControlUseConfigured = "USE_CONFIGURED"
14694)
14695
14696// Audio normalization algorithm to use. 1770-1 conforms to the CALM Act specification,
14697// 1770-2 conforms to the EBU R-128 specification.
14698const (
14699	// AudioNormalizationAlgorithmItuBs17701 is a AudioNormalizationAlgorithm enum value
14700	AudioNormalizationAlgorithmItuBs17701 = "ITU_BS_1770_1"
14701
14702	// AudioNormalizationAlgorithmItuBs17702 is a AudioNormalizationAlgorithm enum value
14703	AudioNormalizationAlgorithmItuBs17702 = "ITU_BS_1770_2"
14704)
14705
14706// When enabled the output audio is corrected using the chosen algorithm. If
14707// disabled, the audio will be measured but not adjusted.
14708const (
14709	// AudioNormalizationAlgorithmControlCorrectAudio is a AudioNormalizationAlgorithmControl enum value
14710	AudioNormalizationAlgorithmControlCorrectAudio = "CORRECT_AUDIO"
14711
14712	// AudioNormalizationAlgorithmControlMeasureOnly is a AudioNormalizationAlgorithmControl enum value
14713	AudioNormalizationAlgorithmControlMeasureOnly = "MEASURE_ONLY"
14714)
14715
14716// If set to LOG, log each output's audio track loudness to a CSV file.
14717const (
14718	// AudioNormalizationLoudnessLoggingLog is a AudioNormalizationLoudnessLogging enum value
14719	AudioNormalizationLoudnessLoggingLog = "LOG"
14720
14721	// AudioNormalizationLoudnessLoggingDontLog is a AudioNormalizationLoudnessLogging enum value
14722	AudioNormalizationLoudnessLoggingDontLog = "DONT_LOG"
14723)
14724
14725// If set to TRUE_PEAK, calculate and log the TruePeak for each output's audio
14726// track loudness.
14727const (
14728	// AudioNormalizationPeakCalculationTruePeak is a AudioNormalizationPeakCalculation enum value
14729	AudioNormalizationPeakCalculationTruePeak = "TRUE_PEAK"
14730
14731	// AudioNormalizationPeakCalculationNone is a AudioNormalizationPeakCalculation enum value
14732	AudioNormalizationPeakCalculationNone = "NONE"
14733)
14734
14735// Specifies the type of the audio selector.
14736const (
14737	// AudioSelectorTypePid is a AudioSelectorType enum value
14738	AudioSelectorTypePid = "PID"
14739
14740	// AudioSelectorTypeTrack is a AudioSelectorType enum value
14741	AudioSelectorTypeTrack = "TRACK"
14742
14743	// AudioSelectorTypeLanguageCode is a AudioSelectorType enum value
14744	AudioSelectorTypeLanguageCode = "LANGUAGE_CODE"
14745)
14746
14747// When set to FOLLOW_INPUT, if the input contains an ISO 639 audio_type, then
14748// that value is passed through to the output. If the input contains no ISO
14749// 639 audio_type, the value in Audio Type is included in the output. Otherwise
14750// the value in Audio Type is included in the output. Note that this field and
14751// audioType are both ignored if audioDescriptionBroadcasterMix is set to BROADCASTER_MIXED_AD.
14752const (
14753	// AudioTypeControlFollowInput is a AudioTypeControl enum value
14754	AudioTypeControlFollowInput = "FOLLOW_INPUT"
14755
14756	// AudioTypeControlUseConfigured is a AudioTypeControl enum value
14757	AudioTypeControlUseConfigured = "USE_CONFIGURED"
14758)
14759
14760// If no explicit x_position or y_position is provided, setting alignment to
14761// centered will place the captions at the bottom center of the output. Similarly,
14762// setting a left alignment will align captions to the bottom left of the output.
14763// If x and y positions are given in conjunction with the alignment parameter,
14764// the font will be justified (either left or centered) relative to those coordinates.
14765// This option is not valid for source captions that are STL, 608/embedded or
14766// teletext. These source settings are already pre-defined by the caption stream.
14767// All burn-in and DVB-Sub font settings must match.
14768const (
14769	// BurninSubtitleAlignmentCentered is a BurninSubtitleAlignment enum value
14770	BurninSubtitleAlignmentCentered = "CENTERED"
14771
14772	// BurninSubtitleAlignmentLeft is a BurninSubtitleAlignment enum value
14773	BurninSubtitleAlignmentLeft = "LEFT"
14774)
14775
14776// Specifies the color of the rectangle behind the captions.All burn-in and
14777// DVB-Sub font settings must match.
14778const (
14779	// BurninSubtitleBackgroundColorNone is a BurninSubtitleBackgroundColor enum value
14780	BurninSubtitleBackgroundColorNone = "NONE"
14781
14782	// BurninSubtitleBackgroundColorBlack is a BurninSubtitleBackgroundColor enum value
14783	BurninSubtitleBackgroundColorBlack = "BLACK"
14784
14785	// BurninSubtitleBackgroundColorWhite is a BurninSubtitleBackgroundColor enum value
14786	BurninSubtitleBackgroundColorWhite = "WHITE"
14787)
14788
14789// Specifies the color of the burned-in captions. This option is not valid for
14790// source captions that are STL, 608/embedded or teletext. These source settings
14791// are already pre-defined by the caption stream. All burn-in and DVB-Sub font
14792// settings must match.
14793const (
14794	// BurninSubtitleFontColorWhite is a BurninSubtitleFontColor enum value
14795	BurninSubtitleFontColorWhite = "WHITE"
14796
14797	// BurninSubtitleFontColorBlack is a BurninSubtitleFontColor enum value
14798	BurninSubtitleFontColorBlack = "BLACK"
14799
14800	// BurninSubtitleFontColorYellow is a BurninSubtitleFontColor enum value
14801	BurninSubtitleFontColorYellow = "YELLOW"
14802
14803	// BurninSubtitleFontColorRed is a BurninSubtitleFontColor enum value
14804	BurninSubtitleFontColorRed = "RED"
14805
14806	// BurninSubtitleFontColorGreen is a BurninSubtitleFontColor enum value
14807	BurninSubtitleFontColorGreen = "GREEN"
14808
14809	// BurninSubtitleFontColorBlue is a BurninSubtitleFontColor enum value
14810	BurninSubtitleFontColorBlue = "BLUE"
14811)
14812
14813// Specifies font outline color. This option is not valid for source captions
14814// that are either 608/embedded or teletext. These source settings are already
14815// pre-defined by the caption stream. All burn-in and DVB-Sub font settings
14816// must match.
14817const (
14818	// BurninSubtitleOutlineColorBlack is a BurninSubtitleOutlineColor enum value
14819	BurninSubtitleOutlineColorBlack = "BLACK"
14820
14821	// BurninSubtitleOutlineColorWhite is a BurninSubtitleOutlineColor enum value
14822	BurninSubtitleOutlineColorWhite = "WHITE"
14823
14824	// BurninSubtitleOutlineColorYellow is a BurninSubtitleOutlineColor enum value
14825	BurninSubtitleOutlineColorYellow = "YELLOW"
14826
14827	// BurninSubtitleOutlineColorRed is a BurninSubtitleOutlineColor enum value
14828	BurninSubtitleOutlineColorRed = "RED"
14829
14830	// BurninSubtitleOutlineColorGreen is a BurninSubtitleOutlineColor enum value
14831	BurninSubtitleOutlineColorGreen = "GREEN"
14832
14833	// BurninSubtitleOutlineColorBlue is a BurninSubtitleOutlineColor enum value
14834	BurninSubtitleOutlineColorBlue = "BLUE"
14835)
14836
14837// Specifies the color of the shadow cast by the captions.All burn-in and DVB-Sub
14838// font settings must match.
14839const (
14840	// BurninSubtitleShadowColorNone is a BurninSubtitleShadowColor enum value
14841	BurninSubtitleShadowColorNone = "NONE"
14842
14843	// BurninSubtitleShadowColorBlack is a BurninSubtitleShadowColor enum value
14844	BurninSubtitleShadowColorBlack = "BLACK"
14845
14846	// BurninSubtitleShadowColorWhite is a BurninSubtitleShadowColor enum value
14847	BurninSubtitleShadowColorWhite = "WHITE"
14848)
14849
14850// Only applies to jobs with input captions in Teletext or STL formats. Specify
14851// whether the spacing between letters in your captions is set by the captions
14852// grid or varies depending on letter width. Choose fixed grid to conform to
14853// the spacing specified in the captions file more accurately. Choose proportional
14854// to make the text easier to read if the captions are closed caption.
14855const (
14856	// BurninSubtitleTeletextSpacingFixedGrid is a BurninSubtitleTeletextSpacing enum value
14857	BurninSubtitleTeletextSpacingFixedGrid = "FIXED_GRID"
14858
14859	// BurninSubtitleTeletextSpacingProportional is a BurninSubtitleTeletextSpacing enum value
14860	BurninSubtitleTeletextSpacingProportional = "PROPORTIONAL"
14861)
14862
14863// Type of Caption output, including Burn-In, Embedded, SCC, SRT, TTML, WebVTT,
14864// DVB-Sub, Teletext.
14865const (
14866	// CaptionDestinationTypeBurnIn is a CaptionDestinationType enum value
14867	CaptionDestinationTypeBurnIn = "BURN_IN"
14868
14869	// CaptionDestinationTypeDvbSub is a CaptionDestinationType enum value
14870	CaptionDestinationTypeDvbSub = "DVB_SUB"
14871
14872	// CaptionDestinationTypeEmbedded is a CaptionDestinationType enum value
14873	CaptionDestinationTypeEmbedded = "EMBEDDED"
14874
14875	// CaptionDestinationTypeScc is a CaptionDestinationType enum value
14876	CaptionDestinationTypeScc = "SCC"
14877
14878	// CaptionDestinationTypeSrt is a CaptionDestinationType enum value
14879	CaptionDestinationTypeSrt = "SRT"
14880
14881	// CaptionDestinationTypeTeletext is a CaptionDestinationType enum value
14882	CaptionDestinationTypeTeletext = "TELETEXT"
14883
14884	// CaptionDestinationTypeTtml is a CaptionDestinationType enum value
14885	CaptionDestinationTypeTtml = "TTML"
14886
14887	// CaptionDestinationTypeWebvtt is a CaptionDestinationType enum value
14888	CaptionDestinationTypeWebvtt = "WEBVTT"
14889)
14890
14891// Use Source (SourceType) to identify the format of your input captions. The
14892// service cannot auto-detect caption format.
14893const (
14894	// CaptionSourceTypeAncillary is a CaptionSourceType enum value
14895	CaptionSourceTypeAncillary = "ANCILLARY"
14896
14897	// CaptionSourceTypeDvbSub is a CaptionSourceType enum value
14898	CaptionSourceTypeDvbSub = "DVB_SUB"
14899
14900	// CaptionSourceTypeEmbedded is a CaptionSourceType enum value
14901	CaptionSourceTypeEmbedded = "EMBEDDED"
14902
14903	// CaptionSourceTypeScc is a CaptionSourceType enum value
14904	CaptionSourceTypeScc = "SCC"
14905
14906	// CaptionSourceTypeTtml is a CaptionSourceType enum value
14907	CaptionSourceTypeTtml = "TTML"
14908
14909	// CaptionSourceTypeStl is a CaptionSourceType enum value
14910	CaptionSourceTypeStl = "STL"
14911
14912	// CaptionSourceTypeSrt is a CaptionSourceType enum value
14913	CaptionSourceTypeSrt = "SRT"
14914
14915	// CaptionSourceTypeTeletext is a CaptionSourceType enum value
14916	CaptionSourceTypeTeletext = "TELETEXT"
14917
14918	// CaptionSourceTypeNullSource is a CaptionSourceType enum value
14919	CaptionSourceTypeNullSource = "NULL_SOURCE"
14920)
14921
14922// When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client
14923// from saving media segments for later replay.
14924const (
14925	// CmafClientCacheDisabled is a CmafClientCache enum value
14926	CmafClientCacheDisabled = "DISABLED"
14927
14928	// CmafClientCacheEnabled is a CmafClientCache enum value
14929	CmafClientCacheEnabled = "ENABLED"
14930)
14931
14932// Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist
14933// generation.
14934const (
14935	// CmafCodecSpecificationRfc6381 is a CmafCodecSpecification enum value
14936	CmafCodecSpecificationRfc6381 = "RFC_6381"
14937
14938	// CmafCodecSpecificationRfc4281 is a CmafCodecSpecification enum value
14939	CmafCodecSpecificationRfc4281 = "RFC_4281"
14940)
14941
14942// Encrypts the segments with the given encryption scheme. Leave blank to disable.
14943// Selecting 'Disabled' in the web interface also disables encryption.
14944const (
14945	// CmafEncryptionTypeSampleAes is a CmafEncryptionType enum value
14946	CmafEncryptionTypeSampleAes = "SAMPLE_AES"
14947)
14948
14949// The Initialization Vector is a 128-bit number used in conjunction with the
14950// key for encrypting blocks. If set to INCLUDE, Initialization Vector is listed
14951// in the manifest. Otherwise Initialization Vector is not in the manifest.
14952const (
14953	// CmafInitializationVectorInManifestInclude is a CmafInitializationVectorInManifest enum value
14954	CmafInitializationVectorInManifestInclude = "INCLUDE"
14955
14956	// CmafInitializationVectorInManifestExclude is a CmafInitializationVectorInManifest enum value
14957	CmafInitializationVectorInManifestExclude = "EXCLUDE"
14958)
14959
14960// Indicates which type of key provider is used for encryption.
14961const (
14962	// CmafKeyProviderTypeStaticKey is a CmafKeyProviderType enum value
14963	CmafKeyProviderTypeStaticKey = "STATIC_KEY"
14964)
14965
14966// When set to GZIP, compresses HLS playlist.
14967const (
14968	// CmafManifestCompressionGzip is a CmafManifestCompression enum value
14969	CmafManifestCompressionGzip = "GZIP"
14970
14971	// CmafManifestCompressionNone is a CmafManifestCompression enum value
14972	CmafManifestCompressionNone = "NONE"
14973)
14974
14975// Indicates whether the output manifest should use floating point values for
14976// segment duration.
14977const (
14978	// CmafManifestDurationFormatFloatingPoint is a CmafManifestDurationFormat enum value
14979	CmafManifestDurationFormatFloatingPoint = "FLOATING_POINT"
14980
14981	// CmafManifestDurationFormatInteger is a CmafManifestDurationFormat enum value
14982	CmafManifestDurationFormatInteger = "INTEGER"
14983)
14984
14985// When set to SINGLE_FILE, a single output file is generated, which is internally
14986// segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES,
14987// separate segment files will be created.
14988const (
14989	// CmafSegmentControlSingleFile is a CmafSegmentControl enum value
14990	CmafSegmentControlSingleFile = "SINGLE_FILE"
14991
14992	// CmafSegmentControlSegmentedFiles is a CmafSegmentControl enum value
14993	CmafSegmentControlSegmentedFiles = "SEGMENTED_FILES"
14994)
14995
14996// Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag
14997// of variant manifest.
14998const (
14999	// CmafStreamInfResolutionInclude is a CmafStreamInfResolution enum value
15000	CmafStreamInfResolutionInclude = "INCLUDE"
15001
15002	// CmafStreamInfResolutionExclude is a CmafStreamInfResolution enum value
15003	CmafStreamInfResolutionExclude = "EXCLUDE"
15004)
15005
15006// When set to ENABLED, a DASH MPD manifest will be generated for this output.
15007const (
15008	// CmafWriteDASHManifestDisabled is a CmafWriteDASHManifest enum value
15009	CmafWriteDASHManifestDisabled = "DISABLED"
15010
15011	// CmafWriteDASHManifestEnabled is a CmafWriteDASHManifest enum value
15012	CmafWriteDASHManifestEnabled = "ENABLED"
15013)
15014
15015// When set to ENABLED, an Apple HLS manifest will be generated for this output.
15016const (
15017	// CmafWriteHLSManifestDisabled is a CmafWriteHLSManifest enum value
15018	CmafWriteHLSManifestDisabled = "DISABLED"
15019
15020	// CmafWriteHLSManifestEnabled is a CmafWriteHLSManifest enum value
15021	CmafWriteHLSManifestEnabled = "ENABLED"
15022)
15023
15024// Enable Insert color metadata (ColorMetadata) to include color metadata in
15025// this output. This setting is enabled by default.
15026const (
15027	// ColorMetadataIgnore is a ColorMetadata enum value
15028	ColorMetadataIgnore = "IGNORE"
15029
15030	// ColorMetadataInsert is a ColorMetadata enum value
15031	ColorMetadataInsert = "INSERT"
15032)
15033
15034// If your input video has accurate color space metadata, or if you don't know
15035// about color space, leave this set to the default value FOLLOW. The service
15036// will automatically detect your input color space. If your input video has
15037// metadata indicating the wrong color space, or if your input video is missing
15038// color space metadata that should be there, specify the accurate color space
15039// here. If you choose HDR10, you can also correct inaccurate color space coefficients,
15040// using the HDR master display information controls. You must also set Color
15041// space usage (ColorSpaceUsage) to FORCE for the service to use these values.
15042const (
15043	// ColorSpaceFollow is a ColorSpace enum value
15044	ColorSpaceFollow = "FOLLOW"
15045
15046	// ColorSpaceRec601 is a ColorSpace enum value
15047	ColorSpaceRec601 = "REC_601"
15048
15049	// ColorSpaceRec709 is a ColorSpace enum value
15050	ColorSpaceRec709 = "REC_709"
15051
15052	// ColorSpaceHdr10 is a ColorSpace enum value
15053	ColorSpaceHdr10 = "HDR10"
15054
15055	// ColorSpaceHlg2020 is a ColorSpace enum value
15056	ColorSpaceHlg2020 = "HLG_2020"
15057)
15058
15059// Determines if colorspace conversion will be performed. If set to _None_,
15060// no conversion will be performed. If _Force 601_ or _Force 709_ are selected,
15061// conversion will be performed for inputs with differing colorspaces. An input's
15062// colorspace can be specified explicitly in the "Video Selector":#inputs-video_selector
15063// if necessary.
15064const (
15065	// ColorSpaceConversionNone is a ColorSpaceConversion enum value
15066	ColorSpaceConversionNone = "NONE"
15067
15068	// ColorSpaceConversionForce601 is a ColorSpaceConversion enum value
15069	ColorSpaceConversionForce601 = "FORCE_601"
15070
15071	// ColorSpaceConversionForce709 is a ColorSpaceConversion enum value
15072	ColorSpaceConversionForce709 = "FORCE_709"
15073
15074	// ColorSpaceConversionForceHdr10 is a ColorSpaceConversion enum value
15075	ColorSpaceConversionForceHdr10 = "FORCE_HDR10"
15076
15077	// ColorSpaceConversionForceHlg2020 is a ColorSpaceConversion enum value
15078	ColorSpaceConversionForceHlg2020 = "FORCE_HLG_2020"
15079)
15080
15081// There are two sources for color metadata, the input file and the job configuration
15082// (in the Color space and HDR master display informaiton settings). The Color
15083// space usage setting controls which takes precedence. FORCE: The system will
15084// use color metadata supplied by user, if any. If the user does not supply
15085// color metadata, the system will use data from the source. FALLBACK: The system
15086// will use color metadata from the source. If source has no color metadata,
15087// the system will use user-supplied color metadata values if available.
15088const (
15089	// ColorSpaceUsageForce is a ColorSpaceUsage enum value
15090	ColorSpaceUsageForce = "FORCE"
15091
15092	// ColorSpaceUsageFallback is a ColorSpaceUsage enum value
15093	ColorSpaceUsageFallback = "FALLBACK"
15094)
15095
15096// Container for this output. Some containers require a container settings object.
15097// If not specified, the default object will be created.
15098const (
15099	// ContainerTypeF4v is a ContainerType enum value
15100	ContainerTypeF4v = "F4V"
15101
15102	// ContainerTypeIsmv is a ContainerType enum value
15103	ContainerTypeIsmv = "ISMV"
15104
15105	// ContainerTypeM2ts is a ContainerType enum value
15106	ContainerTypeM2ts = "M2TS"
15107
15108	// ContainerTypeM3u8 is a ContainerType enum value
15109	ContainerTypeM3u8 = "M3U8"
15110
15111	// ContainerTypeCmfc is a ContainerType enum value
15112	ContainerTypeCmfc = "CMFC"
15113
15114	// ContainerTypeMov is a ContainerType enum value
15115	ContainerTypeMov = "MOV"
15116
15117	// ContainerTypeMp4 is a ContainerType enum value
15118	ContainerTypeMp4 = "MP4"
15119
15120	// ContainerTypeMpd is a ContainerType enum value
15121	ContainerTypeMpd = "MPD"
15122
15123	// ContainerTypeMxf is a ContainerType enum value
15124	ContainerTypeMxf = "MXF"
15125
15126	// ContainerTypeRaw is a ContainerType enum value
15127	ContainerTypeRaw = "RAW"
15128)
15129
15130// Supports HbbTV specification as indicated
15131const (
15132	// DashIsoHbbtvComplianceHbbtv15 is a DashIsoHbbtvCompliance enum value
15133	DashIsoHbbtvComplianceHbbtv15 = "HBBTV_1_5"
15134
15135	// DashIsoHbbtvComplianceNone is a DashIsoHbbtvCompliance enum value
15136	DashIsoHbbtvComplianceNone = "NONE"
15137)
15138
15139// When set to SINGLE_FILE, a single output file is generated, which is internally
15140// segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES,
15141// separate segment files will be created.
15142const (
15143	// DashIsoSegmentControlSingleFile is a DashIsoSegmentControl enum value
15144	DashIsoSegmentControlSingleFile = "SINGLE_FILE"
15145
15146	// DashIsoSegmentControlSegmentedFiles is a DashIsoSegmentControl enum value
15147	DashIsoSegmentControlSegmentedFiles = "SEGMENTED_FILES"
15148)
15149
15150// Only applies when you set Deinterlacer (DeinterlaceMode) to Deinterlace (DEINTERLACE)
15151// or Adaptive (ADAPTIVE). Motion adaptive interpolate (INTERPOLATE) produces
15152// sharper pictures, while blend (BLEND) produces smoother motion. Use (INTERPOLATE_TICKER)
15153// OR (BLEND_TICKER) if your source file includes a ticker, such as a scrolling
15154// headline at the bottom of the frame.
15155const (
15156	// DeinterlaceAlgorithmInterpolate is a DeinterlaceAlgorithm enum value
15157	DeinterlaceAlgorithmInterpolate = "INTERPOLATE"
15158
15159	// DeinterlaceAlgorithmInterpolateTicker is a DeinterlaceAlgorithm enum value
15160	DeinterlaceAlgorithmInterpolateTicker = "INTERPOLATE_TICKER"
15161
15162	// DeinterlaceAlgorithmBlend is a DeinterlaceAlgorithm enum value
15163	DeinterlaceAlgorithmBlend = "BLEND"
15164
15165	// DeinterlaceAlgorithmBlendTicker is a DeinterlaceAlgorithm enum value
15166	DeinterlaceAlgorithmBlendTicker = "BLEND_TICKER"
15167)
15168
15169// - When set to NORMAL (default), the deinterlacer does not convert frames
15170// that are tagged in metadata as progressive. It will only convert those that
15171// are tagged as some other type. - When set to FORCE_ALL_FRAMES, the deinterlacer
15172// converts every frame to progressive - even those that are already tagged
15173// as progressive. Turn Force mode on only if there is a good chance that the
15174// metadata has tagged frames as progressive when they are not progressive.
15175// Do not turn on otherwise; processing frames that are already progressive
15176// into progressive will probably result in lower quality video.
15177const (
15178	// DeinterlacerControlForceAllFrames is a DeinterlacerControl enum value
15179	DeinterlacerControlForceAllFrames = "FORCE_ALL_FRAMES"
15180
15181	// DeinterlacerControlNormal is a DeinterlacerControl enum value
15182	DeinterlacerControlNormal = "NORMAL"
15183)
15184
15185// Use Deinterlacer (DeinterlaceMode) to choose how the service will do deinterlacing.
15186// Default is Deinterlace. - Deinterlace converts interlaced to progressive.
15187// - Inverse telecine converts Hard Telecine 29.97i to progressive 23.976p.
15188// - Adaptive auto-detects and converts to progressive.
15189const (
15190	// DeinterlacerModeDeinterlace is a DeinterlacerMode enum value
15191	DeinterlacerModeDeinterlace = "DEINTERLACE"
15192
15193	// DeinterlacerModeInverseTelecine is a DeinterlacerMode enum value
15194	DeinterlacerModeInverseTelecine = "INVERSE_TELECINE"
15195
15196	// DeinterlacerModeAdaptive is a DeinterlacerMode enum value
15197	DeinterlacerModeAdaptive = "ADAPTIVE"
15198)
15199
15200// Applies only to 29.97 fps outputs. When this feature is enabled, the service
15201// will use drop-frame timecode on outputs. If it is not possible to use drop-frame
15202// timecode, the system will fall back to non-drop-frame. This setting is enabled
15203// by default when Timecode insertion (TimecodeInsertion) is enabled.
15204const (
15205	// DropFrameTimecodeDisabled is a DropFrameTimecode enum value
15206	DropFrameTimecodeDisabled = "DISABLED"
15207
15208	// DropFrameTimecodeEnabled is a DropFrameTimecode enum value
15209	DropFrameTimecodeEnabled = "ENABLED"
15210)
15211
15212// If no explicit x_position or y_position is provided, setting alignment to
15213// centered will place the captions at the bottom center of the output. Similarly,
15214// setting a left alignment will align captions to the bottom left of the output.
15215// If x and y positions are given in conjunction with the alignment parameter,
15216// the font will be justified (either left or centered) relative to those coordinates.
15217// This option is not valid for source captions that are STL, 608/embedded or
15218// teletext. These source settings are already pre-defined by the caption stream.
15219// All burn-in and DVB-Sub font settings must match.
15220const (
15221	// DvbSubtitleAlignmentCentered is a DvbSubtitleAlignment enum value
15222	DvbSubtitleAlignmentCentered = "CENTERED"
15223
15224	// DvbSubtitleAlignmentLeft is a DvbSubtitleAlignment enum value
15225	DvbSubtitleAlignmentLeft = "LEFT"
15226)
15227
15228// Specifies the color of the rectangle behind the captions.All burn-in and
15229// DVB-Sub font settings must match.
15230const (
15231	// DvbSubtitleBackgroundColorNone is a DvbSubtitleBackgroundColor enum value
15232	DvbSubtitleBackgroundColorNone = "NONE"
15233
15234	// DvbSubtitleBackgroundColorBlack is a DvbSubtitleBackgroundColor enum value
15235	DvbSubtitleBackgroundColorBlack = "BLACK"
15236
15237	// DvbSubtitleBackgroundColorWhite is a DvbSubtitleBackgroundColor enum value
15238	DvbSubtitleBackgroundColorWhite = "WHITE"
15239)
15240
15241// Specifies the color of the burned-in captions. This option is not valid for
15242// source captions that are STL, 608/embedded or teletext. These source settings
15243// are already pre-defined by the caption stream. All burn-in and DVB-Sub font
15244// settings must match.
15245const (
15246	// DvbSubtitleFontColorWhite is a DvbSubtitleFontColor enum value
15247	DvbSubtitleFontColorWhite = "WHITE"
15248
15249	// DvbSubtitleFontColorBlack is a DvbSubtitleFontColor enum value
15250	DvbSubtitleFontColorBlack = "BLACK"
15251
15252	// DvbSubtitleFontColorYellow is a DvbSubtitleFontColor enum value
15253	DvbSubtitleFontColorYellow = "YELLOW"
15254
15255	// DvbSubtitleFontColorRed is a DvbSubtitleFontColor enum value
15256	DvbSubtitleFontColorRed = "RED"
15257
15258	// DvbSubtitleFontColorGreen is a DvbSubtitleFontColor enum value
15259	DvbSubtitleFontColorGreen = "GREEN"
15260
15261	// DvbSubtitleFontColorBlue is a DvbSubtitleFontColor enum value
15262	DvbSubtitleFontColorBlue = "BLUE"
15263)
15264
15265// Specifies font outline color. This option is not valid for source captions
15266// that are either 608/embedded or teletext. These source settings are already
15267// pre-defined by the caption stream. All burn-in and DVB-Sub font settings
15268// must match.
15269const (
15270	// DvbSubtitleOutlineColorBlack is a DvbSubtitleOutlineColor enum value
15271	DvbSubtitleOutlineColorBlack = "BLACK"
15272
15273	// DvbSubtitleOutlineColorWhite is a DvbSubtitleOutlineColor enum value
15274	DvbSubtitleOutlineColorWhite = "WHITE"
15275
15276	// DvbSubtitleOutlineColorYellow is a DvbSubtitleOutlineColor enum value
15277	DvbSubtitleOutlineColorYellow = "YELLOW"
15278
15279	// DvbSubtitleOutlineColorRed is a DvbSubtitleOutlineColor enum value
15280	DvbSubtitleOutlineColorRed = "RED"
15281
15282	// DvbSubtitleOutlineColorGreen is a DvbSubtitleOutlineColor enum value
15283	DvbSubtitleOutlineColorGreen = "GREEN"
15284
15285	// DvbSubtitleOutlineColorBlue is a DvbSubtitleOutlineColor enum value
15286	DvbSubtitleOutlineColorBlue = "BLUE"
15287)
15288
15289// Specifies the color of the shadow cast by the captions.All burn-in and DVB-Sub
15290// font settings must match.
15291const (
15292	// DvbSubtitleShadowColorNone is a DvbSubtitleShadowColor enum value
15293	DvbSubtitleShadowColorNone = "NONE"
15294
15295	// DvbSubtitleShadowColorBlack is a DvbSubtitleShadowColor enum value
15296	DvbSubtitleShadowColorBlack = "BLACK"
15297
15298	// DvbSubtitleShadowColorWhite is a DvbSubtitleShadowColor enum value
15299	DvbSubtitleShadowColorWhite = "WHITE"
15300)
15301
15302// Only applies to jobs with input captions in Teletext or STL formats. Specify
15303// whether the spacing between letters in your captions is set by the captions
15304// grid or varies depending on letter width. Choose fixed grid to conform to
15305// the spacing specified in the captions file more accurately. Choose proportional
15306// to make the text easier to read if the captions are closed caption.
15307const (
15308	// DvbSubtitleTeletextSpacingFixedGrid is a DvbSubtitleTeletextSpacing enum value
15309	DvbSubtitleTeletextSpacingFixedGrid = "FIXED_GRID"
15310
15311	// DvbSubtitleTeletextSpacingProportional is a DvbSubtitleTeletextSpacing enum value
15312	DvbSubtitleTeletextSpacingProportional = "PROPORTIONAL"
15313)
15314
15315// If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels.
15316// Only used for 3/2 coding mode.
15317const (
15318	// Eac3AttenuationControlAttenuate3Db is a Eac3AttenuationControl enum value
15319	Eac3AttenuationControlAttenuate3Db = "ATTENUATE_3_DB"
15320
15321	// Eac3AttenuationControlNone is a Eac3AttenuationControl enum value
15322	Eac3AttenuationControlNone = "NONE"
15323)
15324
15325// Specifies the "Bitstream Mode" (bsmod) for the emitted E-AC-3 stream. See
15326// ATSC A/52-2012 (Annex E) for background on these values.
15327const (
15328	// Eac3BitstreamModeCompleteMain is a Eac3BitstreamMode enum value
15329	Eac3BitstreamModeCompleteMain = "COMPLETE_MAIN"
15330
15331	// Eac3BitstreamModeCommentary is a Eac3BitstreamMode enum value
15332	Eac3BitstreamModeCommentary = "COMMENTARY"
15333
15334	// Eac3BitstreamModeEmergency is a Eac3BitstreamMode enum value
15335	Eac3BitstreamModeEmergency = "EMERGENCY"
15336
15337	// Eac3BitstreamModeHearingImpaired is a Eac3BitstreamMode enum value
15338	Eac3BitstreamModeHearingImpaired = "HEARING_IMPAIRED"
15339
15340	// Eac3BitstreamModeVisuallyImpaired is a Eac3BitstreamMode enum value
15341	Eac3BitstreamModeVisuallyImpaired = "VISUALLY_IMPAIRED"
15342)
15343
15344// Dolby Digital Plus coding mode. Determines number of channels.
15345const (
15346	// Eac3CodingModeCodingMode10 is a Eac3CodingMode enum value
15347	Eac3CodingModeCodingMode10 = "CODING_MODE_1_0"
15348
15349	// Eac3CodingModeCodingMode20 is a Eac3CodingMode enum value
15350	Eac3CodingModeCodingMode20 = "CODING_MODE_2_0"
15351
15352	// Eac3CodingModeCodingMode32 is a Eac3CodingMode enum value
15353	Eac3CodingModeCodingMode32 = "CODING_MODE_3_2"
15354)
15355
15356// Activates a DC highpass filter for all input channels.
15357const (
15358	// Eac3DcFilterEnabled is a Eac3DcFilter enum value
15359	Eac3DcFilterEnabled = "ENABLED"
15360
15361	// Eac3DcFilterDisabled is a Eac3DcFilter enum value
15362	Eac3DcFilterDisabled = "DISABLED"
15363)
15364
15365// Enables Dynamic Range Compression that restricts the absolute peak level
15366// for a signal.
15367const (
15368	// Eac3DynamicRangeCompressionLineNone is a Eac3DynamicRangeCompressionLine enum value
15369	Eac3DynamicRangeCompressionLineNone = "NONE"
15370
15371	// Eac3DynamicRangeCompressionLineFilmStandard is a Eac3DynamicRangeCompressionLine enum value
15372	Eac3DynamicRangeCompressionLineFilmStandard = "FILM_STANDARD"
15373
15374	// Eac3DynamicRangeCompressionLineFilmLight is a Eac3DynamicRangeCompressionLine enum value
15375	Eac3DynamicRangeCompressionLineFilmLight = "FILM_LIGHT"
15376
15377	// Eac3DynamicRangeCompressionLineMusicStandard is a Eac3DynamicRangeCompressionLine enum value
15378	Eac3DynamicRangeCompressionLineMusicStandard = "MUSIC_STANDARD"
15379
15380	// Eac3DynamicRangeCompressionLineMusicLight is a Eac3DynamicRangeCompressionLine enum value
15381	Eac3DynamicRangeCompressionLineMusicLight = "MUSIC_LIGHT"
15382
15383	// Eac3DynamicRangeCompressionLineSpeech is a Eac3DynamicRangeCompressionLine enum value
15384	Eac3DynamicRangeCompressionLineSpeech = "SPEECH"
15385)
15386
15387// Enables Heavy Dynamic Range Compression, ensures that the instantaneous signal
15388// peaks do not exceed specified levels.
15389const (
15390	// Eac3DynamicRangeCompressionRfNone is a Eac3DynamicRangeCompressionRf enum value
15391	Eac3DynamicRangeCompressionRfNone = "NONE"
15392
15393	// Eac3DynamicRangeCompressionRfFilmStandard is a Eac3DynamicRangeCompressionRf enum value
15394	Eac3DynamicRangeCompressionRfFilmStandard = "FILM_STANDARD"
15395
15396	// Eac3DynamicRangeCompressionRfFilmLight is a Eac3DynamicRangeCompressionRf enum value
15397	Eac3DynamicRangeCompressionRfFilmLight = "FILM_LIGHT"
15398
15399	// Eac3DynamicRangeCompressionRfMusicStandard is a Eac3DynamicRangeCompressionRf enum value
15400	Eac3DynamicRangeCompressionRfMusicStandard = "MUSIC_STANDARD"
15401
15402	// Eac3DynamicRangeCompressionRfMusicLight is a Eac3DynamicRangeCompressionRf enum value
15403	Eac3DynamicRangeCompressionRfMusicLight = "MUSIC_LIGHT"
15404
15405	// Eac3DynamicRangeCompressionRfSpeech is a Eac3DynamicRangeCompressionRf enum value
15406	Eac3DynamicRangeCompressionRfSpeech = "SPEECH"
15407)
15408
15409// When encoding 3/2 audio, controls whether the LFE channel is enabled
15410const (
15411	// Eac3LfeControlLfe is a Eac3LfeControl enum value
15412	Eac3LfeControlLfe = "LFE"
15413
15414	// Eac3LfeControlNoLfe is a Eac3LfeControl enum value
15415	Eac3LfeControlNoLfe = "NO_LFE"
15416)
15417
15418// Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only
15419// valid with 3_2_LFE coding mode.
15420const (
15421	// Eac3LfeFilterEnabled is a Eac3LfeFilter enum value
15422	Eac3LfeFilterEnabled = "ENABLED"
15423
15424	// Eac3LfeFilterDisabled is a Eac3LfeFilter enum value
15425	Eac3LfeFilterDisabled = "DISABLED"
15426)
15427
15428// When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+,
15429// or DolbyE decoder that supplied this audio data. If audio was not supplied
15430// from one of these streams, then the static metadata settings will be used.
15431const (
15432	// Eac3MetadataControlFollowInput is a Eac3MetadataControl enum value
15433	Eac3MetadataControlFollowInput = "FOLLOW_INPUT"
15434
15435	// Eac3MetadataControlUseConfigured is a Eac3MetadataControl enum value
15436	Eac3MetadataControlUseConfigured = "USE_CONFIGURED"
15437)
15438
15439// When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it is
15440// present on the input. this detection is dynamic over the life of the transcode.
15441// Inputs that alternate between DD+ and non-DD+ content will have a consistent
15442// DD+ output as the system alternates between passthrough and encoding.
15443const (
15444	// Eac3PassthroughControlWhenPossible is a Eac3PassthroughControl enum value
15445	Eac3PassthroughControlWhenPossible = "WHEN_POSSIBLE"
15446
15447	// Eac3PassthroughControlNoPassthrough is a Eac3PassthroughControl enum value
15448	Eac3PassthroughControlNoPassthrough = "NO_PASSTHROUGH"
15449)
15450
15451// Controls the amount of phase-shift applied to the surround channels. Only
15452// used for 3/2 coding mode.
15453const (
15454	// Eac3PhaseControlShift90Degrees is a Eac3PhaseControl enum value
15455	Eac3PhaseControlShift90Degrees = "SHIFT_90_DEGREES"
15456
15457	// Eac3PhaseControlNoShift is a Eac3PhaseControl enum value
15458	Eac3PhaseControlNoShift = "NO_SHIFT"
15459)
15460
15461// Stereo downmix preference. Only used for 3/2 coding mode.
15462const (
15463	// Eac3StereoDownmixNotIndicated is a Eac3StereoDownmix enum value
15464	Eac3StereoDownmixNotIndicated = "NOT_INDICATED"
15465
15466	// Eac3StereoDownmixLoRo is a Eac3StereoDownmix enum value
15467	Eac3StereoDownmixLoRo = "LO_RO"
15468
15469	// Eac3StereoDownmixLtRt is a Eac3StereoDownmix enum value
15470	Eac3StereoDownmixLtRt = "LT_RT"
15471
15472	// Eac3StereoDownmixDpl2 is a Eac3StereoDownmix enum value
15473	Eac3StereoDownmixDpl2 = "DPL2"
15474)
15475
15476// When encoding 3/2 audio, sets whether an extra center back surround channel
15477// is matrix encoded into the left and right surround channels.
15478const (
15479	// Eac3SurroundExModeNotIndicated is a Eac3SurroundExMode enum value
15480	Eac3SurroundExModeNotIndicated = "NOT_INDICATED"
15481
15482	// Eac3SurroundExModeEnabled is a Eac3SurroundExMode enum value
15483	Eac3SurroundExModeEnabled = "ENABLED"
15484
15485	// Eac3SurroundExModeDisabled is a Eac3SurroundExMode enum value
15486	Eac3SurroundExModeDisabled = "DISABLED"
15487)
15488
15489// When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into
15490// the two channels.
15491const (
15492	// Eac3SurroundModeNotIndicated is a Eac3SurroundMode enum value
15493	Eac3SurroundModeNotIndicated = "NOT_INDICATED"
15494
15495	// Eac3SurroundModeEnabled is a Eac3SurroundMode enum value
15496	Eac3SurroundModeEnabled = "ENABLED"
15497
15498	// Eac3SurroundModeDisabled is a Eac3SurroundMode enum value
15499	Eac3SurroundModeDisabled = "DISABLED"
15500)
15501
15502// When set to UPCONVERT, 608 data is both passed through via the "608 compatibility
15503// bytes" fields of the 708 wrapper as well as translated into 708. 708 data
15504// present in the source content will be discarded.
15505const (
15506	// EmbeddedConvert608To708Upconvert is a EmbeddedConvert608To708 enum value
15507	EmbeddedConvert608To708Upconvert = "UPCONVERT"
15508
15509	// EmbeddedConvert608To708Disabled is a EmbeddedConvert608To708 enum value
15510	EmbeddedConvert608To708Disabled = "DISABLED"
15511)
15512
15513// If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the beginning
15514// of the archive as required for progressive downloading. Otherwise it is placed
15515// normally at the end.
15516const (
15517	// F4vMoovPlacementProgressiveDownload is a F4vMoovPlacement enum value
15518	F4vMoovPlacementProgressiveDownload = "PROGRESSIVE_DOWNLOAD"
15519
15520	// F4vMoovPlacementNormal is a F4vMoovPlacement enum value
15521	F4vMoovPlacementNormal = "NORMAL"
15522)
15523
15524// If set to UPCONVERT, 608 caption data is both passed through via the "608
15525// compatibility bytes" fields of the 708 wrapper as well as translated into
15526// 708. 708 data present in the source content will be discarded.
15527const (
15528	// FileSourceConvert608To708Upconvert is a FileSourceConvert608To708 enum value
15529	FileSourceConvert608To708Upconvert = "UPCONVERT"
15530
15531	// FileSourceConvert608To708Disabled is a FileSourceConvert608To708 enum value
15532	FileSourceConvert608To708Disabled = "DISABLED"
15533)
15534
15535// Adaptive quantization. Allows intra-frame quantizers to vary to improve visual
15536// quality.
15537const (
15538	// H264AdaptiveQuantizationOff is a H264AdaptiveQuantization enum value
15539	H264AdaptiveQuantizationOff = "OFF"
15540
15541	// H264AdaptiveQuantizationLow is a H264AdaptiveQuantization enum value
15542	H264AdaptiveQuantizationLow = "LOW"
15543
15544	// H264AdaptiveQuantizationMedium is a H264AdaptiveQuantization enum value
15545	H264AdaptiveQuantizationMedium = "MEDIUM"
15546
15547	// H264AdaptiveQuantizationHigh is a H264AdaptiveQuantization enum value
15548	H264AdaptiveQuantizationHigh = "HIGH"
15549
15550	// H264AdaptiveQuantizationHigher is a H264AdaptiveQuantization enum value
15551	H264AdaptiveQuantizationHigher = "HIGHER"
15552
15553	// H264AdaptiveQuantizationMax is a H264AdaptiveQuantization enum value
15554	H264AdaptiveQuantizationMax = "MAX"
15555)
15556
15557// H.264 Level.
15558const (
15559	// H264CodecLevelAuto is a H264CodecLevel enum value
15560	H264CodecLevelAuto = "AUTO"
15561
15562	// H264CodecLevelLevel1 is a H264CodecLevel enum value
15563	H264CodecLevelLevel1 = "LEVEL_1"
15564
15565	// H264CodecLevelLevel11 is a H264CodecLevel enum value
15566	H264CodecLevelLevel11 = "LEVEL_1_1"
15567
15568	// H264CodecLevelLevel12 is a H264CodecLevel enum value
15569	H264CodecLevelLevel12 = "LEVEL_1_2"
15570
15571	// H264CodecLevelLevel13 is a H264CodecLevel enum value
15572	H264CodecLevelLevel13 = "LEVEL_1_3"
15573
15574	// H264CodecLevelLevel2 is a H264CodecLevel enum value
15575	H264CodecLevelLevel2 = "LEVEL_2"
15576
15577	// H264CodecLevelLevel21 is a H264CodecLevel enum value
15578	H264CodecLevelLevel21 = "LEVEL_2_1"
15579
15580	// H264CodecLevelLevel22 is a H264CodecLevel enum value
15581	H264CodecLevelLevel22 = "LEVEL_2_2"
15582
15583	// H264CodecLevelLevel3 is a H264CodecLevel enum value
15584	H264CodecLevelLevel3 = "LEVEL_3"
15585
15586	// H264CodecLevelLevel31 is a H264CodecLevel enum value
15587	H264CodecLevelLevel31 = "LEVEL_3_1"
15588
15589	// H264CodecLevelLevel32 is a H264CodecLevel enum value
15590	H264CodecLevelLevel32 = "LEVEL_3_2"
15591
15592	// H264CodecLevelLevel4 is a H264CodecLevel enum value
15593	H264CodecLevelLevel4 = "LEVEL_4"
15594
15595	// H264CodecLevelLevel41 is a H264CodecLevel enum value
15596	H264CodecLevelLevel41 = "LEVEL_4_1"
15597
15598	// H264CodecLevelLevel42 is a H264CodecLevel enum value
15599	H264CodecLevelLevel42 = "LEVEL_4_2"
15600
15601	// H264CodecLevelLevel5 is a H264CodecLevel enum value
15602	H264CodecLevelLevel5 = "LEVEL_5"
15603
15604	// H264CodecLevelLevel51 is a H264CodecLevel enum value
15605	H264CodecLevelLevel51 = "LEVEL_5_1"
15606
15607	// H264CodecLevelLevel52 is a H264CodecLevel enum value
15608	H264CodecLevelLevel52 = "LEVEL_5_2"
15609)
15610
15611// H.264 Profile. High 4:2:2 and 10-bit profiles are only available with the
15612// AVC-I License.
15613const (
15614	// H264CodecProfileBaseline is a H264CodecProfile enum value
15615	H264CodecProfileBaseline = "BASELINE"
15616
15617	// H264CodecProfileHigh is a H264CodecProfile enum value
15618	H264CodecProfileHigh = "HIGH"
15619
15620	// H264CodecProfileHigh10bit is a H264CodecProfile enum value
15621	H264CodecProfileHigh10bit = "HIGH_10BIT"
15622
15623	// H264CodecProfileHigh422 is a H264CodecProfile enum value
15624	H264CodecProfileHigh422 = "HIGH_422"
15625
15626	// H264CodecProfileHigh42210bit is a H264CodecProfile enum value
15627	H264CodecProfileHigh42210bit = "HIGH_422_10BIT"
15628
15629	// H264CodecProfileMain is a H264CodecProfile enum value
15630	H264CodecProfileMain = "MAIN"
15631)
15632
15633// Choose Adaptive to improve subjective video quality for high-motion content.
15634// This will cause the service to use fewer B-frames (which infer information
15635// based on other frames) for high-motion portions of the video and more B-frames
15636// for low-motion portions. The maximum number of B-frames is limited by the
15637// value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames).
15638const (
15639	// H264DynamicSubGopAdaptive is a H264DynamicSubGop enum value
15640	H264DynamicSubGopAdaptive = "ADAPTIVE"
15641
15642	// H264DynamicSubGopStatic is a H264DynamicSubGop enum value
15643	H264DynamicSubGopStatic = "STATIC"
15644)
15645
15646// Entropy encoding mode. Use CABAC (must be in Main or High profile) or CAVLC.
15647const (
15648	// H264EntropyEncodingCabac is a H264EntropyEncoding enum value
15649	H264EntropyEncodingCabac = "CABAC"
15650
15651	// H264EntropyEncodingCavlc is a H264EntropyEncoding enum value
15652	H264EntropyEncodingCavlc = "CAVLC"
15653)
15654
15655// Choosing FORCE_FIELD disables PAFF encoding for interlaced outputs.
15656const (
15657	// H264FieldEncodingPaff is a H264FieldEncoding enum value
15658	H264FieldEncodingPaff = "PAFF"
15659
15660	// H264FieldEncodingForceField is a H264FieldEncoding enum value
15661	H264FieldEncodingForceField = "FORCE_FIELD"
15662)
15663
15664// Adjust quantization within each frame to reduce flicker or 'pop' on I-frames.
15665const (
15666	// H264FlickerAdaptiveQuantizationDisabled is a H264FlickerAdaptiveQuantization enum value
15667	H264FlickerAdaptiveQuantizationDisabled = "DISABLED"
15668
15669	// H264FlickerAdaptiveQuantizationEnabled is a H264FlickerAdaptiveQuantization enum value
15670	H264FlickerAdaptiveQuantizationEnabled = "ENABLED"
15671)
15672
15673// If you are using the console, use the Framerate setting to specify the framerate
15674// for this output. If you want to keep the same framerate as the input video,
15675// choose Follow source. If you want to do framerate conversion, choose a framerate
15676// from the dropdown list or choose Custom. The framerates shown in the dropdown
15677// list are decimal approximations of fractions. If you choose Custom, specify
15678// your framerate as a fraction. If you are creating your transcoding job specification
15679// as a JSON file without the console, use FramerateControl to specify which
15680// value the service uses for the framerate for this output. Choose INITIALIZE_FROM_SOURCE
15681// if you want the service to use the framerate from the input. Choose SPECIFIED
15682// if you want the service to use the framerate you specify in the settings
15683// FramerateNumerator and FramerateDenominator.
15684const (
15685	// H264FramerateControlInitializeFromSource is a H264FramerateControl enum value
15686	H264FramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
15687
15688	// H264FramerateControlSpecified is a H264FramerateControl enum value
15689	H264FramerateControlSpecified = "SPECIFIED"
15690)
15691
15692// When set to INTERPOLATE, produces smoother motion during framerate conversion.
15693const (
15694	// H264FramerateConversionAlgorithmDuplicateDrop is a H264FramerateConversionAlgorithm enum value
15695	H264FramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP"
15696
15697	// H264FramerateConversionAlgorithmInterpolate is a H264FramerateConversionAlgorithm enum value
15698	H264FramerateConversionAlgorithmInterpolate = "INTERPOLATE"
15699)
15700
15701// If enable, use reference B frames for GOP structures that have B frames >
15702// 1.
15703const (
15704	// H264GopBReferenceDisabled is a H264GopBReference enum value
15705	H264GopBReferenceDisabled = "DISABLED"
15706
15707	// H264GopBReferenceEnabled is a H264GopBReference enum value
15708	H264GopBReferenceEnabled = "ENABLED"
15709)
15710
15711// Indicates if the GOP Size in H264 is specified in frames or seconds. If seconds
15712// the system will convert the GOP Size into a frame count at run time.
15713const (
15714	// H264GopSizeUnitsFrames is a H264GopSizeUnits enum value
15715	H264GopSizeUnitsFrames = "FRAMES"
15716
15717	// H264GopSizeUnitsSeconds is a H264GopSizeUnits enum value
15718	H264GopSizeUnitsSeconds = "SECONDS"
15719)
15720
15721// Use Interlace mode (InterlaceMode) to choose the scan line type for the output.
15722// * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce
15723// interlaced output with the entire output having the same field polarity (top
15724// or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default
15725// Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore,
15726// behavior depends on the input scan type, as follows. - If the source is interlaced,
15727// the output will be interlaced with the same polarity as the source (it will
15728// follow the source). The output could therefore be a mix of "top field first"
15729// and "bottom field first". - If the source is progressive, the output will
15730// be interlaced with "top field first" or "bottom field first" polarity, depending
15731// on which of the Follow options you chose.
15732const (
15733	// H264InterlaceModeProgressive is a H264InterlaceMode enum value
15734	H264InterlaceModeProgressive = "PROGRESSIVE"
15735
15736	// H264InterlaceModeTopField is a H264InterlaceMode enum value
15737	H264InterlaceModeTopField = "TOP_FIELD"
15738
15739	// H264InterlaceModeBottomField is a H264InterlaceMode enum value
15740	H264InterlaceModeBottomField = "BOTTOM_FIELD"
15741
15742	// H264InterlaceModeFollowTopField is a H264InterlaceMode enum value
15743	H264InterlaceModeFollowTopField = "FOLLOW_TOP_FIELD"
15744
15745	// H264InterlaceModeFollowBottomField is a H264InterlaceMode enum value
15746	H264InterlaceModeFollowBottomField = "FOLLOW_BOTTOM_FIELD"
15747)
15748
15749// Using the API, enable ParFollowSource if you want the service to use the
15750// pixel aspect ratio from the input. Using the console, do this by choosing
15751// Follow source for Pixel aspect ratio.
15752const (
15753	// H264ParControlInitializeFromSource is a H264ParControl enum value
15754	H264ParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
15755
15756	// H264ParControlSpecified is a H264ParControl enum value
15757	H264ParControlSpecified = "SPECIFIED"
15758)
15759
15760// Use Quality tuning level (H264QualityTuningLevel) to specifiy whether to
15761// use fast single-pass, high-quality singlepass, or high-quality multipass
15762// video encoding.
15763const (
15764	// H264QualityTuningLevelSinglePass is a H264QualityTuningLevel enum value
15765	H264QualityTuningLevelSinglePass = "SINGLE_PASS"
15766
15767	// H264QualityTuningLevelSinglePassHq is a H264QualityTuningLevel enum value
15768	H264QualityTuningLevelSinglePassHq = "SINGLE_PASS_HQ"
15769
15770	// H264QualityTuningLevelMultiPassHq is a H264QualityTuningLevel enum value
15771	H264QualityTuningLevelMultiPassHq = "MULTI_PASS_HQ"
15772)
15773
15774// Use this setting to specify whether this output has a variable bitrate (VBR),
15775// constant bitrate (CBR) or quality-defined variable bitrate (QVBR).
15776const (
15777	// H264RateControlModeVbr is a H264RateControlMode enum value
15778	H264RateControlModeVbr = "VBR"
15779
15780	// H264RateControlModeCbr is a H264RateControlMode enum value
15781	H264RateControlModeCbr = "CBR"
15782
15783	// H264RateControlModeQvbr is a H264RateControlMode enum value
15784	H264RateControlModeQvbr = "QVBR"
15785)
15786
15787// Places a PPS header on each encoded picture, even if repeated.
15788const (
15789	// H264RepeatPpsDisabled is a H264RepeatPps enum value
15790	H264RepeatPpsDisabled = "DISABLED"
15791
15792	// H264RepeatPpsEnabled is a H264RepeatPps enum value
15793	H264RepeatPpsEnabled = "ENABLED"
15794)
15795
15796// Scene change detection (inserts I-frames on scene changes).
15797const (
15798	// H264SceneChangeDetectDisabled is a H264SceneChangeDetect enum value
15799	H264SceneChangeDetectDisabled = "DISABLED"
15800
15801	// H264SceneChangeDetectEnabled is a H264SceneChangeDetect enum value
15802	H264SceneChangeDetectEnabled = "ENABLED"
15803)
15804
15805// Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled
15806// as 25fps, and audio is sped up correspondingly.
15807const (
15808	// H264SlowPalDisabled is a H264SlowPal enum value
15809	H264SlowPalDisabled = "DISABLED"
15810
15811	// H264SlowPalEnabled is a H264SlowPal enum value
15812	H264SlowPalEnabled = "ENABLED"
15813)
15814
15815// Adjust quantization within each frame based on spatial variation of content
15816// complexity.
15817const (
15818	// H264SpatialAdaptiveQuantizationDisabled is a H264SpatialAdaptiveQuantization enum value
15819	H264SpatialAdaptiveQuantizationDisabled = "DISABLED"
15820
15821	// H264SpatialAdaptiveQuantizationEnabled is a H264SpatialAdaptiveQuantization enum value
15822	H264SpatialAdaptiveQuantizationEnabled = "ENABLED"
15823)
15824
15825// Produces a bitstream compliant with SMPTE RP-2027.
15826const (
15827	// H264SyntaxDefault is a H264Syntax enum value
15828	H264SyntaxDefault = "DEFAULT"
15829
15830	// H264SyntaxRp2027 is a H264Syntax enum value
15831	H264SyntaxRp2027 = "RP2027"
15832)
15833
15834// This field applies only if the Streams > Advanced > Framerate (framerate)
15835// field is set to 29.970. This field works with the Streams > Advanced > Preprocessors
15836// > Deinterlacer field (deinterlace_mode) and the Streams > Advanced > Interlaced
15837// Mode field (interlace_mode) to identify the scan type for the output: Progressive,
15838// Interlaced, Hard Telecine or Soft Telecine. - Hard: produces 29.97i output
15839// from 23.976 input. - Soft: produces 23.976; the player converts this output
15840// to 29.97i.
15841const (
15842	// H264TelecineNone is a H264Telecine enum value
15843	H264TelecineNone = "NONE"
15844
15845	// H264TelecineSoft is a H264Telecine enum value
15846	H264TelecineSoft = "SOFT"
15847
15848	// H264TelecineHard is a H264Telecine enum value
15849	H264TelecineHard = "HARD"
15850)
15851
15852// Adjust quantization within each frame based on temporal variation of content
15853// complexity.
15854const (
15855	// H264TemporalAdaptiveQuantizationDisabled is a H264TemporalAdaptiveQuantization enum value
15856	H264TemporalAdaptiveQuantizationDisabled = "DISABLED"
15857
15858	// H264TemporalAdaptiveQuantizationEnabled is a H264TemporalAdaptiveQuantization enum value
15859	H264TemporalAdaptiveQuantizationEnabled = "ENABLED"
15860)
15861
15862// Inserts timecode for each frame as 4 bytes of an unregistered SEI message.
15863const (
15864	// H264UnregisteredSeiTimecodeDisabled is a H264UnregisteredSeiTimecode enum value
15865	H264UnregisteredSeiTimecodeDisabled = "DISABLED"
15866
15867	// H264UnregisteredSeiTimecodeEnabled is a H264UnregisteredSeiTimecode enum value
15868	H264UnregisteredSeiTimecodeEnabled = "ENABLED"
15869)
15870
15871// Adaptive quantization. Allows intra-frame quantizers to vary to improve visual
15872// quality.
15873const (
15874	// H265AdaptiveQuantizationOff is a H265AdaptiveQuantization enum value
15875	H265AdaptiveQuantizationOff = "OFF"
15876
15877	// H265AdaptiveQuantizationLow is a H265AdaptiveQuantization enum value
15878	H265AdaptiveQuantizationLow = "LOW"
15879
15880	// H265AdaptiveQuantizationMedium is a H265AdaptiveQuantization enum value
15881	H265AdaptiveQuantizationMedium = "MEDIUM"
15882
15883	// H265AdaptiveQuantizationHigh is a H265AdaptiveQuantization enum value
15884	H265AdaptiveQuantizationHigh = "HIGH"
15885
15886	// H265AdaptiveQuantizationHigher is a H265AdaptiveQuantization enum value
15887	H265AdaptiveQuantizationHigher = "HIGHER"
15888
15889	// H265AdaptiveQuantizationMax is a H265AdaptiveQuantization enum value
15890	H265AdaptiveQuantizationMax = "MAX"
15891)
15892
15893// Enables Alternate Transfer Function SEI message for outputs using Hybrid
15894// Log Gamma (HLG) Electro-Optical Transfer Function (EOTF).
15895const (
15896	// H265AlternateTransferFunctionSeiDisabled is a H265AlternateTransferFunctionSei enum value
15897	H265AlternateTransferFunctionSeiDisabled = "DISABLED"
15898
15899	// H265AlternateTransferFunctionSeiEnabled is a H265AlternateTransferFunctionSei enum value
15900	H265AlternateTransferFunctionSeiEnabled = "ENABLED"
15901)
15902
15903// H.265 Level.
15904const (
15905	// H265CodecLevelAuto is a H265CodecLevel enum value
15906	H265CodecLevelAuto = "AUTO"
15907
15908	// H265CodecLevelLevel1 is a H265CodecLevel enum value
15909	H265CodecLevelLevel1 = "LEVEL_1"
15910
15911	// H265CodecLevelLevel2 is a H265CodecLevel enum value
15912	H265CodecLevelLevel2 = "LEVEL_2"
15913
15914	// H265CodecLevelLevel21 is a H265CodecLevel enum value
15915	H265CodecLevelLevel21 = "LEVEL_2_1"
15916
15917	// H265CodecLevelLevel3 is a H265CodecLevel enum value
15918	H265CodecLevelLevel3 = "LEVEL_3"
15919
15920	// H265CodecLevelLevel31 is a H265CodecLevel enum value
15921	H265CodecLevelLevel31 = "LEVEL_3_1"
15922
15923	// H265CodecLevelLevel4 is a H265CodecLevel enum value
15924	H265CodecLevelLevel4 = "LEVEL_4"
15925
15926	// H265CodecLevelLevel41 is a H265CodecLevel enum value
15927	H265CodecLevelLevel41 = "LEVEL_4_1"
15928
15929	// H265CodecLevelLevel5 is a H265CodecLevel enum value
15930	H265CodecLevelLevel5 = "LEVEL_5"
15931
15932	// H265CodecLevelLevel51 is a H265CodecLevel enum value
15933	H265CodecLevelLevel51 = "LEVEL_5_1"
15934
15935	// H265CodecLevelLevel52 is a H265CodecLevel enum value
15936	H265CodecLevelLevel52 = "LEVEL_5_2"
15937
15938	// H265CodecLevelLevel6 is a H265CodecLevel enum value
15939	H265CodecLevelLevel6 = "LEVEL_6"
15940
15941	// H265CodecLevelLevel61 is a H265CodecLevel enum value
15942	H265CodecLevelLevel61 = "LEVEL_6_1"
15943
15944	// H265CodecLevelLevel62 is a H265CodecLevel enum value
15945	H265CodecLevelLevel62 = "LEVEL_6_2"
15946)
15947
15948// Represents the Profile and Tier, per the HEVC (H.265) specification. Selections
15949// are grouped as [Profile] / [Tier], so "Main/High" represents Main Profile
15950// with High Tier. 4:2:2 profiles are only available with the HEVC 4:2:2 License.
15951const (
15952	// H265CodecProfileMainMain is a H265CodecProfile enum value
15953	H265CodecProfileMainMain = "MAIN_MAIN"
15954
15955	// H265CodecProfileMainHigh is a H265CodecProfile enum value
15956	H265CodecProfileMainHigh = "MAIN_HIGH"
15957
15958	// H265CodecProfileMain10Main is a H265CodecProfile enum value
15959	H265CodecProfileMain10Main = "MAIN10_MAIN"
15960
15961	// H265CodecProfileMain10High is a H265CodecProfile enum value
15962	H265CodecProfileMain10High = "MAIN10_HIGH"
15963
15964	// H265CodecProfileMain4228bitMain is a H265CodecProfile enum value
15965	H265CodecProfileMain4228bitMain = "MAIN_422_8BIT_MAIN"
15966
15967	// H265CodecProfileMain4228bitHigh is a H265CodecProfile enum value
15968	H265CodecProfileMain4228bitHigh = "MAIN_422_8BIT_HIGH"
15969
15970	// H265CodecProfileMain42210bitMain is a H265CodecProfile enum value
15971	H265CodecProfileMain42210bitMain = "MAIN_422_10BIT_MAIN"
15972
15973	// H265CodecProfileMain42210bitHigh is a H265CodecProfile enum value
15974	H265CodecProfileMain42210bitHigh = "MAIN_422_10BIT_HIGH"
15975)
15976
15977// Choose Adaptive to improve subjective video quality for high-motion content.
15978// This will cause the service to use fewer B-frames (which infer information
15979// based on other frames) for high-motion portions of the video and more B-frames
15980// for low-motion portions. The maximum number of B-frames is limited by the
15981// value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames).
15982const (
15983	// H265DynamicSubGopAdaptive is a H265DynamicSubGop enum value
15984	H265DynamicSubGopAdaptive = "ADAPTIVE"
15985
15986	// H265DynamicSubGopStatic is a H265DynamicSubGop enum value
15987	H265DynamicSubGopStatic = "STATIC"
15988)
15989
15990// Adjust quantization within each frame to reduce flicker or 'pop' on I-frames.
15991const (
15992	// H265FlickerAdaptiveQuantizationDisabled is a H265FlickerAdaptiveQuantization enum value
15993	H265FlickerAdaptiveQuantizationDisabled = "DISABLED"
15994
15995	// H265FlickerAdaptiveQuantizationEnabled is a H265FlickerAdaptiveQuantization enum value
15996	H265FlickerAdaptiveQuantizationEnabled = "ENABLED"
15997)
15998
15999// If you are using the console, use the Framerate setting to specify the framerate
16000// for this output. If you want to keep the same framerate as the input video,
16001// choose Follow source. If you want to do framerate conversion, choose a framerate
16002// from the dropdown list or choose Custom. The framerates shown in the dropdown
16003// list are decimal approximations of fractions. If you choose Custom, specify
16004// your framerate as a fraction. If you are creating your transcoding job sepecification
16005// as a JSON file without the console, use FramerateControl to specify which
16006// value the service uses for the framerate for this output. Choose INITIALIZE_FROM_SOURCE
16007// if you want the service to use the framerate from the input. Choose SPECIFIED
16008// if you want the service to use the framerate you specify in the settings
16009// FramerateNumerator and FramerateDenominator.
16010const (
16011	// H265FramerateControlInitializeFromSource is a H265FramerateControl enum value
16012	H265FramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
16013
16014	// H265FramerateControlSpecified is a H265FramerateControl enum value
16015	H265FramerateControlSpecified = "SPECIFIED"
16016)
16017
16018// When set to INTERPOLATE, produces smoother motion during framerate conversion.
16019const (
16020	// H265FramerateConversionAlgorithmDuplicateDrop is a H265FramerateConversionAlgorithm enum value
16021	H265FramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP"
16022
16023	// H265FramerateConversionAlgorithmInterpolate is a H265FramerateConversionAlgorithm enum value
16024	H265FramerateConversionAlgorithmInterpolate = "INTERPOLATE"
16025)
16026
16027// If enable, use reference B frames for GOP structures that have B frames >
16028// 1.
16029const (
16030	// H265GopBReferenceDisabled is a H265GopBReference enum value
16031	H265GopBReferenceDisabled = "DISABLED"
16032
16033	// H265GopBReferenceEnabled is a H265GopBReference enum value
16034	H265GopBReferenceEnabled = "ENABLED"
16035)
16036
16037// Indicates if the GOP Size in H265 is specified in frames or seconds. If seconds
16038// the system will convert the GOP Size into a frame count at run time.
16039const (
16040	// H265GopSizeUnitsFrames is a H265GopSizeUnits enum value
16041	H265GopSizeUnitsFrames = "FRAMES"
16042
16043	// H265GopSizeUnitsSeconds is a H265GopSizeUnits enum value
16044	H265GopSizeUnitsSeconds = "SECONDS"
16045)
16046
16047// Use Interlace mode (InterlaceMode) to choose the scan line type for the output.
16048// * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce
16049// interlaced output with the entire output having the same field polarity (top
16050// or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default
16051// Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore,
16052// behavior depends on the input scan type. - If the source is interlaced, the
16053// output will be interlaced with the same polarity as the source (it will follow
16054// the source). The output could therefore be a mix of "top field first" and
16055// "bottom field first". - If the source is progressive, the output will be
16056// interlaced with "top field first" or "bottom field first" polarity, depending
16057// on which of the Follow options you chose.
16058const (
16059	// H265InterlaceModeProgressive is a H265InterlaceMode enum value
16060	H265InterlaceModeProgressive = "PROGRESSIVE"
16061
16062	// H265InterlaceModeTopField is a H265InterlaceMode enum value
16063	H265InterlaceModeTopField = "TOP_FIELD"
16064
16065	// H265InterlaceModeBottomField is a H265InterlaceMode enum value
16066	H265InterlaceModeBottomField = "BOTTOM_FIELD"
16067
16068	// H265InterlaceModeFollowTopField is a H265InterlaceMode enum value
16069	H265InterlaceModeFollowTopField = "FOLLOW_TOP_FIELD"
16070
16071	// H265InterlaceModeFollowBottomField is a H265InterlaceMode enum value
16072	H265InterlaceModeFollowBottomField = "FOLLOW_BOTTOM_FIELD"
16073)
16074
16075// Using the API, enable ParFollowSource if you want the service to use the
16076// pixel aspect ratio from the input. Using the console, do this by choosing
16077// Follow source for Pixel aspect ratio.
16078const (
16079	// H265ParControlInitializeFromSource is a H265ParControl enum value
16080	H265ParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
16081
16082	// H265ParControlSpecified is a H265ParControl enum value
16083	H265ParControlSpecified = "SPECIFIED"
16084)
16085
16086// Use Quality tuning level (H265QualityTuningLevel) to specifiy whether to
16087// use fast single-pass, high-quality singlepass, or high-quality multipass
16088// video encoding.
16089const (
16090	// H265QualityTuningLevelSinglePass is a H265QualityTuningLevel enum value
16091	H265QualityTuningLevelSinglePass = "SINGLE_PASS"
16092
16093	// H265QualityTuningLevelSinglePassHq is a H265QualityTuningLevel enum value
16094	H265QualityTuningLevelSinglePassHq = "SINGLE_PASS_HQ"
16095
16096	// H265QualityTuningLevelMultiPassHq is a H265QualityTuningLevel enum value
16097	H265QualityTuningLevelMultiPassHq = "MULTI_PASS_HQ"
16098)
16099
16100// Use this setting to specify whether this output has a variable bitrate (VBR),
16101// constant bitrate (CBR) or quality-defined variable bitrate (QVBR).
16102const (
16103	// H265RateControlModeVbr is a H265RateControlMode enum value
16104	H265RateControlModeVbr = "VBR"
16105
16106	// H265RateControlModeCbr is a H265RateControlMode enum value
16107	H265RateControlModeCbr = "CBR"
16108
16109	// H265RateControlModeQvbr is a H265RateControlMode enum value
16110	H265RateControlModeQvbr = "QVBR"
16111)
16112
16113// Specify Sample Adaptive Offset (SAO) filter strength. Adaptive mode dynamically
16114// selects best strength based on content
16115const (
16116	// H265SampleAdaptiveOffsetFilterModeDefault is a H265SampleAdaptiveOffsetFilterMode enum value
16117	H265SampleAdaptiveOffsetFilterModeDefault = "DEFAULT"
16118
16119	// H265SampleAdaptiveOffsetFilterModeAdaptive is a H265SampleAdaptiveOffsetFilterMode enum value
16120	H265SampleAdaptiveOffsetFilterModeAdaptive = "ADAPTIVE"
16121
16122	// H265SampleAdaptiveOffsetFilterModeOff is a H265SampleAdaptiveOffsetFilterMode enum value
16123	H265SampleAdaptiveOffsetFilterModeOff = "OFF"
16124)
16125
16126// Scene change detection (inserts I-frames on scene changes).
16127const (
16128	// H265SceneChangeDetectDisabled is a H265SceneChangeDetect enum value
16129	H265SceneChangeDetectDisabled = "DISABLED"
16130
16131	// H265SceneChangeDetectEnabled is a H265SceneChangeDetect enum value
16132	H265SceneChangeDetectEnabled = "ENABLED"
16133)
16134
16135// Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled
16136// as 25fps, and audio is sped up correspondingly.
16137const (
16138	// H265SlowPalDisabled is a H265SlowPal enum value
16139	H265SlowPalDisabled = "DISABLED"
16140
16141	// H265SlowPalEnabled is a H265SlowPal enum value
16142	H265SlowPalEnabled = "ENABLED"
16143)
16144
16145// Adjust quantization within each frame based on spatial variation of content
16146// complexity.
16147const (
16148	// H265SpatialAdaptiveQuantizationDisabled is a H265SpatialAdaptiveQuantization enum value
16149	H265SpatialAdaptiveQuantizationDisabled = "DISABLED"
16150
16151	// H265SpatialAdaptiveQuantizationEnabled is a H265SpatialAdaptiveQuantization enum value
16152	H265SpatialAdaptiveQuantizationEnabled = "ENABLED"
16153)
16154
16155// This field applies only if the Streams > Advanced > Framerate (framerate)
16156// field is set to 29.970. This field works with the Streams > Advanced > Preprocessors
16157// > Deinterlacer field (deinterlace_mode) and the Streams > Advanced > Interlaced
16158// Mode field (interlace_mode) to identify the scan type for the output: Progressive,
16159// Interlaced, Hard Telecine or Soft Telecine. - Hard: produces 29.97i output
16160// from 23.976 input. - Soft: produces 23.976; the player converts this output
16161// to 29.97i.
16162const (
16163	// H265TelecineNone is a H265Telecine enum value
16164	H265TelecineNone = "NONE"
16165
16166	// H265TelecineSoft is a H265Telecine enum value
16167	H265TelecineSoft = "SOFT"
16168
16169	// H265TelecineHard is a H265Telecine enum value
16170	H265TelecineHard = "HARD"
16171)
16172
16173// Adjust quantization within each frame based on temporal variation of content
16174// complexity.
16175const (
16176	// H265TemporalAdaptiveQuantizationDisabled is a H265TemporalAdaptiveQuantization enum value
16177	H265TemporalAdaptiveQuantizationDisabled = "DISABLED"
16178
16179	// H265TemporalAdaptiveQuantizationEnabled is a H265TemporalAdaptiveQuantization enum value
16180	H265TemporalAdaptiveQuantizationEnabled = "ENABLED"
16181)
16182
16183// Enables temporal layer identifiers in the encoded bitstream. Up to 3 layers
16184// are supported depending on GOP structure: I- and P-frames form one layer,
16185// reference B-frames can form a second layer and non-reference b-frames can
16186// form a third layer. Decoders can optionally decode only the lower temporal
16187// layers to generate a lower frame rate output. For example, given a bitstream
16188// with temporal IDs and with b-frames = 1 (i.e. IbPbPb display order), a decoder
16189// could decode all the frames for full frame rate output or only the I and
16190// P frames (lowest temporal layer) for a half frame rate output.
16191const (
16192	// H265TemporalIdsDisabled is a H265TemporalIds enum value
16193	H265TemporalIdsDisabled = "DISABLED"
16194
16195	// H265TemporalIdsEnabled is a H265TemporalIds enum value
16196	H265TemporalIdsEnabled = "ENABLED"
16197)
16198
16199// Enable use of tiles, allowing horizontal as well as vertical subdivision
16200// of the encoded pictures.
16201const (
16202	// H265TilesDisabled is a H265Tiles enum value
16203	H265TilesDisabled = "DISABLED"
16204
16205	// H265TilesEnabled is a H265Tiles enum value
16206	H265TilesEnabled = "ENABLED"
16207)
16208
16209// Inserts timecode for each frame as 4 bytes of an unregistered SEI message.
16210const (
16211	// H265UnregisteredSeiTimecodeDisabled is a H265UnregisteredSeiTimecode enum value
16212	H265UnregisteredSeiTimecodeDisabled = "DISABLED"
16213
16214	// H265UnregisteredSeiTimecodeEnabled is a H265UnregisteredSeiTimecode enum value
16215	H265UnregisteredSeiTimecodeEnabled = "ENABLED"
16216)
16217
16218// If HVC1, output that is H.265 will be marked as HVC1 and adhere to the ISO-IECJTC1-SC29_N13798_Text_ISOIEC_FDIS_14496-15_3rd_E
16219// spec which states that parameter set NAL units will be stored in the sample
16220// headers but not in the samples directly. If HEV1, then H.265 will be marked
16221// as HEV1 and parameter set NAL units will be written into the samples.
16222const (
16223	// H265WriteMp4PackagingTypeHvc1 is a H265WriteMp4PackagingType enum value
16224	H265WriteMp4PackagingTypeHvc1 = "HVC1"
16225
16226	// H265WriteMp4PackagingTypeHev1 is a H265WriteMp4PackagingType enum value
16227	H265WriteMp4PackagingTypeHev1 = "HEV1"
16228)
16229
16230const (
16231	// HlsAdMarkersElemental is a HlsAdMarkers enum value
16232	HlsAdMarkersElemental = "ELEMENTAL"
16233
16234	// HlsAdMarkersElementalScte35 is a HlsAdMarkers enum value
16235	HlsAdMarkersElementalScte35 = "ELEMENTAL_SCTE35"
16236)
16237
16238// Four types of audio-only tracks are supported: Audio-Only Variant Stream
16239// The client can play back this audio-only stream instead of video in low-bandwidth
16240// scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest. Alternate
16241// Audio, Auto Select, Default Alternate rendition that the client should try
16242// to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest
16243// with DEFAULT=YES, AUTOSELECT=YES Alternate Audio, Auto Select, Not Default
16244// Alternate rendition that the client may try to play back by default. Represented
16245// as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES Alternate
16246// Audio, not Auto Select Alternate rendition that the client will not try to
16247// play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with
16248// DEFAULT=NO, AUTOSELECT=NO
16249const (
16250	// HlsAudioTrackTypeAlternateAudioAutoSelectDefault is a HlsAudioTrackType enum value
16251	HlsAudioTrackTypeAlternateAudioAutoSelectDefault = "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT"
16252
16253	// HlsAudioTrackTypeAlternateAudioAutoSelect is a HlsAudioTrackType enum value
16254	HlsAudioTrackTypeAlternateAudioAutoSelect = "ALTERNATE_AUDIO_AUTO_SELECT"
16255
16256	// HlsAudioTrackTypeAlternateAudioNotAutoSelect is a HlsAudioTrackType enum value
16257	HlsAudioTrackTypeAlternateAudioNotAutoSelect = "ALTERNATE_AUDIO_NOT_AUTO_SELECT"
16258
16259	// HlsAudioTrackTypeAudioOnlyVariantStream is a HlsAudioTrackType enum value
16260	HlsAudioTrackTypeAudioOnlyVariantStream = "AUDIO_ONLY_VARIANT_STREAM"
16261)
16262
16263// Applies only to 608 Embedded output captions. Insert: Include CLOSED-CAPTIONS
16264// lines in the manifest. Specify at least one language in the CC1 Language
16265// Code field. One CLOSED-CAPTION line is added for each Language Code you specify.
16266// Make sure to specify the languages in the order in which they appear in the
16267// original source (if the source is embedded format) or the order of the caption
16268// selectors (if the source is other than embedded). Otherwise, languages in
16269// the manifest will not match up properly with the output captions. None: Include
16270// CLOSED-CAPTIONS=NONE line in the manifest. Omit: Omit any CLOSED-CAPTIONS
16271// line from the manifest.
16272const (
16273	// HlsCaptionLanguageSettingInsert is a HlsCaptionLanguageSetting enum value
16274	HlsCaptionLanguageSettingInsert = "INSERT"
16275
16276	// HlsCaptionLanguageSettingOmit is a HlsCaptionLanguageSetting enum value
16277	HlsCaptionLanguageSettingOmit = "OMIT"
16278
16279	// HlsCaptionLanguageSettingNone is a HlsCaptionLanguageSetting enum value
16280	HlsCaptionLanguageSettingNone = "NONE"
16281)
16282
16283// When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client
16284// from saving media segments for later replay.
16285const (
16286	// HlsClientCacheDisabled is a HlsClientCache enum value
16287	HlsClientCacheDisabled = "DISABLED"
16288
16289	// HlsClientCacheEnabled is a HlsClientCache enum value
16290	HlsClientCacheEnabled = "ENABLED"
16291)
16292
16293// Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist
16294// generation.
16295const (
16296	// HlsCodecSpecificationRfc6381 is a HlsCodecSpecification enum value
16297	HlsCodecSpecificationRfc6381 = "RFC_6381"
16298
16299	// HlsCodecSpecificationRfc4281 is a HlsCodecSpecification enum value
16300	HlsCodecSpecificationRfc4281 = "RFC_4281"
16301)
16302
16303// Indicates whether segments should be placed in subdirectories.
16304const (
16305	// HlsDirectoryStructureSingleDirectory is a HlsDirectoryStructure enum value
16306	HlsDirectoryStructureSingleDirectory = "SINGLE_DIRECTORY"
16307
16308	// HlsDirectoryStructureSubdirectoryPerStream is a HlsDirectoryStructure enum value
16309	HlsDirectoryStructureSubdirectoryPerStream = "SUBDIRECTORY_PER_STREAM"
16310)
16311
16312// Encrypts the segments with the given encryption scheme. Leave blank to disable.
16313// Selecting 'Disabled' in the web interface also disables encryption.
16314const (
16315	// HlsEncryptionTypeAes128 is a HlsEncryptionType enum value
16316	HlsEncryptionTypeAes128 = "AES128"
16317
16318	// HlsEncryptionTypeSampleAes is a HlsEncryptionType enum value
16319	HlsEncryptionTypeSampleAes = "SAMPLE_AES"
16320)
16321
16322// When set to INCLUDE, writes I-Frame Only Manifest in addition to the HLS
16323// manifest
16324const (
16325	// HlsIFrameOnlyManifestInclude is a HlsIFrameOnlyManifest enum value
16326	HlsIFrameOnlyManifestInclude = "INCLUDE"
16327
16328	// HlsIFrameOnlyManifestExclude is a HlsIFrameOnlyManifest enum value
16329	HlsIFrameOnlyManifestExclude = "EXCLUDE"
16330)
16331
16332// The Initialization Vector is a 128-bit number used in conjunction with the
16333// key for encrypting blocks. If set to INCLUDE, Initialization Vector is listed
16334// in the manifest. Otherwise Initialization Vector is not in the manifest.
16335const (
16336	// HlsInitializationVectorInManifestInclude is a HlsInitializationVectorInManifest enum value
16337	HlsInitializationVectorInManifestInclude = "INCLUDE"
16338
16339	// HlsInitializationVectorInManifestExclude is a HlsInitializationVectorInManifest enum value
16340	HlsInitializationVectorInManifestExclude = "EXCLUDE"
16341)
16342
16343// Indicates which type of key provider is used for encryption.
16344const (
16345	// HlsKeyProviderTypeSpeke is a HlsKeyProviderType enum value
16346	HlsKeyProviderTypeSpeke = "SPEKE"
16347
16348	// HlsKeyProviderTypeStaticKey is a HlsKeyProviderType enum value
16349	HlsKeyProviderTypeStaticKey = "STATIC_KEY"
16350)
16351
16352// When set to GZIP, compresses HLS playlist.
16353const (
16354	// HlsManifestCompressionGzip is a HlsManifestCompression enum value
16355	HlsManifestCompressionGzip = "GZIP"
16356
16357	// HlsManifestCompressionNone is a HlsManifestCompression enum value
16358	HlsManifestCompressionNone = "NONE"
16359)
16360
16361// Indicates whether the output manifest should use floating point values for
16362// segment duration.
16363const (
16364	// HlsManifestDurationFormatFloatingPoint is a HlsManifestDurationFormat enum value
16365	HlsManifestDurationFormatFloatingPoint = "FLOATING_POINT"
16366
16367	// HlsManifestDurationFormatInteger is a HlsManifestDurationFormat enum value
16368	HlsManifestDurationFormatInteger = "INTEGER"
16369)
16370
16371// Indicates whether the .m3u8 manifest file should be generated for this HLS
16372// output group.
16373const (
16374	// HlsOutputSelectionManifestsAndSegments is a HlsOutputSelection enum value
16375	HlsOutputSelectionManifestsAndSegments = "MANIFESTS_AND_SEGMENTS"
16376
16377	// HlsOutputSelectionSegmentsOnly is a HlsOutputSelection enum value
16378	HlsOutputSelectionSegmentsOnly = "SEGMENTS_ONLY"
16379)
16380
16381// Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files.
16382// The value is calculated as follows: either the program date and time are
16383// initialized using the input timecode source, or the time is initialized using
16384// the input timecode source and the date is initialized using the timestamp_offset.
16385const (
16386	// HlsProgramDateTimeInclude is a HlsProgramDateTime enum value
16387	HlsProgramDateTimeInclude = "INCLUDE"
16388
16389	// HlsProgramDateTimeExclude is a HlsProgramDateTime enum value
16390	HlsProgramDateTimeExclude = "EXCLUDE"
16391)
16392
16393// When set to SINGLE_FILE, emits program as a single media resource (.ts) file,
16394// uses #EXT-X-BYTERANGE tags to index segment for playback.
16395const (
16396	// HlsSegmentControlSingleFile is a HlsSegmentControl enum value
16397	HlsSegmentControlSingleFile = "SINGLE_FILE"
16398
16399	// HlsSegmentControlSegmentedFiles is a HlsSegmentControl enum value
16400	HlsSegmentControlSegmentedFiles = "SEGMENTED_FILES"
16401)
16402
16403// Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag
16404// of variant manifest.
16405const (
16406	// HlsStreamInfResolutionInclude is a HlsStreamInfResolution enum value
16407	HlsStreamInfResolutionInclude = "INCLUDE"
16408
16409	// HlsStreamInfResolutionExclude is a HlsStreamInfResolution enum value
16410	HlsStreamInfResolutionExclude = "EXCLUDE"
16411)
16412
16413// Indicates ID3 frame that has the timecode.
16414const (
16415	// HlsTimedMetadataId3FrameNone is a HlsTimedMetadataId3Frame enum value
16416	HlsTimedMetadataId3FrameNone = "NONE"
16417
16418	// HlsTimedMetadataId3FramePriv is a HlsTimedMetadataId3Frame enum value
16419	HlsTimedMetadataId3FramePriv = "PRIV"
16420
16421	// HlsTimedMetadataId3FrameTdrl is a HlsTimedMetadataId3Frame enum value
16422	HlsTimedMetadataId3FrameTdrl = "TDRL"
16423)
16424
16425// Enable Deblock (InputDeblockFilter) to produce smoother motion in the output.
16426// Default is disabled. Only manaully controllable for MPEG2 and uncompressed
16427// video inputs.
16428const (
16429	// InputDeblockFilterEnabled is a InputDeblockFilter enum value
16430	InputDeblockFilterEnabled = "ENABLED"
16431
16432	// InputDeblockFilterDisabled is a InputDeblockFilter enum value
16433	InputDeblockFilterDisabled = "DISABLED"
16434)
16435
16436// Enable Denoise (InputDenoiseFilter) to filter noise from the input. Default
16437// is disabled. Only applicable to MPEG2, H.264, H.265, and uncompressed video
16438// inputs.
16439const (
16440	// InputDenoiseFilterEnabled is a InputDenoiseFilter enum value
16441	InputDenoiseFilterEnabled = "ENABLED"
16442
16443	// InputDenoiseFilterDisabled is a InputDenoiseFilter enum value
16444	InputDenoiseFilterDisabled = "DISABLED"
16445)
16446
16447// Use Filter enable (InputFilterEnable) to specify how the transcoding service
16448// applies the denoise and deblock filters. You must also enable the filters
16449// separately, with Denoise (InputDenoiseFilter) and Deblock (InputDeblockFilter).
16450// * Auto - The transcoding service determines whether to apply filtering, depending
16451// on input type and quality. * Disable - The input is not filtered. This is
16452// true even if you use the API to enable them in (InputDeblockFilter) and (InputDeblockFilter).
16453// * Force - The in put is filtered regardless of input type.
16454const (
16455	// InputFilterEnableAuto is a InputFilterEnable enum value
16456	InputFilterEnableAuto = "AUTO"
16457
16458	// InputFilterEnableDisable is a InputFilterEnable enum value
16459	InputFilterEnableDisable = "DISABLE"
16460
16461	// InputFilterEnableForce is a InputFilterEnable enum value
16462	InputFilterEnableForce = "FORCE"
16463)
16464
16465// Set PSI control (InputPsiControl) for transport stream inputs to specify
16466// which data the demux process to scans. * Ignore PSI - Scan all PIDs for audio
16467// and video. * Use PSI - Scan only PSI data.
16468const (
16469	// InputPsiControlIgnorePsi is a InputPsiControl enum value
16470	InputPsiControlIgnorePsi = "IGNORE_PSI"
16471
16472	// InputPsiControlUsePsi is a InputPsiControl enum value
16473	InputPsiControlUsePsi = "USE_PSI"
16474)
16475
16476// Timecode source under input settings (InputTimecodeSource) only affects the
16477// behavior of features that apply to a single input at a time, such as input
16478// clipping and synchronizing some captions formats. Use this setting to specify
16479// whether the service counts frames by timecodes embedded in the video (EMBEDDED)
16480// or by starting the first frame at zero (ZEROBASED). In both cases, the timecode
16481// format is HH:MM:SS:FF or HH:MM:SS;FF, where FF is the frame number. Only
16482// set this to EMBEDDED if your source video has embedded timecodes.
16483const (
16484	// InputTimecodeSourceEmbedded is a InputTimecodeSource enum value
16485	InputTimecodeSourceEmbedded = "EMBEDDED"
16486
16487	// InputTimecodeSourceZerobased is a InputTimecodeSource enum value
16488	InputTimecodeSourceZerobased = "ZEROBASED"
16489
16490	// InputTimecodeSourceSpecifiedstart is a InputTimecodeSource enum value
16491	InputTimecodeSourceSpecifiedstart = "SPECIFIEDSTART"
16492)
16493
16494// A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR.
16495const (
16496	// JobStatusSubmitted is a JobStatus enum value
16497	JobStatusSubmitted = "SUBMITTED"
16498
16499	// JobStatusProgressing is a JobStatus enum value
16500	JobStatusProgressing = "PROGRESSING"
16501
16502	// JobStatusComplete is a JobStatus enum value
16503	JobStatusComplete = "COMPLETE"
16504
16505	// JobStatusCanceled is a JobStatus enum value
16506	JobStatusCanceled = "CANCELED"
16507
16508	// JobStatusError is a JobStatus enum value
16509	JobStatusError = "ERROR"
16510)
16511
16512// Optional. When you request a list of job templates, you can choose to list
16513// them alphabetically by NAME or chronologically by CREATION_DATE. If you don't
16514// specify, the service will list them by name.
16515const (
16516	// JobTemplateListByName is a JobTemplateListBy enum value
16517	JobTemplateListByName = "NAME"
16518
16519	// JobTemplateListByCreationDate is a JobTemplateListBy enum value
16520	JobTemplateListByCreationDate = "CREATION_DATE"
16521
16522	// JobTemplateListBySystem is a JobTemplateListBy enum value
16523	JobTemplateListBySystem = "SYSTEM"
16524)
16525
16526// Specify the language, using the ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php.
16527const (
16528	// LanguageCodeEng is a LanguageCode enum value
16529	LanguageCodeEng = "ENG"
16530
16531	// LanguageCodeSpa is a LanguageCode enum value
16532	LanguageCodeSpa = "SPA"
16533
16534	// LanguageCodeFra is a LanguageCode enum value
16535	LanguageCodeFra = "FRA"
16536
16537	// LanguageCodeDeu is a LanguageCode enum value
16538	LanguageCodeDeu = "DEU"
16539
16540	// LanguageCodeGer is a LanguageCode enum value
16541	LanguageCodeGer = "GER"
16542
16543	// LanguageCodeZho is a LanguageCode enum value
16544	LanguageCodeZho = "ZHO"
16545
16546	// LanguageCodeAra is a LanguageCode enum value
16547	LanguageCodeAra = "ARA"
16548
16549	// LanguageCodeHin is a LanguageCode enum value
16550	LanguageCodeHin = "HIN"
16551
16552	// LanguageCodeJpn is a LanguageCode enum value
16553	LanguageCodeJpn = "JPN"
16554
16555	// LanguageCodeRus is a LanguageCode enum value
16556	LanguageCodeRus = "RUS"
16557
16558	// LanguageCodePor is a LanguageCode enum value
16559	LanguageCodePor = "POR"
16560
16561	// LanguageCodeIta is a LanguageCode enum value
16562	LanguageCodeIta = "ITA"
16563
16564	// LanguageCodeUrd is a LanguageCode enum value
16565	LanguageCodeUrd = "URD"
16566
16567	// LanguageCodeVie is a LanguageCode enum value
16568	LanguageCodeVie = "VIE"
16569
16570	// LanguageCodeKor is a LanguageCode enum value
16571	LanguageCodeKor = "KOR"
16572
16573	// LanguageCodePan is a LanguageCode enum value
16574	LanguageCodePan = "PAN"
16575
16576	// LanguageCodeAbk is a LanguageCode enum value
16577	LanguageCodeAbk = "ABK"
16578
16579	// LanguageCodeAar is a LanguageCode enum value
16580	LanguageCodeAar = "AAR"
16581
16582	// LanguageCodeAfr is a LanguageCode enum value
16583	LanguageCodeAfr = "AFR"
16584
16585	// LanguageCodeAka is a LanguageCode enum value
16586	LanguageCodeAka = "AKA"
16587
16588	// LanguageCodeSqi is a LanguageCode enum value
16589	LanguageCodeSqi = "SQI"
16590
16591	// LanguageCodeAmh is a LanguageCode enum value
16592	LanguageCodeAmh = "AMH"
16593
16594	// LanguageCodeArg is a LanguageCode enum value
16595	LanguageCodeArg = "ARG"
16596
16597	// LanguageCodeHye is a LanguageCode enum value
16598	LanguageCodeHye = "HYE"
16599
16600	// LanguageCodeAsm is a LanguageCode enum value
16601	LanguageCodeAsm = "ASM"
16602
16603	// LanguageCodeAva is a LanguageCode enum value
16604	LanguageCodeAva = "AVA"
16605
16606	// LanguageCodeAve is a LanguageCode enum value
16607	LanguageCodeAve = "AVE"
16608
16609	// LanguageCodeAym is a LanguageCode enum value
16610	LanguageCodeAym = "AYM"
16611
16612	// LanguageCodeAze is a LanguageCode enum value
16613	LanguageCodeAze = "AZE"
16614
16615	// LanguageCodeBam is a LanguageCode enum value
16616	LanguageCodeBam = "BAM"
16617
16618	// LanguageCodeBak is a LanguageCode enum value
16619	LanguageCodeBak = "BAK"
16620
16621	// LanguageCodeEus is a LanguageCode enum value
16622	LanguageCodeEus = "EUS"
16623
16624	// LanguageCodeBel is a LanguageCode enum value
16625	LanguageCodeBel = "BEL"
16626
16627	// LanguageCodeBen is a LanguageCode enum value
16628	LanguageCodeBen = "BEN"
16629
16630	// LanguageCodeBih is a LanguageCode enum value
16631	LanguageCodeBih = "BIH"
16632
16633	// LanguageCodeBis is a LanguageCode enum value
16634	LanguageCodeBis = "BIS"
16635
16636	// LanguageCodeBos is a LanguageCode enum value
16637	LanguageCodeBos = "BOS"
16638
16639	// LanguageCodeBre is a LanguageCode enum value
16640	LanguageCodeBre = "BRE"
16641
16642	// LanguageCodeBul is a LanguageCode enum value
16643	LanguageCodeBul = "BUL"
16644
16645	// LanguageCodeMya is a LanguageCode enum value
16646	LanguageCodeMya = "MYA"
16647
16648	// LanguageCodeCat is a LanguageCode enum value
16649	LanguageCodeCat = "CAT"
16650
16651	// LanguageCodeKhm is a LanguageCode enum value
16652	LanguageCodeKhm = "KHM"
16653
16654	// LanguageCodeCha is a LanguageCode enum value
16655	LanguageCodeCha = "CHA"
16656
16657	// LanguageCodeChe is a LanguageCode enum value
16658	LanguageCodeChe = "CHE"
16659
16660	// LanguageCodeNya is a LanguageCode enum value
16661	LanguageCodeNya = "NYA"
16662
16663	// LanguageCodeChu is a LanguageCode enum value
16664	LanguageCodeChu = "CHU"
16665
16666	// LanguageCodeChv is a LanguageCode enum value
16667	LanguageCodeChv = "CHV"
16668
16669	// LanguageCodeCor is a LanguageCode enum value
16670	LanguageCodeCor = "COR"
16671
16672	// LanguageCodeCos is a LanguageCode enum value
16673	LanguageCodeCos = "COS"
16674
16675	// LanguageCodeCre is a LanguageCode enum value
16676	LanguageCodeCre = "CRE"
16677
16678	// LanguageCodeHrv is a LanguageCode enum value
16679	LanguageCodeHrv = "HRV"
16680
16681	// LanguageCodeCes is a LanguageCode enum value
16682	LanguageCodeCes = "CES"
16683
16684	// LanguageCodeDan is a LanguageCode enum value
16685	LanguageCodeDan = "DAN"
16686
16687	// LanguageCodeDiv is a LanguageCode enum value
16688	LanguageCodeDiv = "DIV"
16689
16690	// LanguageCodeNld is a LanguageCode enum value
16691	LanguageCodeNld = "NLD"
16692
16693	// LanguageCodeDzo is a LanguageCode enum value
16694	LanguageCodeDzo = "DZO"
16695
16696	// LanguageCodeEnm is a LanguageCode enum value
16697	LanguageCodeEnm = "ENM"
16698
16699	// LanguageCodeEpo is a LanguageCode enum value
16700	LanguageCodeEpo = "EPO"
16701
16702	// LanguageCodeEst is a LanguageCode enum value
16703	LanguageCodeEst = "EST"
16704
16705	// LanguageCodeEwe is a LanguageCode enum value
16706	LanguageCodeEwe = "EWE"
16707
16708	// LanguageCodeFao is a LanguageCode enum value
16709	LanguageCodeFao = "FAO"
16710
16711	// LanguageCodeFij is a LanguageCode enum value
16712	LanguageCodeFij = "FIJ"
16713
16714	// LanguageCodeFin is a LanguageCode enum value
16715	LanguageCodeFin = "FIN"
16716
16717	// LanguageCodeFrm is a LanguageCode enum value
16718	LanguageCodeFrm = "FRM"
16719
16720	// LanguageCodeFul is a LanguageCode enum value
16721	LanguageCodeFul = "FUL"
16722
16723	// LanguageCodeGla is a LanguageCode enum value
16724	LanguageCodeGla = "GLA"
16725
16726	// LanguageCodeGlg is a LanguageCode enum value
16727	LanguageCodeGlg = "GLG"
16728
16729	// LanguageCodeLug is a LanguageCode enum value
16730	LanguageCodeLug = "LUG"
16731
16732	// LanguageCodeKat is a LanguageCode enum value
16733	LanguageCodeKat = "KAT"
16734
16735	// LanguageCodeEll is a LanguageCode enum value
16736	LanguageCodeEll = "ELL"
16737
16738	// LanguageCodeGrn is a LanguageCode enum value
16739	LanguageCodeGrn = "GRN"
16740
16741	// LanguageCodeGuj is a LanguageCode enum value
16742	LanguageCodeGuj = "GUJ"
16743
16744	// LanguageCodeHat is a LanguageCode enum value
16745	LanguageCodeHat = "HAT"
16746
16747	// LanguageCodeHau is a LanguageCode enum value
16748	LanguageCodeHau = "HAU"
16749
16750	// LanguageCodeHeb is a LanguageCode enum value
16751	LanguageCodeHeb = "HEB"
16752
16753	// LanguageCodeHer is a LanguageCode enum value
16754	LanguageCodeHer = "HER"
16755
16756	// LanguageCodeHmo is a LanguageCode enum value
16757	LanguageCodeHmo = "HMO"
16758
16759	// LanguageCodeHun is a LanguageCode enum value
16760	LanguageCodeHun = "HUN"
16761
16762	// LanguageCodeIsl is a LanguageCode enum value
16763	LanguageCodeIsl = "ISL"
16764
16765	// LanguageCodeIdo is a LanguageCode enum value
16766	LanguageCodeIdo = "IDO"
16767
16768	// LanguageCodeIbo is a LanguageCode enum value
16769	LanguageCodeIbo = "IBO"
16770
16771	// LanguageCodeInd is a LanguageCode enum value
16772	LanguageCodeInd = "IND"
16773
16774	// LanguageCodeIna is a LanguageCode enum value
16775	LanguageCodeIna = "INA"
16776
16777	// LanguageCodeIle is a LanguageCode enum value
16778	LanguageCodeIle = "ILE"
16779
16780	// LanguageCodeIku is a LanguageCode enum value
16781	LanguageCodeIku = "IKU"
16782
16783	// LanguageCodeIpk is a LanguageCode enum value
16784	LanguageCodeIpk = "IPK"
16785
16786	// LanguageCodeGle is a LanguageCode enum value
16787	LanguageCodeGle = "GLE"
16788
16789	// LanguageCodeJav is a LanguageCode enum value
16790	LanguageCodeJav = "JAV"
16791
16792	// LanguageCodeKal is a LanguageCode enum value
16793	LanguageCodeKal = "KAL"
16794
16795	// LanguageCodeKan is a LanguageCode enum value
16796	LanguageCodeKan = "KAN"
16797
16798	// LanguageCodeKau is a LanguageCode enum value
16799	LanguageCodeKau = "KAU"
16800
16801	// LanguageCodeKas is a LanguageCode enum value
16802	LanguageCodeKas = "KAS"
16803
16804	// LanguageCodeKaz is a LanguageCode enum value
16805	LanguageCodeKaz = "KAZ"
16806
16807	// LanguageCodeKik is a LanguageCode enum value
16808	LanguageCodeKik = "KIK"
16809
16810	// LanguageCodeKin is a LanguageCode enum value
16811	LanguageCodeKin = "KIN"
16812
16813	// LanguageCodeKir is a LanguageCode enum value
16814	LanguageCodeKir = "KIR"
16815
16816	// LanguageCodeKom is a LanguageCode enum value
16817	LanguageCodeKom = "KOM"
16818
16819	// LanguageCodeKon is a LanguageCode enum value
16820	LanguageCodeKon = "KON"
16821
16822	// LanguageCodeKua is a LanguageCode enum value
16823	LanguageCodeKua = "KUA"
16824
16825	// LanguageCodeKur is a LanguageCode enum value
16826	LanguageCodeKur = "KUR"
16827
16828	// LanguageCodeLao is a LanguageCode enum value
16829	LanguageCodeLao = "LAO"
16830
16831	// LanguageCodeLat is a LanguageCode enum value
16832	LanguageCodeLat = "LAT"
16833
16834	// LanguageCodeLav is a LanguageCode enum value
16835	LanguageCodeLav = "LAV"
16836
16837	// LanguageCodeLim is a LanguageCode enum value
16838	LanguageCodeLim = "LIM"
16839
16840	// LanguageCodeLin is a LanguageCode enum value
16841	LanguageCodeLin = "LIN"
16842
16843	// LanguageCodeLit is a LanguageCode enum value
16844	LanguageCodeLit = "LIT"
16845
16846	// LanguageCodeLub is a LanguageCode enum value
16847	LanguageCodeLub = "LUB"
16848
16849	// LanguageCodeLtz is a LanguageCode enum value
16850	LanguageCodeLtz = "LTZ"
16851
16852	// LanguageCodeMkd is a LanguageCode enum value
16853	LanguageCodeMkd = "MKD"
16854
16855	// LanguageCodeMlg is a LanguageCode enum value
16856	LanguageCodeMlg = "MLG"
16857
16858	// LanguageCodeMsa is a LanguageCode enum value
16859	LanguageCodeMsa = "MSA"
16860
16861	// LanguageCodeMal is a LanguageCode enum value
16862	LanguageCodeMal = "MAL"
16863
16864	// LanguageCodeMlt is a LanguageCode enum value
16865	LanguageCodeMlt = "MLT"
16866
16867	// LanguageCodeGlv is a LanguageCode enum value
16868	LanguageCodeGlv = "GLV"
16869
16870	// LanguageCodeMri is a LanguageCode enum value
16871	LanguageCodeMri = "MRI"
16872
16873	// LanguageCodeMar is a LanguageCode enum value
16874	LanguageCodeMar = "MAR"
16875
16876	// LanguageCodeMah is a LanguageCode enum value
16877	LanguageCodeMah = "MAH"
16878
16879	// LanguageCodeMon is a LanguageCode enum value
16880	LanguageCodeMon = "MON"
16881
16882	// LanguageCodeNau is a LanguageCode enum value
16883	LanguageCodeNau = "NAU"
16884
16885	// LanguageCodeNav is a LanguageCode enum value
16886	LanguageCodeNav = "NAV"
16887
16888	// LanguageCodeNde is a LanguageCode enum value
16889	LanguageCodeNde = "NDE"
16890
16891	// LanguageCodeNbl is a LanguageCode enum value
16892	LanguageCodeNbl = "NBL"
16893
16894	// LanguageCodeNdo is a LanguageCode enum value
16895	LanguageCodeNdo = "NDO"
16896
16897	// LanguageCodeNep is a LanguageCode enum value
16898	LanguageCodeNep = "NEP"
16899
16900	// LanguageCodeSme is a LanguageCode enum value
16901	LanguageCodeSme = "SME"
16902
16903	// LanguageCodeNor is a LanguageCode enum value
16904	LanguageCodeNor = "NOR"
16905
16906	// LanguageCodeNob is a LanguageCode enum value
16907	LanguageCodeNob = "NOB"
16908
16909	// LanguageCodeNno is a LanguageCode enum value
16910	LanguageCodeNno = "NNO"
16911
16912	// LanguageCodeOci is a LanguageCode enum value
16913	LanguageCodeOci = "OCI"
16914
16915	// LanguageCodeOji is a LanguageCode enum value
16916	LanguageCodeOji = "OJI"
16917
16918	// LanguageCodeOri is a LanguageCode enum value
16919	LanguageCodeOri = "ORI"
16920
16921	// LanguageCodeOrm is a LanguageCode enum value
16922	LanguageCodeOrm = "ORM"
16923
16924	// LanguageCodeOss is a LanguageCode enum value
16925	LanguageCodeOss = "OSS"
16926
16927	// LanguageCodePli is a LanguageCode enum value
16928	LanguageCodePli = "PLI"
16929
16930	// LanguageCodeFas is a LanguageCode enum value
16931	LanguageCodeFas = "FAS"
16932
16933	// LanguageCodePol is a LanguageCode enum value
16934	LanguageCodePol = "POL"
16935
16936	// LanguageCodePus is a LanguageCode enum value
16937	LanguageCodePus = "PUS"
16938
16939	// LanguageCodeQue is a LanguageCode enum value
16940	LanguageCodeQue = "QUE"
16941
16942	// LanguageCodeQaa is a LanguageCode enum value
16943	LanguageCodeQaa = "QAA"
16944
16945	// LanguageCodeRon is a LanguageCode enum value
16946	LanguageCodeRon = "RON"
16947
16948	// LanguageCodeRoh is a LanguageCode enum value
16949	LanguageCodeRoh = "ROH"
16950
16951	// LanguageCodeRun is a LanguageCode enum value
16952	LanguageCodeRun = "RUN"
16953
16954	// LanguageCodeSmo is a LanguageCode enum value
16955	LanguageCodeSmo = "SMO"
16956
16957	// LanguageCodeSag is a LanguageCode enum value
16958	LanguageCodeSag = "SAG"
16959
16960	// LanguageCodeSan is a LanguageCode enum value
16961	LanguageCodeSan = "SAN"
16962
16963	// LanguageCodeSrd is a LanguageCode enum value
16964	LanguageCodeSrd = "SRD"
16965
16966	// LanguageCodeSrb is a LanguageCode enum value
16967	LanguageCodeSrb = "SRB"
16968
16969	// LanguageCodeSna is a LanguageCode enum value
16970	LanguageCodeSna = "SNA"
16971
16972	// LanguageCodeIii is a LanguageCode enum value
16973	LanguageCodeIii = "III"
16974
16975	// LanguageCodeSnd is a LanguageCode enum value
16976	LanguageCodeSnd = "SND"
16977
16978	// LanguageCodeSin is a LanguageCode enum value
16979	LanguageCodeSin = "SIN"
16980
16981	// LanguageCodeSlk is a LanguageCode enum value
16982	LanguageCodeSlk = "SLK"
16983
16984	// LanguageCodeSlv is a LanguageCode enum value
16985	LanguageCodeSlv = "SLV"
16986
16987	// LanguageCodeSom is a LanguageCode enum value
16988	LanguageCodeSom = "SOM"
16989
16990	// LanguageCodeSot is a LanguageCode enum value
16991	LanguageCodeSot = "SOT"
16992
16993	// LanguageCodeSun is a LanguageCode enum value
16994	LanguageCodeSun = "SUN"
16995
16996	// LanguageCodeSwa is a LanguageCode enum value
16997	LanguageCodeSwa = "SWA"
16998
16999	// LanguageCodeSsw is a LanguageCode enum value
17000	LanguageCodeSsw = "SSW"
17001
17002	// LanguageCodeSwe is a LanguageCode enum value
17003	LanguageCodeSwe = "SWE"
17004
17005	// LanguageCodeTgl is a LanguageCode enum value
17006	LanguageCodeTgl = "TGL"
17007
17008	// LanguageCodeTah is a LanguageCode enum value
17009	LanguageCodeTah = "TAH"
17010
17011	// LanguageCodeTgk is a LanguageCode enum value
17012	LanguageCodeTgk = "TGK"
17013
17014	// LanguageCodeTam is a LanguageCode enum value
17015	LanguageCodeTam = "TAM"
17016
17017	// LanguageCodeTat is a LanguageCode enum value
17018	LanguageCodeTat = "TAT"
17019
17020	// LanguageCodeTel is a LanguageCode enum value
17021	LanguageCodeTel = "TEL"
17022
17023	// LanguageCodeTha is a LanguageCode enum value
17024	LanguageCodeTha = "THA"
17025
17026	// LanguageCodeBod is a LanguageCode enum value
17027	LanguageCodeBod = "BOD"
17028
17029	// LanguageCodeTir is a LanguageCode enum value
17030	LanguageCodeTir = "TIR"
17031
17032	// LanguageCodeTon is a LanguageCode enum value
17033	LanguageCodeTon = "TON"
17034
17035	// LanguageCodeTso is a LanguageCode enum value
17036	LanguageCodeTso = "TSO"
17037
17038	// LanguageCodeTsn is a LanguageCode enum value
17039	LanguageCodeTsn = "TSN"
17040
17041	// LanguageCodeTur is a LanguageCode enum value
17042	LanguageCodeTur = "TUR"
17043
17044	// LanguageCodeTuk is a LanguageCode enum value
17045	LanguageCodeTuk = "TUK"
17046
17047	// LanguageCodeTwi is a LanguageCode enum value
17048	LanguageCodeTwi = "TWI"
17049
17050	// LanguageCodeUig is a LanguageCode enum value
17051	LanguageCodeUig = "UIG"
17052
17053	// LanguageCodeUkr is a LanguageCode enum value
17054	LanguageCodeUkr = "UKR"
17055
17056	// LanguageCodeUzb is a LanguageCode enum value
17057	LanguageCodeUzb = "UZB"
17058
17059	// LanguageCodeVen is a LanguageCode enum value
17060	LanguageCodeVen = "VEN"
17061
17062	// LanguageCodeVol is a LanguageCode enum value
17063	LanguageCodeVol = "VOL"
17064
17065	// LanguageCodeWln is a LanguageCode enum value
17066	LanguageCodeWln = "WLN"
17067
17068	// LanguageCodeCym is a LanguageCode enum value
17069	LanguageCodeCym = "CYM"
17070
17071	// LanguageCodeFry is a LanguageCode enum value
17072	LanguageCodeFry = "FRY"
17073
17074	// LanguageCodeWol is a LanguageCode enum value
17075	LanguageCodeWol = "WOL"
17076
17077	// LanguageCodeXho is a LanguageCode enum value
17078	LanguageCodeXho = "XHO"
17079
17080	// LanguageCodeYid is a LanguageCode enum value
17081	LanguageCodeYid = "YID"
17082
17083	// LanguageCodeYor is a LanguageCode enum value
17084	LanguageCodeYor = "YOR"
17085
17086	// LanguageCodeZha is a LanguageCode enum value
17087	LanguageCodeZha = "ZHA"
17088
17089	// LanguageCodeZul is a LanguageCode enum value
17090	LanguageCodeZul = "ZUL"
17091
17092	// LanguageCodeOrj is a LanguageCode enum value
17093	LanguageCodeOrj = "ORJ"
17094
17095	// LanguageCodeQpc is a LanguageCode enum value
17096	LanguageCodeQpc = "QPC"
17097
17098	// LanguageCodeTng is a LanguageCode enum value
17099	LanguageCodeTng = "TNG"
17100)
17101
17102// Selects between the DVB and ATSC buffer models for Dolby Digital audio.
17103const (
17104	// M2tsAudioBufferModelDvb is a M2tsAudioBufferModel enum value
17105	M2tsAudioBufferModelDvb = "DVB"
17106
17107	// M2tsAudioBufferModelAtsc is a M2tsAudioBufferModel enum value
17108	M2tsAudioBufferModelAtsc = "ATSC"
17109)
17110
17111// Controls what buffer model to use for accurate interleaving. If set to MULTIPLEX,
17112// use multiplex buffer model. If set to NONE, this can lead to lower latency,
17113// but low-memory devices may not be able to play back the stream without interruptions.
17114const (
17115	// M2tsBufferModelMultiplex is a M2tsBufferModel enum value
17116	M2tsBufferModelMultiplex = "MULTIPLEX"
17117
17118	// M2tsBufferModelNone is a M2tsBufferModel enum value
17119	M2tsBufferModelNone = "NONE"
17120)
17121
17122// When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added to
17123// partitions 3 and 4. The interval between these additional markers will be
17124// fixed, and will be slightly shorter than the video EBP marker interval. When
17125// set to VIDEO_INTERVAL, these additional markers will not be inserted. Only
17126// applicable when EBP segmentation markers are is selected (segmentationMarkers
17127// is EBP or EBP_LEGACY).
17128const (
17129	// M2tsEbpAudioIntervalVideoAndFixedIntervals is a M2tsEbpAudioInterval enum value
17130	M2tsEbpAudioIntervalVideoAndFixedIntervals = "VIDEO_AND_FIXED_INTERVALS"
17131
17132	// M2tsEbpAudioIntervalVideoInterval is a M2tsEbpAudioInterval enum value
17133	M2tsEbpAudioIntervalVideoInterval = "VIDEO_INTERVAL"
17134)
17135
17136// Selects which PIDs to place EBP markers on. They can either be placed only
17137// on the video PID, or on both the video PID and all audio PIDs. Only applicable
17138// when EBP segmentation markers are is selected (segmentationMarkers is EBP
17139// or EBP_LEGACY).
17140const (
17141	// M2tsEbpPlacementVideoAndAudioPids is a M2tsEbpPlacement enum value
17142	M2tsEbpPlacementVideoAndAudioPids = "VIDEO_AND_AUDIO_PIDS"
17143
17144	// M2tsEbpPlacementVideoPid is a M2tsEbpPlacement enum value
17145	M2tsEbpPlacementVideoPid = "VIDEO_PID"
17146)
17147
17148// Controls whether to include the ES Rate field in the PES header.
17149const (
17150	// M2tsEsRateInPesInclude is a M2tsEsRateInPes enum value
17151	M2tsEsRateInPesInclude = "INCLUDE"
17152
17153	// M2tsEsRateInPesExclude is a M2tsEsRateInPes enum value
17154	M2tsEsRateInPesExclude = "EXCLUDE"
17155)
17156
17157// If INSERT, Nielsen inaudible tones for media tracking will be detected in
17158// the input audio and an equivalent ID3 tag will be inserted in the output.
17159const (
17160	// M2tsNielsenId3Insert is a M2tsNielsenId3 enum value
17161	M2tsNielsenId3Insert = "INSERT"
17162
17163	// M2tsNielsenId3None is a M2tsNielsenId3 enum value
17164	M2tsNielsenId3None = "NONE"
17165)
17166
17167// When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is inserted
17168// for every Packetized Elementary Stream (PES) header. This is effective only
17169// when the PCR PID is the same as the video or audio elementary stream.
17170const (
17171	// M2tsPcrControlPcrEveryPesPacket is a M2tsPcrControl enum value
17172	M2tsPcrControlPcrEveryPesPacket = "PCR_EVERY_PES_PACKET"
17173
17174	// M2tsPcrControlConfiguredPcrPeriod is a M2tsPcrControl enum value
17175	M2tsPcrControlConfiguredPcrPeriod = "CONFIGURED_PCR_PERIOD"
17176)
17177
17178// When set to CBR, inserts null packets into transport stream to fill specified
17179// bitrate. When set to VBR, the bitrate setting acts as the maximum bitrate,
17180// but the output will not be padded up to that bitrate.
17181const (
17182	// M2tsRateModeVbr is a M2tsRateMode enum value
17183	M2tsRateModeVbr = "VBR"
17184
17185	// M2tsRateModeCbr is a M2tsRateMode enum value
17186	M2tsRateModeCbr = "CBR"
17187)
17188
17189// Enables SCTE-35 passthrough (scte35Source) to pass any SCTE-35 signals from
17190// input to output.
17191const (
17192	// M2tsScte35SourcePassthrough is a M2tsScte35Source enum value
17193	M2tsScte35SourcePassthrough = "PASSTHROUGH"
17194
17195	// M2tsScte35SourceNone is a M2tsScte35Source enum value
17196	M2tsScte35SourceNone = "NONE"
17197)
17198
17199// Inserts segmentation markers at each segmentation_time period. rai_segstart
17200// sets the Random Access Indicator bit in the adaptation field. rai_adapt sets
17201// the RAI bit and adds the current timecode in the private data bytes. psi_segstart
17202// inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary
17203// Point information to the adaptation field as per OpenCable specification
17204// OC-SP-EBP-I01-130118. ebp_legacy adds Encoder Boundary Point information
17205// to the adaptation field using a legacy proprietary format.
17206const (
17207	// M2tsSegmentationMarkersNone is a M2tsSegmentationMarkers enum value
17208	M2tsSegmentationMarkersNone = "NONE"
17209
17210	// M2tsSegmentationMarkersRaiSegstart is a M2tsSegmentationMarkers enum value
17211	M2tsSegmentationMarkersRaiSegstart = "RAI_SEGSTART"
17212
17213	// M2tsSegmentationMarkersRaiAdapt is a M2tsSegmentationMarkers enum value
17214	M2tsSegmentationMarkersRaiAdapt = "RAI_ADAPT"
17215
17216	// M2tsSegmentationMarkersPsiSegstart is a M2tsSegmentationMarkers enum value
17217	M2tsSegmentationMarkersPsiSegstart = "PSI_SEGSTART"
17218
17219	// M2tsSegmentationMarkersEbp is a M2tsSegmentationMarkers enum value
17220	M2tsSegmentationMarkersEbp = "EBP"
17221
17222	// M2tsSegmentationMarkersEbpLegacy is a M2tsSegmentationMarkers enum value
17223	M2tsSegmentationMarkersEbpLegacy = "EBP_LEGACY"
17224)
17225
17226// The segmentation style parameter controls how segmentation markers are inserted
17227// into the transport stream. With avails, it is possible that segments may
17228// be truncated, which can influence where future segmentation markers are inserted.
17229// When a segmentation style of "reset_cadence" is selected and a segment is
17230// truncated due to an avail, we will reset the segmentation cadence. This means
17231// the subsequent segment will have a duration of of $segmentation_time seconds.
17232// When a segmentation style of "maintain_cadence" is selected and a segment
17233// is truncated due to an avail, we will not reset the segmentation cadence.
17234// This means the subsequent segment will likely be truncated as well. However,
17235// all segments after that will have a duration of $segmentation_time seconds.
17236// Note that EBP lookahead is a slight exception to this rule.
17237const (
17238	// M2tsSegmentationStyleMaintainCadence is a M2tsSegmentationStyle enum value
17239	M2tsSegmentationStyleMaintainCadence = "MAINTAIN_CADENCE"
17240
17241	// M2tsSegmentationStyleResetCadence is a M2tsSegmentationStyle enum value
17242	M2tsSegmentationStyleResetCadence = "RESET_CADENCE"
17243)
17244
17245// If INSERT, Nielsen inaudible tones for media tracking will be detected in
17246// the input audio and an equivalent ID3 tag will be inserted in the output.
17247const (
17248	// M3u8NielsenId3Insert is a M3u8NielsenId3 enum value
17249	M3u8NielsenId3Insert = "INSERT"
17250
17251	// M3u8NielsenId3None is a M3u8NielsenId3 enum value
17252	M3u8NielsenId3None = "NONE"
17253)
17254
17255// When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted
17256// for every Packetized Elementary Stream (PES) header. This parameter is effective
17257// only when the PCR PID is the same as the video or audio elementary stream.
17258const (
17259	// M3u8PcrControlPcrEveryPesPacket is a M3u8PcrControl enum value
17260	M3u8PcrControlPcrEveryPesPacket = "PCR_EVERY_PES_PACKET"
17261
17262	// M3u8PcrControlConfiguredPcrPeriod is a M3u8PcrControl enum value
17263	M3u8PcrControlConfiguredPcrPeriod = "CONFIGURED_PCR_PERIOD"
17264)
17265
17266// Enables SCTE-35 passthrough (scte35Source) to pass any SCTE-35 signals from
17267// input to output.
17268const (
17269	// M3u8Scte35SourcePassthrough is a M3u8Scte35Source enum value
17270	M3u8Scte35SourcePassthrough = "PASSTHROUGH"
17271
17272	// M3u8Scte35SourceNone is a M3u8Scte35Source enum value
17273	M3u8Scte35SourceNone = "NONE"
17274)
17275
17276// When enabled, include 'clap' atom if appropriate for the video output settings.
17277const (
17278	// MovClapAtomInclude is a MovClapAtom enum value
17279	MovClapAtomInclude = "INCLUDE"
17280
17281	// MovClapAtomExclude is a MovClapAtom enum value
17282	MovClapAtomExclude = "EXCLUDE"
17283)
17284
17285// When enabled, file composition times will start at zero, composition times
17286// in the 'ctts' (composition time to sample) box for B-frames will be negative,
17287// and a 'cslg' (composition shift least greatest) box will be included per
17288// 14496-1 amendment 1. This improves compatibility with Apple players and tools.
17289const (
17290	// MovCslgAtomInclude is a MovCslgAtom enum value
17291	MovCslgAtomInclude = "INCLUDE"
17292
17293	// MovCslgAtomExclude is a MovCslgAtom enum value
17294	MovCslgAtomExclude = "EXCLUDE"
17295)
17296
17297// When set to XDCAM, writes MPEG2 video streams into the QuickTime file using
17298// XDCAM fourcc codes. This increases compatibility with Apple editors and players,
17299// but may decrease compatibility with other players. Only applicable when the
17300// video codec is MPEG2.
17301const (
17302	// MovMpeg2FourCCControlXdcam is a MovMpeg2FourCCControl enum value
17303	MovMpeg2FourCCControlXdcam = "XDCAM"
17304
17305	// MovMpeg2FourCCControlMpeg is a MovMpeg2FourCCControl enum value
17306	MovMpeg2FourCCControlMpeg = "MPEG"
17307)
17308
17309// If set to OMNEON, inserts Omneon-compatible padding
17310const (
17311	// MovPaddingControlOmneon is a MovPaddingControl enum value
17312	MovPaddingControlOmneon = "OMNEON"
17313
17314	// MovPaddingControlNone is a MovPaddingControl enum value
17315	MovPaddingControlNone = "NONE"
17316)
17317
17318// A value of 'external' creates separate media files and the wrapper file (.mov)
17319// contains references to these media files. A value of 'self_contained' creates
17320// only a wrapper (.mov) file and this file contains all of the media.
17321const (
17322	// MovReferenceSelfContained is a MovReference enum value
17323	MovReferenceSelfContained = "SELF_CONTAINED"
17324
17325	// MovReferenceExternal is a MovReference enum value
17326	MovReferenceExternal = "EXTERNAL"
17327)
17328
17329// When enabled, file composition times will start at zero, composition times
17330// in the 'ctts' (composition time to sample) box for B-frames will be negative,
17331// and a 'cslg' (composition shift least greatest) box will be included per
17332// 14496-1 amendment 1. This improves compatibility with Apple players and tools.
17333const (
17334	// Mp4CslgAtomInclude is a Mp4CslgAtom enum value
17335	Mp4CslgAtomInclude = "INCLUDE"
17336
17337	// Mp4CslgAtomExclude is a Mp4CslgAtom enum value
17338	Mp4CslgAtomExclude = "EXCLUDE"
17339)
17340
17341// Inserts a free-space box immediately after the moov box.
17342const (
17343	// Mp4FreeSpaceBoxInclude is a Mp4FreeSpaceBox enum value
17344	Mp4FreeSpaceBoxInclude = "INCLUDE"
17345
17346	// Mp4FreeSpaceBoxExclude is a Mp4FreeSpaceBox enum value
17347	Mp4FreeSpaceBoxExclude = "EXCLUDE"
17348)
17349
17350// If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the beginning
17351// of the archive as required for progressive downloading. Otherwise it is placed
17352// normally at the end.
17353const (
17354	// Mp4MoovPlacementProgressiveDownload is a Mp4MoovPlacement enum value
17355	Mp4MoovPlacementProgressiveDownload = "PROGRESSIVE_DOWNLOAD"
17356
17357	// Mp4MoovPlacementNormal is a Mp4MoovPlacement enum value
17358	Mp4MoovPlacementNormal = "NORMAL"
17359)
17360
17361// Adaptive quantization. Allows intra-frame quantizers to vary to improve visual
17362// quality.
17363const (
17364	// Mpeg2AdaptiveQuantizationOff is a Mpeg2AdaptiveQuantization enum value
17365	Mpeg2AdaptiveQuantizationOff = "OFF"
17366
17367	// Mpeg2AdaptiveQuantizationLow is a Mpeg2AdaptiveQuantization enum value
17368	Mpeg2AdaptiveQuantizationLow = "LOW"
17369
17370	// Mpeg2AdaptiveQuantizationMedium is a Mpeg2AdaptiveQuantization enum value
17371	Mpeg2AdaptiveQuantizationMedium = "MEDIUM"
17372
17373	// Mpeg2AdaptiveQuantizationHigh is a Mpeg2AdaptiveQuantization enum value
17374	Mpeg2AdaptiveQuantizationHigh = "HIGH"
17375)
17376
17377// Use Level (Mpeg2CodecLevel) to set the MPEG-2 level for the video output.
17378const (
17379	// Mpeg2CodecLevelAuto is a Mpeg2CodecLevel enum value
17380	Mpeg2CodecLevelAuto = "AUTO"
17381
17382	// Mpeg2CodecLevelLow is a Mpeg2CodecLevel enum value
17383	Mpeg2CodecLevelLow = "LOW"
17384
17385	// Mpeg2CodecLevelMain is a Mpeg2CodecLevel enum value
17386	Mpeg2CodecLevelMain = "MAIN"
17387
17388	// Mpeg2CodecLevelHigh1440 is a Mpeg2CodecLevel enum value
17389	Mpeg2CodecLevelHigh1440 = "HIGH1440"
17390
17391	// Mpeg2CodecLevelHigh is a Mpeg2CodecLevel enum value
17392	Mpeg2CodecLevelHigh = "HIGH"
17393)
17394
17395// Use Profile (Mpeg2CodecProfile) to set the MPEG-2 profile for the video output.
17396const (
17397	// Mpeg2CodecProfileMain is a Mpeg2CodecProfile enum value
17398	Mpeg2CodecProfileMain = "MAIN"
17399
17400	// Mpeg2CodecProfileProfile422 is a Mpeg2CodecProfile enum value
17401	Mpeg2CodecProfileProfile422 = "PROFILE_422"
17402)
17403
17404// Choose Adaptive to improve subjective video quality for high-motion content.
17405// This will cause the service to use fewer B-frames (which infer information
17406// based on other frames) for high-motion portions of the video and more B-frames
17407// for low-motion portions. The maximum number of B-frames is limited by the
17408// value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames).
17409const (
17410	// Mpeg2DynamicSubGopAdaptive is a Mpeg2DynamicSubGop enum value
17411	Mpeg2DynamicSubGopAdaptive = "ADAPTIVE"
17412
17413	// Mpeg2DynamicSubGopStatic is a Mpeg2DynamicSubGop enum value
17414	Mpeg2DynamicSubGopStatic = "STATIC"
17415)
17416
17417// If you are using the console, use the Framerate setting to specify the framerate
17418// for this output. If you want to keep the same framerate as the input video,
17419// choose Follow source. If you want to do framerate conversion, choose a framerate
17420// from the dropdown list or choose Custom. The framerates shown in the dropdown
17421// list are decimal approximations of fractions. If you choose Custom, specify
17422// your framerate as a fraction. If you are creating your transcoding job sepecification
17423// as a JSON file without the console, use FramerateControl to specify which
17424// value the service uses for the framerate for this output. Choose INITIALIZE_FROM_SOURCE
17425// if you want the service to use the framerate from the input. Choose SPECIFIED
17426// if you want the service to use the framerate you specify in the settings
17427// FramerateNumerator and FramerateDenominator.
17428const (
17429	// Mpeg2FramerateControlInitializeFromSource is a Mpeg2FramerateControl enum value
17430	Mpeg2FramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
17431
17432	// Mpeg2FramerateControlSpecified is a Mpeg2FramerateControl enum value
17433	Mpeg2FramerateControlSpecified = "SPECIFIED"
17434)
17435
17436// When set to INTERPOLATE, produces smoother motion during framerate conversion.
17437const (
17438	// Mpeg2FramerateConversionAlgorithmDuplicateDrop is a Mpeg2FramerateConversionAlgorithm enum value
17439	Mpeg2FramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP"
17440
17441	// Mpeg2FramerateConversionAlgorithmInterpolate is a Mpeg2FramerateConversionAlgorithm enum value
17442	Mpeg2FramerateConversionAlgorithmInterpolate = "INTERPOLATE"
17443)
17444
17445// Indicates if the GOP Size in MPEG2 is specified in frames or seconds. If
17446// seconds the system will convert the GOP Size into a frame count at run time.
17447const (
17448	// Mpeg2GopSizeUnitsFrames is a Mpeg2GopSizeUnits enum value
17449	Mpeg2GopSizeUnitsFrames = "FRAMES"
17450
17451	// Mpeg2GopSizeUnitsSeconds is a Mpeg2GopSizeUnits enum value
17452	Mpeg2GopSizeUnitsSeconds = "SECONDS"
17453)
17454
17455// Use Interlace mode (InterlaceMode) to choose the scan line type for the output.
17456// * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce
17457// interlaced output with the entire output having the same field polarity (top
17458// or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default
17459// Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore,
17460// behavior depends on the input scan type. - If the source is interlaced, the
17461// output will be interlaced with the same polarity as the source (it will follow
17462// the source). The output could therefore be a mix of "top field first" and
17463// "bottom field first". - If the source is progressive, the output will be
17464// interlaced with "top field first" or "bottom field first" polarity, depending
17465// on which of the Follow options you chose.
17466const (
17467	// Mpeg2InterlaceModeProgressive is a Mpeg2InterlaceMode enum value
17468	Mpeg2InterlaceModeProgressive = "PROGRESSIVE"
17469
17470	// Mpeg2InterlaceModeTopField is a Mpeg2InterlaceMode enum value
17471	Mpeg2InterlaceModeTopField = "TOP_FIELD"
17472
17473	// Mpeg2InterlaceModeBottomField is a Mpeg2InterlaceMode enum value
17474	Mpeg2InterlaceModeBottomField = "BOTTOM_FIELD"
17475
17476	// Mpeg2InterlaceModeFollowTopField is a Mpeg2InterlaceMode enum value
17477	Mpeg2InterlaceModeFollowTopField = "FOLLOW_TOP_FIELD"
17478
17479	// Mpeg2InterlaceModeFollowBottomField is a Mpeg2InterlaceMode enum value
17480	Mpeg2InterlaceModeFollowBottomField = "FOLLOW_BOTTOM_FIELD"
17481)
17482
17483// Use Intra DC precision (Mpeg2IntraDcPrecision) to set quantization precision
17484// for intra-block DC coefficients. If you choose the value auto, the service
17485// will automatically select the precision based on the per-frame compression
17486// ratio.
17487const (
17488	// Mpeg2IntraDcPrecisionAuto is a Mpeg2IntraDcPrecision enum value
17489	Mpeg2IntraDcPrecisionAuto = "AUTO"
17490
17491	// Mpeg2IntraDcPrecisionIntraDcPrecision8 is a Mpeg2IntraDcPrecision enum value
17492	Mpeg2IntraDcPrecisionIntraDcPrecision8 = "INTRA_DC_PRECISION_8"
17493
17494	// Mpeg2IntraDcPrecisionIntraDcPrecision9 is a Mpeg2IntraDcPrecision enum value
17495	Mpeg2IntraDcPrecisionIntraDcPrecision9 = "INTRA_DC_PRECISION_9"
17496
17497	// Mpeg2IntraDcPrecisionIntraDcPrecision10 is a Mpeg2IntraDcPrecision enum value
17498	Mpeg2IntraDcPrecisionIntraDcPrecision10 = "INTRA_DC_PRECISION_10"
17499
17500	// Mpeg2IntraDcPrecisionIntraDcPrecision11 is a Mpeg2IntraDcPrecision enum value
17501	Mpeg2IntraDcPrecisionIntraDcPrecision11 = "INTRA_DC_PRECISION_11"
17502)
17503
17504// Using the API, enable ParFollowSource if you want the service to use the
17505// pixel aspect ratio from the input. Using the console, do this by choosing
17506// Follow source for Pixel aspect ratio.
17507const (
17508	// Mpeg2ParControlInitializeFromSource is a Mpeg2ParControl enum value
17509	Mpeg2ParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
17510
17511	// Mpeg2ParControlSpecified is a Mpeg2ParControl enum value
17512	Mpeg2ParControlSpecified = "SPECIFIED"
17513)
17514
17515// Use Quality tuning level (Mpeg2QualityTuningLevel) to specifiy whether to
17516// use single-pass or multipass video encoding.
17517const (
17518	// Mpeg2QualityTuningLevelSinglePass is a Mpeg2QualityTuningLevel enum value
17519	Mpeg2QualityTuningLevelSinglePass = "SINGLE_PASS"
17520
17521	// Mpeg2QualityTuningLevelMultiPass is a Mpeg2QualityTuningLevel enum value
17522	Mpeg2QualityTuningLevelMultiPass = "MULTI_PASS"
17523)
17524
17525// Use Rate control mode (Mpeg2RateControlMode) to specifiy whether the bitrate
17526// is variable (vbr) or constant (cbr).
17527const (
17528	// Mpeg2RateControlModeVbr is a Mpeg2RateControlMode enum value
17529	Mpeg2RateControlModeVbr = "VBR"
17530
17531	// Mpeg2RateControlModeCbr is a Mpeg2RateControlMode enum value
17532	Mpeg2RateControlModeCbr = "CBR"
17533)
17534
17535// Scene change detection (inserts I-frames on scene changes).
17536const (
17537	// Mpeg2SceneChangeDetectDisabled is a Mpeg2SceneChangeDetect enum value
17538	Mpeg2SceneChangeDetectDisabled = "DISABLED"
17539
17540	// Mpeg2SceneChangeDetectEnabled is a Mpeg2SceneChangeDetect enum value
17541	Mpeg2SceneChangeDetectEnabled = "ENABLED"
17542)
17543
17544// Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled
17545// as 25fps, and audio is sped up correspondingly.
17546const (
17547	// Mpeg2SlowPalDisabled is a Mpeg2SlowPal enum value
17548	Mpeg2SlowPalDisabled = "DISABLED"
17549
17550	// Mpeg2SlowPalEnabled is a Mpeg2SlowPal enum value
17551	Mpeg2SlowPalEnabled = "ENABLED"
17552)
17553
17554// Adjust quantization within each frame based on spatial variation of content
17555// complexity.
17556const (
17557	// Mpeg2SpatialAdaptiveQuantizationDisabled is a Mpeg2SpatialAdaptiveQuantization enum value
17558	Mpeg2SpatialAdaptiveQuantizationDisabled = "DISABLED"
17559
17560	// Mpeg2SpatialAdaptiveQuantizationEnabled is a Mpeg2SpatialAdaptiveQuantization enum value
17561	Mpeg2SpatialAdaptiveQuantizationEnabled = "ENABLED"
17562)
17563
17564// Produces a Type D-10 compatible bitstream (SMPTE 356M-2001).
17565const (
17566	// Mpeg2SyntaxDefault is a Mpeg2Syntax enum value
17567	Mpeg2SyntaxDefault = "DEFAULT"
17568
17569	// Mpeg2SyntaxD10 is a Mpeg2Syntax enum value
17570	Mpeg2SyntaxD10 = "D_10"
17571)
17572
17573// Only use Telecine (Mpeg2Telecine) when you set Framerate (Framerate) to 29.970.
17574// Set Telecine (Mpeg2Telecine) to Hard (hard) to produce a 29.97i output from
17575// a 23.976 input. Set it to Soft (soft) to produce 23.976 output and leave
17576// converstion to the player.
17577const (
17578	// Mpeg2TelecineNone is a Mpeg2Telecine enum value
17579	Mpeg2TelecineNone = "NONE"
17580
17581	// Mpeg2TelecineSoft is a Mpeg2Telecine enum value
17582	Mpeg2TelecineSoft = "SOFT"
17583
17584	// Mpeg2TelecineHard is a Mpeg2Telecine enum value
17585	Mpeg2TelecineHard = "HARD"
17586)
17587
17588// Adjust quantization within each frame based on temporal variation of content
17589// complexity.
17590const (
17591	// Mpeg2TemporalAdaptiveQuantizationDisabled is a Mpeg2TemporalAdaptiveQuantization enum value
17592	Mpeg2TemporalAdaptiveQuantizationDisabled = "DISABLED"
17593
17594	// Mpeg2TemporalAdaptiveQuantizationEnabled is a Mpeg2TemporalAdaptiveQuantization enum value
17595	Mpeg2TemporalAdaptiveQuantizationEnabled = "ENABLED"
17596)
17597
17598// COMBINE_DUPLICATE_STREAMS combines identical audio encoding settings across
17599// a Microsoft Smooth output group into a single audio stream.
17600const (
17601	// MsSmoothAudioDeduplicationCombineDuplicateStreams is a MsSmoothAudioDeduplication enum value
17602	MsSmoothAudioDeduplicationCombineDuplicateStreams = "COMBINE_DUPLICATE_STREAMS"
17603
17604	// MsSmoothAudioDeduplicationNone is a MsSmoothAudioDeduplication enum value
17605	MsSmoothAudioDeduplicationNone = "NONE"
17606)
17607
17608// Use Manifest encoding (MsSmoothManifestEncoding) to specify the encoding
17609// format for the server and client manifest. Valid options are utf8 and utf16.
17610const (
17611	// MsSmoothManifestEncodingUtf8 is a MsSmoothManifestEncoding enum value
17612	MsSmoothManifestEncodingUtf8 = "UTF8"
17613
17614	// MsSmoothManifestEncodingUtf16 is a MsSmoothManifestEncoding enum value
17615	MsSmoothManifestEncodingUtf16 = "UTF16"
17616)
17617
17618// Use Noise reducer filter (NoiseReducerFilter) to select one of the following
17619// spatial image filtering functions. To use this setting, you must also enable
17620// Noise reducer (NoiseReducer). * Bilateral is an edge preserving noise reduction
17621// filter. * Mean (softest), Gaussian, Lanczos, and Sharpen (sharpest) are convolution
17622// filters. * Conserve is a min/max noise reduction filter. * Spatial is a frequency-domain
17623// filter based on JND principles.
17624const (
17625	// NoiseReducerFilterBilateral is a NoiseReducerFilter enum value
17626	NoiseReducerFilterBilateral = "BILATERAL"
17627
17628	// NoiseReducerFilterMean is a NoiseReducerFilter enum value
17629	NoiseReducerFilterMean = "MEAN"
17630
17631	// NoiseReducerFilterGaussian is a NoiseReducerFilter enum value
17632	NoiseReducerFilterGaussian = "GAUSSIAN"
17633
17634	// NoiseReducerFilterLanczos is a NoiseReducerFilter enum value
17635	NoiseReducerFilterLanczos = "LANCZOS"
17636
17637	// NoiseReducerFilterSharpen is a NoiseReducerFilter enum value
17638	NoiseReducerFilterSharpen = "SHARPEN"
17639
17640	// NoiseReducerFilterConserve is a NoiseReducerFilter enum value
17641	NoiseReducerFilterConserve = "CONSERVE"
17642
17643	// NoiseReducerFilterSpatial is a NoiseReducerFilter enum value
17644	NoiseReducerFilterSpatial = "SPATIAL"
17645)
17646
17647// When you request lists of resources, you can optionally specify whether they
17648// are sorted in ASCENDING or DESCENDING order. Default varies by resource.
17649const (
17650	// OrderAscending is a Order enum value
17651	OrderAscending = "ASCENDING"
17652
17653	// OrderDescending is a Order enum value
17654	OrderDescending = "DESCENDING"
17655)
17656
17657// Type of output group (File group, Apple HLS, DASH ISO, Microsoft Smooth Streaming,
17658// CMAF)
17659const (
17660	// OutputGroupTypeHlsGroupSettings is a OutputGroupType enum value
17661	OutputGroupTypeHlsGroupSettings = "HLS_GROUP_SETTINGS"
17662
17663	// OutputGroupTypeDashIsoGroupSettings is a OutputGroupType enum value
17664	OutputGroupTypeDashIsoGroupSettings = "DASH_ISO_GROUP_SETTINGS"
17665
17666	// OutputGroupTypeFileGroupSettings is a OutputGroupType enum value
17667	OutputGroupTypeFileGroupSettings = "FILE_GROUP_SETTINGS"
17668
17669	// OutputGroupTypeMsSmoothGroupSettings is a OutputGroupType enum value
17670	OutputGroupTypeMsSmoothGroupSettings = "MS_SMOOTH_GROUP_SETTINGS"
17671
17672	// OutputGroupTypeCmafGroupSettings is a OutputGroupType enum value
17673	OutputGroupTypeCmafGroupSettings = "CMAF_GROUP_SETTINGS"
17674)
17675
17676// Selects method of inserting SDT information into output stream. "Follow input
17677// SDT" copies SDT information from input stream to output stream. "Follow input
17678// SDT if present" copies SDT information from input stream to output stream
17679// if SDT information is present in the input, otherwise it will fall back on
17680// the user-defined values. Enter "SDT Manually" means user will enter the SDT
17681// information. "No SDT" means output stream will not contain SDT information.
17682const (
17683	// OutputSdtSdtFollow is a OutputSdt enum value
17684	OutputSdtSdtFollow = "SDT_FOLLOW"
17685
17686	// OutputSdtSdtFollowIfPresent is a OutputSdt enum value
17687	OutputSdtSdtFollowIfPresent = "SDT_FOLLOW_IF_PRESENT"
17688
17689	// OutputSdtSdtManual is a OutputSdt enum value
17690	OutputSdtSdtManual = "SDT_MANUAL"
17691
17692	// OutputSdtSdtNone is a OutputSdt enum value
17693	OutputSdtSdtNone = "SDT_NONE"
17694)
17695
17696// Optional. When you request a list of presets, you can choose to list them
17697// alphabetically by NAME or chronologically by CREATION_DATE. If you don't
17698// specify, the service will list them by name.
17699const (
17700	// PresetListByName is a PresetListBy enum value
17701	PresetListByName = "NAME"
17702
17703	// PresetListByCreationDate is a PresetListBy enum value
17704	PresetListByCreationDate = "CREATION_DATE"
17705
17706	// PresetListBySystem is a PresetListBy enum value
17707	PresetListBySystem = "SYSTEM"
17708)
17709
17710// Use Profile (ProResCodecProfile) to specifiy the type of Apple ProRes codec
17711// to use for this output.
17712const (
17713	// ProresCodecProfileAppleProres422 is a ProresCodecProfile enum value
17714	ProresCodecProfileAppleProres422 = "APPLE_PRORES_422"
17715
17716	// ProresCodecProfileAppleProres422Hq is a ProresCodecProfile enum value
17717	ProresCodecProfileAppleProres422Hq = "APPLE_PRORES_422_HQ"
17718
17719	// ProresCodecProfileAppleProres422Lt is a ProresCodecProfile enum value
17720	ProresCodecProfileAppleProres422Lt = "APPLE_PRORES_422_LT"
17721
17722	// ProresCodecProfileAppleProres422Proxy is a ProresCodecProfile enum value
17723	ProresCodecProfileAppleProres422Proxy = "APPLE_PRORES_422_PROXY"
17724)
17725
17726// If you are using the console, use the Framerate setting to specify the framerate
17727// for this output. If you want to keep the same framerate as the input video,
17728// choose Follow source. If you want to do framerate conversion, choose a framerate
17729// from the dropdown list or choose Custom. The framerates shown in the dropdown
17730// list are decimal approximations of fractions. If you choose Custom, specify
17731// your framerate as a fraction. If you are creating your transcoding job sepecification
17732// as a JSON file without the console, use FramerateControl to specify which
17733// value the service uses for the framerate for this output. Choose INITIALIZE_FROM_SOURCE
17734// if you want the service to use the framerate from the input. Choose SPECIFIED
17735// if you want the service to use the framerate you specify in the settings
17736// FramerateNumerator and FramerateDenominator.
17737const (
17738	// ProresFramerateControlInitializeFromSource is a ProresFramerateControl enum value
17739	ProresFramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
17740
17741	// ProresFramerateControlSpecified is a ProresFramerateControl enum value
17742	ProresFramerateControlSpecified = "SPECIFIED"
17743)
17744
17745// When set to INTERPOLATE, produces smoother motion during framerate conversion.
17746const (
17747	// ProresFramerateConversionAlgorithmDuplicateDrop is a ProresFramerateConversionAlgorithm enum value
17748	ProresFramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP"
17749
17750	// ProresFramerateConversionAlgorithmInterpolate is a ProresFramerateConversionAlgorithm enum value
17751	ProresFramerateConversionAlgorithmInterpolate = "INTERPOLATE"
17752)
17753
17754// Use Interlace mode (InterlaceMode) to choose the scan line type for the output.
17755// * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce
17756// interlaced output with the entire output having the same field polarity (top
17757// or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default
17758// Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore,
17759// behavior depends on the input scan type. - If the source is interlaced, the
17760// output will be interlaced with the same polarity as the source (it will follow
17761// the source). The output could therefore be a mix of "top field first" and
17762// "bottom field first". - If the source is progressive, the output will be
17763// interlaced with "top field first" or "bottom field first" polarity, depending
17764// on which of the Follow options you chose.
17765const (
17766	// ProresInterlaceModeProgressive is a ProresInterlaceMode enum value
17767	ProresInterlaceModeProgressive = "PROGRESSIVE"
17768
17769	// ProresInterlaceModeTopField is a ProresInterlaceMode enum value
17770	ProresInterlaceModeTopField = "TOP_FIELD"
17771
17772	// ProresInterlaceModeBottomField is a ProresInterlaceMode enum value
17773	ProresInterlaceModeBottomField = "BOTTOM_FIELD"
17774
17775	// ProresInterlaceModeFollowTopField is a ProresInterlaceMode enum value
17776	ProresInterlaceModeFollowTopField = "FOLLOW_TOP_FIELD"
17777
17778	// ProresInterlaceModeFollowBottomField is a ProresInterlaceMode enum value
17779	ProresInterlaceModeFollowBottomField = "FOLLOW_BOTTOM_FIELD"
17780)
17781
17782// Use (ProresParControl) to specify how the service determines the pixel aspect
17783// ratio. Set to Follow source (INITIALIZE_FROM_SOURCE) to use the pixel aspect
17784// ratio from the input. To specify a different pixel aspect ratio: Using the
17785// console, choose it from the dropdown menu. Using the API, set ProresParControl
17786// to (SPECIFIED) and provide for (ParNumerator) and (ParDenominator).
17787const (
17788	// ProresParControlInitializeFromSource is a ProresParControl enum value
17789	ProresParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
17790
17791	// ProresParControlSpecified is a ProresParControl enum value
17792	ProresParControlSpecified = "SPECIFIED"
17793)
17794
17795// Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled
17796// as 25fps, and audio is sped up correspondingly.
17797const (
17798	// ProresSlowPalDisabled is a ProresSlowPal enum value
17799	ProresSlowPalDisabled = "DISABLED"
17800
17801	// ProresSlowPalEnabled is a ProresSlowPal enum value
17802	ProresSlowPalEnabled = "ENABLED"
17803)
17804
17805// Only use Telecine (ProresTelecine) when you set Framerate (Framerate) to
17806// 29.970. Set Telecine (ProresTelecine) to Hard (hard) to produce a 29.97i
17807// output from a 23.976 input. Set it to Soft (soft) to produce 23.976 output
17808// and leave converstion to the player.
17809const (
17810	// ProresTelecineNone is a ProresTelecine enum value
17811	ProresTelecineNone = "NONE"
17812
17813	// ProresTelecineHard is a ProresTelecine enum value
17814	ProresTelecineHard = "HARD"
17815)
17816
17817// Optional. When you request a list of queues, you can choose to list them
17818// alphabetically by NAME or chronologically by CREATION_DATE. If you don't
17819// specify, the service will list them by creation date.
17820const (
17821	// QueueListByName is a QueueListBy enum value
17822	QueueListByName = "NAME"
17823
17824	// QueueListByCreationDate is a QueueListBy enum value
17825	QueueListByCreationDate = "CREATION_DATE"
17826)
17827
17828// Queues can be ACTIVE or PAUSED. If you pause a queue, jobs in that queue
17829// will not begin. Jobs running when a queue is paused continue to run until
17830// they finish or error out.
17831const (
17832	// QueueStatusActive is a QueueStatus enum value
17833	QueueStatusActive = "ACTIVE"
17834
17835	// QueueStatusPaused is a QueueStatus enum value
17836	QueueStatusPaused = "PAUSED"
17837)
17838
17839// Use Respond to AFD (RespondToAfd) to specify how the service changes the
17840// video itself in response to AFD values in the input. * Choose Respond to
17841// clip the input video frame according to the AFD value, input display aspect
17842// ratio, and output display aspect ratio. * Choose Passthrough to include the
17843// input AFD values. Do not choose this when AfdSignaling is set to (NONE).
17844// A preferred implementation of this workflow is to set RespondToAfd to (NONE)
17845// and set AfdSignaling to (AUTO). * Choose None to remove all input AFD values
17846// from this output.
17847const (
17848	// RespondToAfdNone is a RespondToAfd enum value
17849	RespondToAfdNone = "NONE"
17850
17851	// RespondToAfdRespond is a RespondToAfd enum value
17852	RespondToAfdRespond = "RESPOND"
17853
17854	// RespondToAfdPassthrough is a RespondToAfd enum value
17855	RespondToAfdPassthrough = "PASSTHROUGH"
17856)
17857
17858// Applies only if your input aspect ratio is different from your output aspect
17859// ratio. Enable Stretch to output (StretchToOutput) to have the service stretch
17860// your video image to fit. Leave this setting disabled to allow the service
17861// to letterbox your video instead. This setting overrides any positioning value
17862// you specify elsewhere in the job.
17863const (
17864	// ScalingBehaviorDefault is a ScalingBehavior enum value
17865	ScalingBehaviorDefault = "DEFAULT"
17866
17867	// ScalingBehaviorStretchToOutput is a ScalingBehavior enum value
17868	ScalingBehaviorStretchToOutput = "STRETCH_TO_OUTPUT"
17869)
17870
17871// Set Framerate (SccDestinationFramerate) to make sure that the captions and
17872// the video are synchronized in the output. Specify a framerate that matches
17873// the framerate of the associated video. If the video framerate is 29.97, choose
17874// 29.97 dropframe (FRAMERATE_29_97_DROPFRAME) only if the video has video_insertion=true
17875// and drop_frame_timecode=true; otherwise, choose 29.97 non-dropframe (FRAMERATE_29_97_NON_DROPFRAME).
17876const (
17877	// SccDestinationFramerateFramerate2397 is a SccDestinationFramerate enum value
17878	SccDestinationFramerateFramerate2397 = "FRAMERATE_23_97"
17879
17880	// SccDestinationFramerateFramerate24 is a SccDestinationFramerate enum value
17881	SccDestinationFramerateFramerate24 = "FRAMERATE_24"
17882
17883	// SccDestinationFramerateFramerate2997Dropframe is a SccDestinationFramerate enum value
17884	SccDestinationFramerateFramerate2997Dropframe = "FRAMERATE_29_97_DROPFRAME"
17885
17886	// SccDestinationFramerateFramerate2997NonDropframe is a SccDestinationFramerate enum value
17887	SccDestinationFramerateFramerate2997NonDropframe = "FRAMERATE_29_97_NON_DROPFRAME"
17888)
17889
17890// Use Position (Position) under under Timecode burn-in (TimecodeBurnIn) to
17891// specify the location the burned-in timecode on output video.
17892const (
17893	// TimecodeBurninPositionTopCenter is a TimecodeBurninPosition enum value
17894	TimecodeBurninPositionTopCenter = "TOP_CENTER"
17895
17896	// TimecodeBurninPositionTopLeft is a TimecodeBurninPosition enum value
17897	TimecodeBurninPositionTopLeft = "TOP_LEFT"
17898
17899	// TimecodeBurninPositionTopRight is a TimecodeBurninPosition enum value
17900	TimecodeBurninPositionTopRight = "TOP_RIGHT"
17901
17902	// TimecodeBurninPositionMiddleLeft is a TimecodeBurninPosition enum value
17903	TimecodeBurninPositionMiddleLeft = "MIDDLE_LEFT"
17904
17905	// TimecodeBurninPositionMiddleCenter is a TimecodeBurninPosition enum value
17906	TimecodeBurninPositionMiddleCenter = "MIDDLE_CENTER"
17907
17908	// TimecodeBurninPositionMiddleRight is a TimecodeBurninPosition enum value
17909	TimecodeBurninPositionMiddleRight = "MIDDLE_RIGHT"
17910
17911	// TimecodeBurninPositionBottomLeft is a TimecodeBurninPosition enum value
17912	TimecodeBurninPositionBottomLeft = "BOTTOM_LEFT"
17913
17914	// TimecodeBurninPositionBottomCenter is a TimecodeBurninPosition enum value
17915	TimecodeBurninPositionBottomCenter = "BOTTOM_CENTER"
17916
17917	// TimecodeBurninPositionBottomRight is a TimecodeBurninPosition enum value
17918	TimecodeBurninPositionBottomRight = "BOTTOM_RIGHT"
17919)
17920
17921// Use Source (TimecodeSource) to set how timecodes are handled within this
17922// job. To make sure that your video, audio, captions, and markers are synchronized
17923// and that time-based features, such as image inserter, work correctly, choose
17924// the Timecode source option that matches your assets. All timecodes are in
17925// a 24-hour format with frame number (HH:MM:SS:FF). * Embedded (EMBEDDED) -
17926// Use the timecode that is in the input video. If no embedded timecode is in
17927// the source, the service will use Start at 0 (ZEROBASED) instead. * Start
17928// at 0 (ZEROBASED) - Set the timecode of the initial frame to 00:00:00:00.
17929// * Specified Start (SPECIFIEDSTART) - Set the timecode of the initial frame
17930// to a value other than zero. You use Start timecode (Start) to provide this
17931// value.
17932const (
17933	// TimecodeSourceEmbedded is a TimecodeSource enum value
17934	TimecodeSourceEmbedded = "EMBEDDED"
17935
17936	// TimecodeSourceZerobased is a TimecodeSource enum value
17937	TimecodeSourceZerobased = "ZEROBASED"
17938
17939	// TimecodeSourceSpecifiedstart is a TimecodeSource enum value
17940	TimecodeSourceSpecifiedstart = "SPECIFIEDSTART"
17941)
17942
17943// Applies only to HLS outputs. Use this setting to specify whether the service
17944// inserts the ID3 timed metadata from the input in this output.
17945const (
17946	// TimedMetadataPassthrough is a TimedMetadata enum value
17947	TimedMetadataPassthrough = "PASSTHROUGH"
17948
17949	// TimedMetadataNone is a TimedMetadata enum value
17950	TimedMetadataNone = "NONE"
17951)
17952
17953// Pass through style and position information from a TTML-like input source
17954// (TTML, SMPTE-TT, CFF-TT) to the CFF-TT output or TTML output.
17955const (
17956	// TtmlStylePassthroughEnabled is a TtmlStylePassthrough enum value
17957	TtmlStylePassthroughEnabled = "ENABLED"
17958
17959	// TtmlStylePassthroughDisabled is a TtmlStylePassthrough enum value
17960	TtmlStylePassthroughDisabled = "DISABLED"
17961)
17962
17963const (
17964	// TypeSystem is a Type enum value
17965	TypeSystem = "SYSTEM"
17966
17967	// TypeCustom is a Type enum value
17968	TypeCustom = "CUSTOM"
17969)
17970
17971// Type of video codec
17972const (
17973	// VideoCodecFrameCapture is a VideoCodec enum value
17974	VideoCodecFrameCapture = "FRAME_CAPTURE"
17975
17976	// VideoCodecH264 is a VideoCodec enum value
17977	VideoCodecH264 = "H_264"
17978
17979	// VideoCodecH265 is a VideoCodec enum value
17980	VideoCodecH265 = "H_265"
17981
17982	// VideoCodecMpeg2 is a VideoCodec enum value
17983	VideoCodecMpeg2 = "MPEG2"
17984
17985	// VideoCodecProres is a VideoCodec enum value
17986	VideoCodecProres = "PRORES"
17987)
17988
17989// Applies only to H.264, H.265, MPEG2, and ProRes outputs. Only enable Timecode
17990// insertion when the input framerate is identical to the output framerate.
17991// To include timecodes in this output, set Timecode insertion (VideoTimecodeInsertion)
17992// to PIC_TIMING_SEI. To leave them out, set it to DISABLED. Default is DISABLED.
17993// When the service inserts timecodes in an output, by default, it uses any
17994// embedded timecodes from the input. If none are present, the service will
17995// set the timecode for the first output frame to zero. To change this default
17996// behavior, adjust the settings under Timecode configuration (TimecodeConfig).
17997// In the console, these settings are located under Job > Job settings > Timecode
17998// configuration. Note - Timecode source under input settings (InputTimecodeSource)
17999// does not affect the timecodes that are inserted in the output. Source under
18000// Job settings > Timecode configuration (TimecodeSource) does.
18001const (
18002	// VideoTimecodeInsertionDisabled is a VideoTimecodeInsertion enum value
18003	VideoTimecodeInsertionDisabled = "DISABLED"
18004
18005	// VideoTimecodeInsertionPicTimingSei is a VideoTimecodeInsertion enum value
18006	VideoTimecodeInsertionPicTimingSei = "PIC_TIMING_SEI"
18007)
18008
18009// The service defaults to using RIFF for WAV outputs. If your output audio
18010// is likely to exceed 4 GB in file size, or if you otherwise need the extended
18011// support of the RF64 format, set your output WAV file format to RF64.
18012const (
18013	// WavFormatRiff is a WavFormat enum value
18014	WavFormatRiff = "RIFF"
18015
18016	// WavFormatRf64 is a WavFormat enum value
18017	WavFormatRf64 = "RF64"
18018)
18019