1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package medialive
4
5import (
6	"fmt"
7
8	"github.com/aws/aws-sdk-go/aws"
9	"github.com/aws/aws-sdk-go/aws/awsutil"
10	"github.com/aws/aws-sdk-go/aws/request"
11	"github.com/aws/aws-sdk-go/private/protocol"
12	"github.com/aws/aws-sdk-go/private/protocol/restjson"
13)
14
15const opBatchUpdateSchedule = "BatchUpdateSchedule"
16
17// BatchUpdateScheduleRequest generates a "aws/request.Request" representing the
18// client's request for the BatchUpdateSchedule operation. The "output" return
19// value will be populated with the request's response once the request completes
20// successfully.
21//
22// Use "Send" method on the returned Request to send the API call to the service.
23// the "output" return value is not valid until after Send returns without error.
24//
25// See BatchUpdateSchedule for more information on using the BatchUpdateSchedule
26// API call, and error handling.
27//
28// This method is useful when you want to inject custom logic or configuration
29// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30//
31//
32//    // Example sending a request using the BatchUpdateScheduleRequest method.
33//    req, resp := client.BatchUpdateScheduleRequest(params)
34//
35//    err := req.Send()
36//    if err == nil { // resp is now filled
37//        fmt.Println(resp)
38//    }
39//
40// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/BatchUpdateSchedule
41func (c *MediaLive) BatchUpdateScheduleRequest(input *BatchUpdateScheduleInput) (req *request.Request, output *BatchUpdateScheduleOutput) {
42	op := &request.Operation{
43		Name:       opBatchUpdateSchedule,
44		HTTPMethod: "PUT",
45		HTTPPath:   "/prod/channels/{channelId}/schedule",
46	}
47
48	if input == nil {
49		input = &BatchUpdateScheduleInput{}
50	}
51
52	output = &BatchUpdateScheduleOutput{}
53	req = c.newRequest(op, input, output)
54	return
55}
56
57// BatchUpdateSchedule API operation for AWS Elemental MediaLive.
58//
59// Update a channel schedule
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 MediaLive's
66// API operation BatchUpdateSchedule for usage and error information.
67//
68// Returned Error Codes:
69//   * ErrCodeBadRequestException "BadRequestException"
70//
71//   * ErrCodeUnprocessableEntityException "UnprocessableEntityException"
72//
73//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
74//
75//   * ErrCodeForbiddenException "ForbiddenException"
76//
77//   * ErrCodeBadGatewayException "BadGatewayException"
78//
79//   * ErrCodeNotFoundException "NotFoundException"
80//
81//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
82//
83//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
84//
85// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/BatchUpdateSchedule
86func (c *MediaLive) BatchUpdateSchedule(input *BatchUpdateScheduleInput) (*BatchUpdateScheduleOutput, error) {
87	req, out := c.BatchUpdateScheduleRequest(input)
88	return out, req.Send()
89}
90
91// BatchUpdateScheduleWithContext is the same as BatchUpdateSchedule with the addition of
92// the ability to pass a context and additional request options.
93//
94// See BatchUpdateSchedule for details on how to use this API operation.
95//
96// The context must be non-nil and will be used for request cancellation. If
97// the context is nil a panic will occur. In the future the SDK may create
98// sub-contexts for http.Requests. See https://golang.org/pkg/context/
99// for more information on using Contexts.
100func (c *MediaLive) BatchUpdateScheduleWithContext(ctx aws.Context, input *BatchUpdateScheduleInput, opts ...request.Option) (*BatchUpdateScheduleOutput, error) {
101	req, out := c.BatchUpdateScheduleRequest(input)
102	req.SetContext(ctx)
103	req.ApplyOptions(opts...)
104	return out, req.Send()
105}
106
107const opCreateChannel = "CreateChannel"
108
109// CreateChannelRequest generates a "aws/request.Request" representing the
110// client's request for the CreateChannel operation. The "output" return
111// value will be populated with the request's response once the request completes
112// successfully.
113//
114// Use "Send" method on the returned Request to send the API call to the service.
115// the "output" return value is not valid until after Send returns without error.
116//
117// See CreateChannel for more information on using the CreateChannel
118// API call, and error handling.
119//
120// This method is useful when you want to inject custom logic or configuration
121// into the SDK's request lifecycle. Such as custom headers, or retry logic.
122//
123//
124//    // Example sending a request using the CreateChannelRequest method.
125//    req, resp := client.CreateChannelRequest(params)
126//
127//    err := req.Send()
128//    if err == nil { // resp is now filled
129//        fmt.Println(resp)
130//    }
131//
132// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateChannel
133func (c *MediaLive) CreateChannelRequest(input *CreateChannelInput) (req *request.Request, output *CreateChannelOutput) {
134	op := &request.Operation{
135		Name:       opCreateChannel,
136		HTTPMethod: "POST",
137		HTTPPath:   "/prod/channels",
138	}
139
140	if input == nil {
141		input = &CreateChannelInput{}
142	}
143
144	output = &CreateChannelOutput{}
145	req = c.newRequest(op, input, output)
146	return
147}
148
149// CreateChannel API operation for AWS Elemental MediaLive.
150//
151// Creates a new channel
152//
153// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
154// with awserr.Error's Code and Message methods to get detailed information about
155// the error.
156//
157// See the AWS API reference guide for AWS Elemental MediaLive's
158// API operation CreateChannel for usage and error information.
159//
160// Returned Error Codes:
161//   * ErrCodeBadRequestException "BadRequestException"
162//
163//   * ErrCodeUnprocessableEntityException "UnprocessableEntityException"
164//
165//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
166//
167//   * ErrCodeForbiddenException "ForbiddenException"
168//
169//   * ErrCodeBadGatewayException "BadGatewayException"
170//
171//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
172//
173//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
174//
175//   * ErrCodeConflictException "ConflictException"
176//
177// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateChannel
178func (c *MediaLive) CreateChannel(input *CreateChannelInput) (*CreateChannelOutput, error) {
179	req, out := c.CreateChannelRequest(input)
180	return out, req.Send()
181}
182
183// CreateChannelWithContext is the same as CreateChannel with the addition of
184// the ability to pass a context and additional request options.
185//
186// See CreateChannel for details on how to use this API operation.
187//
188// The context must be non-nil and will be used for request cancellation. If
189// the context is nil a panic will occur. In the future the SDK may create
190// sub-contexts for http.Requests. See https://golang.org/pkg/context/
191// for more information on using Contexts.
192func (c *MediaLive) CreateChannelWithContext(ctx aws.Context, input *CreateChannelInput, opts ...request.Option) (*CreateChannelOutput, error) {
193	req, out := c.CreateChannelRequest(input)
194	req.SetContext(ctx)
195	req.ApplyOptions(opts...)
196	return out, req.Send()
197}
198
199const opCreateInput = "CreateInput"
200
201// CreateInputRequest generates a "aws/request.Request" representing the
202// client's request for the CreateInput operation. The "output" return
203// value will be populated with the request's response once the request completes
204// successfully.
205//
206// Use "Send" method on the returned Request to send the API call to the service.
207// the "output" return value is not valid until after Send returns without error.
208//
209// See CreateInput for more information on using the CreateInput
210// API call, and error handling.
211//
212// This method is useful when you want to inject custom logic or configuration
213// into the SDK's request lifecycle. Such as custom headers, or retry logic.
214//
215//
216//    // Example sending a request using the CreateInputRequest method.
217//    req, resp := client.CreateInputRequest(params)
218//
219//    err := req.Send()
220//    if err == nil { // resp is now filled
221//        fmt.Println(resp)
222//    }
223//
224// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateInput
225func (c *MediaLive) CreateInputRequest(input *CreateInputInput) (req *request.Request, output *CreateInputOutput) {
226	op := &request.Operation{
227		Name:       opCreateInput,
228		HTTPMethod: "POST",
229		HTTPPath:   "/prod/inputs",
230	}
231
232	if input == nil {
233		input = &CreateInputInput{}
234	}
235
236	output = &CreateInputOutput{}
237	req = c.newRequest(op, input, output)
238	return
239}
240
241// CreateInput API operation for AWS Elemental MediaLive.
242//
243// Create an input
244//
245// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
246// with awserr.Error's Code and Message methods to get detailed information about
247// the error.
248//
249// See the AWS API reference guide for AWS Elemental MediaLive's
250// API operation CreateInput for usage and error information.
251//
252// Returned Error Codes:
253//   * ErrCodeBadRequestException "BadRequestException"
254//
255//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
256//
257//   * ErrCodeForbiddenException "ForbiddenException"
258//
259//   * ErrCodeBadGatewayException "BadGatewayException"
260//
261//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
262//
263//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
264//
265// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateInput
266func (c *MediaLive) CreateInput(input *CreateInputInput) (*CreateInputOutput, error) {
267	req, out := c.CreateInputRequest(input)
268	return out, req.Send()
269}
270
271// CreateInputWithContext is the same as CreateInput with the addition of
272// the ability to pass a context and additional request options.
273//
274// See CreateInput for details on how to use this API operation.
275//
276// The context must be non-nil and will be used for request cancellation. If
277// the context is nil a panic will occur. In the future the SDK may create
278// sub-contexts for http.Requests. See https://golang.org/pkg/context/
279// for more information on using Contexts.
280func (c *MediaLive) CreateInputWithContext(ctx aws.Context, input *CreateInputInput, opts ...request.Option) (*CreateInputOutput, error) {
281	req, out := c.CreateInputRequest(input)
282	req.SetContext(ctx)
283	req.ApplyOptions(opts...)
284	return out, req.Send()
285}
286
287const opCreateInputSecurityGroup = "CreateInputSecurityGroup"
288
289// CreateInputSecurityGroupRequest generates a "aws/request.Request" representing the
290// client's request for the CreateInputSecurityGroup operation. The "output" return
291// value will be populated with the request's response once the request completes
292// successfully.
293//
294// Use "Send" method on the returned Request to send the API call to the service.
295// the "output" return value is not valid until after Send returns without error.
296//
297// See CreateInputSecurityGroup for more information on using the CreateInputSecurityGroup
298// API call, and error handling.
299//
300// This method is useful when you want to inject custom logic or configuration
301// into the SDK's request lifecycle. Such as custom headers, or retry logic.
302//
303//
304//    // Example sending a request using the CreateInputSecurityGroupRequest method.
305//    req, resp := client.CreateInputSecurityGroupRequest(params)
306//
307//    err := req.Send()
308//    if err == nil { // resp is now filled
309//        fmt.Println(resp)
310//    }
311//
312// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateInputSecurityGroup
313func (c *MediaLive) CreateInputSecurityGroupRequest(input *CreateInputSecurityGroupInput) (req *request.Request, output *CreateInputSecurityGroupOutput) {
314	op := &request.Operation{
315		Name:       opCreateInputSecurityGroup,
316		HTTPMethod: "POST",
317		HTTPPath:   "/prod/inputSecurityGroups",
318	}
319
320	if input == nil {
321		input = &CreateInputSecurityGroupInput{}
322	}
323
324	output = &CreateInputSecurityGroupOutput{}
325	req = c.newRequest(op, input, output)
326	return
327}
328
329// CreateInputSecurityGroup API operation for AWS Elemental MediaLive.
330//
331// Creates a Input Security Group
332//
333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
334// with awserr.Error's Code and Message methods to get detailed information about
335// the error.
336//
337// See the AWS API reference guide for AWS Elemental MediaLive's
338// API operation CreateInputSecurityGroup for usage and error information.
339//
340// Returned Error Codes:
341//   * ErrCodeBadRequestException "BadRequestException"
342//
343//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
344//
345//   * ErrCodeForbiddenException "ForbiddenException"
346//
347//   * ErrCodeBadGatewayException "BadGatewayException"
348//
349//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
350//
351//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
352//
353// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateInputSecurityGroup
354func (c *MediaLive) CreateInputSecurityGroup(input *CreateInputSecurityGroupInput) (*CreateInputSecurityGroupOutput, error) {
355	req, out := c.CreateInputSecurityGroupRequest(input)
356	return out, req.Send()
357}
358
359// CreateInputSecurityGroupWithContext is the same as CreateInputSecurityGroup with the addition of
360// the ability to pass a context and additional request options.
361//
362// See CreateInputSecurityGroup for details on how to use this API operation.
363//
364// The context must be non-nil and will be used for request cancellation. If
365// the context is nil a panic will occur. In the future the SDK may create
366// sub-contexts for http.Requests. See https://golang.org/pkg/context/
367// for more information on using Contexts.
368func (c *MediaLive) CreateInputSecurityGroupWithContext(ctx aws.Context, input *CreateInputSecurityGroupInput, opts ...request.Option) (*CreateInputSecurityGroupOutput, error) {
369	req, out := c.CreateInputSecurityGroupRequest(input)
370	req.SetContext(ctx)
371	req.ApplyOptions(opts...)
372	return out, req.Send()
373}
374
375const opCreateMultiplex = "CreateMultiplex"
376
377// CreateMultiplexRequest generates a "aws/request.Request" representing the
378// client's request for the CreateMultiplex operation. The "output" return
379// value will be populated with the request's response once the request completes
380// successfully.
381//
382// Use "Send" method on the returned Request to send the API call to the service.
383// the "output" return value is not valid until after Send returns without error.
384//
385// See CreateMultiplex for more information on using the CreateMultiplex
386// API call, and error handling.
387//
388// This method is useful when you want to inject custom logic or configuration
389// into the SDK's request lifecycle. Such as custom headers, or retry logic.
390//
391//
392//    // Example sending a request using the CreateMultiplexRequest method.
393//    req, resp := client.CreateMultiplexRequest(params)
394//
395//    err := req.Send()
396//    if err == nil { // resp is now filled
397//        fmt.Println(resp)
398//    }
399//
400// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateMultiplex
401func (c *MediaLive) CreateMultiplexRequest(input *CreateMultiplexInput) (req *request.Request, output *CreateMultiplexOutput) {
402	op := &request.Operation{
403		Name:       opCreateMultiplex,
404		HTTPMethod: "POST",
405		HTTPPath:   "/prod/multiplexes",
406	}
407
408	if input == nil {
409		input = &CreateMultiplexInput{}
410	}
411
412	output = &CreateMultiplexOutput{}
413	req = c.newRequest(op, input, output)
414	return
415}
416
417// CreateMultiplex API operation for AWS Elemental MediaLive.
418//
419// Create a new multiplex.
420//
421// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
422// with awserr.Error's Code and Message methods to get detailed information about
423// the error.
424//
425// See the AWS API reference guide for AWS Elemental MediaLive's
426// API operation CreateMultiplex for usage and error information.
427//
428// Returned Error Codes:
429//   * ErrCodeBadRequestException "BadRequestException"
430//
431//   * ErrCodeUnprocessableEntityException "UnprocessableEntityException"
432//
433//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
434//
435//   * ErrCodeForbiddenException "ForbiddenException"
436//
437//   * ErrCodeBadGatewayException "BadGatewayException"
438//
439//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
440//
441//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
442//
443//   * ErrCodeConflictException "ConflictException"
444//
445// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateMultiplex
446func (c *MediaLive) CreateMultiplex(input *CreateMultiplexInput) (*CreateMultiplexOutput, error) {
447	req, out := c.CreateMultiplexRequest(input)
448	return out, req.Send()
449}
450
451// CreateMultiplexWithContext is the same as CreateMultiplex with the addition of
452// the ability to pass a context and additional request options.
453//
454// See CreateMultiplex for details on how to use this API operation.
455//
456// The context must be non-nil and will be used for request cancellation. If
457// the context is nil a panic will occur. In the future the SDK may create
458// sub-contexts for http.Requests. See https://golang.org/pkg/context/
459// for more information on using Contexts.
460func (c *MediaLive) CreateMultiplexWithContext(ctx aws.Context, input *CreateMultiplexInput, opts ...request.Option) (*CreateMultiplexOutput, error) {
461	req, out := c.CreateMultiplexRequest(input)
462	req.SetContext(ctx)
463	req.ApplyOptions(opts...)
464	return out, req.Send()
465}
466
467const opCreateMultiplexProgram = "CreateMultiplexProgram"
468
469// CreateMultiplexProgramRequest generates a "aws/request.Request" representing the
470// client's request for the CreateMultiplexProgram operation. The "output" return
471// value will be populated with the request's response once the request completes
472// successfully.
473//
474// Use "Send" method on the returned Request to send the API call to the service.
475// the "output" return value is not valid until after Send returns without error.
476//
477// See CreateMultiplexProgram for more information on using the CreateMultiplexProgram
478// API call, and error handling.
479//
480// This method is useful when you want to inject custom logic or configuration
481// into the SDK's request lifecycle. Such as custom headers, or retry logic.
482//
483//
484//    // Example sending a request using the CreateMultiplexProgramRequest method.
485//    req, resp := client.CreateMultiplexProgramRequest(params)
486//
487//    err := req.Send()
488//    if err == nil { // resp is now filled
489//        fmt.Println(resp)
490//    }
491//
492// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateMultiplexProgram
493func (c *MediaLive) CreateMultiplexProgramRequest(input *CreateMultiplexProgramInput) (req *request.Request, output *CreateMultiplexProgramOutput) {
494	op := &request.Operation{
495		Name:       opCreateMultiplexProgram,
496		HTTPMethod: "POST",
497		HTTPPath:   "/prod/multiplexes/{multiplexId}/programs",
498	}
499
500	if input == nil {
501		input = &CreateMultiplexProgramInput{}
502	}
503
504	output = &CreateMultiplexProgramOutput{}
505	req = c.newRequest(op, input, output)
506	return
507}
508
509// CreateMultiplexProgram API operation for AWS Elemental MediaLive.
510//
511// Create a new program in the multiplex.
512//
513// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
514// with awserr.Error's Code and Message methods to get detailed information about
515// the error.
516//
517// See the AWS API reference guide for AWS Elemental MediaLive's
518// API operation CreateMultiplexProgram for usage and error information.
519//
520// Returned Error Codes:
521//   * ErrCodeBadRequestException "BadRequestException"
522//
523//   * ErrCodeUnprocessableEntityException "UnprocessableEntityException"
524//
525//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
526//
527//   * ErrCodeForbiddenException "ForbiddenException"
528//
529//   * ErrCodeBadGatewayException "BadGatewayException"
530//
531//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
532//
533//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
534//
535//   * ErrCodeConflictException "ConflictException"
536//
537// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateMultiplexProgram
538func (c *MediaLive) CreateMultiplexProgram(input *CreateMultiplexProgramInput) (*CreateMultiplexProgramOutput, error) {
539	req, out := c.CreateMultiplexProgramRequest(input)
540	return out, req.Send()
541}
542
543// CreateMultiplexProgramWithContext is the same as CreateMultiplexProgram with the addition of
544// the ability to pass a context and additional request options.
545//
546// See CreateMultiplexProgram for details on how to use this API operation.
547//
548// The context must be non-nil and will be used for request cancellation. If
549// the context is nil a panic will occur. In the future the SDK may create
550// sub-contexts for http.Requests. See https://golang.org/pkg/context/
551// for more information on using Contexts.
552func (c *MediaLive) CreateMultiplexProgramWithContext(ctx aws.Context, input *CreateMultiplexProgramInput, opts ...request.Option) (*CreateMultiplexProgramOutput, error) {
553	req, out := c.CreateMultiplexProgramRequest(input)
554	req.SetContext(ctx)
555	req.ApplyOptions(opts...)
556	return out, req.Send()
557}
558
559const opCreateTags = "CreateTags"
560
561// CreateTagsRequest generates a "aws/request.Request" representing the
562// client's request for the CreateTags operation. The "output" return
563// value will be populated with the request's response once the request completes
564// successfully.
565//
566// Use "Send" method on the returned Request to send the API call to the service.
567// the "output" return value is not valid until after Send returns without error.
568//
569// See CreateTags for more information on using the CreateTags
570// API call, and error handling.
571//
572// This method is useful when you want to inject custom logic or configuration
573// into the SDK's request lifecycle. Such as custom headers, or retry logic.
574//
575//
576//    // Example sending a request using the CreateTagsRequest method.
577//    req, resp := client.CreateTagsRequest(params)
578//
579//    err := req.Send()
580//    if err == nil { // resp is now filled
581//        fmt.Println(resp)
582//    }
583//
584// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateTags
585func (c *MediaLive) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
586	op := &request.Operation{
587		Name:       opCreateTags,
588		HTTPMethod: "POST",
589		HTTPPath:   "/prod/tags/{resource-arn}",
590	}
591
592	if input == nil {
593		input = &CreateTagsInput{}
594	}
595
596	output = &CreateTagsOutput{}
597	req = c.newRequest(op, input, output)
598	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
599	return
600}
601
602// CreateTags API operation for AWS Elemental MediaLive.
603//
604// Create tags for a resource
605//
606// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
607// with awserr.Error's Code and Message methods to get detailed information about
608// the error.
609//
610// See the AWS API reference guide for AWS Elemental MediaLive's
611// API operation CreateTags for usage and error information.
612//
613// Returned Error Codes:
614//   * ErrCodeNotFoundException "NotFoundException"
615//
616//   * ErrCodeBadRequestException "BadRequestException"
617//
618//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
619//
620//   * ErrCodeForbiddenException "ForbiddenException"
621//
622// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateTags
623func (c *MediaLive) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
624	req, out := c.CreateTagsRequest(input)
625	return out, req.Send()
626}
627
628// CreateTagsWithContext is the same as CreateTags with the addition of
629// the ability to pass a context and additional request options.
630//
631// See CreateTags for details on how to use this API operation.
632//
633// The context must be non-nil and will be used for request cancellation. If
634// the context is nil a panic will occur. In the future the SDK may create
635// sub-contexts for http.Requests. See https://golang.org/pkg/context/
636// for more information on using Contexts.
637func (c *MediaLive) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opts ...request.Option) (*CreateTagsOutput, error) {
638	req, out := c.CreateTagsRequest(input)
639	req.SetContext(ctx)
640	req.ApplyOptions(opts...)
641	return out, req.Send()
642}
643
644const opDeleteChannel = "DeleteChannel"
645
646// DeleteChannelRequest generates a "aws/request.Request" representing the
647// client's request for the DeleteChannel operation. The "output" return
648// value will be populated with the request's response once the request completes
649// successfully.
650//
651// Use "Send" method on the returned Request to send the API call to the service.
652// the "output" return value is not valid until after Send returns without error.
653//
654// See DeleteChannel for more information on using the DeleteChannel
655// API call, and error handling.
656//
657// This method is useful when you want to inject custom logic or configuration
658// into the SDK's request lifecycle. Such as custom headers, or retry logic.
659//
660//
661//    // Example sending a request using the DeleteChannelRequest method.
662//    req, resp := client.DeleteChannelRequest(params)
663//
664//    err := req.Send()
665//    if err == nil { // resp is now filled
666//        fmt.Println(resp)
667//    }
668//
669// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteChannel
670func (c *MediaLive) DeleteChannelRequest(input *DeleteChannelInput) (req *request.Request, output *DeleteChannelOutput) {
671	op := &request.Operation{
672		Name:       opDeleteChannel,
673		HTTPMethod: "DELETE",
674		HTTPPath:   "/prod/channels/{channelId}",
675	}
676
677	if input == nil {
678		input = &DeleteChannelInput{}
679	}
680
681	output = &DeleteChannelOutput{}
682	req = c.newRequest(op, input, output)
683	return
684}
685
686// DeleteChannel API operation for AWS Elemental MediaLive.
687//
688// Starts deletion of channel. The associated outputs are also deleted.
689//
690// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
691// with awserr.Error's Code and Message methods to get detailed information about
692// the error.
693//
694// See the AWS API reference guide for AWS Elemental MediaLive's
695// API operation DeleteChannel for usage and error information.
696//
697// Returned Error Codes:
698//   * ErrCodeBadRequestException "BadRequestException"
699//
700//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
701//
702//   * ErrCodeForbiddenException "ForbiddenException"
703//
704//   * ErrCodeBadGatewayException "BadGatewayException"
705//
706//   * ErrCodeNotFoundException "NotFoundException"
707//
708//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
709//
710//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
711//
712//   * ErrCodeConflictException "ConflictException"
713//
714// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteChannel
715func (c *MediaLive) DeleteChannel(input *DeleteChannelInput) (*DeleteChannelOutput, error) {
716	req, out := c.DeleteChannelRequest(input)
717	return out, req.Send()
718}
719
720// DeleteChannelWithContext is the same as DeleteChannel with the addition of
721// the ability to pass a context and additional request options.
722//
723// See DeleteChannel for details on how to use this API operation.
724//
725// The context must be non-nil and will be used for request cancellation. If
726// the context is nil a panic will occur. In the future the SDK may create
727// sub-contexts for http.Requests. See https://golang.org/pkg/context/
728// for more information on using Contexts.
729func (c *MediaLive) DeleteChannelWithContext(ctx aws.Context, input *DeleteChannelInput, opts ...request.Option) (*DeleteChannelOutput, error) {
730	req, out := c.DeleteChannelRequest(input)
731	req.SetContext(ctx)
732	req.ApplyOptions(opts...)
733	return out, req.Send()
734}
735
736const opDeleteInput = "DeleteInput"
737
738// DeleteInputRequest generates a "aws/request.Request" representing the
739// client's request for the DeleteInput operation. The "output" return
740// value will be populated with the request's response once the request completes
741// successfully.
742//
743// Use "Send" method on the returned Request to send the API call to the service.
744// the "output" return value is not valid until after Send returns without error.
745//
746// See DeleteInput for more information on using the DeleteInput
747// API call, and error handling.
748//
749// This method is useful when you want to inject custom logic or configuration
750// into the SDK's request lifecycle. Such as custom headers, or retry logic.
751//
752//
753//    // Example sending a request using the DeleteInputRequest method.
754//    req, resp := client.DeleteInputRequest(params)
755//
756//    err := req.Send()
757//    if err == nil { // resp is now filled
758//        fmt.Println(resp)
759//    }
760//
761// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteInput
762func (c *MediaLive) DeleteInputRequest(input *DeleteInputInput) (req *request.Request, output *DeleteInputOutput) {
763	op := &request.Operation{
764		Name:       opDeleteInput,
765		HTTPMethod: "DELETE",
766		HTTPPath:   "/prod/inputs/{inputId}",
767	}
768
769	if input == nil {
770		input = &DeleteInputInput{}
771	}
772
773	output = &DeleteInputOutput{}
774	req = c.newRequest(op, input, output)
775	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
776	return
777}
778
779// DeleteInput API operation for AWS Elemental MediaLive.
780//
781// Deletes the input end point
782//
783// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
784// with awserr.Error's Code and Message methods to get detailed information about
785// the error.
786//
787// See the AWS API reference guide for AWS Elemental MediaLive's
788// API operation DeleteInput for usage and error information.
789//
790// Returned Error Codes:
791//   * ErrCodeBadRequestException "BadRequestException"
792//
793//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
794//
795//   * ErrCodeForbiddenException "ForbiddenException"
796//
797//   * ErrCodeBadGatewayException "BadGatewayException"
798//
799//   * ErrCodeNotFoundException "NotFoundException"
800//
801//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
802//
803//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
804//
805//   * ErrCodeConflictException "ConflictException"
806//
807// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteInput
808func (c *MediaLive) DeleteInput(input *DeleteInputInput) (*DeleteInputOutput, error) {
809	req, out := c.DeleteInputRequest(input)
810	return out, req.Send()
811}
812
813// DeleteInputWithContext is the same as DeleteInput with the addition of
814// the ability to pass a context and additional request options.
815//
816// See DeleteInput for details on how to use this API operation.
817//
818// The context must be non-nil and will be used for request cancellation. If
819// the context is nil a panic will occur. In the future the SDK may create
820// sub-contexts for http.Requests. See https://golang.org/pkg/context/
821// for more information on using Contexts.
822func (c *MediaLive) DeleteInputWithContext(ctx aws.Context, input *DeleteInputInput, opts ...request.Option) (*DeleteInputOutput, error) {
823	req, out := c.DeleteInputRequest(input)
824	req.SetContext(ctx)
825	req.ApplyOptions(opts...)
826	return out, req.Send()
827}
828
829const opDeleteInputSecurityGroup = "DeleteInputSecurityGroup"
830
831// DeleteInputSecurityGroupRequest generates a "aws/request.Request" representing the
832// client's request for the DeleteInputSecurityGroup operation. The "output" return
833// value will be populated with the request's response once the request completes
834// successfully.
835//
836// Use "Send" method on the returned Request to send the API call to the service.
837// the "output" return value is not valid until after Send returns without error.
838//
839// See DeleteInputSecurityGroup for more information on using the DeleteInputSecurityGroup
840// API call, and error handling.
841//
842// This method is useful when you want to inject custom logic or configuration
843// into the SDK's request lifecycle. Such as custom headers, or retry logic.
844//
845//
846//    // Example sending a request using the DeleteInputSecurityGroupRequest method.
847//    req, resp := client.DeleteInputSecurityGroupRequest(params)
848//
849//    err := req.Send()
850//    if err == nil { // resp is now filled
851//        fmt.Println(resp)
852//    }
853//
854// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteInputSecurityGroup
855func (c *MediaLive) DeleteInputSecurityGroupRequest(input *DeleteInputSecurityGroupInput) (req *request.Request, output *DeleteInputSecurityGroupOutput) {
856	op := &request.Operation{
857		Name:       opDeleteInputSecurityGroup,
858		HTTPMethod: "DELETE",
859		HTTPPath:   "/prod/inputSecurityGroups/{inputSecurityGroupId}",
860	}
861
862	if input == nil {
863		input = &DeleteInputSecurityGroupInput{}
864	}
865
866	output = &DeleteInputSecurityGroupOutput{}
867	req = c.newRequest(op, input, output)
868	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
869	return
870}
871
872// DeleteInputSecurityGroup API operation for AWS Elemental MediaLive.
873//
874// Deletes an Input Security Group
875//
876// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
877// with awserr.Error's Code and Message methods to get detailed information about
878// the error.
879//
880// See the AWS API reference guide for AWS Elemental MediaLive's
881// API operation DeleteInputSecurityGroup for usage and error information.
882//
883// Returned Error Codes:
884//   * ErrCodeBadRequestException "BadRequestException"
885//
886//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
887//
888//   * ErrCodeForbiddenException "ForbiddenException"
889//
890//   * ErrCodeBadGatewayException "BadGatewayException"
891//
892//   * ErrCodeNotFoundException "NotFoundException"
893//
894//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
895//
896//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
897//
898// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteInputSecurityGroup
899func (c *MediaLive) DeleteInputSecurityGroup(input *DeleteInputSecurityGroupInput) (*DeleteInputSecurityGroupOutput, error) {
900	req, out := c.DeleteInputSecurityGroupRequest(input)
901	return out, req.Send()
902}
903
904// DeleteInputSecurityGroupWithContext is the same as DeleteInputSecurityGroup with the addition of
905// the ability to pass a context and additional request options.
906//
907// See DeleteInputSecurityGroup for details on how to use this API operation.
908//
909// The context must be non-nil and will be used for request cancellation. If
910// the context is nil a panic will occur. In the future the SDK may create
911// sub-contexts for http.Requests. See https://golang.org/pkg/context/
912// for more information on using Contexts.
913func (c *MediaLive) DeleteInputSecurityGroupWithContext(ctx aws.Context, input *DeleteInputSecurityGroupInput, opts ...request.Option) (*DeleteInputSecurityGroupOutput, error) {
914	req, out := c.DeleteInputSecurityGroupRequest(input)
915	req.SetContext(ctx)
916	req.ApplyOptions(opts...)
917	return out, req.Send()
918}
919
920const opDeleteMultiplex = "DeleteMultiplex"
921
922// DeleteMultiplexRequest generates a "aws/request.Request" representing the
923// client's request for the DeleteMultiplex operation. The "output" return
924// value will be populated with the request's response once the request completes
925// successfully.
926//
927// Use "Send" method on the returned Request to send the API call to the service.
928// the "output" return value is not valid until after Send returns without error.
929//
930// See DeleteMultiplex for more information on using the DeleteMultiplex
931// API call, and error handling.
932//
933// This method is useful when you want to inject custom logic or configuration
934// into the SDK's request lifecycle. Such as custom headers, or retry logic.
935//
936//
937//    // Example sending a request using the DeleteMultiplexRequest method.
938//    req, resp := client.DeleteMultiplexRequest(params)
939//
940//    err := req.Send()
941//    if err == nil { // resp is now filled
942//        fmt.Println(resp)
943//    }
944//
945// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteMultiplex
946func (c *MediaLive) DeleteMultiplexRequest(input *DeleteMultiplexInput) (req *request.Request, output *DeleteMultiplexOutput) {
947	op := &request.Operation{
948		Name:       opDeleteMultiplex,
949		HTTPMethod: "DELETE",
950		HTTPPath:   "/prod/multiplexes/{multiplexId}",
951	}
952
953	if input == nil {
954		input = &DeleteMultiplexInput{}
955	}
956
957	output = &DeleteMultiplexOutput{}
958	req = c.newRequest(op, input, output)
959	return
960}
961
962// DeleteMultiplex API operation for AWS Elemental MediaLive.
963//
964// Delete a multiplex. The multiplex must be idle.
965//
966// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
967// with awserr.Error's Code and Message methods to get detailed information about
968// the error.
969//
970// See the AWS API reference guide for AWS Elemental MediaLive's
971// API operation DeleteMultiplex for usage and error information.
972//
973// Returned Error Codes:
974//   * ErrCodeBadRequestException "BadRequestException"
975//
976//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
977//
978//   * ErrCodeForbiddenException "ForbiddenException"
979//
980//   * ErrCodeBadGatewayException "BadGatewayException"
981//
982//   * ErrCodeNotFoundException "NotFoundException"
983//
984//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
985//
986//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
987//
988//   * ErrCodeConflictException "ConflictException"
989//
990// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteMultiplex
991func (c *MediaLive) DeleteMultiplex(input *DeleteMultiplexInput) (*DeleteMultiplexOutput, error) {
992	req, out := c.DeleteMultiplexRequest(input)
993	return out, req.Send()
994}
995
996// DeleteMultiplexWithContext is the same as DeleteMultiplex with the addition of
997// the ability to pass a context and additional request options.
998//
999// See DeleteMultiplex for details on how to use this API operation.
1000//
1001// The context must be non-nil and will be used for request cancellation. If
1002// the context is nil a panic will occur. In the future the SDK may create
1003// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1004// for more information on using Contexts.
1005func (c *MediaLive) DeleteMultiplexWithContext(ctx aws.Context, input *DeleteMultiplexInput, opts ...request.Option) (*DeleteMultiplexOutput, error) {
1006	req, out := c.DeleteMultiplexRequest(input)
1007	req.SetContext(ctx)
1008	req.ApplyOptions(opts...)
1009	return out, req.Send()
1010}
1011
1012const opDeleteMultiplexProgram = "DeleteMultiplexProgram"
1013
1014// DeleteMultiplexProgramRequest generates a "aws/request.Request" representing the
1015// client's request for the DeleteMultiplexProgram operation. The "output" return
1016// value will be populated with the request's response once the request completes
1017// successfully.
1018//
1019// Use "Send" method on the returned Request to send the API call to the service.
1020// the "output" return value is not valid until after Send returns without error.
1021//
1022// See DeleteMultiplexProgram for more information on using the DeleteMultiplexProgram
1023// API call, and error handling.
1024//
1025// This method is useful when you want to inject custom logic or configuration
1026// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1027//
1028//
1029//    // Example sending a request using the DeleteMultiplexProgramRequest method.
1030//    req, resp := client.DeleteMultiplexProgramRequest(params)
1031//
1032//    err := req.Send()
1033//    if err == nil { // resp is now filled
1034//        fmt.Println(resp)
1035//    }
1036//
1037// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteMultiplexProgram
1038func (c *MediaLive) DeleteMultiplexProgramRequest(input *DeleteMultiplexProgramInput) (req *request.Request, output *DeleteMultiplexProgramOutput) {
1039	op := &request.Operation{
1040		Name:       opDeleteMultiplexProgram,
1041		HTTPMethod: "DELETE",
1042		HTTPPath:   "/prod/multiplexes/{multiplexId}/programs/{programName}",
1043	}
1044
1045	if input == nil {
1046		input = &DeleteMultiplexProgramInput{}
1047	}
1048
1049	output = &DeleteMultiplexProgramOutput{}
1050	req = c.newRequest(op, input, output)
1051	return
1052}
1053
1054// DeleteMultiplexProgram API operation for AWS Elemental MediaLive.
1055//
1056// Delete a program from a multiplex.
1057//
1058// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1059// with awserr.Error's Code and Message methods to get detailed information about
1060// the error.
1061//
1062// See the AWS API reference guide for AWS Elemental MediaLive's
1063// API operation DeleteMultiplexProgram for usage and error information.
1064//
1065// Returned Error Codes:
1066//   * ErrCodeBadRequestException "BadRequestException"
1067//
1068//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1069//
1070//   * ErrCodeForbiddenException "ForbiddenException"
1071//
1072//   * ErrCodeBadGatewayException "BadGatewayException"
1073//
1074//   * ErrCodeNotFoundException "NotFoundException"
1075//
1076//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
1077//
1078//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1079//
1080//   * ErrCodeConflictException "ConflictException"
1081//
1082// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteMultiplexProgram
1083func (c *MediaLive) DeleteMultiplexProgram(input *DeleteMultiplexProgramInput) (*DeleteMultiplexProgramOutput, error) {
1084	req, out := c.DeleteMultiplexProgramRequest(input)
1085	return out, req.Send()
1086}
1087
1088// DeleteMultiplexProgramWithContext is the same as DeleteMultiplexProgram with the addition of
1089// the ability to pass a context and additional request options.
1090//
1091// See DeleteMultiplexProgram for details on how to use this API operation.
1092//
1093// The context must be non-nil and will be used for request cancellation. If
1094// the context is nil a panic will occur. In the future the SDK may create
1095// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1096// for more information on using Contexts.
1097func (c *MediaLive) DeleteMultiplexProgramWithContext(ctx aws.Context, input *DeleteMultiplexProgramInput, opts ...request.Option) (*DeleteMultiplexProgramOutput, error) {
1098	req, out := c.DeleteMultiplexProgramRequest(input)
1099	req.SetContext(ctx)
1100	req.ApplyOptions(opts...)
1101	return out, req.Send()
1102}
1103
1104const opDeleteReservation = "DeleteReservation"
1105
1106// DeleteReservationRequest generates a "aws/request.Request" representing the
1107// client's request for the DeleteReservation operation. The "output" return
1108// value will be populated with the request's response once the request completes
1109// successfully.
1110//
1111// Use "Send" method on the returned Request to send the API call to the service.
1112// the "output" return value is not valid until after Send returns without error.
1113//
1114// See DeleteReservation for more information on using the DeleteReservation
1115// API call, and error handling.
1116//
1117// This method is useful when you want to inject custom logic or configuration
1118// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1119//
1120//
1121//    // Example sending a request using the DeleteReservationRequest method.
1122//    req, resp := client.DeleteReservationRequest(params)
1123//
1124//    err := req.Send()
1125//    if err == nil { // resp is now filled
1126//        fmt.Println(resp)
1127//    }
1128//
1129// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteReservation
1130func (c *MediaLive) DeleteReservationRequest(input *DeleteReservationInput) (req *request.Request, output *DeleteReservationOutput) {
1131	op := &request.Operation{
1132		Name:       opDeleteReservation,
1133		HTTPMethod: "DELETE",
1134		HTTPPath:   "/prod/reservations/{reservationId}",
1135	}
1136
1137	if input == nil {
1138		input = &DeleteReservationInput{}
1139	}
1140
1141	output = &DeleteReservationOutput{}
1142	req = c.newRequest(op, input, output)
1143	return
1144}
1145
1146// DeleteReservation API operation for AWS Elemental MediaLive.
1147//
1148// Delete an expired reservation.
1149//
1150// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1151// with awserr.Error's Code and Message methods to get detailed information about
1152// the error.
1153//
1154// See the AWS API reference guide for AWS Elemental MediaLive's
1155// API operation DeleteReservation for usage and error information.
1156//
1157// Returned Error Codes:
1158//   * ErrCodeBadRequestException "BadRequestException"
1159//
1160//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1161//
1162//   * ErrCodeForbiddenException "ForbiddenException"
1163//
1164//   * ErrCodeBadGatewayException "BadGatewayException"
1165//
1166//   * ErrCodeNotFoundException "NotFoundException"
1167//
1168//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
1169//
1170//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1171//
1172//   * ErrCodeConflictException "ConflictException"
1173//
1174// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteReservation
1175func (c *MediaLive) DeleteReservation(input *DeleteReservationInput) (*DeleteReservationOutput, error) {
1176	req, out := c.DeleteReservationRequest(input)
1177	return out, req.Send()
1178}
1179
1180// DeleteReservationWithContext is the same as DeleteReservation with the addition of
1181// the ability to pass a context and additional request options.
1182//
1183// See DeleteReservation for details on how to use this API operation.
1184//
1185// The context must be non-nil and will be used for request cancellation. If
1186// the context is nil a panic will occur. In the future the SDK may create
1187// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1188// for more information on using Contexts.
1189func (c *MediaLive) DeleteReservationWithContext(ctx aws.Context, input *DeleteReservationInput, opts ...request.Option) (*DeleteReservationOutput, error) {
1190	req, out := c.DeleteReservationRequest(input)
1191	req.SetContext(ctx)
1192	req.ApplyOptions(opts...)
1193	return out, req.Send()
1194}
1195
1196const opDeleteSchedule = "DeleteSchedule"
1197
1198// DeleteScheduleRequest generates a "aws/request.Request" representing the
1199// client's request for the DeleteSchedule operation. The "output" return
1200// value will be populated with the request's response once the request completes
1201// successfully.
1202//
1203// Use "Send" method on the returned Request to send the API call to the service.
1204// the "output" return value is not valid until after Send returns without error.
1205//
1206// See DeleteSchedule for more information on using the DeleteSchedule
1207// API call, and error handling.
1208//
1209// This method is useful when you want to inject custom logic or configuration
1210// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1211//
1212//
1213//    // Example sending a request using the DeleteScheduleRequest method.
1214//    req, resp := client.DeleteScheduleRequest(params)
1215//
1216//    err := req.Send()
1217//    if err == nil { // resp is now filled
1218//        fmt.Println(resp)
1219//    }
1220//
1221// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteSchedule
1222func (c *MediaLive) DeleteScheduleRequest(input *DeleteScheduleInput) (req *request.Request, output *DeleteScheduleOutput) {
1223	op := &request.Operation{
1224		Name:       opDeleteSchedule,
1225		HTTPMethod: "DELETE",
1226		HTTPPath:   "/prod/channels/{channelId}/schedule",
1227	}
1228
1229	if input == nil {
1230		input = &DeleteScheduleInput{}
1231	}
1232
1233	output = &DeleteScheduleOutput{}
1234	req = c.newRequest(op, input, output)
1235	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1236	return
1237}
1238
1239// DeleteSchedule API operation for AWS Elemental MediaLive.
1240//
1241// Delete all schedule actions on a channel.
1242//
1243// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1244// with awserr.Error's Code and Message methods to get detailed information about
1245// the error.
1246//
1247// See the AWS API reference guide for AWS Elemental MediaLive's
1248// API operation DeleteSchedule for usage and error information.
1249//
1250// Returned Error Codes:
1251//   * ErrCodeBadRequestException "BadRequestException"
1252//
1253//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1254//
1255//   * ErrCodeForbiddenException "ForbiddenException"
1256//
1257//   * ErrCodeBadGatewayException "BadGatewayException"
1258//
1259//   * ErrCodeNotFoundException "NotFoundException"
1260//
1261//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
1262//
1263//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1264//
1265// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteSchedule
1266func (c *MediaLive) DeleteSchedule(input *DeleteScheduleInput) (*DeleteScheduleOutput, error) {
1267	req, out := c.DeleteScheduleRequest(input)
1268	return out, req.Send()
1269}
1270
1271// DeleteScheduleWithContext is the same as DeleteSchedule with the addition of
1272// the ability to pass a context and additional request options.
1273//
1274// See DeleteSchedule for details on how to use this API operation.
1275//
1276// The context must be non-nil and will be used for request cancellation. If
1277// the context is nil a panic will occur. In the future the SDK may create
1278// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1279// for more information on using Contexts.
1280func (c *MediaLive) DeleteScheduleWithContext(ctx aws.Context, input *DeleteScheduleInput, opts ...request.Option) (*DeleteScheduleOutput, error) {
1281	req, out := c.DeleteScheduleRequest(input)
1282	req.SetContext(ctx)
1283	req.ApplyOptions(opts...)
1284	return out, req.Send()
1285}
1286
1287const opDeleteTags = "DeleteTags"
1288
1289// DeleteTagsRequest generates a "aws/request.Request" representing the
1290// client's request for the DeleteTags operation. The "output" return
1291// value will be populated with the request's response once the request completes
1292// successfully.
1293//
1294// Use "Send" method on the returned Request to send the API call to the service.
1295// the "output" return value is not valid until after Send returns without error.
1296//
1297// See DeleteTags for more information on using the DeleteTags
1298// API call, and error handling.
1299//
1300// This method is useful when you want to inject custom logic or configuration
1301// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1302//
1303//
1304//    // Example sending a request using the DeleteTagsRequest method.
1305//    req, resp := client.DeleteTagsRequest(params)
1306//
1307//    err := req.Send()
1308//    if err == nil { // resp is now filled
1309//        fmt.Println(resp)
1310//    }
1311//
1312// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteTags
1313func (c *MediaLive) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
1314	op := &request.Operation{
1315		Name:       opDeleteTags,
1316		HTTPMethod: "DELETE",
1317		HTTPPath:   "/prod/tags/{resource-arn}",
1318	}
1319
1320	if input == nil {
1321		input = &DeleteTagsInput{}
1322	}
1323
1324	output = &DeleteTagsOutput{}
1325	req = c.newRequest(op, input, output)
1326	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1327	return
1328}
1329
1330// DeleteTags API operation for AWS Elemental MediaLive.
1331//
1332// Removes tags for a resource
1333//
1334// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1335// with awserr.Error's Code and Message methods to get detailed information about
1336// the error.
1337//
1338// See the AWS API reference guide for AWS Elemental MediaLive's
1339// API operation DeleteTags for usage and error information.
1340//
1341// Returned Error Codes:
1342//   * ErrCodeNotFoundException "NotFoundException"
1343//
1344//   * ErrCodeBadRequestException "BadRequestException"
1345//
1346//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1347//
1348//   * ErrCodeForbiddenException "ForbiddenException"
1349//
1350// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteTags
1351func (c *MediaLive) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
1352	req, out := c.DeleteTagsRequest(input)
1353	return out, req.Send()
1354}
1355
1356// DeleteTagsWithContext is the same as DeleteTags with the addition of
1357// the ability to pass a context and additional request options.
1358//
1359// See DeleteTags for details on how to use this API operation.
1360//
1361// The context must be non-nil and will be used for request cancellation. If
1362// the context is nil a panic will occur. In the future the SDK may create
1363// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1364// for more information on using Contexts.
1365func (c *MediaLive) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) {
1366	req, out := c.DeleteTagsRequest(input)
1367	req.SetContext(ctx)
1368	req.ApplyOptions(opts...)
1369	return out, req.Send()
1370}
1371
1372const opDescribeChannel = "DescribeChannel"
1373
1374// DescribeChannelRequest generates a "aws/request.Request" representing the
1375// client's request for the DescribeChannel operation. The "output" return
1376// value will be populated with the request's response once the request completes
1377// successfully.
1378//
1379// Use "Send" method on the returned Request to send the API call to the service.
1380// the "output" return value is not valid until after Send returns without error.
1381//
1382// See DescribeChannel for more information on using the DescribeChannel
1383// API call, and error handling.
1384//
1385// This method is useful when you want to inject custom logic or configuration
1386// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1387//
1388//
1389//    // Example sending a request using the DescribeChannelRequest method.
1390//    req, resp := client.DescribeChannelRequest(params)
1391//
1392//    err := req.Send()
1393//    if err == nil { // resp is now filled
1394//        fmt.Println(resp)
1395//    }
1396//
1397// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeChannel
1398func (c *MediaLive) DescribeChannelRequest(input *DescribeChannelInput) (req *request.Request, output *DescribeChannelOutput) {
1399	op := &request.Operation{
1400		Name:       opDescribeChannel,
1401		HTTPMethod: "GET",
1402		HTTPPath:   "/prod/channels/{channelId}",
1403	}
1404
1405	if input == nil {
1406		input = &DescribeChannelInput{}
1407	}
1408
1409	output = &DescribeChannelOutput{}
1410	req = c.newRequest(op, input, output)
1411	return
1412}
1413
1414// DescribeChannel API operation for AWS Elemental MediaLive.
1415//
1416// Gets details about a channel
1417//
1418// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1419// with awserr.Error's Code and Message methods to get detailed information about
1420// the error.
1421//
1422// See the AWS API reference guide for AWS Elemental MediaLive's
1423// API operation DescribeChannel for usage and error information.
1424//
1425// Returned Error Codes:
1426//   * ErrCodeBadRequestException "BadRequestException"
1427//
1428//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1429//
1430//   * ErrCodeForbiddenException "ForbiddenException"
1431//
1432//   * ErrCodeBadGatewayException "BadGatewayException"
1433//
1434//   * ErrCodeNotFoundException "NotFoundException"
1435//
1436//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
1437//
1438//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1439//
1440// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeChannel
1441func (c *MediaLive) DescribeChannel(input *DescribeChannelInput) (*DescribeChannelOutput, error) {
1442	req, out := c.DescribeChannelRequest(input)
1443	return out, req.Send()
1444}
1445
1446// DescribeChannelWithContext is the same as DescribeChannel with the addition of
1447// the ability to pass a context and additional request options.
1448//
1449// See DescribeChannel for details on how to use this API operation.
1450//
1451// The context must be non-nil and will be used for request cancellation. If
1452// the context is nil a panic will occur. In the future the SDK may create
1453// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1454// for more information on using Contexts.
1455func (c *MediaLive) DescribeChannelWithContext(ctx aws.Context, input *DescribeChannelInput, opts ...request.Option) (*DescribeChannelOutput, error) {
1456	req, out := c.DescribeChannelRequest(input)
1457	req.SetContext(ctx)
1458	req.ApplyOptions(opts...)
1459	return out, req.Send()
1460}
1461
1462const opDescribeInput = "DescribeInput"
1463
1464// DescribeInputRequest generates a "aws/request.Request" representing the
1465// client's request for the DescribeInput operation. The "output" return
1466// value will be populated with the request's response once the request completes
1467// successfully.
1468//
1469// Use "Send" method on the returned Request to send the API call to the service.
1470// the "output" return value is not valid until after Send returns without error.
1471//
1472// See DescribeInput for more information on using the DescribeInput
1473// API call, and error handling.
1474//
1475// This method is useful when you want to inject custom logic or configuration
1476// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1477//
1478//
1479//    // Example sending a request using the DescribeInputRequest method.
1480//    req, resp := client.DescribeInputRequest(params)
1481//
1482//    err := req.Send()
1483//    if err == nil { // resp is now filled
1484//        fmt.Println(resp)
1485//    }
1486//
1487// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeInput
1488func (c *MediaLive) DescribeInputRequest(input *DescribeInputInput) (req *request.Request, output *DescribeInputOutput) {
1489	op := &request.Operation{
1490		Name:       opDescribeInput,
1491		HTTPMethod: "GET",
1492		HTTPPath:   "/prod/inputs/{inputId}",
1493	}
1494
1495	if input == nil {
1496		input = &DescribeInputInput{}
1497	}
1498
1499	output = &DescribeInputOutput{}
1500	req = c.newRequest(op, input, output)
1501	return
1502}
1503
1504// DescribeInput API operation for AWS Elemental MediaLive.
1505//
1506// Produces details about an input
1507//
1508// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1509// with awserr.Error's Code and Message methods to get detailed information about
1510// the error.
1511//
1512// See the AWS API reference guide for AWS Elemental MediaLive's
1513// API operation DescribeInput for usage and error information.
1514//
1515// Returned Error Codes:
1516//   * ErrCodeBadRequestException "BadRequestException"
1517//
1518//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1519//
1520//   * ErrCodeForbiddenException "ForbiddenException"
1521//
1522//   * ErrCodeBadGatewayException "BadGatewayException"
1523//
1524//   * ErrCodeNotFoundException "NotFoundException"
1525//
1526//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
1527//
1528//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1529//
1530// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeInput
1531func (c *MediaLive) DescribeInput(input *DescribeInputInput) (*DescribeInputOutput, error) {
1532	req, out := c.DescribeInputRequest(input)
1533	return out, req.Send()
1534}
1535
1536// DescribeInputWithContext is the same as DescribeInput with the addition of
1537// the ability to pass a context and additional request options.
1538//
1539// See DescribeInput for details on how to use this API operation.
1540//
1541// The context must be non-nil and will be used for request cancellation. If
1542// the context is nil a panic will occur. In the future the SDK may create
1543// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1544// for more information on using Contexts.
1545func (c *MediaLive) DescribeInputWithContext(ctx aws.Context, input *DescribeInputInput, opts ...request.Option) (*DescribeInputOutput, error) {
1546	req, out := c.DescribeInputRequest(input)
1547	req.SetContext(ctx)
1548	req.ApplyOptions(opts...)
1549	return out, req.Send()
1550}
1551
1552const opDescribeInputSecurityGroup = "DescribeInputSecurityGroup"
1553
1554// DescribeInputSecurityGroupRequest generates a "aws/request.Request" representing the
1555// client's request for the DescribeInputSecurityGroup operation. The "output" return
1556// value will be populated with the request's response once the request completes
1557// successfully.
1558//
1559// Use "Send" method on the returned Request to send the API call to the service.
1560// the "output" return value is not valid until after Send returns without error.
1561//
1562// See DescribeInputSecurityGroup for more information on using the DescribeInputSecurityGroup
1563// API call, and error handling.
1564//
1565// This method is useful when you want to inject custom logic or configuration
1566// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1567//
1568//
1569//    // Example sending a request using the DescribeInputSecurityGroupRequest method.
1570//    req, resp := client.DescribeInputSecurityGroupRequest(params)
1571//
1572//    err := req.Send()
1573//    if err == nil { // resp is now filled
1574//        fmt.Println(resp)
1575//    }
1576//
1577// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeInputSecurityGroup
1578func (c *MediaLive) DescribeInputSecurityGroupRequest(input *DescribeInputSecurityGroupInput) (req *request.Request, output *DescribeInputSecurityGroupOutput) {
1579	op := &request.Operation{
1580		Name:       opDescribeInputSecurityGroup,
1581		HTTPMethod: "GET",
1582		HTTPPath:   "/prod/inputSecurityGroups/{inputSecurityGroupId}",
1583	}
1584
1585	if input == nil {
1586		input = &DescribeInputSecurityGroupInput{}
1587	}
1588
1589	output = &DescribeInputSecurityGroupOutput{}
1590	req = c.newRequest(op, input, output)
1591	return
1592}
1593
1594// DescribeInputSecurityGroup API operation for AWS Elemental MediaLive.
1595//
1596// Produces a summary of an Input Security Group
1597//
1598// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1599// with awserr.Error's Code and Message methods to get detailed information about
1600// the error.
1601//
1602// See the AWS API reference guide for AWS Elemental MediaLive's
1603// API operation DescribeInputSecurityGroup for usage and error information.
1604//
1605// Returned Error Codes:
1606//   * ErrCodeBadRequestException "BadRequestException"
1607//
1608//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1609//
1610//   * ErrCodeForbiddenException "ForbiddenException"
1611//
1612//   * ErrCodeBadGatewayException "BadGatewayException"
1613//
1614//   * ErrCodeNotFoundException "NotFoundException"
1615//
1616//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
1617//
1618//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1619//
1620// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeInputSecurityGroup
1621func (c *MediaLive) DescribeInputSecurityGroup(input *DescribeInputSecurityGroupInput) (*DescribeInputSecurityGroupOutput, error) {
1622	req, out := c.DescribeInputSecurityGroupRequest(input)
1623	return out, req.Send()
1624}
1625
1626// DescribeInputSecurityGroupWithContext is the same as DescribeInputSecurityGroup with the addition of
1627// the ability to pass a context and additional request options.
1628//
1629// See DescribeInputSecurityGroup for details on how to use this API operation.
1630//
1631// The context must be non-nil and will be used for request cancellation. If
1632// the context is nil a panic will occur. In the future the SDK may create
1633// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1634// for more information on using Contexts.
1635func (c *MediaLive) DescribeInputSecurityGroupWithContext(ctx aws.Context, input *DescribeInputSecurityGroupInput, opts ...request.Option) (*DescribeInputSecurityGroupOutput, error) {
1636	req, out := c.DescribeInputSecurityGroupRequest(input)
1637	req.SetContext(ctx)
1638	req.ApplyOptions(opts...)
1639	return out, req.Send()
1640}
1641
1642const opDescribeMultiplex = "DescribeMultiplex"
1643
1644// DescribeMultiplexRequest generates a "aws/request.Request" representing the
1645// client's request for the DescribeMultiplex operation. The "output" return
1646// value will be populated with the request's response once the request completes
1647// successfully.
1648//
1649// Use "Send" method on the returned Request to send the API call to the service.
1650// the "output" return value is not valid until after Send returns without error.
1651//
1652// See DescribeMultiplex for more information on using the DescribeMultiplex
1653// API call, and error handling.
1654//
1655// This method is useful when you want to inject custom logic or configuration
1656// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1657//
1658//
1659//    // Example sending a request using the DescribeMultiplexRequest method.
1660//    req, resp := client.DescribeMultiplexRequest(params)
1661//
1662//    err := req.Send()
1663//    if err == nil { // resp is now filled
1664//        fmt.Println(resp)
1665//    }
1666//
1667// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeMultiplex
1668func (c *MediaLive) DescribeMultiplexRequest(input *DescribeMultiplexInput) (req *request.Request, output *DescribeMultiplexOutput) {
1669	op := &request.Operation{
1670		Name:       opDescribeMultiplex,
1671		HTTPMethod: "GET",
1672		HTTPPath:   "/prod/multiplexes/{multiplexId}",
1673	}
1674
1675	if input == nil {
1676		input = &DescribeMultiplexInput{}
1677	}
1678
1679	output = &DescribeMultiplexOutput{}
1680	req = c.newRequest(op, input, output)
1681	return
1682}
1683
1684// DescribeMultiplex API operation for AWS Elemental MediaLive.
1685//
1686// Gets details about a multiplex.
1687//
1688// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1689// with awserr.Error's Code and Message methods to get detailed information about
1690// the error.
1691//
1692// See the AWS API reference guide for AWS Elemental MediaLive's
1693// API operation DescribeMultiplex for usage and error information.
1694//
1695// Returned Error Codes:
1696//   * ErrCodeBadRequestException "BadRequestException"
1697//
1698//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1699//
1700//   * ErrCodeForbiddenException "ForbiddenException"
1701//
1702//   * ErrCodeBadGatewayException "BadGatewayException"
1703//
1704//   * ErrCodeNotFoundException "NotFoundException"
1705//
1706//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
1707//
1708//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1709//
1710// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeMultiplex
1711func (c *MediaLive) DescribeMultiplex(input *DescribeMultiplexInput) (*DescribeMultiplexOutput, error) {
1712	req, out := c.DescribeMultiplexRequest(input)
1713	return out, req.Send()
1714}
1715
1716// DescribeMultiplexWithContext is the same as DescribeMultiplex with the addition of
1717// the ability to pass a context and additional request options.
1718//
1719// See DescribeMultiplex for details on how to use this API operation.
1720//
1721// The context must be non-nil and will be used for request cancellation. If
1722// the context is nil a panic will occur. In the future the SDK may create
1723// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1724// for more information on using Contexts.
1725func (c *MediaLive) DescribeMultiplexWithContext(ctx aws.Context, input *DescribeMultiplexInput, opts ...request.Option) (*DescribeMultiplexOutput, error) {
1726	req, out := c.DescribeMultiplexRequest(input)
1727	req.SetContext(ctx)
1728	req.ApplyOptions(opts...)
1729	return out, req.Send()
1730}
1731
1732const opDescribeMultiplexProgram = "DescribeMultiplexProgram"
1733
1734// DescribeMultiplexProgramRequest generates a "aws/request.Request" representing the
1735// client's request for the DescribeMultiplexProgram operation. The "output" return
1736// value will be populated with the request's response once the request completes
1737// successfully.
1738//
1739// Use "Send" method on the returned Request to send the API call to the service.
1740// the "output" return value is not valid until after Send returns without error.
1741//
1742// See DescribeMultiplexProgram for more information on using the DescribeMultiplexProgram
1743// API call, and error handling.
1744//
1745// This method is useful when you want to inject custom logic or configuration
1746// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1747//
1748//
1749//    // Example sending a request using the DescribeMultiplexProgramRequest method.
1750//    req, resp := client.DescribeMultiplexProgramRequest(params)
1751//
1752//    err := req.Send()
1753//    if err == nil { // resp is now filled
1754//        fmt.Println(resp)
1755//    }
1756//
1757// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeMultiplexProgram
1758func (c *MediaLive) DescribeMultiplexProgramRequest(input *DescribeMultiplexProgramInput) (req *request.Request, output *DescribeMultiplexProgramOutput) {
1759	op := &request.Operation{
1760		Name:       opDescribeMultiplexProgram,
1761		HTTPMethod: "GET",
1762		HTTPPath:   "/prod/multiplexes/{multiplexId}/programs/{programName}",
1763	}
1764
1765	if input == nil {
1766		input = &DescribeMultiplexProgramInput{}
1767	}
1768
1769	output = &DescribeMultiplexProgramOutput{}
1770	req = c.newRequest(op, input, output)
1771	return
1772}
1773
1774// DescribeMultiplexProgram API operation for AWS Elemental MediaLive.
1775//
1776// Get the details for a program in a multiplex.
1777//
1778// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1779// with awserr.Error's Code and Message methods to get detailed information about
1780// the error.
1781//
1782// See the AWS API reference guide for AWS Elemental MediaLive's
1783// API operation DescribeMultiplexProgram for usage and error information.
1784//
1785// Returned Error Codes:
1786//   * ErrCodeBadRequestException "BadRequestException"
1787//
1788//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1789//
1790//   * ErrCodeForbiddenException "ForbiddenException"
1791//
1792//   * ErrCodeBadGatewayException "BadGatewayException"
1793//
1794//   * ErrCodeNotFoundException "NotFoundException"
1795//
1796//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
1797//
1798//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1799//
1800// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeMultiplexProgram
1801func (c *MediaLive) DescribeMultiplexProgram(input *DescribeMultiplexProgramInput) (*DescribeMultiplexProgramOutput, error) {
1802	req, out := c.DescribeMultiplexProgramRequest(input)
1803	return out, req.Send()
1804}
1805
1806// DescribeMultiplexProgramWithContext is the same as DescribeMultiplexProgram with the addition of
1807// the ability to pass a context and additional request options.
1808//
1809// See DescribeMultiplexProgram for details on how to use this API operation.
1810//
1811// The context must be non-nil and will be used for request cancellation. If
1812// the context is nil a panic will occur. In the future the SDK may create
1813// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1814// for more information on using Contexts.
1815func (c *MediaLive) DescribeMultiplexProgramWithContext(ctx aws.Context, input *DescribeMultiplexProgramInput, opts ...request.Option) (*DescribeMultiplexProgramOutput, error) {
1816	req, out := c.DescribeMultiplexProgramRequest(input)
1817	req.SetContext(ctx)
1818	req.ApplyOptions(opts...)
1819	return out, req.Send()
1820}
1821
1822const opDescribeOffering = "DescribeOffering"
1823
1824// DescribeOfferingRequest generates a "aws/request.Request" representing the
1825// client's request for the DescribeOffering operation. The "output" return
1826// value will be populated with the request's response once the request completes
1827// successfully.
1828//
1829// Use "Send" method on the returned Request to send the API call to the service.
1830// the "output" return value is not valid until after Send returns without error.
1831//
1832// See DescribeOffering for more information on using the DescribeOffering
1833// API call, and error handling.
1834//
1835// This method is useful when you want to inject custom logic or configuration
1836// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1837//
1838//
1839//    // Example sending a request using the DescribeOfferingRequest method.
1840//    req, resp := client.DescribeOfferingRequest(params)
1841//
1842//    err := req.Send()
1843//    if err == nil { // resp is now filled
1844//        fmt.Println(resp)
1845//    }
1846//
1847// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeOffering
1848func (c *MediaLive) DescribeOfferingRequest(input *DescribeOfferingInput) (req *request.Request, output *DescribeOfferingOutput) {
1849	op := &request.Operation{
1850		Name:       opDescribeOffering,
1851		HTTPMethod: "GET",
1852		HTTPPath:   "/prod/offerings/{offeringId}",
1853	}
1854
1855	if input == nil {
1856		input = &DescribeOfferingInput{}
1857	}
1858
1859	output = &DescribeOfferingOutput{}
1860	req = c.newRequest(op, input, output)
1861	return
1862}
1863
1864// DescribeOffering API operation for AWS Elemental MediaLive.
1865//
1866// Get details for an offering.
1867//
1868// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1869// with awserr.Error's Code and Message methods to get detailed information about
1870// the error.
1871//
1872// See the AWS API reference guide for AWS Elemental MediaLive's
1873// API operation DescribeOffering for usage and error information.
1874//
1875// Returned Error Codes:
1876//   * ErrCodeBadRequestException "BadRequestException"
1877//
1878//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1879//
1880//   * ErrCodeForbiddenException "ForbiddenException"
1881//
1882//   * ErrCodeBadGatewayException "BadGatewayException"
1883//
1884//   * ErrCodeNotFoundException "NotFoundException"
1885//
1886//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
1887//
1888//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1889//
1890// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeOffering
1891func (c *MediaLive) DescribeOffering(input *DescribeOfferingInput) (*DescribeOfferingOutput, error) {
1892	req, out := c.DescribeOfferingRequest(input)
1893	return out, req.Send()
1894}
1895
1896// DescribeOfferingWithContext is the same as DescribeOffering with the addition of
1897// the ability to pass a context and additional request options.
1898//
1899// See DescribeOffering for details on how to use this API operation.
1900//
1901// The context must be non-nil and will be used for request cancellation. If
1902// the context is nil a panic will occur. In the future the SDK may create
1903// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1904// for more information on using Contexts.
1905func (c *MediaLive) DescribeOfferingWithContext(ctx aws.Context, input *DescribeOfferingInput, opts ...request.Option) (*DescribeOfferingOutput, error) {
1906	req, out := c.DescribeOfferingRequest(input)
1907	req.SetContext(ctx)
1908	req.ApplyOptions(opts...)
1909	return out, req.Send()
1910}
1911
1912const opDescribeReservation = "DescribeReservation"
1913
1914// DescribeReservationRequest generates a "aws/request.Request" representing the
1915// client's request for the DescribeReservation operation. The "output" return
1916// value will be populated with the request's response once the request completes
1917// successfully.
1918//
1919// Use "Send" method on the returned Request to send the API call to the service.
1920// the "output" return value is not valid until after Send returns without error.
1921//
1922// See DescribeReservation for more information on using the DescribeReservation
1923// API call, and error handling.
1924//
1925// This method is useful when you want to inject custom logic or configuration
1926// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1927//
1928//
1929//    // Example sending a request using the DescribeReservationRequest method.
1930//    req, resp := client.DescribeReservationRequest(params)
1931//
1932//    err := req.Send()
1933//    if err == nil { // resp is now filled
1934//        fmt.Println(resp)
1935//    }
1936//
1937// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeReservation
1938func (c *MediaLive) DescribeReservationRequest(input *DescribeReservationInput) (req *request.Request, output *DescribeReservationOutput) {
1939	op := &request.Operation{
1940		Name:       opDescribeReservation,
1941		HTTPMethod: "GET",
1942		HTTPPath:   "/prod/reservations/{reservationId}",
1943	}
1944
1945	if input == nil {
1946		input = &DescribeReservationInput{}
1947	}
1948
1949	output = &DescribeReservationOutput{}
1950	req = c.newRequest(op, input, output)
1951	return
1952}
1953
1954// DescribeReservation API operation for AWS Elemental MediaLive.
1955//
1956// Get details for a reservation.
1957//
1958// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1959// with awserr.Error's Code and Message methods to get detailed information about
1960// the error.
1961//
1962// See the AWS API reference guide for AWS Elemental MediaLive's
1963// API operation DescribeReservation for usage and error information.
1964//
1965// Returned Error Codes:
1966//   * ErrCodeBadRequestException "BadRequestException"
1967//
1968//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1969//
1970//   * ErrCodeForbiddenException "ForbiddenException"
1971//
1972//   * ErrCodeBadGatewayException "BadGatewayException"
1973//
1974//   * ErrCodeNotFoundException "NotFoundException"
1975//
1976//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
1977//
1978//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1979//
1980// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeReservation
1981func (c *MediaLive) DescribeReservation(input *DescribeReservationInput) (*DescribeReservationOutput, error) {
1982	req, out := c.DescribeReservationRequest(input)
1983	return out, req.Send()
1984}
1985
1986// DescribeReservationWithContext is the same as DescribeReservation with the addition of
1987// the ability to pass a context and additional request options.
1988//
1989// See DescribeReservation for details on how to use this API operation.
1990//
1991// The context must be non-nil and will be used for request cancellation. If
1992// the context is nil a panic will occur. In the future the SDK may create
1993// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1994// for more information on using Contexts.
1995func (c *MediaLive) DescribeReservationWithContext(ctx aws.Context, input *DescribeReservationInput, opts ...request.Option) (*DescribeReservationOutput, error) {
1996	req, out := c.DescribeReservationRequest(input)
1997	req.SetContext(ctx)
1998	req.ApplyOptions(opts...)
1999	return out, req.Send()
2000}
2001
2002const opDescribeSchedule = "DescribeSchedule"
2003
2004// DescribeScheduleRequest generates a "aws/request.Request" representing the
2005// client's request for the DescribeSchedule operation. The "output" return
2006// value will be populated with the request's response once the request completes
2007// successfully.
2008//
2009// Use "Send" method on the returned Request to send the API call to the service.
2010// the "output" return value is not valid until after Send returns without error.
2011//
2012// See DescribeSchedule for more information on using the DescribeSchedule
2013// API call, and error handling.
2014//
2015// This method is useful when you want to inject custom logic or configuration
2016// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2017//
2018//
2019//    // Example sending a request using the DescribeScheduleRequest method.
2020//    req, resp := client.DescribeScheduleRequest(params)
2021//
2022//    err := req.Send()
2023//    if err == nil { // resp is now filled
2024//        fmt.Println(resp)
2025//    }
2026//
2027// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeSchedule
2028func (c *MediaLive) DescribeScheduleRequest(input *DescribeScheduleInput) (req *request.Request, output *DescribeScheduleOutput) {
2029	op := &request.Operation{
2030		Name:       opDescribeSchedule,
2031		HTTPMethod: "GET",
2032		HTTPPath:   "/prod/channels/{channelId}/schedule",
2033		Paginator: &request.Paginator{
2034			InputTokens:     []string{"NextToken"},
2035			OutputTokens:    []string{"NextToken"},
2036			LimitToken:      "MaxResults",
2037			TruncationToken: "",
2038		},
2039	}
2040
2041	if input == nil {
2042		input = &DescribeScheduleInput{}
2043	}
2044
2045	output = &DescribeScheduleOutput{}
2046	req = c.newRequest(op, input, output)
2047	return
2048}
2049
2050// DescribeSchedule API operation for AWS Elemental MediaLive.
2051//
2052// Get a channel schedule
2053//
2054// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2055// with awserr.Error's Code and Message methods to get detailed information about
2056// the error.
2057//
2058// See the AWS API reference guide for AWS Elemental MediaLive's
2059// API operation DescribeSchedule for usage and error information.
2060//
2061// Returned Error Codes:
2062//   * ErrCodeBadRequestException "BadRequestException"
2063//
2064//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2065//
2066//   * ErrCodeForbiddenException "ForbiddenException"
2067//
2068//   * ErrCodeBadGatewayException "BadGatewayException"
2069//
2070//   * ErrCodeNotFoundException "NotFoundException"
2071//
2072//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
2073//
2074//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2075//
2076// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeSchedule
2077func (c *MediaLive) DescribeSchedule(input *DescribeScheduleInput) (*DescribeScheduleOutput, error) {
2078	req, out := c.DescribeScheduleRequest(input)
2079	return out, req.Send()
2080}
2081
2082// DescribeScheduleWithContext is the same as DescribeSchedule with the addition of
2083// the ability to pass a context and additional request options.
2084//
2085// See DescribeSchedule for details on how to use this API operation.
2086//
2087// The context must be non-nil and will be used for request cancellation. If
2088// the context is nil a panic will occur. In the future the SDK may create
2089// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2090// for more information on using Contexts.
2091func (c *MediaLive) DescribeScheduleWithContext(ctx aws.Context, input *DescribeScheduleInput, opts ...request.Option) (*DescribeScheduleOutput, error) {
2092	req, out := c.DescribeScheduleRequest(input)
2093	req.SetContext(ctx)
2094	req.ApplyOptions(opts...)
2095	return out, req.Send()
2096}
2097
2098// DescribeSchedulePages iterates over the pages of a DescribeSchedule operation,
2099// calling the "fn" function with the response data for each page. To stop
2100// iterating, return false from the fn function.
2101//
2102// See DescribeSchedule method for more information on how to use this operation.
2103//
2104// Note: This operation can generate multiple requests to a service.
2105//
2106//    // Example iterating over at most 3 pages of a DescribeSchedule operation.
2107//    pageNum := 0
2108//    err := client.DescribeSchedulePages(params,
2109//        func(page *medialive.DescribeScheduleOutput, lastPage bool) bool {
2110//            pageNum++
2111//            fmt.Println(page)
2112//            return pageNum <= 3
2113//        })
2114//
2115func (c *MediaLive) DescribeSchedulePages(input *DescribeScheduleInput, fn func(*DescribeScheduleOutput, bool) bool) error {
2116	return c.DescribeSchedulePagesWithContext(aws.BackgroundContext(), input, fn)
2117}
2118
2119// DescribeSchedulePagesWithContext same as DescribeSchedulePages except
2120// it takes a Context and allows setting request options on the pages.
2121//
2122// The context must be non-nil and will be used for request cancellation. If
2123// the context is nil a panic will occur. In the future the SDK may create
2124// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2125// for more information on using Contexts.
2126func (c *MediaLive) DescribeSchedulePagesWithContext(ctx aws.Context, input *DescribeScheduleInput, fn func(*DescribeScheduleOutput, bool) bool, opts ...request.Option) error {
2127	p := request.Pagination{
2128		NewRequest: func() (*request.Request, error) {
2129			var inCpy *DescribeScheduleInput
2130			if input != nil {
2131				tmp := *input
2132				inCpy = &tmp
2133			}
2134			req, _ := c.DescribeScheduleRequest(inCpy)
2135			req.SetContext(ctx)
2136			req.ApplyOptions(opts...)
2137			return req, nil
2138		},
2139	}
2140
2141	for p.Next() {
2142		if !fn(p.Page().(*DescribeScheduleOutput), !p.HasNextPage()) {
2143			break
2144		}
2145	}
2146
2147	return p.Err()
2148}
2149
2150const opListChannels = "ListChannels"
2151
2152// ListChannelsRequest generates a "aws/request.Request" representing the
2153// client's request for the ListChannels operation. The "output" return
2154// value will be populated with the request's response once the request completes
2155// successfully.
2156//
2157// Use "Send" method on the returned Request to send the API call to the service.
2158// the "output" return value is not valid until after Send returns without error.
2159//
2160// See ListChannels for more information on using the ListChannels
2161// API call, and error handling.
2162//
2163// This method is useful when you want to inject custom logic or configuration
2164// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2165//
2166//
2167//    // Example sending a request using the ListChannelsRequest method.
2168//    req, resp := client.ListChannelsRequest(params)
2169//
2170//    err := req.Send()
2171//    if err == nil { // resp is now filled
2172//        fmt.Println(resp)
2173//    }
2174//
2175// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListChannels
2176func (c *MediaLive) ListChannelsRequest(input *ListChannelsInput) (req *request.Request, output *ListChannelsOutput) {
2177	op := &request.Operation{
2178		Name:       opListChannels,
2179		HTTPMethod: "GET",
2180		HTTPPath:   "/prod/channels",
2181		Paginator: &request.Paginator{
2182			InputTokens:     []string{"NextToken"},
2183			OutputTokens:    []string{"NextToken"},
2184			LimitToken:      "MaxResults",
2185			TruncationToken: "",
2186		},
2187	}
2188
2189	if input == nil {
2190		input = &ListChannelsInput{}
2191	}
2192
2193	output = &ListChannelsOutput{}
2194	req = c.newRequest(op, input, output)
2195	return
2196}
2197
2198// ListChannels API operation for AWS Elemental MediaLive.
2199//
2200// Produces list of channels that have been created
2201//
2202// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2203// with awserr.Error's Code and Message methods to get detailed information about
2204// the error.
2205//
2206// See the AWS API reference guide for AWS Elemental MediaLive's
2207// API operation ListChannels for usage and error information.
2208//
2209// Returned Error Codes:
2210//   * ErrCodeBadRequestException "BadRequestException"
2211//
2212//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2213//
2214//   * ErrCodeForbiddenException "ForbiddenException"
2215//
2216//   * ErrCodeBadGatewayException "BadGatewayException"
2217//
2218//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
2219//
2220//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2221//
2222// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListChannels
2223func (c *MediaLive) ListChannels(input *ListChannelsInput) (*ListChannelsOutput, error) {
2224	req, out := c.ListChannelsRequest(input)
2225	return out, req.Send()
2226}
2227
2228// ListChannelsWithContext is the same as ListChannels with the addition of
2229// the ability to pass a context and additional request options.
2230//
2231// See ListChannels for details on how to use this API operation.
2232//
2233// The context must be non-nil and will be used for request cancellation. If
2234// the context is nil a panic will occur. In the future the SDK may create
2235// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2236// for more information on using Contexts.
2237func (c *MediaLive) ListChannelsWithContext(ctx aws.Context, input *ListChannelsInput, opts ...request.Option) (*ListChannelsOutput, error) {
2238	req, out := c.ListChannelsRequest(input)
2239	req.SetContext(ctx)
2240	req.ApplyOptions(opts...)
2241	return out, req.Send()
2242}
2243
2244// ListChannelsPages iterates over the pages of a ListChannels operation,
2245// calling the "fn" function with the response data for each page. To stop
2246// iterating, return false from the fn function.
2247//
2248// See ListChannels method for more information on how to use this operation.
2249//
2250// Note: This operation can generate multiple requests to a service.
2251//
2252//    // Example iterating over at most 3 pages of a ListChannels operation.
2253//    pageNum := 0
2254//    err := client.ListChannelsPages(params,
2255//        func(page *medialive.ListChannelsOutput, lastPage bool) bool {
2256//            pageNum++
2257//            fmt.Println(page)
2258//            return pageNum <= 3
2259//        })
2260//
2261func (c *MediaLive) ListChannelsPages(input *ListChannelsInput, fn func(*ListChannelsOutput, bool) bool) error {
2262	return c.ListChannelsPagesWithContext(aws.BackgroundContext(), input, fn)
2263}
2264
2265// ListChannelsPagesWithContext same as ListChannelsPages except
2266// it takes a Context and allows setting request options on the pages.
2267//
2268// The context must be non-nil and will be used for request cancellation. If
2269// the context is nil a panic will occur. In the future the SDK may create
2270// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2271// for more information on using Contexts.
2272func (c *MediaLive) ListChannelsPagesWithContext(ctx aws.Context, input *ListChannelsInput, fn func(*ListChannelsOutput, bool) bool, opts ...request.Option) error {
2273	p := request.Pagination{
2274		NewRequest: func() (*request.Request, error) {
2275			var inCpy *ListChannelsInput
2276			if input != nil {
2277				tmp := *input
2278				inCpy = &tmp
2279			}
2280			req, _ := c.ListChannelsRequest(inCpy)
2281			req.SetContext(ctx)
2282			req.ApplyOptions(opts...)
2283			return req, nil
2284		},
2285	}
2286
2287	for p.Next() {
2288		if !fn(p.Page().(*ListChannelsOutput), !p.HasNextPage()) {
2289			break
2290		}
2291	}
2292
2293	return p.Err()
2294}
2295
2296const opListInputSecurityGroups = "ListInputSecurityGroups"
2297
2298// ListInputSecurityGroupsRequest generates a "aws/request.Request" representing the
2299// client's request for the ListInputSecurityGroups operation. The "output" return
2300// value will be populated with the request's response once the request completes
2301// successfully.
2302//
2303// Use "Send" method on the returned Request to send the API call to the service.
2304// the "output" return value is not valid until after Send returns without error.
2305//
2306// See ListInputSecurityGroups for more information on using the ListInputSecurityGroups
2307// API call, and error handling.
2308//
2309// This method is useful when you want to inject custom logic or configuration
2310// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2311//
2312//
2313//    // Example sending a request using the ListInputSecurityGroupsRequest method.
2314//    req, resp := client.ListInputSecurityGroupsRequest(params)
2315//
2316//    err := req.Send()
2317//    if err == nil { // resp is now filled
2318//        fmt.Println(resp)
2319//    }
2320//
2321// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListInputSecurityGroups
2322func (c *MediaLive) ListInputSecurityGroupsRequest(input *ListInputSecurityGroupsInput) (req *request.Request, output *ListInputSecurityGroupsOutput) {
2323	op := &request.Operation{
2324		Name:       opListInputSecurityGroups,
2325		HTTPMethod: "GET",
2326		HTTPPath:   "/prod/inputSecurityGroups",
2327		Paginator: &request.Paginator{
2328			InputTokens:     []string{"NextToken"},
2329			OutputTokens:    []string{"NextToken"},
2330			LimitToken:      "MaxResults",
2331			TruncationToken: "",
2332		},
2333	}
2334
2335	if input == nil {
2336		input = &ListInputSecurityGroupsInput{}
2337	}
2338
2339	output = &ListInputSecurityGroupsOutput{}
2340	req = c.newRequest(op, input, output)
2341	return
2342}
2343
2344// ListInputSecurityGroups API operation for AWS Elemental MediaLive.
2345//
2346// Produces a list of Input Security Groups for an account
2347//
2348// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2349// with awserr.Error's Code and Message methods to get detailed information about
2350// the error.
2351//
2352// See the AWS API reference guide for AWS Elemental MediaLive's
2353// API operation ListInputSecurityGroups for usage and error information.
2354//
2355// Returned Error Codes:
2356//   * ErrCodeBadRequestException "BadRequestException"
2357//
2358//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2359//
2360//   * ErrCodeForbiddenException "ForbiddenException"
2361//
2362//   * ErrCodeBadGatewayException "BadGatewayException"
2363//
2364//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
2365//
2366//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2367//
2368// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListInputSecurityGroups
2369func (c *MediaLive) ListInputSecurityGroups(input *ListInputSecurityGroupsInput) (*ListInputSecurityGroupsOutput, error) {
2370	req, out := c.ListInputSecurityGroupsRequest(input)
2371	return out, req.Send()
2372}
2373
2374// ListInputSecurityGroupsWithContext is the same as ListInputSecurityGroups with the addition of
2375// the ability to pass a context and additional request options.
2376//
2377// See ListInputSecurityGroups for details on how to use this API operation.
2378//
2379// The context must be non-nil and will be used for request cancellation. If
2380// the context is nil a panic will occur. In the future the SDK may create
2381// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2382// for more information on using Contexts.
2383func (c *MediaLive) ListInputSecurityGroupsWithContext(ctx aws.Context, input *ListInputSecurityGroupsInput, opts ...request.Option) (*ListInputSecurityGroupsOutput, error) {
2384	req, out := c.ListInputSecurityGroupsRequest(input)
2385	req.SetContext(ctx)
2386	req.ApplyOptions(opts...)
2387	return out, req.Send()
2388}
2389
2390// ListInputSecurityGroupsPages iterates over the pages of a ListInputSecurityGroups operation,
2391// calling the "fn" function with the response data for each page. To stop
2392// iterating, return false from the fn function.
2393//
2394// See ListInputSecurityGroups method for more information on how to use this operation.
2395//
2396// Note: This operation can generate multiple requests to a service.
2397//
2398//    // Example iterating over at most 3 pages of a ListInputSecurityGroups operation.
2399//    pageNum := 0
2400//    err := client.ListInputSecurityGroupsPages(params,
2401//        func(page *medialive.ListInputSecurityGroupsOutput, lastPage bool) bool {
2402//            pageNum++
2403//            fmt.Println(page)
2404//            return pageNum <= 3
2405//        })
2406//
2407func (c *MediaLive) ListInputSecurityGroupsPages(input *ListInputSecurityGroupsInput, fn func(*ListInputSecurityGroupsOutput, bool) bool) error {
2408	return c.ListInputSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
2409}
2410
2411// ListInputSecurityGroupsPagesWithContext same as ListInputSecurityGroupsPages except
2412// it takes a Context and allows setting request options on the pages.
2413//
2414// The context must be non-nil and will be used for request cancellation. If
2415// the context is nil a panic will occur. In the future the SDK may create
2416// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2417// for more information on using Contexts.
2418func (c *MediaLive) ListInputSecurityGroupsPagesWithContext(ctx aws.Context, input *ListInputSecurityGroupsInput, fn func(*ListInputSecurityGroupsOutput, bool) bool, opts ...request.Option) error {
2419	p := request.Pagination{
2420		NewRequest: func() (*request.Request, error) {
2421			var inCpy *ListInputSecurityGroupsInput
2422			if input != nil {
2423				tmp := *input
2424				inCpy = &tmp
2425			}
2426			req, _ := c.ListInputSecurityGroupsRequest(inCpy)
2427			req.SetContext(ctx)
2428			req.ApplyOptions(opts...)
2429			return req, nil
2430		},
2431	}
2432
2433	for p.Next() {
2434		if !fn(p.Page().(*ListInputSecurityGroupsOutput), !p.HasNextPage()) {
2435			break
2436		}
2437	}
2438
2439	return p.Err()
2440}
2441
2442const opListInputs = "ListInputs"
2443
2444// ListInputsRequest generates a "aws/request.Request" representing the
2445// client's request for the ListInputs operation. The "output" return
2446// value will be populated with the request's response once the request completes
2447// successfully.
2448//
2449// Use "Send" method on the returned Request to send the API call to the service.
2450// the "output" return value is not valid until after Send returns without error.
2451//
2452// See ListInputs for more information on using the ListInputs
2453// API call, and error handling.
2454//
2455// This method is useful when you want to inject custom logic or configuration
2456// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2457//
2458//
2459//    // Example sending a request using the ListInputsRequest method.
2460//    req, resp := client.ListInputsRequest(params)
2461//
2462//    err := req.Send()
2463//    if err == nil { // resp is now filled
2464//        fmt.Println(resp)
2465//    }
2466//
2467// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListInputs
2468func (c *MediaLive) ListInputsRequest(input *ListInputsInput) (req *request.Request, output *ListInputsOutput) {
2469	op := &request.Operation{
2470		Name:       opListInputs,
2471		HTTPMethod: "GET",
2472		HTTPPath:   "/prod/inputs",
2473		Paginator: &request.Paginator{
2474			InputTokens:     []string{"NextToken"},
2475			OutputTokens:    []string{"NextToken"},
2476			LimitToken:      "MaxResults",
2477			TruncationToken: "",
2478		},
2479	}
2480
2481	if input == nil {
2482		input = &ListInputsInput{}
2483	}
2484
2485	output = &ListInputsOutput{}
2486	req = c.newRequest(op, input, output)
2487	return
2488}
2489
2490// ListInputs API operation for AWS Elemental MediaLive.
2491//
2492// Produces list of inputs that have been created
2493//
2494// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2495// with awserr.Error's Code and Message methods to get detailed information about
2496// the error.
2497//
2498// See the AWS API reference guide for AWS Elemental MediaLive's
2499// API operation ListInputs for usage and error information.
2500//
2501// Returned Error Codes:
2502//   * ErrCodeBadRequestException "BadRequestException"
2503//
2504//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2505//
2506//   * ErrCodeForbiddenException "ForbiddenException"
2507//
2508//   * ErrCodeBadGatewayException "BadGatewayException"
2509//
2510//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
2511//
2512//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2513//
2514// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListInputs
2515func (c *MediaLive) ListInputs(input *ListInputsInput) (*ListInputsOutput, error) {
2516	req, out := c.ListInputsRequest(input)
2517	return out, req.Send()
2518}
2519
2520// ListInputsWithContext is the same as ListInputs with the addition of
2521// the ability to pass a context and additional request options.
2522//
2523// See ListInputs for details on how to use this API operation.
2524//
2525// The context must be non-nil and will be used for request cancellation. If
2526// the context is nil a panic will occur. In the future the SDK may create
2527// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2528// for more information on using Contexts.
2529func (c *MediaLive) ListInputsWithContext(ctx aws.Context, input *ListInputsInput, opts ...request.Option) (*ListInputsOutput, error) {
2530	req, out := c.ListInputsRequest(input)
2531	req.SetContext(ctx)
2532	req.ApplyOptions(opts...)
2533	return out, req.Send()
2534}
2535
2536// ListInputsPages iterates over the pages of a ListInputs operation,
2537// calling the "fn" function with the response data for each page. To stop
2538// iterating, return false from the fn function.
2539//
2540// See ListInputs method for more information on how to use this operation.
2541//
2542// Note: This operation can generate multiple requests to a service.
2543//
2544//    // Example iterating over at most 3 pages of a ListInputs operation.
2545//    pageNum := 0
2546//    err := client.ListInputsPages(params,
2547//        func(page *medialive.ListInputsOutput, lastPage bool) bool {
2548//            pageNum++
2549//            fmt.Println(page)
2550//            return pageNum <= 3
2551//        })
2552//
2553func (c *MediaLive) ListInputsPages(input *ListInputsInput, fn func(*ListInputsOutput, bool) bool) error {
2554	return c.ListInputsPagesWithContext(aws.BackgroundContext(), input, fn)
2555}
2556
2557// ListInputsPagesWithContext same as ListInputsPages except
2558// it takes a Context and allows setting request options on the pages.
2559//
2560// The context must be non-nil and will be used for request cancellation. If
2561// the context is nil a panic will occur. In the future the SDK may create
2562// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2563// for more information on using Contexts.
2564func (c *MediaLive) ListInputsPagesWithContext(ctx aws.Context, input *ListInputsInput, fn func(*ListInputsOutput, bool) bool, opts ...request.Option) error {
2565	p := request.Pagination{
2566		NewRequest: func() (*request.Request, error) {
2567			var inCpy *ListInputsInput
2568			if input != nil {
2569				tmp := *input
2570				inCpy = &tmp
2571			}
2572			req, _ := c.ListInputsRequest(inCpy)
2573			req.SetContext(ctx)
2574			req.ApplyOptions(opts...)
2575			return req, nil
2576		},
2577	}
2578
2579	for p.Next() {
2580		if !fn(p.Page().(*ListInputsOutput), !p.HasNextPage()) {
2581			break
2582		}
2583	}
2584
2585	return p.Err()
2586}
2587
2588const opListMultiplexPrograms = "ListMultiplexPrograms"
2589
2590// ListMultiplexProgramsRequest generates a "aws/request.Request" representing the
2591// client's request for the ListMultiplexPrograms operation. The "output" return
2592// value will be populated with the request's response once the request completes
2593// successfully.
2594//
2595// Use "Send" method on the returned Request to send the API call to the service.
2596// the "output" return value is not valid until after Send returns without error.
2597//
2598// See ListMultiplexPrograms for more information on using the ListMultiplexPrograms
2599// API call, and error handling.
2600//
2601// This method is useful when you want to inject custom logic or configuration
2602// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2603//
2604//
2605//    // Example sending a request using the ListMultiplexProgramsRequest method.
2606//    req, resp := client.ListMultiplexProgramsRequest(params)
2607//
2608//    err := req.Send()
2609//    if err == nil { // resp is now filled
2610//        fmt.Println(resp)
2611//    }
2612//
2613// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListMultiplexPrograms
2614func (c *MediaLive) ListMultiplexProgramsRequest(input *ListMultiplexProgramsInput) (req *request.Request, output *ListMultiplexProgramsOutput) {
2615	op := &request.Operation{
2616		Name:       opListMultiplexPrograms,
2617		HTTPMethod: "GET",
2618		HTTPPath:   "/prod/multiplexes/{multiplexId}/programs",
2619		Paginator: &request.Paginator{
2620			InputTokens:     []string{"NextToken"},
2621			OutputTokens:    []string{"NextToken"},
2622			LimitToken:      "MaxResults",
2623			TruncationToken: "",
2624		},
2625	}
2626
2627	if input == nil {
2628		input = &ListMultiplexProgramsInput{}
2629	}
2630
2631	output = &ListMultiplexProgramsOutput{}
2632	req = c.newRequest(op, input, output)
2633	return
2634}
2635
2636// ListMultiplexPrograms API operation for AWS Elemental MediaLive.
2637//
2638// List the programs that currently exist for a specific multiplex.
2639//
2640// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2641// with awserr.Error's Code and Message methods to get detailed information about
2642// the error.
2643//
2644// See the AWS API reference guide for AWS Elemental MediaLive's
2645// API operation ListMultiplexPrograms for usage and error information.
2646//
2647// Returned Error Codes:
2648//   * ErrCodeBadRequestException "BadRequestException"
2649//
2650//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2651//
2652//   * ErrCodeForbiddenException "ForbiddenException"
2653//
2654//   * ErrCodeBadGatewayException "BadGatewayException"
2655//
2656//   * ErrCodeNotFoundException "NotFoundException"
2657//
2658//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
2659//
2660//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2661//
2662// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListMultiplexPrograms
2663func (c *MediaLive) ListMultiplexPrograms(input *ListMultiplexProgramsInput) (*ListMultiplexProgramsOutput, error) {
2664	req, out := c.ListMultiplexProgramsRequest(input)
2665	return out, req.Send()
2666}
2667
2668// ListMultiplexProgramsWithContext is the same as ListMultiplexPrograms with the addition of
2669// the ability to pass a context and additional request options.
2670//
2671// See ListMultiplexPrograms for details on how to use this API operation.
2672//
2673// The context must be non-nil and will be used for request cancellation. If
2674// the context is nil a panic will occur. In the future the SDK may create
2675// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2676// for more information on using Contexts.
2677func (c *MediaLive) ListMultiplexProgramsWithContext(ctx aws.Context, input *ListMultiplexProgramsInput, opts ...request.Option) (*ListMultiplexProgramsOutput, error) {
2678	req, out := c.ListMultiplexProgramsRequest(input)
2679	req.SetContext(ctx)
2680	req.ApplyOptions(opts...)
2681	return out, req.Send()
2682}
2683
2684// ListMultiplexProgramsPages iterates over the pages of a ListMultiplexPrograms operation,
2685// calling the "fn" function with the response data for each page. To stop
2686// iterating, return false from the fn function.
2687//
2688// See ListMultiplexPrograms method for more information on how to use this operation.
2689//
2690// Note: This operation can generate multiple requests to a service.
2691//
2692//    // Example iterating over at most 3 pages of a ListMultiplexPrograms operation.
2693//    pageNum := 0
2694//    err := client.ListMultiplexProgramsPages(params,
2695//        func(page *medialive.ListMultiplexProgramsOutput, lastPage bool) bool {
2696//            pageNum++
2697//            fmt.Println(page)
2698//            return pageNum <= 3
2699//        })
2700//
2701func (c *MediaLive) ListMultiplexProgramsPages(input *ListMultiplexProgramsInput, fn func(*ListMultiplexProgramsOutput, bool) bool) error {
2702	return c.ListMultiplexProgramsPagesWithContext(aws.BackgroundContext(), input, fn)
2703}
2704
2705// ListMultiplexProgramsPagesWithContext same as ListMultiplexProgramsPages except
2706// it takes a Context and allows setting request options on the pages.
2707//
2708// The context must be non-nil and will be used for request cancellation. If
2709// the context is nil a panic will occur. In the future the SDK may create
2710// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2711// for more information on using Contexts.
2712func (c *MediaLive) ListMultiplexProgramsPagesWithContext(ctx aws.Context, input *ListMultiplexProgramsInput, fn func(*ListMultiplexProgramsOutput, bool) bool, opts ...request.Option) error {
2713	p := request.Pagination{
2714		NewRequest: func() (*request.Request, error) {
2715			var inCpy *ListMultiplexProgramsInput
2716			if input != nil {
2717				tmp := *input
2718				inCpy = &tmp
2719			}
2720			req, _ := c.ListMultiplexProgramsRequest(inCpy)
2721			req.SetContext(ctx)
2722			req.ApplyOptions(opts...)
2723			return req, nil
2724		},
2725	}
2726
2727	for p.Next() {
2728		if !fn(p.Page().(*ListMultiplexProgramsOutput), !p.HasNextPage()) {
2729			break
2730		}
2731	}
2732
2733	return p.Err()
2734}
2735
2736const opListMultiplexes = "ListMultiplexes"
2737
2738// ListMultiplexesRequest generates a "aws/request.Request" representing the
2739// client's request for the ListMultiplexes operation. The "output" return
2740// value will be populated with the request's response once the request completes
2741// successfully.
2742//
2743// Use "Send" method on the returned Request to send the API call to the service.
2744// the "output" return value is not valid until after Send returns without error.
2745//
2746// See ListMultiplexes for more information on using the ListMultiplexes
2747// API call, and error handling.
2748//
2749// This method is useful when you want to inject custom logic or configuration
2750// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2751//
2752//
2753//    // Example sending a request using the ListMultiplexesRequest method.
2754//    req, resp := client.ListMultiplexesRequest(params)
2755//
2756//    err := req.Send()
2757//    if err == nil { // resp is now filled
2758//        fmt.Println(resp)
2759//    }
2760//
2761// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListMultiplexes
2762func (c *MediaLive) ListMultiplexesRequest(input *ListMultiplexesInput) (req *request.Request, output *ListMultiplexesOutput) {
2763	op := &request.Operation{
2764		Name:       opListMultiplexes,
2765		HTTPMethod: "GET",
2766		HTTPPath:   "/prod/multiplexes",
2767		Paginator: &request.Paginator{
2768			InputTokens:     []string{"NextToken"},
2769			OutputTokens:    []string{"NextToken"},
2770			LimitToken:      "MaxResults",
2771			TruncationToken: "",
2772		},
2773	}
2774
2775	if input == nil {
2776		input = &ListMultiplexesInput{}
2777	}
2778
2779	output = &ListMultiplexesOutput{}
2780	req = c.newRequest(op, input, output)
2781	return
2782}
2783
2784// ListMultiplexes API operation for AWS Elemental MediaLive.
2785//
2786// Retrieve a list of the existing multiplexes.
2787//
2788// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2789// with awserr.Error's Code and Message methods to get detailed information about
2790// the error.
2791//
2792// See the AWS API reference guide for AWS Elemental MediaLive's
2793// API operation ListMultiplexes for usage and error information.
2794//
2795// Returned Error Codes:
2796//   * ErrCodeBadRequestException "BadRequestException"
2797//
2798//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2799//
2800//   * ErrCodeForbiddenException "ForbiddenException"
2801//
2802//   * ErrCodeBadGatewayException "BadGatewayException"
2803//
2804//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
2805//
2806//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2807//
2808// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListMultiplexes
2809func (c *MediaLive) ListMultiplexes(input *ListMultiplexesInput) (*ListMultiplexesOutput, error) {
2810	req, out := c.ListMultiplexesRequest(input)
2811	return out, req.Send()
2812}
2813
2814// ListMultiplexesWithContext is the same as ListMultiplexes with the addition of
2815// the ability to pass a context and additional request options.
2816//
2817// See ListMultiplexes for details on how to use this API operation.
2818//
2819// The context must be non-nil and will be used for request cancellation. If
2820// the context is nil a panic will occur. In the future the SDK may create
2821// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2822// for more information on using Contexts.
2823func (c *MediaLive) ListMultiplexesWithContext(ctx aws.Context, input *ListMultiplexesInput, opts ...request.Option) (*ListMultiplexesOutput, error) {
2824	req, out := c.ListMultiplexesRequest(input)
2825	req.SetContext(ctx)
2826	req.ApplyOptions(opts...)
2827	return out, req.Send()
2828}
2829
2830// ListMultiplexesPages iterates over the pages of a ListMultiplexes operation,
2831// calling the "fn" function with the response data for each page. To stop
2832// iterating, return false from the fn function.
2833//
2834// See ListMultiplexes method for more information on how to use this operation.
2835//
2836// Note: This operation can generate multiple requests to a service.
2837//
2838//    // Example iterating over at most 3 pages of a ListMultiplexes operation.
2839//    pageNum := 0
2840//    err := client.ListMultiplexesPages(params,
2841//        func(page *medialive.ListMultiplexesOutput, lastPage bool) bool {
2842//            pageNum++
2843//            fmt.Println(page)
2844//            return pageNum <= 3
2845//        })
2846//
2847func (c *MediaLive) ListMultiplexesPages(input *ListMultiplexesInput, fn func(*ListMultiplexesOutput, bool) bool) error {
2848	return c.ListMultiplexesPagesWithContext(aws.BackgroundContext(), input, fn)
2849}
2850
2851// ListMultiplexesPagesWithContext same as ListMultiplexesPages except
2852// it takes a Context and allows setting request options on the pages.
2853//
2854// The context must be non-nil and will be used for request cancellation. If
2855// the context is nil a panic will occur. In the future the SDK may create
2856// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2857// for more information on using Contexts.
2858func (c *MediaLive) ListMultiplexesPagesWithContext(ctx aws.Context, input *ListMultiplexesInput, fn func(*ListMultiplexesOutput, bool) bool, opts ...request.Option) error {
2859	p := request.Pagination{
2860		NewRequest: func() (*request.Request, error) {
2861			var inCpy *ListMultiplexesInput
2862			if input != nil {
2863				tmp := *input
2864				inCpy = &tmp
2865			}
2866			req, _ := c.ListMultiplexesRequest(inCpy)
2867			req.SetContext(ctx)
2868			req.ApplyOptions(opts...)
2869			return req, nil
2870		},
2871	}
2872
2873	for p.Next() {
2874		if !fn(p.Page().(*ListMultiplexesOutput), !p.HasNextPage()) {
2875			break
2876		}
2877	}
2878
2879	return p.Err()
2880}
2881
2882const opListOfferings = "ListOfferings"
2883
2884// ListOfferingsRequest generates a "aws/request.Request" representing the
2885// client's request for the ListOfferings operation. The "output" return
2886// value will be populated with the request's response once the request completes
2887// successfully.
2888//
2889// Use "Send" method on the returned Request to send the API call to the service.
2890// the "output" return value is not valid until after Send returns without error.
2891//
2892// See ListOfferings for more information on using the ListOfferings
2893// API call, and error handling.
2894//
2895// This method is useful when you want to inject custom logic or configuration
2896// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2897//
2898//
2899//    // Example sending a request using the ListOfferingsRequest method.
2900//    req, resp := client.ListOfferingsRequest(params)
2901//
2902//    err := req.Send()
2903//    if err == nil { // resp is now filled
2904//        fmt.Println(resp)
2905//    }
2906//
2907// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListOfferings
2908func (c *MediaLive) ListOfferingsRequest(input *ListOfferingsInput) (req *request.Request, output *ListOfferingsOutput) {
2909	op := &request.Operation{
2910		Name:       opListOfferings,
2911		HTTPMethod: "GET",
2912		HTTPPath:   "/prod/offerings",
2913		Paginator: &request.Paginator{
2914			InputTokens:     []string{"NextToken"},
2915			OutputTokens:    []string{"NextToken"},
2916			LimitToken:      "MaxResults",
2917			TruncationToken: "",
2918		},
2919	}
2920
2921	if input == nil {
2922		input = &ListOfferingsInput{}
2923	}
2924
2925	output = &ListOfferingsOutput{}
2926	req = c.newRequest(op, input, output)
2927	return
2928}
2929
2930// ListOfferings API operation for AWS Elemental MediaLive.
2931//
2932// List offerings available for purchase.
2933//
2934// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2935// with awserr.Error's Code and Message methods to get detailed information about
2936// the error.
2937//
2938// See the AWS API reference guide for AWS Elemental MediaLive's
2939// API operation ListOfferings for usage and error information.
2940//
2941// Returned Error Codes:
2942//   * ErrCodeBadRequestException "BadRequestException"
2943//
2944//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2945//
2946//   * ErrCodeForbiddenException "ForbiddenException"
2947//
2948//   * ErrCodeBadGatewayException "BadGatewayException"
2949//
2950//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
2951//
2952//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2953//
2954// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListOfferings
2955func (c *MediaLive) ListOfferings(input *ListOfferingsInput) (*ListOfferingsOutput, error) {
2956	req, out := c.ListOfferingsRequest(input)
2957	return out, req.Send()
2958}
2959
2960// ListOfferingsWithContext is the same as ListOfferings with the addition of
2961// the ability to pass a context and additional request options.
2962//
2963// See ListOfferings for details on how to use this API operation.
2964//
2965// The context must be non-nil and will be used for request cancellation. If
2966// the context is nil a panic will occur. In the future the SDK may create
2967// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2968// for more information on using Contexts.
2969func (c *MediaLive) ListOfferingsWithContext(ctx aws.Context, input *ListOfferingsInput, opts ...request.Option) (*ListOfferingsOutput, error) {
2970	req, out := c.ListOfferingsRequest(input)
2971	req.SetContext(ctx)
2972	req.ApplyOptions(opts...)
2973	return out, req.Send()
2974}
2975
2976// ListOfferingsPages iterates over the pages of a ListOfferings operation,
2977// calling the "fn" function with the response data for each page. To stop
2978// iterating, return false from the fn function.
2979//
2980// See ListOfferings method for more information on how to use this operation.
2981//
2982// Note: This operation can generate multiple requests to a service.
2983//
2984//    // Example iterating over at most 3 pages of a ListOfferings operation.
2985//    pageNum := 0
2986//    err := client.ListOfferingsPages(params,
2987//        func(page *medialive.ListOfferingsOutput, lastPage bool) bool {
2988//            pageNum++
2989//            fmt.Println(page)
2990//            return pageNum <= 3
2991//        })
2992//
2993func (c *MediaLive) ListOfferingsPages(input *ListOfferingsInput, fn func(*ListOfferingsOutput, bool) bool) error {
2994	return c.ListOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
2995}
2996
2997// ListOfferingsPagesWithContext same as ListOfferingsPages except
2998// it takes a Context and allows setting request options on the pages.
2999//
3000// The context must be non-nil and will be used for request cancellation. If
3001// the context is nil a panic will occur. In the future the SDK may create
3002// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3003// for more information on using Contexts.
3004func (c *MediaLive) ListOfferingsPagesWithContext(ctx aws.Context, input *ListOfferingsInput, fn func(*ListOfferingsOutput, bool) bool, opts ...request.Option) error {
3005	p := request.Pagination{
3006		NewRequest: func() (*request.Request, error) {
3007			var inCpy *ListOfferingsInput
3008			if input != nil {
3009				tmp := *input
3010				inCpy = &tmp
3011			}
3012			req, _ := c.ListOfferingsRequest(inCpy)
3013			req.SetContext(ctx)
3014			req.ApplyOptions(opts...)
3015			return req, nil
3016		},
3017	}
3018
3019	for p.Next() {
3020		if !fn(p.Page().(*ListOfferingsOutput), !p.HasNextPage()) {
3021			break
3022		}
3023	}
3024
3025	return p.Err()
3026}
3027
3028const opListReservations = "ListReservations"
3029
3030// ListReservationsRequest generates a "aws/request.Request" representing the
3031// client's request for the ListReservations operation. The "output" return
3032// value will be populated with the request's response once the request completes
3033// successfully.
3034//
3035// Use "Send" method on the returned Request to send the API call to the service.
3036// the "output" return value is not valid until after Send returns without error.
3037//
3038// See ListReservations for more information on using the ListReservations
3039// API call, and error handling.
3040//
3041// This method is useful when you want to inject custom logic or configuration
3042// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3043//
3044//
3045//    // Example sending a request using the ListReservationsRequest method.
3046//    req, resp := client.ListReservationsRequest(params)
3047//
3048//    err := req.Send()
3049//    if err == nil { // resp is now filled
3050//        fmt.Println(resp)
3051//    }
3052//
3053// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListReservations
3054func (c *MediaLive) ListReservationsRequest(input *ListReservationsInput) (req *request.Request, output *ListReservationsOutput) {
3055	op := &request.Operation{
3056		Name:       opListReservations,
3057		HTTPMethod: "GET",
3058		HTTPPath:   "/prod/reservations",
3059		Paginator: &request.Paginator{
3060			InputTokens:     []string{"NextToken"},
3061			OutputTokens:    []string{"NextToken"},
3062			LimitToken:      "MaxResults",
3063			TruncationToken: "",
3064		},
3065	}
3066
3067	if input == nil {
3068		input = &ListReservationsInput{}
3069	}
3070
3071	output = &ListReservationsOutput{}
3072	req = c.newRequest(op, input, output)
3073	return
3074}
3075
3076// ListReservations API operation for AWS Elemental MediaLive.
3077//
3078// List purchased reservations.
3079//
3080// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3081// with awserr.Error's Code and Message methods to get detailed information about
3082// the error.
3083//
3084// See the AWS API reference guide for AWS Elemental MediaLive's
3085// API operation ListReservations for usage and error information.
3086//
3087// Returned Error Codes:
3088//   * ErrCodeBadRequestException "BadRequestException"
3089//
3090//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3091//
3092//   * ErrCodeForbiddenException "ForbiddenException"
3093//
3094//   * ErrCodeBadGatewayException "BadGatewayException"
3095//
3096//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
3097//
3098//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3099//
3100// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListReservations
3101func (c *MediaLive) ListReservations(input *ListReservationsInput) (*ListReservationsOutput, error) {
3102	req, out := c.ListReservationsRequest(input)
3103	return out, req.Send()
3104}
3105
3106// ListReservationsWithContext is the same as ListReservations with the addition of
3107// the ability to pass a context and additional request options.
3108//
3109// See ListReservations for details on how to use this API operation.
3110//
3111// The context must be non-nil and will be used for request cancellation. If
3112// the context is nil a panic will occur. In the future the SDK may create
3113// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3114// for more information on using Contexts.
3115func (c *MediaLive) ListReservationsWithContext(ctx aws.Context, input *ListReservationsInput, opts ...request.Option) (*ListReservationsOutput, error) {
3116	req, out := c.ListReservationsRequest(input)
3117	req.SetContext(ctx)
3118	req.ApplyOptions(opts...)
3119	return out, req.Send()
3120}
3121
3122// ListReservationsPages iterates over the pages of a ListReservations operation,
3123// calling the "fn" function with the response data for each page. To stop
3124// iterating, return false from the fn function.
3125//
3126// See ListReservations method for more information on how to use this operation.
3127//
3128// Note: This operation can generate multiple requests to a service.
3129//
3130//    // Example iterating over at most 3 pages of a ListReservations operation.
3131//    pageNum := 0
3132//    err := client.ListReservationsPages(params,
3133//        func(page *medialive.ListReservationsOutput, lastPage bool) bool {
3134//            pageNum++
3135//            fmt.Println(page)
3136//            return pageNum <= 3
3137//        })
3138//
3139func (c *MediaLive) ListReservationsPages(input *ListReservationsInput, fn func(*ListReservationsOutput, bool) bool) error {
3140	return c.ListReservationsPagesWithContext(aws.BackgroundContext(), input, fn)
3141}
3142
3143// ListReservationsPagesWithContext same as ListReservationsPages except
3144// it takes a Context and allows setting request options on the pages.
3145//
3146// The context must be non-nil and will be used for request cancellation. If
3147// the context is nil a panic will occur. In the future the SDK may create
3148// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3149// for more information on using Contexts.
3150func (c *MediaLive) ListReservationsPagesWithContext(ctx aws.Context, input *ListReservationsInput, fn func(*ListReservationsOutput, bool) bool, opts ...request.Option) error {
3151	p := request.Pagination{
3152		NewRequest: func() (*request.Request, error) {
3153			var inCpy *ListReservationsInput
3154			if input != nil {
3155				tmp := *input
3156				inCpy = &tmp
3157			}
3158			req, _ := c.ListReservationsRequest(inCpy)
3159			req.SetContext(ctx)
3160			req.ApplyOptions(opts...)
3161			return req, nil
3162		},
3163	}
3164
3165	for p.Next() {
3166		if !fn(p.Page().(*ListReservationsOutput), !p.HasNextPage()) {
3167			break
3168		}
3169	}
3170
3171	return p.Err()
3172}
3173
3174const opListTagsForResource = "ListTagsForResource"
3175
3176// ListTagsForResourceRequest generates a "aws/request.Request" representing the
3177// client's request for the ListTagsForResource operation. The "output" return
3178// value will be populated with the request's response once the request completes
3179// successfully.
3180//
3181// Use "Send" method on the returned Request to send the API call to the service.
3182// the "output" return value is not valid until after Send returns without error.
3183//
3184// See ListTagsForResource for more information on using the ListTagsForResource
3185// API call, and error handling.
3186//
3187// This method is useful when you want to inject custom logic or configuration
3188// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3189//
3190//
3191//    // Example sending a request using the ListTagsForResourceRequest method.
3192//    req, resp := client.ListTagsForResourceRequest(params)
3193//
3194//    err := req.Send()
3195//    if err == nil { // resp is now filled
3196//        fmt.Println(resp)
3197//    }
3198//
3199// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListTagsForResource
3200func (c *MediaLive) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
3201	op := &request.Operation{
3202		Name:       opListTagsForResource,
3203		HTTPMethod: "GET",
3204		HTTPPath:   "/prod/tags/{resource-arn}",
3205	}
3206
3207	if input == nil {
3208		input = &ListTagsForResourceInput{}
3209	}
3210
3211	output = &ListTagsForResourceOutput{}
3212	req = c.newRequest(op, input, output)
3213	return
3214}
3215
3216// ListTagsForResource API operation for AWS Elemental MediaLive.
3217//
3218// Produces list of tags that have been created for a resource
3219//
3220// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3221// with awserr.Error's Code and Message methods to get detailed information about
3222// the error.
3223//
3224// See the AWS API reference guide for AWS Elemental MediaLive's
3225// API operation ListTagsForResource for usage and error information.
3226//
3227// Returned Error Codes:
3228//   * ErrCodeNotFoundException "NotFoundException"
3229//
3230//   * ErrCodeBadRequestException "BadRequestException"
3231//
3232//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3233//
3234//   * ErrCodeForbiddenException "ForbiddenException"
3235//
3236// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListTagsForResource
3237func (c *MediaLive) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
3238	req, out := c.ListTagsForResourceRequest(input)
3239	return out, req.Send()
3240}
3241
3242// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
3243// the ability to pass a context and additional request options.
3244//
3245// See ListTagsForResource for details on how to use this API operation.
3246//
3247// The context must be non-nil and will be used for request cancellation. If
3248// the context is nil a panic will occur. In the future the SDK may create
3249// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3250// for more information on using Contexts.
3251func (c *MediaLive) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
3252	req, out := c.ListTagsForResourceRequest(input)
3253	req.SetContext(ctx)
3254	req.ApplyOptions(opts...)
3255	return out, req.Send()
3256}
3257
3258const opPurchaseOffering = "PurchaseOffering"
3259
3260// PurchaseOfferingRequest generates a "aws/request.Request" representing the
3261// client's request for the PurchaseOffering operation. The "output" return
3262// value will be populated with the request's response once the request completes
3263// successfully.
3264//
3265// Use "Send" method on the returned Request to send the API call to the service.
3266// the "output" return value is not valid until after Send returns without error.
3267//
3268// See PurchaseOffering for more information on using the PurchaseOffering
3269// API call, and error handling.
3270//
3271// This method is useful when you want to inject custom logic or configuration
3272// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3273//
3274//
3275//    // Example sending a request using the PurchaseOfferingRequest method.
3276//    req, resp := client.PurchaseOfferingRequest(params)
3277//
3278//    err := req.Send()
3279//    if err == nil { // resp is now filled
3280//        fmt.Println(resp)
3281//    }
3282//
3283// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/PurchaseOffering
3284func (c *MediaLive) PurchaseOfferingRequest(input *PurchaseOfferingInput) (req *request.Request, output *PurchaseOfferingOutput) {
3285	op := &request.Operation{
3286		Name:       opPurchaseOffering,
3287		HTTPMethod: "POST",
3288		HTTPPath:   "/prod/offerings/{offeringId}/purchase",
3289	}
3290
3291	if input == nil {
3292		input = &PurchaseOfferingInput{}
3293	}
3294
3295	output = &PurchaseOfferingOutput{}
3296	req = c.newRequest(op, input, output)
3297	return
3298}
3299
3300// PurchaseOffering API operation for AWS Elemental MediaLive.
3301//
3302// Purchase an offering and create a reservation.
3303//
3304// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3305// with awserr.Error's Code and Message methods to get detailed information about
3306// the error.
3307//
3308// See the AWS API reference guide for AWS Elemental MediaLive's
3309// API operation PurchaseOffering for usage and error information.
3310//
3311// Returned Error Codes:
3312//   * ErrCodeBadRequestException "BadRequestException"
3313//
3314//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3315//
3316//   * ErrCodeForbiddenException "ForbiddenException"
3317//
3318//   * ErrCodeBadGatewayException "BadGatewayException"
3319//
3320//   * ErrCodeNotFoundException "NotFoundException"
3321//
3322//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
3323//
3324//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3325//
3326//   * ErrCodeConflictException "ConflictException"
3327//
3328// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/PurchaseOffering
3329func (c *MediaLive) PurchaseOffering(input *PurchaseOfferingInput) (*PurchaseOfferingOutput, error) {
3330	req, out := c.PurchaseOfferingRequest(input)
3331	return out, req.Send()
3332}
3333
3334// PurchaseOfferingWithContext is the same as PurchaseOffering with the addition of
3335// the ability to pass a context and additional request options.
3336//
3337// See PurchaseOffering for details on how to use this API operation.
3338//
3339// The context must be non-nil and will be used for request cancellation. If
3340// the context is nil a panic will occur. In the future the SDK may create
3341// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3342// for more information on using Contexts.
3343func (c *MediaLive) PurchaseOfferingWithContext(ctx aws.Context, input *PurchaseOfferingInput, opts ...request.Option) (*PurchaseOfferingOutput, error) {
3344	req, out := c.PurchaseOfferingRequest(input)
3345	req.SetContext(ctx)
3346	req.ApplyOptions(opts...)
3347	return out, req.Send()
3348}
3349
3350const opStartChannel = "StartChannel"
3351
3352// StartChannelRequest generates a "aws/request.Request" representing the
3353// client's request for the StartChannel operation. The "output" return
3354// value will be populated with the request's response once the request completes
3355// successfully.
3356//
3357// Use "Send" method on the returned Request to send the API call to the service.
3358// the "output" return value is not valid until after Send returns without error.
3359//
3360// See StartChannel for more information on using the StartChannel
3361// API call, and error handling.
3362//
3363// This method is useful when you want to inject custom logic or configuration
3364// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3365//
3366//
3367//    // Example sending a request using the StartChannelRequest method.
3368//    req, resp := client.StartChannelRequest(params)
3369//
3370//    err := req.Send()
3371//    if err == nil { // resp is now filled
3372//        fmt.Println(resp)
3373//    }
3374//
3375// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StartChannel
3376func (c *MediaLive) StartChannelRequest(input *StartChannelInput) (req *request.Request, output *StartChannelOutput) {
3377	op := &request.Operation{
3378		Name:       opStartChannel,
3379		HTTPMethod: "POST",
3380		HTTPPath:   "/prod/channels/{channelId}/start",
3381	}
3382
3383	if input == nil {
3384		input = &StartChannelInput{}
3385	}
3386
3387	output = &StartChannelOutput{}
3388	req = c.newRequest(op, input, output)
3389	return
3390}
3391
3392// StartChannel API operation for AWS Elemental MediaLive.
3393//
3394// Starts an existing channel
3395//
3396// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3397// with awserr.Error's Code and Message methods to get detailed information about
3398// the error.
3399//
3400// See the AWS API reference guide for AWS Elemental MediaLive's
3401// API operation StartChannel for usage and error information.
3402//
3403// Returned Error Codes:
3404//   * ErrCodeBadRequestException "BadRequestException"
3405//
3406//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3407//
3408//   * ErrCodeForbiddenException "ForbiddenException"
3409//
3410//   * ErrCodeBadGatewayException "BadGatewayException"
3411//
3412//   * ErrCodeNotFoundException "NotFoundException"
3413//
3414//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
3415//
3416//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3417//
3418//   * ErrCodeConflictException "ConflictException"
3419//
3420// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StartChannel
3421func (c *MediaLive) StartChannel(input *StartChannelInput) (*StartChannelOutput, error) {
3422	req, out := c.StartChannelRequest(input)
3423	return out, req.Send()
3424}
3425
3426// StartChannelWithContext is the same as StartChannel with the addition of
3427// the ability to pass a context and additional request options.
3428//
3429// See StartChannel for details on how to use this API operation.
3430//
3431// The context must be non-nil and will be used for request cancellation. If
3432// the context is nil a panic will occur. In the future the SDK may create
3433// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3434// for more information on using Contexts.
3435func (c *MediaLive) StartChannelWithContext(ctx aws.Context, input *StartChannelInput, opts ...request.Option) (*StartChannelOutput, error) {
3436	req, out := c.StartChannelRequest(input)
3437	req.SetContext(ctx)
3438	req.ApplyOptions(opts...)
3439	return out, req.Send()
3440}
3441
3442const opStartMultiplex = "StartMultiplex"
3443
3444// StartMultiplexRequest generates a "aws/request.Request" representing the
3445// client's request for the StartMultiplex operation. The "output" return
3446// value will be populated with the request's response once the request completes
3447// successfully.
3448//
3449// Use "Send" method on the returned Request to send the API call to the service.
3450// the "output" return value is not valid until after Send returns without error.
3451//
3452// See StartMultiplex for more information on using the StartMultiplex
3453// API call, and error handling.
3454//
3455// This method is useful when you want to inject custom logic or configuration
3456// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3457//
3458//
3459//    // Example sending a request using the StartMultiplexRequest method.
3460//    req, resp := client.StartMultiplexRequest(params)
3461//
3462//    err := req.Send()
3463//    if err == nil { // resp is now filled
3464//        fmt.Println(resp)
3465//    }
3466//
3467// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StartMultiplex
3468func (c *MediaLive) StartMultiplexRequest(input *StartMultiplexInput) (req *request.Request, output *StartMultiplexOutput) {
3469	op := &request.Operation{
3470		Name:       opStartMultiplex,
3471		HTTPMethod: "POST",
3472		HTTPPath:   "/prod/multiplexes/{multiplexId}/start",
3473	}
3474
3475	if input == nil {
3476		input = &StartMultiplexInput{}
3477	}
3478
3479	output = &StartMultiplexOutput{}
3480	req = c.newRequest(op, input, output)
3481	return
3482}
3483
3484// StartMultiplex API operation for AWS Elemental MediaLive.
3485//
3486// Start (run) the multiplex. Starting the multiplex does not start the channels.
3487// You must explicitly start each channel.
3488//
3489// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3490// with awserr.Error's Code and Message methods to get detailed information about
3491// the error.
3492//
3493// See the AWS API reference guide for AWS Elemental MediaLive's
3494// API operation StartMultiplex for usage and error information.
3495//
3496// Returned Error Codes:
3497//   * ErrCodeBadRequestException "BadRequestException"
3498//
3499//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3500//
3501//   * ErrCodeForbiddenException "ForbiddenException"
3502//
3503//   * ErrCodeBadGatewayException "BadGatewayException"
3504//
3505//   * ErrCodeNotFoundException "NotFoundException"
3506//
3507//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
3508//
3509//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3510//
3511//   * ErrCodeConflictException "ConflictException"
3512//
3513// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StartMultiplex
3514func (c *MediaLive) StartMultiplex(input *StartMultiplexInput) (*StartMultiplexOutput, error) {
3515	req, out := c.StartMultiplexRequest(input)
3516	return out, req.Send()
3517}
3518
3519// StartMultiplexWithContext is the same as StartMultiplex with the addition of
3520// the ability to pass a context and additional request options.
3521//
3522// See StartMultiplex for details on how to use this API operation.
3523//
3524// The context must be non-nil and will be used for request cancellation. If
3525// the context is nil a panic will occur. In the future the SDK may create
3526// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3527// for more information on using Contexts.
3528func (c *MediaLive) StartMultiplexWithContext(ctx aws.Context, input *StartMultiplexInput, opts ...request.Option) (*StartMultiplexOutput, error) {
3529	req, out := c.StartMultiplexRequest(input)
3530	req.SetContext(ctx)
3531	req.ApplyOptions(opts...)
3532	return out, req.Send()
3533}
3534
3535const opStopChannel = "StopChannel"
3536
3537// StopChannelRequest generates a "aws/request.Request" representing the
3538// client's request for the StopChannel operation. The "output" return
3539// value will be populated with the request's response once the request completes
3540// successfully.
3541//
3542// Use "Send" method on the returned Request to send the API call to the service.
3543// the "output" return value is not valid until after Send returns without error.
3544//
3545// See StopChannel for more information on using the StopChannel
3546// API call, and error handling.
3547//
3548// This method is useful when you want to inject custom logic or configuration
3549// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3550//
3551//
3552//    // Example sending a request using the StopChannelRequest method.
3553//    req, resp := client.StopChannelRequest(params)
3554//
3555//    err := req.Send()
3556//    if err == nil { // resp is now filled
3557//        fmt.Println(resp)
3558//    }
3559//
3560// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StopChannel
3561func (c *MediaLive) StopChannelRequest(input *StopChannelInput) (req *request.Request, output *StopChannelOutput) {
3562	op := &request.Operation{
3563		Name:       opStopChannel,
3564		HTTPMethod: "POST",
3565		HTTPPath:   "/prod/channels/{channelId}/stop",
3566	}
3567
3568	if input == nil {
3569		input = &StopChannelInput{}
3570	}
3571
3572	output = &StopChannelOutput{}
3573	req = c.newRequest(op, input, output)
3574	return
3575}
3576
3577// StopChannel API operation for AWS Elemental MediaLive.
3578//
3579// Stops a running channel
3580//
3581// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3582// with awserr.Error's Code and Message methods to get detailed information about
3583// the error.
3584//
3585// See the AWS API reference guide for AWS Elemental MediaLive's
3586// API operation StopChannel for usage and error information.
3587//
3588// Returned Error Codes:
3589//   * ErrCodeBadRequestException "BadRequestException"
3590//
3591//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3592//
3593//   * ErrCodeForbiddenException "ForbiddenException"
3594//
3595//   * ErrCodeBadGatewayException "BadGatewayException"
3596//
3597//   * ErrCodeNotFoundException "NotFoundException"
3598//
3599//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
3600//
3601//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3602//
3603//   * ErrCodeConflictException "ConflictException"
3604//
3605// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StopChannel
3606func (c *MediaLive) StopChannel(input *StopChannelInput) (*StopChannelOutput, error) {
3607	req, out := c.StopChannelRequest(input)
3608	return out, req.Send()
3609}
3610
3611// StopChannelWithContext is the same as StopChannel with the addition of
3612// the ability to pass a context and additional request options.
3613//
3614// See StopChannel for details on how to use this API operation.
3615//
3616// The context must be non-nil and will be used for request cancellation. If
3617// the context is nil a panic will occur. In the future the SDK may create
3618// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3619// for more information on using Contexts.
3620func (c *MediaLive) StopChannelWithContext(ctx aws.Context, input *StopChannelInput, opts ...request.Option) (*StopChannelOutput, error) {
3621	req, out := c.StopChannelRequest(input)
3622	req.SetContext(ctx)
3623	req.ApplyOptions(opts...)
3624	return out, req.Send()
3625}
3626
3627const opStopMultiplex = "StopMultiplex"
3628
3629// StopMultiplexRequest generates a "aws/request.Request" representing the
3630// client's request for the StopMultiplex operation. The "output" return
3631// value will be populated with the request's response once the request completes
3632// successfully.
3633//
3634// Use "Send" method on the returned Request to send the API call to the service.
3635// the "output" return value is not valid until after Send returns without error.
3636//
3637// See StopMultiplex for more information on using the StopMultiplex
3638// API call, and error handling.
3639//
3640// This method is useful when you want to inject custom logic or configuration
3641// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3642//
3643//
3644//    // Example sending a request using the StopMultiplexRequest method.
3645//    req, resp := client.StopMultiplexRequest(params)
3646//
3647//    err := req.Send()
3648//    if err == nil { // resp is now filled
3649//        fmt.Println(resp)
3650//    }
3651//
3652// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StopMultiplex
3653func (c *MediaLive) StopMultiplexRequest(input *StopMultiplexInput) (req *request.Request, output *StopMultiplexOutput) {
3654	op := &request.Operation{
3655		Name:       opStopMultiplex,
3656		HTTPMethod: "POST",
3657		HTTPPath:   "/prod/multiplexes/{multiplexId}/stop",
3658	}
3659
3660	if input == nil {
3661		input = &StopMultiplexInput{}
3662	}
3663
3664	output = &StopMultiplexOutput{}
3665	req = c.newRequest(op, input, output)
3666	return
3667}
3668
3669// StopMultiplex API operation for AWS Elemental MediaLive.
3670//
3671// Stops a running multiplex. If the multiplex isn't running, this action has
3672// no effect.
3673//
3674// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3675// with awserr.Error's Code and Message methods to get detailed information about
3676// the error.
3677//
3678// See the AWS API reference guide for AWS Elemental MediaLive's
3679// API operation StopMultiplex for usage and error information.
3680//
3681// Returned Error Codes:
3682//   * ErrCodeBadRequestException "BadRequestException"
3683//
3684//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3685//
3686//   * ErrCodeForbiddenException "ForbiddenException"
3687//
3688//   * ErrCodeBadGatewayException "BadGatewayException"
3689//
3690//   * ErrCodeNotFoundException "NotFoundException"
3691//
3692//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
3693//
3694//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3695//
3696//   * ErrCodeConflictException "ConflictException"
3697//
3698// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StopMultiplex
3699func (c *MediaLive) StopMultiplex(input *StopMultiplexInput) (*StopMultiplexOutput, error) {
3700	req, out := c.StopMultiplexRequest(input)
3701	return out, req.Send()
3702}
3703
3704// StopMultiplexWithContext is the same as StopMultiplex with the addition of
3705// the ability to pass a context and additional request options.
3706//
3707// See StopMultiplex for details on how to use this API operation.
3708//
3709// The context must be non-nil and will be used for request cancellation. If
3710// the context is nil a panic will occur. In the future the SDK may create
3711// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3712// for more information on using Contexts.
3713func (c *MediaLive) StopMultiplexWithContext(ctx aws.Context, input *StopMultiplexInput, opts ...request.Option) (*StopMultiplexOutput, error) {
3714	req, out := c.StopMultiplexRequest(input)
3715	req.SetContext(ctx)
3716	req.ApplyOptions(opts...)
3717	return out, req.Send()
3718}
3719
3720const opUpdateChannel = "UpdateChannel"
3721
3722// UpdateChannelRequest generates a "aws/request.Request" representing the
3723// client's request for the UpdateChannel operation. The "output" return
3724// value will be populated with the request's response once the request completes
3725// successfully.
3726//
3727// Use "Send" method on the returned Request to send the API call to the service.
3728// the "output" return value is not valid until after Send returns without error.
3729//
3730// See UpdateChannel for more information on using the UpdateChannel
3731// API call, and error handling.
3732//
3733// This method is useful when you want to inject custom logic or configuration
3734// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3735//
3736//
3737//    // Example sending a request using the UpdateChannelRequest method.
3738//    req, resp := client.UpdateChannelRequest(params)
3739//
3740//    err := req.Send()
3741//    if err == nil { // resp is now filled
3742//        fmt.Println(resp)
3743//    }
3744//
3745// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannel
3746func (c *MediaLive) UpdateChannelRequest(input *UpdateChannelInput) (req *request.Request, output *UpdateChannelOutput) {
3747	op := &request.Operation{
3748		Name:       opUpdateChannel,
3749		HTTPMethod: "PUT",
3750		HTTPPath:   "/prod/channels/{channelId}",
3751	}
3752
3753	if input == nil {
3754		input = &UpdateChannelInput{}
3755	}
3756
3757	output = &UpdateChannelOutput{}
3758	req = c.newRequest(op, input, output)
3759	return
3760}
3761
3762// UpdateChannel API operation for AWS Elemental MediaLive.
3763//
3764// Updates a channel.
3765//
3766// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3767// with awserr.Error's Code and Message methods to get detailed information about
3768// the error.
3769//
3770// See the AWS API reference guide for AWS Elemental MediaLive's
3771// API operation UpdateChannel for usage and error information.
3772//
3773// Returned Error Codes:
3774//   * ErrCodeBadRequestException "BadRequestException"
3775//
3776//   * ErrCodeUnprocessableEntityException "UnprocessableEntityException"
3777//
3778//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3779//
3780//   * ErrCodeForbiddenException "ForbiddenException"
3781//
3782//   * ErrCodeBadGatewayException "BadGatewayException"
3783//
3784//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
3785//
3786//   * ErrCodeConflictException "ConflictException"
3787//
3788// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannel
3789func (c *MediaLive) UpdateChannel(input *UpdateChannelInput) (*UpdateChannelOutput, error) {
3790	req, out := c.UpdateChannelRequest(input)
3791	return out, req.Send()
3792}
3793
3794// UpdateChannelWithContext is the same as UpdateChannel with the addition of
3795// the ability to pass a context and additional request options.
3796//
3797// See UpdateChannel for details on how to use this API operation.
3798//
3799// The context must be non-nil and will be used for request cancellation. If
3800// the context is nil a panic will occur. In the future the SDK may create
3801// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3802// for more information on using Contexts.
3803func (c *MediaLive) UpdateChannelWithContext(ctx aws.Context, input *UpdateChannelInput, opts ...request.Option) (*UpdateChannelOutput, error) {
3804	req, out := c.UpdateChannelRequest(input)
3805	req.SetContext(ctx)
3806	req.ApplyOptions(opts...)
3807	return out, req.Send()
3808}
3809
3810const opUpdateChannelClass = "UpdateChannelClass"
3811
3812// UpdateChannelClassRequest generates a "aws/request.Request" representing the
3813// client's request for the UpdateChannelClass operation. The "output" return
3814// value will be populated with the request's response once the request completes
3815// successfully.
3816//
3817// Use "Send" method on the returned Request to send the API call to the service.
3818// the "output" return value is not valid until after Send returns without error.
3819//
3820// See UpdateChannelClass for more information on using the UpdateChannelClass
3821// API call, and error handling.
3822//
3823// This method is useful when you want to inject custom logic or configuration
3824// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3825//
3826//
3827//    // Example sending a request using the UpdateChannelClassRequest method.
3828//    req, resp := client.UpdateChannelClassRequest(params)
3829//
3830//    err := req.Send()
3831//    if err == nil { // resp is now filled
3832//        fmt.Println(resp)
3833//    }
3834//
3835// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannelClass
3836func (c *MediaLive) UpdateChannelClassRequest(input *UpdateChannelClassInput) (req *request.Request, output *UpdateChannelClassOutput) {
3837	op := &request.Operation{
3838		Name:       opUpdateChannelClass,
3839		HTTPMethod: "PUT",
3840		HTTPPath:   "/prod/channels/{channelId}/channelClass",
3841	}
3842
3843	if input == nil {
3844		input = &UpdateChannelClassInput{}
3845	}
3846
3847	output = &UpdateChannelClassOutput{}
3848	req = c.newRequest(op, input, output)
3849	return
3850}
3851
3852// UpdateChannelClass API operation for AWS Elemental MediaLive.
3853//
3854// Changes the class of the channel.
3855//
3856// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3857// with awserr.Error's Code and Message methods to get detailed information about
3858// the error.
3859//
3860// See the AWS API reference guide for AWS Elemental MediaLive's
3861// API operation UpdateChannelClass for usage and error information.
3862//
3863// Returned Error Codes:
3864//   * ErrCodeBadRequestException "BadRequestException"
3865//
3866//   * ErrCodeUnprocessableEntityException "UnprocessableEntityException"
3867//
3868//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3869//
3870//   * ErrCodeForbiddenException "ForbiddenException"
3871//
3872//   * ErrCodeBadGatewayException "BadGatewayException"
3873//
3874//   * ErrCodeNotFoundException "NotFoundException"
3875//
3876//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
3877//
3878//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3879//
3880//   * ErrCodeConflictException "ConflictException"
3881//
3882// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannelClass
3883func (c *MediaLive) UpdateChannelClass(input *UpdateChannelClassInput) (*UpdateChannelClassOutput, error) {
3884	req, out := c.UpdateChannelClassRequest(input)
3885	return out, req.Send()
3886}
3887
3888// UpdateChannelClassWithContext is the same as UpdateChannelClass with the addition of
3889// the ability to pass a context and additional request options.
3890//
3891// See UpdateChannelClass for details on how to use this API operation.
3892//
3893// The context must be non-nil and will be used for request cancellation. If
3894// the context is nil a panic will occur. In the future the SDK may create
3895// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3896// for more information on using Contexts.
3897func (c *MediaLive) UpdateChannelClassWithContext(ctx aws.Context, input *UpdateChannelClassInput, opts ...request.Option) (*UpdateChannelClassOutput, error) {
3898	req, out := c.UpdateChannelClassRequest(input)
3899	req.SetContext(ctx)
3900	req.ApplyOptions(opts...)
3901	return out, req.Send()
3902}
3903
3904const opUpdateInput = "UpdateInput"
3905
3906// UpdateInputRequest generates a "aws/request.Request" representing the
3907// client's request for the UpdateInput operation. The "output" return
3908// value will be populated with the request's response once the request completes
3909// successfully.
3910//
3911// Use "Send" method on the returned Request to send the API call to the service.
3912// the "output" return value is not valid until after Send returns without error.
3913//
3914// See UpdateInput for more information on using the UpdateInput
3915// API call, and error handling.
3916//
3917// This method is useful when you want to inject custom logic or configuration
3918// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3919//
3920//
3921//    // Example sending a request using the UpdateInputRequest method.
3922//    req, resp := client.UpdateInputRequest(params)
3923//
3924//    err := req.Send()
3925//    if err == nil { // resp is now filled
3926//        fmt.Println(resp)
3927//    }
3928//
3929// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInput
3930func (c *MediaLive) UpdateInputRequest(input *UpdateInputInput) (req *request.Request, output *UpdateInputOutput) {
3931	op := &request.Operation{
3932		Name:       opUpdateInput,
3933		HTTPMethod: "PUT",
3934		HTTPPath:   "/prod/inputs/{inputId}",
3935	}
3936
3937	if input == nil {
3938		input = &UpdateInputInput{}
3939	}
3940
3941	output = &UpdateInputOutput{}
3942	req = c.newRequest(op, input, output)
3943	return
3944}
3945
3946// UpdateInput API operation for AWS Elemental MediaLive.
3947//
3948// Updates an input.
3949//
3950// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3951// with awserr.Error's Code and Message methods to get detailed information about
3952// the error.
3953//
3954// See the AWS API reference guide for AWS Elemental MediaLive's
3955// API operation UpdateInput for usage and error information.
3956//
3957// Returned Error Codes:
3958//   * ErrCodeBadRequestException "BadRequestException"
3959//
3960//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3961//
3962//   * ErrCodeForbiddenException "ForbiddenException"
3963//
3964//   * ErrCodeBadGatewayException "BadGatewayException"
3965//
3966//   * ErrCodeNotFoundException "NotFoundException"
3967//
3968//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
3969//
3970//   * ErrCodeConflictException "ConflictException"
3971//
3972// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInput
3973func (c *MediaLive) UpdateInput(input *UpdateInputInput) (*UpdateInputOutput, error) {
3974	req, out := c.UpdateInputRequest(input)
3975	return out, req.Send()
3976}
3977
3978// UpdateInputWithContext is the same as UpdateInput with the addition of
3979// the ability to pass a context and additional request options.
3980//
3981// See UpdateInput for details on how to use this API operation.
3982//
3983// The context must be non-nil and will be used for request cancellation. If
3984// the context is nil a panic will occur. In the future the SDK may create
3985// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3986// for more information on using Contexts.
3987func (c *MediaLive) UpdateInputWithContext(ctx aws.Context, input *UpdateInputInput, opts ...request.Option) (*UpdateInputOutput, error) {
3988	req, out := c.UpdateInputRequest(input)
3989	req.SetContext(ctx)
3990	req.ApplyOptions(opts...)
3991	return out, req.Send()
3992}
3993
3994const opUpdateInputSecurityGroup = "UpdateInputSecurityGroup"
3995
3996// UpdateInputSecurityGroupRequest generates a "aws/request.Request" representing the
3997// client's request for the UpdateInputSecurityGroup operation. The "output" return
3998// value will be populated with the request's response once the request completes
3999// successfully.
4000//
4001// Use "Send" method on the returned Request to send the API call to the service.
4002// the "output" return value is not valid until after Send returns without error.
4003//
4004// See UpdateInputSecurityGroup for more information on using the UpdateInputSecurityGroup
4005// API call, and error handling.
4006//
4007// This method is useful when you want to inject custom logic or configuration
4008// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4009//
4010//
4011//    // Example sending a request using the UpdateInputSecurityGroupRequest method.
4012//    req, resp := client.UpdateInputSecurityGroupRequest(params)
4013//
4014//    err := req.Send()
4015//    if err == nil { // resp is now filled
4016//        fmt.Println(resp)
4017//    }
4018//
4019// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInputSecurityGroup
4020func (c *MediaLive) UpdateInputSecurityGroupRequest(input *UpdateInputSecurityGroupInput) (req *request.Request, output *UpdateInputSecurityGroupOutput) {
4021	op := &request.Operation{
4022		Name:       opUpdateInputSecurityGroup,
4023		HTTPMethod: "PUT",
4024		HTTPPath:   "/prod/inputSecurityGroups/{inputSecurityGroupId}",
4025	}
4026
4027	if input == nil {
4028		input = &UpdateInputSecurityGroupInput{}
4029	}
4030
4031	output = &UpdateInputSecurityGroupOutput{}
4032	req = c.newRequest(op, input, output)
4033	return
4034}
4035
4036// UpdateInputSecurityGroup API operation for AWS Elemental MediaLive.
4037//
4038// Update an Input Security Group's Whilelists.
4039//
4040// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4041// with awserr.Error's Code and Message methods to get detailed information about
4042// the error.
4043//
4044// See the AWS API reference guide for AWS Elemental MediaLive's
4045// API operation UpdateInputSecurityGroup for usage and error information.
4046//
4047// Returned Error Codes:
4048//   * ErrCodeBadRequestException "BadRequestException"
4049//
4050//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4051//
4052//   * ErrCodeForbiddenException "ForbiddenException"
4053//
4054//   * ErrCodeBadGatewayException "BadGatewayException"
4055//
4056//   * ErrCodeNotFoundException "NotFoundException"
4057//
4058//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
4059//
4060//   * ErrCodeConflictException "ConflictException"
4061//
4062// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInputSecurityGroup
4063func (c *MediaLive) UpdateInputSecurityGroup(input *UpdateInputSecurityGroupInput) (*UpdateInputSecurityGroupOutput, error) {
4064	req, out := c.UpdateInputSecurityGroupRequest(input)
4065	return out, req.Send()
4066}
4067
4068// UpdateInputSecurityGroupWithContext is the same as UpdateInputSecurityGroup with the addition of
4069// the ability to pass a context and additional request options.
4070//
4071// See UpdateInputSecurityGroup for details on how to use this API operation.
4072//
4073// The context must be non-nil and will be used for request cancellation. If
4074// the context is nil a panic will occur. In the future the SDK may create
4075// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4076// for more information on using Contexts.
4077func (c *MediaLive) UpdateInputSecurityGroupWithContext(ctx aws.Context, input *UpdateInputSecurityGroupInput, opts ...request.Option) (*UpdateInputSecurityGroupOutput, error) {
4078	req, out := c.UpdateInputSecurityGroupRequest(input)
4079	req.SetContext(ctx)
4080	req.ApplyOptions(opts...)
4081	return out, req.Send()
4082}
4083
4084const opUpdateMultiplex = "UpdateMultiplex"
4085
4086// UpdateMultiplexRequest generates a "aws/request.Request" representing the
4087// client's request for the UpdateMultiplex operation. The "output" return
4088// value will be populated with the request's response once the request completes
4089// successfully.
4090//
4091// Use "Send" method on the returned Request to send the API call to the service.
4092// the "output" return value is not valid until after Send returns without error.
4093//
4094// See UpdateMultiplex for more information on using the UpdateMultiplex
4095// API call, and error handling.
4096//
4097// This method is useful when you want to inject custom logic or configuration
4098// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4099//
4100//
4101//    // Example sending a request using the UpdateMultiplexRequest method.
4102//    req, resp := client.UpdateMultiplexRequest(params)
4103//
4104//    err := req.Send()
4105//    if err == nil { // resp is now filled
4106//        fmt.Println(resp)
4107//    }
4108//
4109// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateMultiplex
4110func (c *MediaLive) UpdateMultiplexRequest(input *UpdateMultiplexInput) (req *request.Request, output *UpdateMultiplexOutput) {
4111	op := &request.Operation{
4112		Name:       opUpdateMultiplex,
4113		HTTPMethod: "PUT",
4114		HTTPPath:   "/prod/multiplexes/{multiplexId}",
4115	}
4116
4117	if input == nil {
4118		input = &UpdateMultiplexInput{}
4119	}
4120
4121	output = &UpdateMultiplexOutput{}
4122	req = c.newRequest(op, input, output)
4123	return
4124}
4125
4126// UpdateMultiplex API operation for AWS Elemental MediaLive.
4127//
4128// Updates a multiplex.
4129//
4130// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4131// with awserr.Error's Code and Message methods to get detailed information about
4132// the error.
4133//
4134// See the AWS API reference guide for AWS Elemental MediaLive's
4135// API operation UpdateMultiplex for usage and error information.
4136//
4137// Returned Error Codes:
4138//   * ErrCodeBadRequestException "BadRequestException"
4139//
4140//   * ErrCodeUnprocessableEntityException "UnprocessableEntityException"
4141//
4142//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4143//
4144//   * ErrCodeForbiddenException "ForbiddenException"
4145//
4146//   * ErrCodeBadGatewayException "BadGatewayException"
4147//
4148//   * ErrCodeNotFoundException "NotFoundException"
4149//
4150//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
4151//
4152//   * ErrCodeConflictException "ConflictException"
4153//
4154// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateMultiplex
4155func (c *MediaLive) UpdateMultiplex(input *UpdateMultiplexInput) (*UpdateMultiplexOutput, error) {
4156	req, out := c.UpdateMultiplexRequest(input)
4157	return out, req.Send()
4158}
4159
4160// UpdateMultiplexWithContext is the same as UpdateMultiplex with the addition of
4161// the ability to pass a context and additional request options.
4162//
4163// See UpdateMultiplex for details on how to use this API operation.
4164//
4165// The context must be non-nil and will be used for request cancellation. If
4166// the context is nil a panic will occur. In the future the SDK may create
4167// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4168// for more information on using Contexts.
4169func (c *MediaLive) UpdateMultiplexWithContext(ctx aws.Context, input *UpdateMultiplexInput, opts ...request.Option) (*UpdateMultiplexOutput, error) {
4170	req, out := c.UpdateMultiplexRequest(input)
4171	req.SetContext(ctx)
4172	req.ApplyOptions(opts...)
4173	return out, req.Send()
4174}
4175
4176const opUpdateMultiplexProgram = "UpdateMultiplexProgram"
4177
4178// UpdateMultiplexProgramRequest generates a "aws/request.Request" representing the
4179// client's request for the UpdateMultiplexProgram operation. The "output" return
4180// value will be populated with the request's response once the request completes
4181// successfully.
4182//
4183// Use "Send" method on the returned Request to send the API call to the service.
4184// the "output" return value is not valid until after Send returns without error.
4185//
4186// See UpdateMultiplexProgram for more information on using the UpdateMultiplexProgram
4187// API call, and error handling.
4188//
4189// This method is useful when you want to inject custom logic or configuration
4190// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4191//
4192//
4193//    // Example sending a request using the UpdateMultiplexProgramRequest method.
4194//    req, resp := client.UpdateMultiplexProgramRequest(params)
4195//
4196//    err := req.Send()
4197//    if err == nil { // resp is now filled
4198//        fmt.Println(resp)
4199//    }
4200//
4201// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateMultiplexProgram
4202func (c *MediaLive) UpdateMultiplexProgramRequest(input *UpdateMultiplexProgramInput) (req *request.Request, output *UpdateMultiplexProgramOutput) {
4203	op := &request.Operation{
4204		Name:       opUpdateMultiplexProgram,
4205		HTTPMethod: "PUT",
4206		HTTPPath:   "/prod/multiplexes/{multiplexId}/programs/{programName}",
4207	}
4208
4209	if input == nil {
4210		input = &UpdateMultiplexProgramInput{}
4211	}
4212
4213	output = &UpdateMultiplexProgramOutput{}
4214	req = c.newRequest(op, input, output)
4215	return
4216}
4217
4218// UpdateMultiplexProgram API operation for AWS Elemental MediaLive.
4219//
4220// Update a program in a multiplex.
4221//
4222// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4223// with awserr.Error's Code and Message methods to get detailed information about
4224// the error.
4225//
4226// See the AWS API reference guide for AWS Elemental MediaLive's
4227// API operation UpdateMultiplexProgram for usage and error information.
4228//
4229// Returned Error Codes:
4230//   * ErrCodeBadRequestException "BadRequestException"
4231//
4232//   * ErrCodeUnprocessableEntityException "UnprocessableEntityException"
4233//
4234//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4235//
4236//   * ErrCodeForbiddenException "ForbiddenException"
4237//
4238//   * ErrCodeBadGatewayException "BadGatewayException"
4239//
4240//   * ErrCodeNotFoundException "NotFoundException"
4241//
4242//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
4243//
4244//   * ErrCodeConflictException "ConflictException"
4245//
4246// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateMultiplexProgram
4247func (c *MediaLive) UpdateMultiplexProgram(input *UpdateMultiplexProgramInput) (*UpdateMultiplexProgramOutput, error) {
4248	req, out := c.UpdateMultiplexProgramRequest(input)
4249	return out, req.Send()
4250}
4251
4252// UpdateMultiplexProgramWithContext is the same as UpdateMultiplexProgram with the addition of
4253// the ability to pass a context and additional request options.
4254//
4255// See UpdateMultiplexProgram for details on how to use this API operation.
4256//
4257// The context must be non-nil and will be used for request cancellation. If
4258// the context is nil a panic will occur. In the future the SDK may create
4259// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4260// for more information on using Contexts.
4261func (c *MediaLive) UpdateMultiplexProgramWithContext(ctx aws.Context, input *UpdateMultiplexProgramInput, opts ...request.Option) (*UpdateMultiplexProgramOutput, error) {
4262	req, out := c.UpdateMultiplexProgramRequest(input)
4263	req.SetContext(ctx)
4264	req.ApplyOptions(opts...)
4265	return out, req.Send()
4266}
4267
4268const opUpdateReservation = "UpdateReservation"
4269
4270// UpdateReservationRequest generates a "aws/request.Request" representing the
4271// client's request for the UpdateReservation operation. The "output" return
4272// value will be populated with the request's response once the request completes
4273// successfully.
4274//
4275// Use "Send" method on the returned Request to send the API call to the service.
4276// the "output" return value is not valid until after Send returns without error.
4277//
4278// See UpdateReservation for more information on using the UpdateReservation
4279// API call, and error handling.
4280//
4281// This method is useful when you want to inject custom logic or configuration
4282// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4283//
4284//
4285//    // Example sending a request using the UpdateReservationRequest method.
4286//    req, resp := client.UpdateReservationRequest(params)
4287//
4288//    err := req.Send()
4289//    if err == nil { // resp is now filled
4290//        fmt.Println(resp)
4291//    }
4292//
4293// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateReservation
4294func (c *MediaLive) UpdateReservationRequest(input *UpdateReservationInput) (req *request.Request, output *UpdateReservationOutput) {
4295	op := &request.Operation{
4296		Name:       opUpdateReservation,
4297		HTTPMethod: "PUT",
4298		HTTPPath:   "/prod/reservations/{reservationId}",
4299	}
4300
4301	if input == nil {
4302		input = &UpdateReservationInput{}
4303	}
4304
4305	output = &UpdateReservationOutput{}
4306	req = c.newRequest(op, input, output)
4307	return
4308}
4309
4310// UpdateReservation API operation for AWS Elemental MediaLive.
4311//
4312// Update reservation.
4313//
4314// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4315// with awserr.Error's Code and Message methods to get detailed information about
4316// the error.
4317//
4318// See the AWS API reference guide for AWS Elemental MediaLive's
4319// API operation UpdateReservation for usage and error information.
4320//
4321// Returned Error Codes:
4322//   * ErrCodeBadRequestException "BadRequestException"
4323//
4324//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4325//
4326//   * ErrCodeForbiddenException "ForbiddenException"
4327//
4328//   * ErrCodeBadGatewayException "BadGatewayException"
4329//
4330//   * ErrCodeNotFoundException "NotFoundException"
4331//
4332//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
4333//
4334//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4335//
4336//   * ErrCodeConflictException "ConflictException"
4337//
4338// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateReservation
4339func (c *MediaLive) UpdateReservation(input *UpdateReservationInput) (*UpdateReservationOutput, error) {
4340	req, out := c.UpdateReservationRequest(input)
4341	return out, req.Send()
4342}
4343
4344// UpdateReservationWithContext is the same as UpdateReservation with the addition of
4345// the ability to pass a context and additional request options.
4346//
4347// See UpdateReservation for details on how to use this API operation.
4348//
4349// The context must be non-nil and will be used for request cancellation. If
4350// the context is nil a panic will occur. In the future the SDK may create
4351// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4352// for more information on using Contexts.
4353func (c *MediaLive) UpdateReservationWithContext(ctx aws.Context, input *UpdateReservationInput, opts ...request.Option) (*UpdateReservationOutput, error) {
4354	req, out := c.UpdateReservationRequest(input)
4355	req.SetContext(ctx)
4356	req.ApplyOptions(opts...)
4357	return out, req.Send()
4358}
4359
4360// Aac Settings
4361type AacSettings struct {
4362	_ struct{} `type:"structure"`
4363
4364	// Average bitrate in bits/second. Valid values depend on rate control mode
4365	// and profile.
4366	Bitrate *float64 `locationName:"bitrate" type:"double"`
4367
4368	// Mono, Stereo, or 5.1 channel layout. Valid values depend on rate control
4369	// mode and profile. The adReceiverMix setting receives a stereo description
4370	// plus control track and emits a mono AAC encode of the description track,
4371	// with control data emitted in the PES header as per ETSI TS 101 154 Annex
4372	// E.
4373	CodingMode *string `locationName:"codingMode" type:"string" enum:"AacCodingMode"`
4374
4375	// Set to "broadcasterMixedAd" when input contains pre-mixed main audio + AD
4376	// (narration) as a stereo pair. The Audio Type field (audioType) will be set
4377	// to 3, which signals to downstream systems that this stream contains "broadcaster
4378	// mixed AD". Note that the input received by the encoder must contain pre-mixed
4379	// audio; the encoder does not perform the mixing. The values in audioTypeControl
4380	// and audioType (in AudioDescription) are ignored when set to broadcasterMixedAd.Leave
4381	// set to "normal" when input does not contain pre-mixed audio + AD.
4382	InputType *string `locationName:"inputType" type:"string" enum:"AacInputType"`
4383
4384	// AAC Profile.
4385	Profile *string `locationName:"profile" type:"string" enum:"AacProfile"`
4386
4387	// Rate Control Mode.
4388	RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"AacRateControlMode"`
4389
4390	// Sets LATM / LOAS AAC output for raw containers.
4391	RawFormat *string `locationName:"rawFormat" type:"string" enum:"AacRawFormat"`
4392
4393	// Sample rate in Hz. Valid values depend on rate control mode and profile.
4394	SampleRate *float64 `locationName:"sampleRate" type:"double"`
4395
4396	// Use MPEG-2 AAC audio instead of MPEG-4 AAC audio for raw or MPEG-2 Transport
4397	// Stream containers.
4398	Spec *string `locationName:"spec" type:"string" enum:"AacSpec"`
4399
4400	// VBR Quality Level - Only used if rateControlMode is VBR.
4401	VbrQuality *string `locationName:"vbrQuality" type:"string" enum:"AacVbrQuality"`
4402}
4403
4404// String returns the string representation
4405func (s AacSettings) String() string {
4406	return awsutil.Prettify(s)
4407}
4408
4409// GoString returns the string representation
4410func (s AacSettings) GoString() string {
4411	return s.String()
4412}
4413
4414// SetBitrate sets the Bitrate field's value.
4415func (s *AacSettings) SetBitrate(v float64) *AacSettings {
4416	s.Bitrate = &v
4417	return s
4418}
4419
4420// SetCodingMode sets the CodingMode field's value.
4421func (s *AacSettings) SetCodingMode(v string) *AacSettings {
4422	s.CodingMode = &v
4423	return s
4424}
4425
4426// SetInputType sets the InputType field's value.
4427func (s *AacSettings) SetInputType(v string) *AacSettings {
4428	s.InputType = &v
4429	return s
4430}
4431
4432// SetProfile sets the Profile field's value.
4433func (s *AacSettings) SetProfile(v string) *AacSettings {
4434	s.Profile = &v
4435	return s
4436}
4437
4438// SetRateControlMode sets the RateControlMode field's value.
4439func (s *AacSettings) SetRateControlMode(v string) *AacSettings {
4440	s.RateControlMode = &v
4441	return s
4442}
4443
4444// SetRawFormat sets the RawFormat field's value.
4445func (s *AacSettings) SetRawFormat(v string) *AacSettings {
4446	s.RawFormat = &v
4447	return s
4448}
4449
4450// SetSampleRate sets the SampleRate field's value.
4451func (s *AacSettings) SetSampleRate(v float64) *AacSettings {
4452	s.SampleRate = &v
4453	return s
4454}
4455
4456// SetSpec sets the Spec field's value.
4457func (s *AacSettings) SetSpec(v string) *AacSettings {
4458	s.Spec = &v
4459	return s
4460}
4461
4462// SetVbrQuality sets the VbrQuality field's value.
4463func (s *AacSettings) SetVbrQuality(v string) *AacSettings {
4464	s.VbrQuality = &v
4465	return s
4466}
4467
4468// Ac3 Settings
4469type Ac3Settings struct {
4470	_ struct{} `type:"structure"`
4471
4472	// Average bitrate in bits/second. Valid bitrates depend on the coding mode.
4473	Bitrate *float64 `locationName:"bitrate" type:"double"`
4474
4475	// Specifies the bitstream mode (bsmod) for the emitted AC-3 stream. See ATSC
4476	// A/52-2012 for background on these values.
4477	BitstreamMode *string `locationName:"bitstreamMode" type:"string" enum:"Ac3BitstreamMode"`
4478
4479	// Dolby Digital coding mode. Determines number of channels.
4480	CodingMode *string `locationName:"codingMode" type:"string" enum:"Ac3CodingMode"`
4481
4482	// Sets the dialnorm for the output. If excluded and input audio is Dolby Digital,
4483	// dialnorm will be passed through.
4484	Dialnorm *int64 `locationName:"dialnorm" min:"1" type:"integer"`
4485
4486	// If set to filmStandard, adds dynamic range compression signaling to the output
4487	// bitstream as defined in the Dolby Digital specification.
4488	DrcProfile *string `locationName:"drcProfile" type:"string" enum:"Ac3DrcProfile"`
4489
4490	// When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior
4491	// to encoding. Only valid in codingMode32Lfe mode.
4492	LfeFilter *string `locationName:"lfeFilter" type:"string" enum:"Ac3LfeFilter"`
4493
4494	// When set to "followInput", encoder metadata will be sourced from the DD,
4495	// DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied
4496	// from one of these streams, then the static metadata settings will be used.
4497	MetadataControl *string `locationName:"metadataControl" type:"string" enum:"Ac3MetadataControl"`
4498}
4499
4500// String returns the string representation
4501func (s Ac3Settings) String() string {
4502	return awsutil.Prettify(s)
4503}
4504
4505// GoString returns the string representation
4506func (s Ac3Settings) GoString() string {
4507	return s.String()
4508}
4509
4510// Validate inspects the fields of the type to determine if they are valid.
4511func (s *Ac3Settings) Validate() error {
4512	invalidParams := request.ErrInvalidParams{Context: "Ac3Settings"}
4513	if s.Dialnorm != nil && *s.Dialnorm < 1 {
4514		invalidParams.Add(request.NewErrParamMinValue("Dialnorm", 1))
4515	}
4516
4517	if invalidParams.Len() > 0 {
4518		return invalidParams
4519	}
4520	return nil
4521}
4522
4523// SetBitrate sets the Bitrate field's value.
4524func (s *Ac3Settings) SetBitrate(v float64) *Ac3Settings {
4525	s.Bitrate = &v
4526	return s
4527}
4528
4529// SetBitstreamMode sets the BitstreamMode field's value.
4530func (s *Ac3Settings) SetBitstreamMode(v string) *Ac3Settings {
4531	s.BitstreamMode = &v
4532	return s
4533}
4534
4535// SetCodingMode sets the CodingMode field's value.
4536func (s *Ac3Settings) SetCodingMode(v string) *Ac3Settings {
4537	s.CodingMode = &v
4538	return s
4539}
4540
4541// SetDialnorm sets the Dialnorm field's value.
4542func (s *Ac3Settings) SetDialnorm(v int64) *Ac3Settings {
4543	s.Dialnorm = &v
4544	return s
4545}
4546
4547// SetDrcProfile sets the DrcProfile field's value.
4548func (s *Ac3Settings) SetDrcProfile(v string) *Ac3Settings {
4549	s.DrcProfile = &v
4550	return s
4551}
4552
4553// SetLfeFilter sets the LfeFilter field's value.
4554func (s *Ac3Settings) SetLfeFilter(v string) *Ac3Settings {
4555	s.LfeFilter = &v
4556	return s
4557}
4558
4559// SetMetadataControl sets the MetadataControl field's value.
4560func (s *Ac3Settings) SetMetadataControl(v string) *Ac3Settings {
4561	s.MetadataControl = &v
4562	return s
4563}
4564
4565// Archive Container Settings
4566type ArchiveContainerSettings struct {
4567	_ struct{} `type:"structure"`
4568
4569	// M2ts Settings
4570	M2tsSettings *M2tsSettings `locationName:"m2tsSettings" type:"structure"`
4571}
4572
4573// String returns the string representation
4574func (s ArchiveContainerSettings) String() string {
4575	return awsutil.Prettify(s)
4576}
4577
4578// GoString returns the string representation
4579func (s ArchiveContainerSettings) GoString() string {
4580	return s.String()
4581}
4582
4583// Validate inspects the fields of the type to determine if they are valid.
4584func (s *ArchiveContainerSettings) Validate() error {
4585	invalidParams := request.ErrInvalidParams{Context: "ArchiveContainerSettings"}
4586	if s.M2tsSettings != nil {
4587		if err := s.M2tsSettings.Validate(); err != nil {
4588			invalidParams.AddNested("M2tsSettings", err.(request.ErrInvalidParams))
4589		}
4590	}
4591
4592	if invalidParams.Len() > 0 {
4593		return invalidParams
4594	}
4595	return nil
4596}
4597
4598// SetM2tsSettings sets the M2tsSettings field's value.
4599func (s *ArchiveContainerSettings) SetM2tsSettings(v *M2tsSettings) *ArchiveContainerSettings {
4600	s.M2tsSettings = v
4601	return s
4602}
4603
4604// Archive Group Settings
4605type ArchiveGroupSettings struct {
4606	_ struct{} `type:"structure"`
4607
4608	// A directory and base filename where archive files should be written.
4609	//
4610	// Destination is a required field
4611	Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"`
4612
4613	// Number of seconds to write to archive file before closing and starting a
4614	// new one.
4615	RolloverInterval *int64 `locationName:"rolloverInterval" min:"1" type:"integer"`
4616}
4617
4618// String returns the string representation
4619func (s ArchiveGroupSettings) String() string {
4620	return awsutil.Prettify(s)
4621}
4622
4623// GoString returns the string representation
4624func (s ArchiveGroupSettings) GoString() string {
4625	return s.String()
4626}
4627
4628// Validate inspects the fields of the type to determine if they are valid.
4629func (s *ArchiveGroupSettings) Validate() error {
4630	invalidParams := request.ErrInvalidParams{Context: "ArchiveGroupSettings"}
4631	if s.Destination == nil {
4632		invalidParams.Add(request.NewErrParamRequired("Destination"))
4633	}
4634	if s.RolloverInterval != nil && *s.RolloverInterval < 1 {
4635		invalidParams.Add(request.NewErrParamMinValue("RolloverInterval", 1))
4636	}
4637
4638	if invalidParams.Len() > 0 {
4639		return invalidParams
4640	}
4641	return nil
4642}
4643
4644// SetDestination sets the Destination field's value.
4645func (s *ArchiveGroupSettings) SetDestination(v *OutputLocationRef) *ArchiveGroupSettings {
4646	s.Destination = v
4647	return s
4648}
4649
4650// SetRolloverInterval sets the RolloverInterval field's value.
4651func (s *ArchiveGroupSettings) SetRolloverInterval(v int64) *ArchiveGroupSettings {
4652	s.RolloverInterval = &v
4653	return s
4654}
4655
4656// Archive Output Settings
4657type ArchiveOutputSettings struct {
4658	_ struct{} `type:"structure"`
4659
4660	// Settings specific to the container type of the file.
4661	//
4662	// ContainerSettings is a required field
4663	ContainerSettings *ArchiveContainerSettings `locationName:"containerSettings" type:"structure" required:"true"`
4664
4665	// Output file extension. If excluded, this will be auto-selected from the container
4666	// type.
4667	Extension *string `locationName:"extension" type:"string"`
4668
4669	// String concatenated to the end of the destination filename. Required for
4670	// multiple outputs of the same type.
4671	NameModifier *string `locationName:"nameModifier" type:"string"`
4672}
4673
4674// String returns the string representation
4675func (s ArchiveOutputSettings) String() string {
4676	return awsutil.Prettify(s)
4677}
4678
4679// GoString returns the string representation
4680func (s ArchiveOutputSettings) GoString() string {
4681	return s.String()
4682}
4683
4684// Validate inspects the fields of the type to determine if they are valid.
4685func (s *ArchiveOutputSettings) Validate() error {
4686	invalidParams := request.ErrInvalidParams{Context: "ArchiveOutputSettings"}
4687	if s.ContainerSettings == nil {
4688		invalidParams.Add(request.NewErrParamRequired("ContainerSettings"))
4689	}
4690	if s.ContainerSettings != nil {
4691		if err := s.ContainerSettings.Validate(); err != nil {
4692			invalidParams.AddNested("ContainerSettings", err.(request.ErrInvalidParams))
4693		}
4694	}
4695
4696	if invalidParams.Len() > 0 {
4697		return invalidParams
4698	}
4699	return nil
4700}
4701
4702// SetContainerSettings sets the ContainerSettings field's value.
4703func (s *ArchiveOutputSettings) SetContainerSettings(v *ArchiveContainerSettings) *ArchiveOutputSettings {
4704	s.ContainerSettings = v
4705	return s
4706}
4707
4708// SetExtension sets the Extension field's value.
4709func (s *ArchiveOutputSettings) SetExtension(v string) *ArchiveOutputSettings {
4710	s.Extension = &v
4711	return s
4712}
4713
4714// SetNameModifier sets the NameModifier field's value.
4715func (s *ArchiveOutputSettings) SetNameModifier(v string) *ArchiveOutputSettings {
4716	s.NameModifier = &v
4717	return s
4718}
4719
4720// Arib Destination Settings
4721type AribDestinationSettings struct {
4722	_ struct{} `type:"structure"`
4723}
4724
4725// String returns the string representation
4726func (s AribDestinationSettings) String() string {
4727	return awsutil.Prettify(s)
4728}
4729
4730// GoString returns the string representation
4731func (s AribDestinationSettings) GoString() string {
4732	return s.String()
4733}
4734
4735// Arib Source Settings
4736type AribSourceSettings struct {
4737	_ struct{} `type:"structure"`
4738}
4739
4740// String returns the string representation
4741func (s AribSourceSettings) String() string {
4742	return awsutil.Prettify(s)
4743}
4744
4745// GoString returns the string representation
4746func (s AribSourceSettings) GoString() string {
4747	return s.String()
4748}
4749
4750// Audio Channel Mapping
4751type AudioChannelMapping struct {
4752	_ struct{} `type:"structure"`
4753
4754	// Indices and gain values for each input channel that should be remixed into
4755	// this output channel.
4756	//
4757	// InputChannelLevels is a required field
4758	InputChannelLevels []*InputChannelLevel `locationName:"inputChannelLevels" type:"list" required:"true"`
4759
4760	// The index of the output channel being produced.
4761	//
4762	// OutputChannel is a required field
4763	OutputChannel *int64 `locationName:"outputChannel" type:"integer" required:"true"`
4764}
4765
4766// String returns the string representation
4767func (s AudioChannelMapping) String() string {
4768	return awsutil.Prettify(s)
4769}
4770
4771// GoString returns the string representation
4772func (s AudioChannelMapping) GoString() string {
4773	return s.String()
4774}
4775
4776// Validate inspects the fields of the type to determine if they are valid.
4777func (s *AudioChannelMapping) Validate() error {
4778	invalidParams := request.ErrInvalidParams{Context: "AudioChannelMapping"}
4779	if s.InputChannelLevels == nil {
4780		invalidParams.Add(request.NewErrParamRequired("InputChannelLevels"))
4781	}
4782	if s.OutputChannel == nil {
4783		invalidParams.Add(request.NewErrParamRequired("OutputChannel"))
4784	}
4785	if s.InputChannelLevels != nil {
4786		for i, v := range s.InputChannelLevels {
4787			if v == nil {
4788				continue
4789			}
4790			if err := v.Validate(); err != nil {
4791				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputChannelLevels", i), err.(request.ErrInvalidParams))
4792			}
4793		}
4794	}
4795
4796	if invalidParams.Len() > 0 {
4797		return invalidParams
4798	}
4799	return nil
4800}
4801
4802// SetInputChannelLevels sets the InputChannelLevels field's value.
4803func (s *AudioChannelMapping) SetInputChannelLevels(v []*InputChannelLevel) *AudioChannelMapping {
4804	s.InputChannelLevels = v
4805	return s
4806}
4807
4808// SetOutputChannel sets the OutputChannel field's value.
4809func (s *AudioChannelMapping) SetOutputChannel(v int64) *AudioChannelMapping {
4810	s.OutputChannel = &v
4811	return s
4812}
4813
4814// Audio Codec Settings
4815type AudioCodecSettings struct {
4816	_ struct{} `type:"structure"`
4817
4818	// Aac Settings
4819	AacSettings *AacSettings `locationName:"aacSettings" type:"structure"`
4820
4821	// Ac3 Settings
4822	Ac3Settings *Ac3Settings `locationName:"ac3Settings" type:"structure"`
4823
4824	// Eac3 Settings
4825	Eac3Settings *Eac3Settings `locationName:"eac3Settings" type:"structure"`
4826
4827	// Mp2 Settings
4828	Mp2Settings *Mp2Settings `locationName:"mp2Settings" type:"structure"`
4829
4830	// Pass Through Settings
4831	PassThroughSettings *PassThroughSettings `locationName:"passThroughSettings" type:"structure"`
4832}
4833
4834// String returns the string representation
4835func (s AudioCodecSettings) String() string {
4836	return awsutil.Prettify(s)
4837}
4838
4839// GoString returns the string representation
4840func (s AudioCodecSettings) GoString() string {
4841	return s.String()
4842}
4843
4844// Validate inspects the fields of the type to determine if they are valid.
4845func (s *AudioCodecSettings) Validate() error {
4846	invalidParams := request.ErrInvalidParams{Context: "AudioCodecSettings"}
4847	if s.Ac3Settings != nil {
4848		if err := s.Ac3Settings.Validate(); err != nil {
4849			invalidParams.AddNested("Ac3Settings", err.(request.ErrInvalidParams))
4850		}
4851	}
4852	if s.Eac3Settings != nil {
4853		if err := s.Eac3Settings.Validate(); err != nil {
4854			invalidParams.AddNested("Eac3Settings", err.(request.ErrInvalidParams))
4855		}
4856	}
4857
4858	if invalidParams.Len() > 0 {
4859		return invalidParams
4860	}
4861	return nil
4862}
4863
4864// SetAacSettings sets the AacSettings field's value.
4865func (s *AudioCodecSettings) SetAacSettings(v *AacSettings) *AudioCodecSettings {
4866	s.AacSettings = v
4867	return s
4868}
4869
4870// SetAc3Settings sets the Ac3Settings field's value.
4871func (s *AudioCodecSettings) SetAc3Settings(v *Ac3Settings) *AudioCodecSettings {
4872	s.Ac3Settings = v
4873	return s
4874}
4875
4876// SetEac3Settings sets the Eac3Settings field's value.
4877func (s *AudioCodecSettings) SetEac3Settings(v *Eac3Settings) *AudioCodecSettings {
4878	s.Eac3Settings = v
4879	return s
4880}
4881
4882// SetMp2Settings sets the Mp2Settings field's value.
4883func (s *AudioCodecSettings) SetMp2Settings(v *Mp2Settings) *AudioCodecSettings {
4884	s.Mp2Settings = v
4885	return s
4886}
4887
4888// SetPassThroughSettings sets the PassThroughSettings field's value.
4889func (s *AudioCodecSettings) SetPassThroughSettings(v *PassThroughSettings) *AudioCodecSettings {
4890	s.PassThroughSettings = v
4891	return s
4892}
4893
4894// Audio Description
4895type AudioDescription struct {
4896	_ struct{} `type:"structure"`
4897
4898	// Advanced audio normalization settings.
4899	AudioNormalizationSettings *AudioNormalizationSettings `locationName:"audioNormalizationSettings" type:"structure"`
4900
4901	// The name of the AudioSelector used as the source for this AudioDescription.
4902	//
4903	// AudioSelectorName is a required field
4904	AudioSelectorName *string `locationName:"audioSelectorName" type:"string" required:"true"`
4905
4906	// Applies only if audioTypeControl is useConfigured. The values for audioType
4907	// are defined in ISO-IEC 13818-1.
4908	AudioType *string `locationName:"audioType" type:"string" enum:"AudioType"`
4909
4910	// Determines how audio type is determined. followInput: If the input contains
4911	// an ISO 639 audioType, then that value is passed through to the output. If
4912	// the input contains no ISO 639 audioType, the value in Audio Type is included
4913	// in the output. useConfigured: The value in Audio Type is included in the
4914	// output.Note that this field and audioType are both ignored if inputType is
4915	// broadcasterMixedAd.
4916	AudioTypeControl *string `locationName:"audioTypeControl" type:"string" enum:"AudioDescriptionAudioTypeControl"`
4917
4918	// Audio codec settings.
4919	CodecSettings *AudioCodecSettings `locationName:"codecSettings" type:"structure"`
4920
4921	// Indicates the language of the audio output track. Only used if languageControlMode
4922	// is useConfigured, or there is no ISO 639 language code specified in the input.
4923	LanguageCode *string `locationName:"languageCode" min:"3" type:"string"`
4924
4925	// Choosing followInput will cause the ISO 639 language code of the output to
4926	// follow the ISO 639 language code of the input. The languageCode will be used
4927	// when useConfigured is set, or when followInput is selected but there is no
4928	// ISO 639 language code specified by the input.
4929	LanguageCodeControl *string `locationName:"languageCodeControl" type:"string" enum:"AudioDescriptionLanguageCodeControl"`
4930
4931	// The name of this AudioDescription. Outputs will use this name to uniquely
4932	// identify this AudioDescription. Description names should be unique within
4933	// this Live Event.
4934	//
4935	// Name is a required field
4936	Name *string `locationName:"name" type:"string" required:"true"`
4937
4938	// Settings that control how input audio channels are remixed into the output
4939	// audio channels.
4940	RemixSettings *RemixSettings `locationName:"remixSettings" type:"structure"`
4941
4942	// Used for MS Smooth and Apple HLS outputs. Indicates the name displayed by
4943	// the player (eg. English, or Director Commentary).
4944	StreamName *string `locationName:"streamName" type:"string"`
4945}
4946
4947// String returns the string representation
4948func (s AudioDescription) String() string {
4949	return awsutil.Prettify(s)
4950}
4951
4952// GoString returns the string representation
4953func (s AudioDescription) GoString() string {
4954	return s.String()
4955}
4956
4957// Validate inspects the fields of the type to determine if they are valid.
4958func (s *AudioDescription) Validate() error {
4959	invalidParams := request.ErrInvalidParams{Context: "AudioDescription"}
4960	if s.AudioSelectorName == nil {
4961		invalidParams.Add(request.NewErrParamRequired("AudioSelectorName"))
4962	}
4963	if s.LanguageCode != nil && len(*s.LanguageCode) < 3 {
4964		invalidParams.Add(request.NewErrParamMinLen("LanguageCode", 3))
4965	}
4966	if s.Name == nil {
4967		invalidParams.Add(request.NewErrParamRequired("Name"))
4968	}
4969	if s.CodecSettings != nil {
4970		if err := s.CodecSettings.Validate(); err != nil {
4971			invalidParams.AddNested("CodecSettings", err.(request.ErrInvalidParams))
4972		}
4973	}
4974	if s.RemixSettings != nil {
4975		if err := s.RemixSettings.Validate(); err != nil {
4976			invalidParams.AddNested("RemixSettings", err.(request.ErrInvalidParams))
4977		}
4978	}
4979
4980	if invalidParams.Len() > 0 {
4981		return invalidParams
4982	}
4983	return nil
4984}
4985
4986// SetAudioNormalizationSettings sets the AudioNormalizationSettings field's value.
4987func (s *AudioDescription) SetAudioNormalizationSettings(v *AudioNormalizationSettings) *AudioDescription {
4988	s.AudioNormalizationSettings = v
4989	return s
4990}
4991
4992// SetAudioSelectorName sets the AudioSelectorName field's value.
4993func (s *AudioDescription) SetAudioSelectorName(v string) *AudioDescription {
4994	s.AudioSelectorName = &v
4995	return s
4996}
4997
4998// SetAudioType sets the AudioType field's value.
4999func (s *AudioDescription) SetAudioType(v string) *AudioDescription {
5000	s.AudioType = &v
5001	return s
5002}
5003
5004// SetAudioTypeControl sets the AudioTypeControl field's value.
5005func (s *AudioDescription) SetAudioTypeControl(v string) *AudioDescription {
5006	s.AudioTypeControl = &v
5007	return s
5008}
5009
5010// SetCodecSettings sets the CodecSettings field's value.
5011func (s *AudioDescription) SetCodecSettings(v *AudioCodecSettings) *AudioDescription {
5012	s.CodecSettings = v
5013	return s
5014}
5015
5016// SetLanguageCode sets the LanguageCode field's value.
5017func (s *AudioDescription) SetLanguageCode(v string) *AudioDescription {
5018	s.LanguageCode = &v
5019	return s
5020}
5021
5022// SetLanguageCodeControl sets the LanguageCodeControl field's value.
5023func (s *AudioDescription) SetLanguageCodeControl(v string) *AudioDescription {
5024	s.LanguageCodeControl = &v
5025	return s
5026}
5027
5028// SetName sets the Name field's value.
5029func (s *AudioDescription) SetName(v string) *AudioDescription {
5030	s.Name = &v
5031	return s
5032}
5033
5034// SetRemixSettings sets the RemixSettings field's value.
5035func (s *AudioDescription) SetRemixSettings(v *RemixSettings) *AudioDescription {
5036	s.RemixSettings = v
5037	return s
5038}
5039
5040// SetStreamName sets the StreamName field's value.
5041func (s *AudioDescription) SetStreamName(v string) *AudioDescription {
5042	s.StreamName = &v
5043	return s
5044}
5045
5046// Audio Language Selection
5047type AudioLanguageSelection struct {
5048	_ struct{} `type:"structure"`
5049
5050	// Selects a specific three-letter language code from within an audio source.
5051	//
5052	// LanguageCode is a required field
5053	LanguageCode *string `locationName:"languageCode" type:"string" required:"true"`
5054
5055	// When set to "strict", the transport stream demux strictly identifies audio
5056	// streams by their language descriptor. If a PMT update occurs such that an
5057	// audio stream matching the initially selected language is no longer present
5058	// then mute will be encoded until the language returns. If "loose", then on
5059	// a PMT update the demux will choose another audio stream in the program with
5060	// the same stream type if it can't find one with the same language.
5061	LanguageSelectionPolicy *string `locationName:"languageSelectionPolicy" type:"string" enum:"AudioLanguageSelectionPolicy"`
5062}
5063
5064// String returns the string representation
5065func (s AudioLanguageSelection) String() string {
5066	return awsutil.Prettify(s)
5067}
5068
5069// GoString returns the string representation
5070func (s AudioLanguageSelection) GoString() string {
5071	return s.String()
5072}
5073
5074// Validate inspects the fields of the type to determine if they are valid.
5075func (s *AudioLanguageSelection) Validate() error {
5076	invalidParams := request.ErrInvalidParams{Context: "AudioLanguageSelection"}
5077	if s.LanguageCode == nil {
5078		invalidParams.Add(request.NewErrParamRequired("LanguageCode"))
5079	}
5080
5081	if invalidParams.Len() > 0 {
5082		return invalidParams
5083	}
5084	return nil
5085}
5086
5087// SetLanguageCode sets the LanguageCode field's value.
5088func (s *AudioLanguageSelection) SetLanguageCode(v string) *AudioLanguageSelection {
5089	s.LanguageCode = &v
5090	return s
5091}
5092
5093// SetLanguageSelectionPolicy sets the LanguageSelectionPolicy field's value.
5094func (s *AudioLanguageSelection) SetLanguageSelectionPolicy(v string) *AudioLanguageSelection {
5095	s.LanguageSelectionPolicy = &v
5096	return s
5097}
5098
5099// Audio Normalization Settings
5100type AudioNormalizationSettings struct {
5101	_ struct{} `type:"structure"`
5102
5103	// Audio normalization algorithm to use. itu17701 conforms to the CALM Act specification,
5104	// itu17702 conforms to the EBU R-128 specification.
5105	Algorithm *string `locationName:"algorithm" type:"string" enum:"AudioNormalizationAlgorithm"`
5106
5107	// When set to correctAudio the output audio is corrected using the chosen algorithm.
5108	// If set to measureOnly, the audio will be measured but not adjusted.
5109	AlgorithmControl *string `locationName:"algorithmControl" type:"string" enum:"AudioNormalizationAlgorithmControl"`
5110
5111	// Target LKFS(loudness) to adjust volume to. If no value is entered, a default
5112	// value will be used according to the chosen algorithm. The CALM Act (1770-1)
5113	// recommends a target of -24 LKFS. The EBU R-128 specification (1770-2) recommends
5114	// a target of -23 LKFS.
5115	TargetLkfs *float64 `locationName:"targetLkfs" type:"double"`
5116}
5117
5118// String returns the string representation
5119func (s AudioNormalizationSettings) String() string {
5120	return awsutil.Prettify(s)
5121}
5122
5123// GoString returns the string representation
5124func (s AudioNormalizationSettings) GoString() string {
5125	return s.String()
5126}
5127
5128// SetAlgorithm sets the Algorithm field's value.
5129func (s *AudioNormalizationSettings) SetAlgorithm(v string) *AudioNormalizationSettings {
5130	s.Algorithm = &v
5131	return s
5132}
5133
5134// SetAlgorithmControl sets the AlgorithmControl field's value.
5135func (s *AudioNormalizationSettings) SetAlgorithmControl(v string) *AudioNormalizationSettings {
5136	s.AlgorithmControl = &v
5137	return s
5138}
5139
5140// SetTargetLkfs sets the TargetLkfs field's value.
5141func (s *AudioNormalizationSettings) SetTargetLkfs(v float64) *AudioNormalizationSettings {
5142	s.TargetLkfs = &v
5143	return s
5144}
5145
5146// Audio Only Hls Settings
5147type AudioOnlyHlsSettings struct {
5148	_ struct{} `type:"structure"`
5149
5150	// Specifies the group to which the audio Rendition belongs.
5151	AudioGroupId *string `locationName:"audioGroupId" type:"string"`
5152
5153	// Optional. Specifies the .jpg or .png image to use as the cover art for an
5154	// audio-only output. We recommend a low bit-size file because the image increases
5155	// the output audio bandwidth.The image is attached to the audio as an ID3 tag,
5156	// frame type APIC, picture type 0x10, as per the "ID3 tag version 2.4.0 - Native
5157	// Frames" standard.
5158	AudioOnlyImage *InputLocation `locationName:"audioOnlyImage" type:"structure"`
5159
5160	// Four types of audio-only tracks are supported:Audio-Only Variant StreamThe
5161	// client can play back this audio-only stream instead of video in low-bandwidth
5162	// scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest.Alternate
5163	// Audio, Auto Select, DefaultAlternate rendition that the client should try
5164	// to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest
5165	// with DEFAULT=YES, AUTOSELECT=YESAlternate Audio, Auto Select, Not DefaultAlternate
5166	// rendition that the client may try to play back by default. Represented as
5167	// an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YESAlternate
5168	// Audio, not Auto SelectAlternate rendition that the client will not try to
5169	// play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with
5170	// DEFAULT=NO, AUTOSELECT=NO
5171	AudioTrackType *string `locationName:"audioTrackType" type:"string" enum:"AudioOnlyHlsTrackType"`
5172
5173	// Specifies the segment type.
5174	SegmentType *string `locationName:"segmentType" type:"string" enum:"AudioOnlyHlsSegmentType"`
5175}
5176
5177// String returns the string representation
5178func (s AudioOnlyHlsSettings) String() string {
5179	return awsutil.Prettify(s)
5180}
5181
5182// GoString returns the string representation
5183func (s AudioOnlyHlsSettings) GoString() string {
5184	return s.String()
5185}
5186
5187// Validate inspects the fields of the type to determine if they are valid.
5188func (s *AudioOnlyHlsSettings) Validate() error {
5189	invalidParams := request.ErrInvalidParams{Context: "AudioOnlyHlsSettings"}
5190	if s.AudioOnlyImage != nil {
5191		if err := s.AudioOnlyImage.Validate(); err != nil {
5192			invalidParams.AddNested("AudioOnlyImage", err.(request.ErrInvalidParams))
5193		}
5194	}
5195
5196	if invalidParams.Len() > 0 {
5197		return invalidParams
5198	}
5199	return nil
5200}
5201
5202// SetAudioGroupId sets the AudioGroupId field's value.
5203func (s *AudioOnlyHlsSettings) SetAudioGroupId(v string) *AudioOnlyHlsSettings {
5204	s.AudioGroupId = &v
5205	return s
5206}
5207
5208// SetAudioOnlyImage sets the AudioOnlyImage field's value.
5209func (s *AudioOnlyHlsSettings) SetAudioOnlyImage(v *InputLocation) *AudioOnlyHlsSettings {
5210	s.AudioOnlyImage = v
5211	return s
5212}
5213
5214// SetAudioTrackType sets the AudioTrackType field's value.
5215func (s *AudioOnlyHlsSettings) SetAudioTrackType(v string) *AudioOnlyHlsSettings {
5216	s.AudioTrackType = &v
5217	return s
5218}
5219
5220// SetSegmentType sets the SegmentType field's value.
5221func (s *AudioOnlyHlsSettings) SetSegmentType(v string) *AudioOnlyHlsSettings {
5222	s.SegmentType = &v
5223	return s
5224}
5225
5226// Audio Pid Selection
5227type AudioPidSelection struct {
5228	_ struct{} `type:"structure"`
5229
5230	// Selects a specific PID from within a source.
5231	//
5232	// Pid is a required field
5233	Pid *int64 `locationName:"pid" type:"integer" required:"true"`
5234}
5235
5236// String returns the string representation
5237func (s AudioPidSelection) String() string {
5238	return awsutil.Prettify(s)
5239}
5240
5241// GoString returns the string representation
5242func (s AudioPidSelection) GoString() string {
5243	return s.String()
5244}
5245
5246// Validate inspects the fields of the type to determine if they are valid.
5247func (s *AudioPidSelection) Validate() error {
5248	invalidParams := request.ErrInvalidParams{Context: "AudioPidSelection"}
5249	if s.Pid == nil {
5250		invalidParams.Add(request.NewErrParamRequired("Pid"))
5251	}
5252
5253	if invalidParams.Len() > 0 {
5254		return invalidParams
5255	}
5256	return nil
5257}
5258
5259// SetPid sets the Pid field's value.
5260func (s *AudioPidSelection) SetPid(v int64) *AudioPidSelection {
5261	s.Pid = &v
5262	return s
5263}
5264
5265// Audio Selector
5266type AudioSelector struct {
5267	_ struct{} `type:"structure"`
5268
5269	// The name of this AudioSelector. AudioDescriptions will use this name to uniquely
5270	// identify this Selector. Selector names should be unique per input.
5271	//
5272	// Name is a required field
5273	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
5274
5275	// The audio selector settings.
5276	SelectorSettings *AudioSelectorSettings `locationName:"selectorSettings" type:"structure"`
5277}
5278
5279// String returns the string representation
5280func (s AudioSelector) String() string {
5281	return awsutil.Prettify(s)
5282}
5283
5284// GoString returns the string representation
5285func (s AudioSelector) GoString() string {
5286	return s.String()
5287}
5288
5289// Validate inspects the fields of the type to determine if they are valid.
5290func (s *AudioSelector) Validate() error {
5291	invalidParams := request.ErrInvalidParams{Context: "AudioSelector"}
5292	if s.Name == nil {
5293		invalidParams.Add(request.NewErrParamRequired("Name"))
5294	}
5295	if s.Name != nil && len(*s.Name) < 1 {
5296		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5297	}
5298	if s.SelectorSettings != nil {
5299		if err := s.SelectorSettings.Validate(); err != nil {
5300			invalidParams.AddNested("SelectorSettings", err.(request.ErrInvalidParams))
5301		}
5302	}
5303
5304	if invalidParams.Len() > 0 {
5305		return invalidParams
5306	}
5307	return nil
5308}
5309
5310// SetName sets the Name field's value.
5311func (s *AudioSelector) SetName(v string) *AudioSelector {
5312	s.Name = &v
5313	return s
5314}
5315
5316// SetSelectorSettings sets the SelectorSettings field's value.
5317func (s *AudioSelector) SetSelectorSettings(v *AudioSelectorSettings) *AudioSelector {
5318	s.SelectorSettings = v
5319	return s
5320}
5321
5322// Audio Selector Settings
5323type AudioSelectorSettings struct {
5324	_ struct{} `type:"structure"`
5325
5326	// Audio Language Selection
5327	AudioLanguageSelection *AudioLanguageSelection `locationName:"audioLanguageSelection" type:"structure"`
5328
5329	// Audio Pid Selection
5330	AudioPidSelection *AudioPidSelection `locationName:"audioPidSelection" type:"structure"`
5331}
5332
5333// String returns the string representation
5334func (s AudioSelectorSettings) String() string {
5335	return awsutil.Prettify(s)
5336}
5337
5338// GoString returns the string representation
5339func (s AudioSelectorSettings) GoString() string {
5340	return s.String()
5341}
5342
5343// Validate inspects the fields of the type to determine if they are valid.
5344func (s *AudioSelectorSettings) Validate() error {
5345	invalidParams := request.ErrInvalidParams{Context: "AudioSelectorSettings"}
5346	if s.AudioLanguageSelection != nil {
5347		if err := s.AudioLanguageSelection.Validate(); err != nil {
5348			invalidParams.AddNested("AudioLanguageSelection", err.(request.ErrInvalidParams))
5349		}
5350	}
5351	if s.AudioPidSelection != nil {
5352		if err := s.AudioPidSelection.Validate(); err != nil {
5353			invalidParams.AddNested("AudioPidSelection", err.(request.ErrInvalidParams))
5354		}
5355	}
5356
5357	if invalidParams.Len() > 0 {
5358		return invalidParams
5359	}
5360	return nil
5361}
5362
5363// SetAudioLanguageSelection sets the AudioLanguageSelection field's value.
5364func (s *AudioSelectorSettings) SetAudioLanguageSelection(v *AudioLanguageSelection) *AudioSelectorSettings {
5365	s.AudioLanguageSelection = v
5366	return s
5367}
5368
5369// SetAudioPidSelection sets the AudioPidSelection field's value.
5370func (s *AudioSelectorSettings) SetAudioPidSelection(v *AudioPidSelection) *AudioSelectorSettings {
5371	s.AudioPidSelection = v
5372	return s
5373}
5374
5375// Avail Blanking
5376type AvailBlanking struct {
5377	_ struct{} `type:"structure"`
5378
5379	// Blanking image to be used. Leave empty for solid black. Only bmp and png
5380	// images are supported.
5381	AvailBlankingImage *InputLocation `locationName:"availBlankingImage" type:"structure"`
5382
5383	// When set to enabled, causes video, audio and captions to be blanked when
5384	// insertion metadata is added.
5385	State *string `locationName:"state" type:"string" enum:"AvailBlankingState"`
5386}
5387
5388// String returns the string representation
5389func (s AvailBlanking) String() string {
5390	return awsutil.Prettify(s)
5391}
5392
5393// GoString returns the string representation
5394func (s AvailBlanking) GoString() string {
5395	return s.String()
5396}
5397
5398// Validate inspects the fields of the type to determine if they are valid.
5399func (s *AvailBlanking) Validate() error {
5400	invalidParams := request.ErrInvalidParams{Context: "AvailBlanking"}
5401	if s.AvailBlankingImage != nil {
5402		if err := s.AvailBlankingImage.Validate(); err != nil {
5403			invalidParams.AddNested("AvailBlankingImage", err.(request.ErrInvalidParams))
5404		}
5405	}
5406
5407	if invalidParams.Len() > 0 {
5408		return invalidParams
5409	}
5410	return nil
5411}
5412
5413// SetAvailBlankingImage sets the AvailBlankingImage field's value.
5414func (s *AvailBlanking) SetAvailBlankingImage(v *InputLocation) *AvailBlanking {
5415	s.AvailBlankingImage = v
5416	return s
5417}
5418
5419// SetState sets the State field's value.
5420func (s *AvailBlanking) SetState(v string) *AvailBlanking {
5421	s.State = &v
5422	return s
5423}
5424
5425// Avail Configuration
5426type AvailConfiguration struct {
5427	_ struct{} `type:"structure"`
5428
5429	// Ad avail settings.
5430	AvailSettings *AvailSettings `locationName:"availSettings" type:"structure"`
5431}
5432
5433// String returns the string representation
5434func (s AvailConfiguration) String() string {
5435	return awsutil.Prettify(s)
5436}
5437
5438// GoString returns the string representation
5439func (s AvailConfiguration) GoString() string {
5440	return s.String()
5441}
5442
5443// Validate inspects the fields of the type to determine if they are valid.
5444func (s *AvailConfiguration) Validate() error {
5445	invalidParams := request.ErrInvalidParams{Context: "AvailConfiguration"}
5446	if s.AvailSettings != nil {
5447		if err := s.AvailSettings.Validate(); err != nil {
5448			invalidParams.AddNested("AvailSettings", err.(request.ErrInvalidParams))
5449		}
5450	}
5451
5452	if invalidParams.Len() > 0 {
5453		return invalidParams
5454	}
5455	return nil
5456}
5457
5458// SetAvailSettings sets the AvailSettings field's value.
5459func (s *AvailConfiguration) SetAvailSettings(v *AvailSettings) *AvailConfiguration {
5460	s.AvailSettings = v
5461	return s
5462}
5463
5464// Avail Settings
5465type AvailSettings struct {
5466	_ struct{} `type:"structure"`
5467
5468	// Scte35 Splice Insert
5469	Scte35SpliceInsert *Scte35SpliceInsert `locationName:"scte35SpliceInsert" type:"structure"`
5470
5471	// Scte35 Time Signal Apos
5472	Scte35TimeSignalApos *Scte35TimeSignalApos `locationName:"scte35TimeSignalApos" type:"structure"`
5473}
5474
5475// String returns the string representation
5476func (s AvailSettings) String() string {
5477	return awsutil.Prettify(s)
5478}
5479
5480// GoString returns the string representation
5481func (s AvailSettings) GoString() string {
5482	return s.String()
5483}
5484
5485// Validate inspects the fields of the type to determine if they are valid.
5486func (s *AvailSettings) Validate() error {
5487	invalidParams := request.ErrInvalidParams{Context: "AvailSettings"}
5488	if s.Scte35SpliceInsert != nil {
5489		if err := s.Scte35SpliceInsert.Validate(); err != nil {
5490			invalidParams.AddNested("Scte35SpliceInsert", err.(request.ErrInvalidParams))
5491		}
5492	}
5493	if s.Scte35TimeSignalApos != nil {
5494		if err := s.Scte35TimeSignalApos.Validate(); err != nil {
5495			invalidParams.AddNested("Scte35TimeSignalApos", err.(request.ErrInvalidParams))
5496		}
5497	}
5498
5499	if invalidParams.Len() > 0 {
5500		return invalidParams
5501	}
5502	return nil
5503}
5504
5505// SetScte35SpliceInsert sets the Scte35SpliceInsert field's value.
5506func (s *AvailSettings) SetScte35SpliceInsert(v *Scte35SpliceInsert) *AvailSettings {
5507	s.Scte35SpliceInsert = v
5508	return s
5509}
5510
5511// SetScte35TimeSignalApos sets the Scte35TimeSignalApos field's value.
5512func (s *AvailSettings) SetScte35TimeSignalApos(v *Scte35TimeSignalApos) *AvailSettings {
5513	s.Scte35TimeSignalApos = v
5514	return s
5515}
5516
5517// A list of schedule actions to create (in a request) or that have been created
5518// (in a response).
5519type BatchScheduleActionCreateRequest struct {
5520	_ struct{} `type:"structure"`
5521
5522	// A list of schedule actions to create.
5523	//
5524	// ScheduleActions is a required field
5525	ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list" required:"true"`
5526}
5527
5528// String returns the string representation
5529func (s BatchScheduleActionCreateRequest) String() string {
5530	return awsutil.Prettify(s)
5531}
5532
5533// GoString returns the string representation
5534func (s BatchScheduleActionCreateRequest) GoString() string {
5535	return s.String()
5536}
5537
5538// Validate inspects the fields of the type to determine if they are valid.
5539func (s *BatchScheduleActionCreateRequest) Validate() error {
5540	invalidParams := request.ErrInvalidParams{Context: "BatchScheduleActionCreateRequest"}
5541	if s.ScheduleActions == nil {
5542		invalidParams.Add(request.NewErrParamRequired("ScheduleActions"))
5543	}
5544	if s.ScheduleActions != nil {
5545		for i, v := range s.ScheduleActions {
5546			if v == nil {
5547				continue
5548			}
5549			if err := v.Validate(); err != nil {
5550				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScheduleActions", i), err.(request.ErrInvalidParams))
5551			}
5552		}
5553	}
5554
5555	if invalidParams.Len() > 0 {
5556		return invalidParams
5557	}
5558	return nil
5559}
5560
5561// SetScheduleActions sets the ScheduleActions field's value.
5562func (s *BatchScheduleActionCreateRequest) SetScheduleActions(v []*ScheduleAction) *BatchScheduleActionCreateRequest {
5563	s.ScheduleActions = v
5564	return s
5565}
5566
5567// List of actions that have been created in the schedule.
5568type BatchScheduleActionCreateResult struct {
5569	_ struct{} `type:"structure"`
5570
5571	// List of actions that have been created in the schedule.
5572	//
5573	// ScheduleActions is a required field
5574	ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list" required:"true"`
5575}
5576
5577// String returns the string representation
5578func (s BatchScheduleActionCreateResult) String() string {
5579	return awsutil.Prettify(s)
5580}
5581
5582// GoString returns the string representation
5583func (s BatchScheduleActionCreateResult) GoString() string {
5584	return s.String()
5585}
5586
5587// SetScheduleActions sets the ScheduleActions field's value.
5588func (s *BatchScheduleActionCreateResult) SetScheduleActions(v []*ScheduleAction) *BatchScheduleActionCreateResult {
5589	s.ScheduleActions = v
5590	return s
5591}
5592
5593// A list of schedule actions to delete.
5594type BatchScheduleActionDeleteRequest struct {
5595	_ struct{} `type:"structure"`
5596
5597	// A list of schedule actions to delete.
5598	//
5599	// ActionNames is a required field
5600	ActionNames []*string `locationName:"actionNames" type:"list" required:"true"`
5601}
5602
5603// String returns the string representation
5604func (s BatchScheduleActionDeleteRequest) String() string {
5605	return awsutil.Prettify(s)
5606}
5607
5608// GoString returns the string representation
5609func (s BatchScheduleActionDeleteRequest) GoString() string {
5610	return s.String()
5611}
5612
5613// Validate inspects the fields of the type to determine if they are valid.
5614func (s *BatchScheduleActionDeleteRequest) Validate() error {
5615	invalidParams := request.ErrInvalidParams{Context: "BatchScheduleActionDeleteRequest"}
5616	if s.ActionNames == nil {
5617		invalidParams.Add(request.NewErrParamRequired("ActionNames"))
5618	}
5619
5620	if invalidParams.Len() > 0 {
5621		return invalidParams
5622	}
5623	return nil
5624}
5625
5626// SetActionNames sets the ActionNames field's value.
5627func (s *BatchScheduleActionDeleteRequest) SetActionNames(v []*string) *BatchScheduleActionDeleteRequest {
5628	s.ActionNames = v
5629	return s
5630}
5631
5632// List of actions that have been deleted from the schedule.
5633type BatchScheduleActionDeleteResult struct {
5634	_ struct{} `type:"structure"`
5635
5636	// List of actions that have been deleted from the schedule.
5637	//
5638	// ScheduleActions is a required field
5639	ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list" required:"true"`
5640}
5641
5642// String returns the string representation
5643func (s BatchScheduleActionDeleteResult) String() string {
5644	return awsutil.Prettify(s)
5645}
5646
5647// GoString returns the string representation
5648func (s BatchScheduleActionDeleteResult) GoString() string {
5649	return s.String()
5650}
5651
5652// SetScheduleActions sets the ScheduleActions field's value.
5653func (s *BatchScheduleActionDeleteResult) SetScheduleActions(v []*ScheduleAction) *BatchScheduleActionDeleteResult {
5654	s.ScheduleActions = v
5655	return s
5656}
5657
5658// A request to create actions (add actions to the schedule), delete actions
5659// (remove actions from the schedule), or both create and delete actions.
5660type BatchUpdateScheduleInput struct {
5661	_ struct{} `type:"structure"`
5662
5663	// ChannelId is a required field
5664	ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"`
5665
5666	// Schedule actions to create in the schedule.
5667	Creates *BatchScheduleActionCreateRequest `locationName:"creates" type:"structure"`
5668
5669	// Schedule actions to delete from the schedule.
5670	Deletes *BatchScheduleActionDeleteRequest `locationName:"deletes" type:"structure"`
5671}
5672
5673// String returns the string representation
5674func (s BatchUpdateScheduleInput) String() string {
5675	return awsutil.Prettify(s)
5676}
5677
5678// GoString returns the string representation
5679func (s BatchUpdateScheduleInput) GoString() string {
5680	return s.String()
5681}
5682
5683// Validate inspects the fields of the type to determine if they are valid.
5684func (s *BatchUpdateScheduleInput) Validate() error {
5685	invalidParams := request.ErrInvalidParams{Context: "BatchUpdateScheduleInput"}
5686	if s.ChannelId == nil {
5687		invalidParams.Add(request.NewErrParamRequired("ChannelId"))
5688	}
5689	if s.ChannelId != nil && len(*s.ChannelId) < 1 {
5690		invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1))
5691	}
5692	if s.Creates != nil {
5693		if err := s.Creates.Validate(); err != nil {
5694			invalidParams.AddNested("Creates", err.(request.ErrInvalidParams))
5695		}
5696	}
5697	if s.Deletes != nil {
5698		if err := s.Deletes.Validate(); err != nil {
5699			invalidParams.AddNested("Deletes", err.(request.ErrInvalidParams))
5700		}
5701	}
5702
5703	if invalidParams.Len() > 0 {
5704		return invalidParams
5705	}
5706	return nil
5707}
5708
5709// SetChannelId sets the ChannelId field's value.
5710func (s *BatchUpdateScheduleInput) SetChannelId(v string) *BatchUpdateScheduleInput {
5711	s.ChannelId = &v
5712	return s
5713}
5714
5715// SetCreates sets the Creates field's value.
5716func (s *BatchUpdateScheduleInput) SetCreates(v *BatchScheduleActionCreateRequest) *BatchUpdateScheduleInput {
5717	s.Creates = v
5718	return s
5719}
5720
5721// SetDeletes sets the Deletes field's value.
5722func (s *BatchUpdateScheduleInput) SetDeletes(v *BatchScheduleActionDeleteRequest) *BatchUpdateScheduleInput {
5723	s.Deletes = v
5724	return s
5725}
5726
5727type BatchUpdateScheduleOutput struct {
5728	_ struct{} `type:"structure"`
5729
5730	// List of actions that have been created in the schedule.
5731	Creates *BatchScheduleActionCreateResult `locationName:"creates" type:"structure"`
5732
5733	// List of actions that have been deleted from the schedule.
5734	Deletes *BatchScheduleActionDeleteResult `locationName:"deletes" type:"structure"`
5735}
5736
5737// String returns the string representation
5738func (s BatchUpdateScheduleOutput) String() string {
5739	return awsutil.Prettify(s)
5740}
5741
5742// GoString returns the string representation
5743func (s BatchUpdateScheduleOutput) GoString() string {
5744	return s.String()
5745}
5746
5747// SetCreates sets the Creates field's value.
5748func (s *BatchUpdateScheduleOutput) SetCreates(v *BatchScheduleActionCreateResult) *BatchUpdateScheduleOutput {
5749	s.Creates = v
5750	return s
5751}
5752
5753// SetDeletes sets the Deletes field's value.
5754func (s *BatchUpdateScheduleOutput) SetDeletes(v *BatchScheduleActionDeleteResult) *BatchUpdateScheduleOutput {
5755	s.Deletes = v
5756	return s
5757}
5758
5759// Blackout Slate
5760type BlackoutSlate struct {
5761	_ struct{} `type:"structure"`
5762
5763	// Blackout slate image to be used. Leave empty for solid black. Only bmp and
5764	// png images are supported.
5765	BlackoutSlateImage *InputLocation `locationName:"blackoutSlateImage" type:"structure"`
5766
5767	// Setting to enabled causes the encoder to blackout the video, audio, and captions,
5768	// and raise the "Network Blackout Image" slate when an SCTE104/35 Network End
5769	// Segmentation Descriptor is encountered. The blackout will be lifted when
5770	// the Network Start Segmentation Descriptor is encountered. The Network End
5771	// and Network Start descriptors must contain a network ID that matches the
5772	// value entered in "Network ID".
5773	NetworkEndBlackout *string `locationName:"networkEndBlackout" type:"string" enum:"BlackoutSlateNetworkEndBlackout"`
5774
5775	// Path to local file to use as Network End Blackout image. Image will be scaled
5776	// to fill the entire output raster.
5777	NetworkEndBlackoutImage *InputLocation `locationName:"networkEndBlackoutImage" type:"structure"`
5778
5779	// Provides Network ID that matches EIDR ID format (e.g., "10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C").
5780	NetworkId *string `locationName:"networkId" min:"34" type:"string"`
5781
5782	// When set to enabled, causes video, audio and captions to be blanked when
5783	// indicated by program metadata.
5784	State *string `locationName:"state" type:"string" enum:"BlackoutSlateState"`
5785}
5786
5787// String returns the string representation
5788func (s BlackoutSlate) String() string {
5789	return awsutil.Prettify(s)
5790}
5791
5792// GoString returns the string representation
5793func (s BlackoutSlate) GoString() string {
5794	return s.String()
5795}
5796
5797// Validate inspects the fields of the type to determine if they are valid.
5798func (s *BlackoutSlate) Validate() error {
5799	invalidParams := request.ErrInvalidParams{Context: "BlackoutSlate"}
5800	if s.NetworkId != nil && len(*s.NetworkId) < 34 {
5801		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 34))
5802	}
5803	if s.BlackoutSlateImage != nil {
5804		if err := s.BlackoutSlateImage.Validate(); err != nil {
5805			invalidParams.AddNested("BlackoutSlateImage", err.(request.ErrInvalidParams))
5806		}
5807	}
5808	if s.NetworkEndBlackoutImage != nil {
5809		if err := s.NetworkEndBlackoutImage.Validate(); err != nil {
5810			invalidParams.AddNested("NetworkEndBlackoutImage", err.(request.ErrInvalidParams))
5811		}
5812	}
5813
5814	if invalidParams.Len() > 0 {
5815		return invalidParams
5816	}
5817	return nil
5818}
5819
5820// SetBlackoutSlateImage sets the BlackoutSlateImage field's value.
5821func (s *BlackoutSlate) SetBlackoutSlateImage(v *InputLocation) *BlackoutSlate {
5822	s.BlackoutSlateImage = v
5823	return s
5824}
5825
5826// SetNetworkEndBlackout sets the NetworkEndBlackout field's value.
5827func (s *BlackoutSlate) SetNetworkEndBlackout(v string) *BlackoutSlate {
5828	s.NetworkEndBlackout = &v
5829	return s
5830}
5831
5832// SetNetworkEndBlackoutImage sets the NetworkEndBlackoutImage field's value.
5833func (s *BlackoutSlate) SetNetworkEndBlackoutImage(v *InputLocation) *BlackoutSlate {
5834	s.NetworkEndBlackoutImage = v
5835	return s
5836}
5837
5838// SetNetworkId sets the NetworkId field's value.
5839func (s *BlackoutSlate) SetNetworkId(v string) *BlackoutSlate {
5840	s.NetworkId = &v
5841	return s
5842}
5843
5844// SetState sets the State field's value.
5845func (s *BlackoutSlate) SetState(v string) *BlackoutSlate {
5846	s.State = &v
5847	return s
5848}
5849
5850// Burn In Destination Settings
5851type BurnInDestinationSettings struct {
5852	_ struct{} `type:"structure"`
5853
5854	// If no explicit xPosition or yPosition is provided, setting alignment to centered
5855	// will place the captions at the bottom center of the output. Similarly, setting
5856	// a left alignment will align captions to the bottom left of the output. If
5857	// x and y positions are given in conjunction with the alignment parameter,
5858	// the font will be justified (either left or centered) relative to those coordinates.
5859	// Selecting "smart" justification will left-justify live subtitles and center-justify
5860	// pre-recorded subtitles. All burn-in and DVB-Sub font settings must match.
5861	Alignment *string `locationName:"alignment" type:"string" enum:"BurnInAlignment"`
5862
5863	// Specifies the color of the rectangle behind the captions. All burn-in and
5864	// DVB-Sub font settings must match.
5865	BackgroundColor *string `locationName:"backgroundColor" type:"string" enum:"BurnInBackgroundColor"`
5866
5867	// Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent.
5868	// Leaving this parameter out is equivalent to setting it to 0 (transparent).
5869	// All burn-in and DVB-Sub font settings must match.
5870	BackgroundOpacity *int64 `locationName:"backgroundOpacity" type:"integer"`
5871
5872	// External font file used for caption burn-in. File extension must be 'ttf'
5873	// or 'tte'. Although the user can select output fonts for many different types
5874	// of input captions, embedded, STL and teletext sources use a strict grid system.
5875	// Using external fonts with these caption sources could cause unexpected display
5876	// of proportional fonts. All burn-in and DVB-Sub font settings must match.
5877	Font *InputLocation `locationName:"font" type:"structure"`
5878
5879	// Specifies the color of the burned-in captions. This option is not valid for
5880	// source captions that are STL, 608/embedded or teletext. These source settings
5881	// are already pre-defined by the caption stream. All burn-in and DVB-Sub font
5882	// settings must match.
5883	FontColor *string `locationName:"fontColor" type:"string" enum:"BurnInFontColor"`
5884
5885	// Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent.
5886	// All burn-in and DVB-Sub font settings must match.
5887	FontOpacity *int64 `locationName:"fontOpacity" type:"integer"`
5888
5889	// Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and
5890	// DVB-Sub font settings must match.
5891	FontResolution *int64 `locationName:"fontResolution" min:"96" type:"integer"`
5892
5893	// When set to 'auto' fontSize will scale depending on the size of the output.
5894	// Giving a positive integer will specify the exact font size in points. All
5895	// burn-in and DVB-Sub font settings must match.
5896	FontSize *string `locationName:"fontSize" type:"string"`
5897
5898	// Specifies font outline color. This option is not valid for source captions
5899	// that are either 608/embedded or teletext. These source settings are already
5900	// pre-defined by the caption stream. All burn-in and DVB-Sub font settings
5901	// must match.
5902	OutlineColor *string `locationName:"outlineColor" type:"string" enum:"BurnInOutlineColor"`
5903
5904	// Specifies font outline size in pixels. This option is not valid for source
5905	// captions that are either 608/embedded or teletext. These source settings
5906	// are already pre-defined by the caption stream. All burn-in and DVB-Sub font
5907	// settings must match.
5908	OutlineSize *int64 `locationName:"outlineSize" type:"integer"`
5909
5910	// Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub
5911	// font settings must match.
5912	ShadowColor *string `locationName:"shadowColor" type:"string" enum:"BurnInShadowColor"`
5913
5914	// Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving
5915	// this parameter out is equivalent to setting it to 0 (transparent). All burn-in
5916	// and DVB-Sub font settings must match.
5917	ShadowOpacity *int64 `locationName:"shadowOpacity" type:"integer"`
5918
5919	// Specifies the horizontal offset of the shadow relative to the captions in
5920	// pixels. A value of -2 would result in a shadow offset 2 pixels to the left.
5921	// All burn-in and DVB-Sub font settings must match.
5922	ShadowXOffset *int64 `locationName:"shadowXOffset" type:"integer"`
5923
5924	// Specifies the vertical offset of the shadow relative to the captions in pixels.
5925	// A value of -2 would result in a shadow offset 2 pixels above the text. All
5926	// burn-in and DVB-Sub font settings must match.
5927	ShadowYOffset *int64 `locationName:"shadowYOffset" type:"integer"`
5928
5929	// Controls whether a fixed grid size will be used to generate the output subtitles
5930	// bitmap. Only applicable for Teletext inputs and DVB-Sub/Burn-in outputs.
5931	TeletextGridControl *string `locationName:"teletextGridControl" type:"string" enum:"BurnInTeletextGridControl"`
5932
5933	// Specifies the horizontal position of the caption relative to the left side
5934	// of the output in pixels. A value of 10 would result in the captions starting
5935	// 10 pixels from the left of the output. If no explicit xPosition is provided,
5936	// the horizontal caption position will be determined by the alignment parameter.
5937	// All burn-in and DVB-Sub font settings must match.
5938	XPosition *int64 `locationName:"xPosition" type:"integer"`
5939
5940	// Specifies the vertical position of the caption relative to the top of the
5941	// output in pixels. A value of 10 would result in the captions starting 10
5942	// pixels from the top of the output. If no explicit yPosition is provided,
5943	// the caption will be positioned towards the bottom of the output. All burn-in
5944	// and DVB-Sub font settings must match.
5945	YPosition *int64 `locationName:"yPosition" type:"integer"`
5946}
5947
5948// String returns the string representation
5949func (s BurnInDestinationSettings) String() string {
5950	return awsutil.Prettify(s)
5951}
5952
5953// GoString returns the string representation
5954func (s BurnInDestinationSettings) GoString() string {
5955	return s.String()
5956}
5957
5958// Validate inspects the fields of the type to determine if they are valid.
5959func (s *BurnInDestinationSettings) Validate() error {
5960	invalidParams := request.ErrInvalidParams{Context: "BurnInDestinationSettings"}
5961	if s.FontResolution != nil && *s.FontResolution < 96 {
5962		invalidParams.Add(request.NewErrParamMinValue("FontResolution", 96))
5963	}
5964	if s.Font != nil {
5965		if err := s.Font.Validate(); err != nil {
5966			invalidParams.AddNested("Font", err.(request.ErrInvalidParams))
5967		}
5968	}
5969
5970	if invalidParams.Len() > 0 {
5971		return invalidParams
5972	}
5973	return nil
5974}
5975
5976// SetAlignment sets the Alignment field's value.
5977func (s *BurnInDestinationSettings) SetAlignment(v string) *BurnInDestinationSettings {
5978	s.Alignment = &v
5979	return s
5980}
5981
5982// SetBackgroundColor sets the BackgroundColor field's value.
5983func (s *BurnInDestinationSettings) SetBackgroundColor(v string) *BurnInDestinationSettings {
5984	s.BackgroundColor = &v
5985	return s
5986}
5987
5988// SetBackgroundOpacity sets the BackgroundOpacity field's value.
5989func (s *BurnInDestinationSettings) SetBackgroundOpacity(v int64) *BurnInDestinationSettings {
5990	s.BackgroundOpacity = &v
5991	return s
5992}
5993
5994// SetFont sets the Font field's value.
5995func (s *BurnInDestinationSettings) SetFont(v *InputLocation) *BurnInDestinationSettings {
5996	s.Font = v
5997	return s
5998}
5999
6000// SetFontColor sets the FontColor field's value.
6001func (s *BurnInDestinationSettings) SetFontColor(v string) *BurnInDestinationSettings {
6002	s.FontColor = &v
6003	return s
6004}
6005
6006// SetFontOpacity sets the FontOpacity field's value.
6007func (s *BurnInDestinationSettings) SetFontOpacity(v int64) *BurnInDestinationSettings {
6008	s.FontOpacity = &v
6009	return s
6010}
6011
6012// SetFontResolution sets the FontResolution field's value.
6013func (s *BurnInDestinationSettings) SetFontResolution(v int64) *BurnInDestinationSettings {
6014	s.FontResolution = &v
6015	return s
6016}
6017
6018// SetFontSize sets the FontSize field's value.
6019func (s *BurnInDestinationSettings) SetFontSize(v string) *BurnInDestinationSettings {
6020	s.FontSize = &v
6021	return s
6022}
6023
6024// SetOutlineColor sets the OutlineColor field's value.
6025func (s *BurnInDestinationSettings) SetOutlineColor(v string) *BurnInDestinationSettings {
6026	s.OutlineColor = &v
6027	return s
6028}
6029
6030// SetOutlineSize sets the OutlineSize field's value.
6031func (s *BurnInDestinationSettings) SetOutlineSize(v int64) *BurnInDestinationSettings {
6032	s.OutlineSize = &v
6033	return s
6034}
6035
6036// SetShadowColor sets the ShadowColor field's value.
6037func (s *BurnInDestinationSettings) SetShadowColor(v string) *BurnInDestinationSettings {
6038	s.ShadowColor = &v
6039	return s
6040}
6041
6042// SetShadowOpacity sets the ShadowOpacity field's value.
6043func (s *BurnInDestinationSettings) SetShadowOpacity(v int64) *BurnInDestinationSettings {
6044	s.ShadowOpacity = &v
6045	return s
6046}
6047
6048// SetShadowXOffset sets the ShadowXOffset field's value.
6049func (s *BurnInDestinationSettings) SetShadowXOffset(v int64) *BurnInDestinationSettings {
6050	s.ShadowXOffset = &v
6051	return s
6052}
6053
6054// SetShadowYOffset sets the ShadowYOffset field's value.
6055func (s *BurnInDestinationSettings) SetShadowYOffset(v int64) *BurnInDestinationSettings {
6056	s.ShadowYOffset = &v
6057	return s
6058}
6059
6060// SetTeletextGridControl sets the TeletextGridControl field's value.
6061func (s *BurnInDestinationSettings) SetTeletextGridControl(v string) *BurnInDestinationSettings {
6062	s.TeletextGridControl = &v
6063	return s
6064}
6065
6066// SetXPosition sets the XPosition field's value.
6067func (s *BurnInDestinationSettings) SetXPosition(v int64) *BurnInDestinationSettings {
6068	s.XPosition = &v
6069	return s
6070}
6071
6072// SetYPosition sets the YPosition field's value.
6073func (s *BurnInDestinationSettings) SetYPosition(v int64) *BurnInDestinationSettings {
6074	s.YPosition = &v
6075	return s
6076}
6077
6078// Caption Description
6079type CaptionDescription struct {
6080	_ struct{} `type:"structure"`
6081
6082	// Specifies which input caption selector to use as a caption source when generating
6083	// output captions. This field should match a captionSelector name.
6084	//
6085	// CaptionSelectorName is a required field
6086	CaptionSelectorName *string `locationName:"captionSelectorName" type:"string" required:"true"`
6087
6088	// Additional settings for captions destination that depend on the destination
6089	// type.
6090	DestinationSettings *CaptionDestinationSettings `locationName:"destinationSettings" type:"structure"`
6091
6092	// ISO 639-2 three-digit code: http://www.loc.gov/standards/iso639-2/
6093	LanguageCode *string `locationName:"languageCode" type:"string"`
6094
6095	// Human readable information to indicate captions available for players (eg.
6096	// English, or Spanish).
6097	LanguageDescription *string `locationName:"languageDescription" type:"string"`
6098
6099	// Name of the caption description. Used to associate a caption description
6100	// with an output. Names must be unique within an event.
6101	//
6102	// Name is a required field
6103	Name *string `locationName:"name" type:"string" required:"true"`
6104}
6105
6106// String returns the string representation
6107func (s CaptionDescription) String() string {
6108	return awsutil.Prettify(s)
6109}
6110
6111// GoString returns the string representation
6112func (s CaptionDescription) GoString() string {
6113	return s.String()
6114}
6115
6116// Validate inspects the fields of the type to determine if they are valid.
6117func (s *CaptionDescription) Validate() error {
6118	invalidParams := request.ErrInvalidParams{Context: "CaptionDescription"}
6119	if s.CaptionSelectorName == nil {
6120		invalidParams.Add(request.NewErrParamRequired("CaptionSelectorName"))
6121	}
6122	if s.Name == nil {
6123		invalidParams.Add(request.NewErrParamRequired("Name"))
6124	}
6125	if s.DestinationSettings != nil {
6126		if err := s.DestinationSettings.Validate(); err != nil {
6127			invalidParams.AddNested("DestinationSettings", err.(request.ErrInvalidParams))
6128		}
6129	}
6130
6131	if invalidParams.Len() > 0 {
6132		return invalidParams
6133	}
6134	return nil
6135}
6136
6137// SetCaptionSelectorName sets the CaptionSelectorName field's value.
6138func (s *CaptionDescription) SetCaptionSelectorName(v string) *CaptionDescription {
6139	s.CaptionSelectorName = &v
6140	return s
6141}
6142
6143// SetDestinationSettings sets the DestinationSettings field's value.
6144func (s *CaptionDescription) SetDestinationSettings(v *CaptionDestinationSettings) *CaptionDescription {
6145	s.DestinationSettings = v
6146	return s
6147}
6148
6149// SetLanguageCode sets the LanguageCode field's value.
6150func (s *CaptionDescription) SetLanguageCode(v string) *CaptionDescription {
6151	s.LanguageCode = &v
6152	return s
6153}
6154
6155// SetLanguageDescription sets the LanguageDescription field's value.
6156func (s *CaptionDescription) SetLanguageDescription(v string) *CaptionDescription {
6157	s.LanguageDescription = &v
6158	return s
6159}
6160
6161// SetName sets the Name field's value.
6162func (s *CaptionDescription) SetName(v string) *CaptionDescription {
6163	s.Name = &v
6164	return s
6165}
6166
6167// Caption Destination Settings
6168type CaptionDestinationSettings struct {
6169	_ struct{} `type:"structure"`
6170
6171	// Arib Destination Settings
6172	AribDestinationSettings *AribDestinationSettings `locationName:"aribDestinationSettings" type:"structure"`
6173
6174	// Burn In Destination Settings
6175	BurnInDestinationSettings *BurnInDestinationSettings `locationName:"burnInDestinationSettings" type:"structure"`
6176
6177	// Dvb Sub Destination Settings
6178	DvbSubDestinationSettings *DvbSubDestinationSettings `locationName:"dvbSubDestinationSettings" type:"structure"`
6179
6180	// Embedded Destination Settings
6181	EmbeddedDestinationSettings *EmbeddedDestinationSettings `locationName:"embeddedDestinationSettings" type:"structure"`
6182
6183	// Embedded Plus Scte20 Destination Settings
6184	EmbeddedPlusScte20DestinationSettings *EmbeddedPlusScte20DestinationSettings `locationName:"embeddedPlusScte20DestinationSettings" type:"structure"`
6185
6186	// Rtmp Caption Info Destination Settings
6187	RtmpCaptionInfoDestinationSettings *RtmpCaptionInfoDestinationSettings `locationName:"rtmpCaptionInfoDestinationSettings" type:"structure"`
6188
6189	// Scte20 Plus Embedded Destination Settings
6190	Scte20PlusEmbeddedDestinationSettings *Scte20PlusEmbeddedDestinationSettings `locationName:"scte20PlusEmbeddedDestinationSettings" type:"structure"`
6191
6192	// Scte27 Destination Settings
6193	Scte27DestinationSettings *Scte27DestinationSettings `locationName:"scte27DestinationSettings" type:"structure"`
6194
6195	// Smpte Tt Destination Settings
6196	SmpteTtDestinationSettings *SmpteTtDestinationSettings `locationName:"smpteTtDestinationSettings" type:"structure"`
6197
6198	// Teletext Destination Settings
6199	TeletextDestinationSettings *TeletextDestinationSettings `locationName:"teletextDestinationSettings" type:"structure"`
6200
6201	// Ttml Destination Settings
6202	TtmlDestinationSettings *TtmlDestinationSettings `locationName:"ttmlDestinationSettings" type:"structure"`
6203
6204	// Webvtt Destination Settings
6205	WebvttDestinationSettings *WebvttDestinationSettings `locationName:"webvttDestinationSettings" type:"structure"`
6206}
6207
6208// String returns the string representation
6209func (s CaptionDestinationSettings) String() string {
6210	return awsutil.Prettify(s)
6211}
6212
6213// GoString returns the string representation
6214func (s CaptionDestinationSettings) GoString() string {
6215	return s.String()
6216}
6217
6218// Validate inspects the fields of the type to determine if they are valid.
6219func (s *CaptionDestinationSettings) Validate() error {
6220	invalidParams := request.ErrInvalidParams{Context: "CaptionDestinationSettings"}
6221	if s.BurnInDestinationSettings != nil {
6222		if err := s.BurnInDestinationSettings.Validate(); err != nil {
6223			invalidParams.AddNested("BurnInDestinationSettings", err.(request.ErrInvalidParams))
6224		}
6225	}
6226	if s.DvbSubDestinationSettings != nil {
6227		if err := s.DvbSubDestinationSettings.Validate(); err != nil {
6228			invalidParams.AddNested("DvbSubDestinationSettings", err.(request.ErrInvalidParams))
6229		}
6230	}
6231
6232	if invalidParams.Len() > 0 {
6233		return invalidParams
6234	}
6235	return nil
6236}
6237
6238// SetAribDestinationSettings sets the AribDestinationSettings field's value.
6239func (s *CaptionDestinationSettings) SetAribDestinationSettings(v *AribDestinationSettings) *CaptionDestinationSettings {
6240	s.AribDestinationSettings = v
6241	return s
6242}
6243
6244// SetBurnInDestinationSettings sets the BurnInDestinationSettings field's value.
6245func (s *CaptionDestinationSettings) SetBurnInDestinationSettings(v *BurnInDestinationSettings) *CaptionDestinationSettings {
6246	s.BurnInDestinationSettings = v
6247	return s
6248}
6249
6250// SetDvbSubDestinationSettings sets the DvbSubDestinationSettings field's value.
6251func (s *CaptionDestinationSettings) SetDvbSubDestinationSettings(v *DvbSubDestinationSettings) *CaptionDestinationSettings {
6252	s.DvbSubDestinationSettings = v
6253	return s
6254}
6255
6256// SetEmbeddedDestinationSettings sets the EmbeddedDestinationSettings field's value.
6257func (s *CaptionDestinationSettings) SetEmbeddedDestinationSettings(v *EmbeddedDestinationSettings) *CaptionDestinationSettings {
6258	s.EmbeddedDestinationSettings = v
6259	return s
6260}
6261
6262// SetEmbeddedPlusScte20DestinationSettings sets the EmbeddedPlusScte20DestinationSettings field's value.
6263func (s *CaptionDestinationSettings) SetEmbeddedPlusScte20DestinationSettings(v *EmbeddedPlusScte20DestinationSettings) *CaptionDestinationSettings {
6264	s.EmbeddedPlusScte20DestinationSettings = v
6265	return s
6266}
6267
6268// SetRtmpCaptionInfoDestinationSettings sets the RtmpCaptionInfoDestinationSettings field's value.
6269func (s *CaptionDestinationSettings) SetRtmpCaptionInfoDestinationSettings(v *RtmpCaptionInfoDestinationSettings) *CaptionDestinationSettings {
6270	s.RtmpCaptionInfoDestinationSettings = v
6271	return s
6272}
6273
6274// SetScte20PlusEmbeddedDestinationSettings sets the Scte20PlusEmbeddedDestinationSettings field's value.
6275func (s *CaptionDestinationSettings) SetScte20PlusEmbeddedDestinationSettings(v *Scte20PlusEmbeddedDestinationSettings) *CaptionDestinationSettings {
6276	s.Scte20PlusEmbeddedDestinationSettings = v
6277	return s
6278}
6279
6280// SetScte27DestinationSettings sets the Scte27DestinationSettings field's value.
6281func (s *CaptionDestinationSettings) SetScte27DestinationSettings(v *Scte27DestinationSettings) *CaptionDestinationSettings {
6282	s.Scte27DestinationSettings = v
6283	return s
6284}
6285
6286// SetSmpteTtDestinationSettings sets the SmpteTtDestinationSettings field's value.
6287func (s *CaptionDestinationSettings) SetSmpteTtDestinationSettings(v *SmpteTtDestinationSettings) *CaptionDestinationSettings {
6288	s.SmpteTtDestinationSettings = v
6289	return s
6290}
6291
6292// SetTeletextDestinationSettings sets the TeletextDestinationSettings field's value.
6293func (s *CaptionDestinationSettings) SetTeletextDestinationSettings(v *TeletextDestinationSettings) *CaptionDestinationSettings {
6294	s.TeletextDestinationSettings = v
6295	return s
6296}
6297
6298// SetTtmlDestinationSettings sets the TtmlDestinationSettings field's value.
6299func (s *CaptionDestinationSettings) SetTtmlDestinationSettings(v *TtmlDestinationSettings) *CaptionDestinationSettings {
6300	s.TtmlDestinationSettings = v
6301	return s
6302}
6303
6304// SetWebvttDestinationSettings sets the WebvttDestinationSettings field's value.
6305func (s *CaptionDestinationSettings) SetWebvttDestinationSettings(v *WebvttDestinationSettings) *CaptionDestinationSettings {
6306	s.WebvttDestinationSettings = v
6307	return s
6308}
6309
6310// Maps a caption channel to an ISO 693-2 language code (http://www.loc.gov/standards/iso639-2),
6311// with an optional description.
6312type CaptionLanguageMapping struct {
6313	_ struct{} `type:"structure"`
6314
6315	// The closed caption channel being described by this CaptionLanguageMapping.
6316	// Each channel mapping must have a unique channel number (maximum of 4)
6317	//
6318	// CaptionChannel is a required field
6319	CaptionChannel *int64 `locationName:"captionChannel" min:"1" type:"integer" required:"true"`
6320
6321	// Three character ISO 639-2 language code (see http://www.loc.gov/standards/iso639-2)
6322	//
6323	// LanguageCode is a required field
6324	LanguageCode *string `locationName:"languageCode" min:"3" type:"string" required:"true"`
6325
6326	// Textual description of language
6327	//
6328	// LanguageDescription is a required field
6329	LanguageDescription *string `locationName:"languageDescription" min:"1" type:"string" required:"true"`
6330}
6331
6332// String returns the string representation
6333func (s CaptionLanguageMapping) String() string {
6334	return awsutil.Prettify(s)
6335}
6336
6337// GoString returns the string representation
6338func (s CaptionLanguageMapping) GoString() string {
6339	return s.String()
6340}
6341
6342// Validate inspects the fields of the type to determine if they are valid.
6343func (s *CaptionLanguageMapping) Validate() error {
6344	invalidParams := request.ErrInvalidParams{Context: "CaptionLanguageMapping"}
6345	if s.CaptionChannel == nil {
6346		invalidParams.Add(request.NewErrParamRequired("CaptionChannel"))
6347	}
6348	if s.CaptionChannel != nil && *s.CaptionChannel < 1 {
6349		invalidParams.Add(request.NewErrParamMinValue("CaptionChannel", 1))
6350	}
6351	if s.LanguageCode == nil {
6352		invalidParams.Add(request.NewErrParamRequired("LanguageCode"))
6353	}
6354	if s.LanguageCode != nil && len(*s.LanguageCode) < 3 {
6355		invalidParams.Add(request.NewErrParamMinLen("LanguageCode", 3))
6356	}
6357	if s.LanguageDescription == nil {
6358		invalidParams.Add(request.NewErrParamRequired("LanguageDescription"))
6359	}
6360	if s.LanguageDescription != nil && len(*s.LanguageDescription) < 1 {
6361		invalidParams.Add(request.NewErrParamMinLen("LanguageDescription", 1))
6362	}
6363
6364	if invalidParams.Len() > 0 {
6365		return invalidParams
6366	}
6367	return nil
6368}
6369
6370// SetCaptionChannel sets the CaptionChannel field's value.
6371func (s *CaptionLanguageMapping) SetCaptionChannel(v int64) *CaptionLanguageMapping {
6372	s.CaptionChannel = &v
6373	return s
6374}
6375
6376// SetLanguageCode sets the LanguageCode field's value.
6377func (s *CaptionLanguageMapping) SetLanguageCode(v string) *CaptionLanguageMapping {
6378	s.LanguageCode = &v
6379	return s
6380}
6381
6382// SetLanguageDescription sets the LanguageDescription field's value.
6383func (s *CaptionLanguageMapping) SetLanguageDescription(v string) *CaptionLanguageMapping {
6384	s.LanguageDescription = &v
6385	return s
6386}
6387
6388// Output groups for this Live Event. Output groups contain information about
6389// where streams should be distributed.
6390type CaptionSelector struct {
6391	_ struct{} `type:"structure"`
6392
6393	// When specified this field indicates the three letter language code of the
6394	// caption track to extract from the source.
6395	LanguageCode *string `locationName:"languageCode" type:"string"`
6396
6397	// Name identifier for a caption selector. This name is used to associate this
6398	// caption selector with one or more caption descriptions. Names must be unique
6399	// within an event.
6400	//
6401	// Name is a required field
6402	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6403
6404	// Caption selector settings.
6405	SelectorSettings *CaptionSelectorSettings `locationName:"selectorSettings" type:"structure"`
6406}
6407
6408// String returns the string representation
6409func (s CaptionSelector) String() string {
6410	return awsutil.Prettify(s)
6411}
6412
6413// GoString returns the string representation
6414func (s CaptionSelector) GoString() string {
6415	return s.String()
6416}
6417
6418// Validate inspects the fields of the type to determine if they are valid.
6419func (s *CaptionSelector) Validate() error {
6420	invalidParams := request.ErrInvalidParams{Context: "CaptionSelector"}
6421	if s.Name == nil {
6422		invalidParams.Add(request.NewErrParamRequired("Name"))
6423	}
6424	if s.Name != nil && len(*s.Name) < 1 {
6425		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6426	}
6427	if s.SelectorSettings != nil {
6428		if err := s.SelectorSettings.Validate(); err != nil {
6429			invalidParams.AddNested("SelectorSettings", err.(request.ErrInvalidParams))
6430		}
6431	}
6432
6433	if invalidParams.Len() > 0 {
6434		return invalidParams
6435	}
6436	return nil
6437}
6438
6439// SetLanguageCode sets the LanguageCode field's value.
6440func (s *CaptionSelector) SetLanguageCode(v string) *CaptionSelector {
6441	s.LanguageCode = &v
6442	return s
6443}
6444
6445// SetName sets the Name field's value.
6446func (s *CaptionSelector) SetName(v string) *CaptionSelector {
6447	s.Name = &v
6448	return s
6449}
6450
6451// SetSelectorSettings sets the SelectorSettings field's value.
6452func (s *CaptionSelector) SetSelectorSettings(v *CaptionSelectorSettings) *CaptionSelector {
6453	s.SelectorSettings = v
6454	return s
6455}
6456
6457// Caption Selector Settings
6458type CaptionSelectorSettings struct {
6459	_ struct{} `type:"structure"`
6460
6461	// Arib Source Settings
6462	AribSourceSettings *AribSourceSettings `locationName:"aribSourceSettings" type:"structure"`
6463
6464	// Dvb Sub Source Settings
6465	DvbSubSourceSettings *DvbSubSourceSettings `locationName:"dvbSubSourceSettings" type:"structure"`
6466
6467	// Embedded Source Settings
6468	EmbeddedSourceSettings *EmbeddedSourceSettings `locationName:"embeddedSourceSettings" type:"structure"`
6469
6470	// Scte20 Source Settings
6471	Scte20SourceSettings *Scte20SourceSettings `locationName:"scte20SourceSettings" type:"structure"`
6472
6473	// Scte27 Source Settings
6474	Scte27SourceSettings *Scte27SourceSettings `locationName:"scte27SourceSettings" type:"structure"`
6475
6476	// Teletext Source Settings
6477	TeletextSourceSettings *TeletextSourceSettings `locationName:"teletextSourceSettings" type:"structure"`
6478}
6479
6480// String returns the string representation
6481func (s CaptionSelectorSettings) String() string {
6482	return awsutil.Prettify(s)
6483}
6484
6485// GoString returns the string representation
6486func (s CaptionSelectorSettings) GoString() string {
6487	return s.String()
6488}
6489
6490// Validate inspects the fields of the type to determine if they are valid.
6491func (s *CaptionSelectorSettings) Validate() error {
6492	invalidParams := request.ErrInvalidParams{Context: "CaptionSelectorSettings"}
6493	if s.DvbSubSourceSettings != nil {
6494		if err := s.DvbSubSourceSettings.Validate(); err != nil {
6495			invalidParams.AddNested("DvbSubSourceSettings", err.(request.ErrInvalidParams))
6496		}
6497	}
6498	if s.EmbeddedSourceSettings != nil {
6499		if err := s.EmbeddedSourceSettings.Validate(); err != nil {
6500			invalidParams.AddNested("EmbeddedSourceSettings", err.(request.ErrInvalidParams))
6501		}
6502	}
6503	if s.Scte20SourceSettings != nil {
6504		if err := s.Scte20SourceSettings.Validate(); err != nil {
6505			invalidParams.AddNested("Scte20SourceSettings", err.(request.ErrInvalidParams))
6506		}
6507	}
6508	if s.Scte27SourceSettings != nil {
6509		if err := s.Scte27SourceSettings.Validate(); err != nil {
6510			invalidParams.AddNested("Scte27SourceSettings", err.(request.ErrInvalidParams))
6511		}
6512	}
6513
6514	if invalidParams.Len() > 0 {
6515		return invalidParams
6516	}
6517	return nil
6518}
6519
6520// SetAribSourceSettings sets the AribSourceSettings field's value.
6521func (s *CaptionSelectorSettings) SetAribSourceSettings(v *AribSourceSettings) *CaptionSelectorSettings {
6522	s.AribSourceSettings = v
6523	return s
6524}
6525
6526// SetDvbSubSourceSettings sets the DvbSubSourceSettings field's value.
6527func (s *CaptionSelectorSettings) SetDvbSubSourceSettings(v *DvbSubSourceSettings) *CaptionSelectorSettings {
6528	s.DvbSubSourceSettings = v
6529	return s
6530}
6531
6532// SetEmbeddedSourceSettings sets the EmbeddedSourceSettings field's value.
6533func (s *CaptionSelectorSettings) SetEmbeddedSourceSettings(v *EmbeddedSourceSettings) *CaptionSelectorSettings {
6534	s.EmbeddedSourceSettings = v
6535	return s
6536}
6537
6538// SetScte20SourceSettings sets the Scte20SourceSettings field's value.
6539func (s *CaptionSelectorSettings) SetScte20SourceSettings(v *Scte20SourceSettings) *CaptionSelectorSettings {
6540	s.Scte20SourceSettings = v
6541	return s
6542}
6543
6544// SetScte27SourceSettings sets the Scte27SourceSettings field's value.
6545func (s *CaptionSelectorSettings) SetScte27SourceSettings(v *Scte27SourceSettings) *CaptionSelectorSettings {
6546	s.Scte27SourceSettings = v
6547	return s
6548}
6549
6550// SetTeletextSourceSettings sets the TeletextSourceSettings field's value.
6551func (s *CaptionSelectorSettings) SetTeletextSourceSettings(v *TeletextSourceSettings) *CaptionSelectorSettings {
6552	s.TeletextSourceSettings = v
6553	return s
6554}
6555
6556type Channel struct {
6557	_ struct{} `type:"structure"`
6558
6559	// The unique arn of the channel.
6560	Arn *string `locationName:"arn" type:"string"`
6561
6562	// The class for this channel. STANDARD for a channel with two pipelines or
6563	// SINGLE_PIPELINE for a channel with one pipeline.
6564	ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"`
6565
6566	// A list of destinations of the channel. For UDP outputs, there is onedestination
6567	// per output. For other types (HLS, for example), there isone destination per
6568	// packager.
6569	Destinations []*OutputDestination `locationName:"destinations" type:"list"`
6570
6571	// The endpoints where outgoing connections initiate from
6572	EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"`
6573
6574	// Encoder Settings
6575	EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"`
6576
6577	// The unique id of the channel.
6578	Id *string `locationName:"id" type:"string"`
6579
6580	// List of input attachments for channel.
6581	InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"`
6582
6583	InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"`
6584
6585	// The log level being written to CloudWatch Logs.
6586	LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"`
6587
6588	// The name of the channel. (user-mutable)
6589	Name *string `locationName:"name" type:"string"`
6590
6591	// Runtime details for the pipelines of a running channel.
6592	PipelineDetails []*PipelineDetail `locationName:"pipelineDetails" type:"list"`
6593
6594	// The number of currently healthy pipelines.
6595	PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"`
6596
6597	// The Amazon Resource Name (ARN) of the role assumed when running the Channel.
6598	RoleArn *string `locationName:"roleArn" type:"string"`
6599
6600	State *string `locationName:"state" type:"string" enum:"ChannelState"`
6601
6602	// A collection of key-value pairs.
6603	Tags map[string]*string `locationName:"tags" type:"map"`
6604}
6605
6606// String returns the string representation
6607func (s Channel) String() string {
6608	return awsutil.Prettify(s)
6609}
6610
6611// GoString returns the string representation
6612func (s Channel) GoString() string {
6613	return s.String()
6614}
6615
6616// SetArn sets the Arn field's value.
6617func (s *Channel) SetArn(v string) *Channel {
6618	s.Arn = &v
6619	return s
6620}
6621
6622// SetChannelClass sets the ChannelClass field's value.
6623func (s *Channel) SetChannelClass(v string) *Channel {
6624	s.ChannelClass = &v
6625	return s
6626}
6627
6628// SetDestinations sets the Destinations field's value.
6629func (s *Channel) SetDestinations(v []*OutputDestination) *Channel {
6630	s.Destinations = v
6631	return s
6632}
6633
6634// SetEgressEndpoints sets the EgressEndpoints field's value.
6635func (s *Channel) SetEgressEndpoints(v []*ChannelEgressEndpoint) *Channel {
6636	s.EgressEndpoints = v
6637	return s
6638}
6639
6640// SetEncoderSettings sets the EncoderSettings field's value.
6641func (s *Channel) SetEncoderSettings(v *EncoderSettings) *Channel {
6642	s.EncoderSettings = v
6643	return s
6644}
6645
6646// SetId sets the Id field's value.
6647func (s *Channel) SetId(v string) *Channel {
6648	s.Id = &v
6649	return s
6650}
6651
6652// SetInputAttachments sets the InputAttachments field's value.
6653func (s *Channel) SetInputAttachments(v []*InputAttachment) *Channel {
6654	s.InputAttachments = v
6655	return s
6656}
6657
6658// SetInputSpecification sets the InputSpecification field's value.
6659func (s *Channel) SetInputSpecification(v *InputSpecification) *Channel {
6660	s.InputSpecification = v
6661	return s
6662}
6663
6664// SetLogLevel sets the LogLevel field's value.
6665func (s *Channel) SetLogLevel(v string) *Channel {
6666	s.LogLevel = &v
6667	return s
6668}
6669
6670// SetName sets the Name field's value.
6671func (s *Channel) SetName(v string) *Channel {
6672	s.Name = &v
6673	return s
6674}
6675
6676// SetPipelineDetails sets the PipelineDetails field's value.
6677func (s *Channel) SetPipelineDetails(v []*PipelineDetail) *Channel {
6678	s.PipelineDetails = v
6679	return s
6680}
6681
6682// SetPipelinesRunningCount sets the PipelinesRunningCount field's value.
6683func (s *Channel) SetPipelinesRunningCount(v int64) *Channel {
6684	s.PipelinesRunningCount = &v
6685	return s
6686}
6687
6688// SetRoleArn sets the RoleArn field's value.
6689func (s *Channel) SetRoleArn(v string) *Channel {
6690	s.RoleArn = &v
6691	return s
6692}
6693
6694// SetState sets the State field's value.
6695func (s *Channel) SetState(v string) *Channel {
6696	s.State = &v
6697	return s
6698}
6699
6700// SetTags sets the Tags field's value.
6701func (s *Channel) SetTags(v map[string]*string) *Channel {
6702	s.Tags = v
6703	return s
6704}
6705
6706type ChannelEgressEndpoint struct {
6707	_ struct{} `type:"structure"`
6708
6709	// Public IP of where a channel's output comes from
6710	SourceIp *string `locationName:"sourceIp" type:"string"`
6711}
6712
6713// String returns the string representation
6714func (s ChannelEgressEndpoint) String() string {
6715	return awsutil.Prettify(s)
6716}
6717
6718// GoString returns the string representation
6719func (s ChannelEgressEndpoint) GoString() string {
6720	return s.String()
6721}
6722
6723// SetSourceIp sets the SourceIp field's value.
6724func (s *ChannelEgressEndpoint) SetSourceIp(v string) *ChannelEgressEndpoint {
6725	s.SourceIp = &v
6726	return s
6727}
6728
6729type ChannelSummary struct {
6730	_ struct{} `type:"structure"`
6731
6732	// The unique arn of the channel.
6733	Arn *string `locationName:"arn" type:"string"`
6734
6735	// The class for this channel. STANDARD for a channel with two pipelines or
6736	// SINGLE_PIPELINE for a channel with one pipeline.
6737	ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"`
6738
6739	// A list of destinations of the channel. For UDP outputs, there is onedestination
6740	// per output. For other types (HLS, for example), there isone destination per
6741	// packager.
6742	Destinations []*OutputDestination `locationName:"destinations" type:"list"`
6743
6744	// The endpoints where outgoing connections initiate from
6745	EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"`
6746
6747	// The unique id of the channel.
6748	Id *string `locationName:"id" type:"string"`
6749
6750	// List of input attachments for channel.
6751	InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"`
6752
6753	InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"`
6754
6755	// The log level being written to CloudWatch Logs.
6756	LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"`
6757
6758	// The name of the channel. (user-mutable)
6759	Name *string `locationName:"name" type:"string"`
6760
6761	// The number of currently healthy pipelines.
6762	PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"`
6763
6764	// The Amazon Resource Name (ARN) of the role assumed when running the Channel.
6765	RoleArn *string `locationName:"roleArn" type:"string"`
6766
6767	State *string `locationName:"state" type:"string" enum:"ChannelState"`
6768
6769	// A collection of key-value pairs.
6770	Tags map[string]*string `locationName:"tags" type:"map"`
6771}
6772
6773// String returns the string representation
6774func (s ChannelSummary) String() string {
6775	return awsutil.Prettify(s)
6776}
6777
6778// GoString returns the string representation
6779func (s ChannelSummary) GoString() string {
6780	return s.String()
6781}
6782
6783// SetArn sets the Arn field's value.
6784func (s *ChannelSummary) SetArn(v string) *ChannelSummary {
6785	s.Arn = &v
6786	return s
6787}
6788
6789// SetChannelClass sets the ChannelClass field's value.
6790func (s *ChannelSummary) SetChannelClass(v string) *ChannelSummary {
6791	s.ChannelClass = &v
6792	return s
6793}
6794
6795// SetDestinations sets the Destinations field's value.
6796func (s *ChannelSummary) SetDestinations(v []*OutputDestination) *ChannelSummary {
6797	s.Destinations = v
6798	return s
6799}
6800
6801// SetEgressEndpoints sets the EgressEndpoints field's value.
6802func (s *ChannelSummary) SetEgressEndpoints(v []*ChannelEgressEndpoint) *ChannelSummary {
6803	s.EgressEndpoints = v
6804	return s
6805}
6806
6807// SetId sets the Id field's value.
6808func (s *ChannelSummary) SetId(v string) *ChannelSummary {
6809	s.Id = &v
6810	return s
6811}
6812
6813// SetInputAttachments sets the InputAttachments field's value.
6814func (s *ChannelSummary) SetInputAttachments(v []*InputAttachment) *ChannelSummary {
6815	s.InputAttachments = v
6816	return s
6817}
6818
6819// SetInputSpecification sets the InputSpecification field's value.
6820func (s *ChannelSummary) SetInputSpecification(v *InputSpecification) *ChannelSummary {
6821	s.InputSpecification = v
6822	return s
6823}
6824
6825// SetLogLevel sets the LogLevel field's value.
6826func (s *ChannelSummary) SetLogLevel(v string) *ChannelSummary {
6827	s.LogLevel = &v
6828	return s
6829}
6830
6831// SetName sets the Name field's value.
6832func (s *ChannelSummary) SetName(v string) *ChannelSummary {
6833	s.Name = &v
6834	return s
6835}
6836
6837// SetPipelinesRunningCount sets the PipelinesRunningCount field's value.
6838func (s *ChannelSummary) SetPipelinesRunningCount(v int64) *ChannelSummary {
6839	s.PipelinesRunningCount = &v
6840	return s
6841}
6842
6843// SetRoleArn sets the RoleArn field's value.
6844func (s *ChannelSummary) SetRoleArn(v string) *ChannelSummary {
6845	s.RoleArn = &v
6846	return s
6847}
6848
6849// SetState sets the State field's value.
6850func (s *ChannelSummary) SetState(v string) *ChannelSummary {
6851	s.State = &v
6852	return s
6853}
6854
6855// SetTags sets the Tags field's value.
6856func (s *ChannelSummary) SetTags(v map[string]*string) *ChannelSummary {
6857	s.Tags = v
6858	return s
6859}
6860
6861// Passthrough applies no color space conversion to the output
6862type ColorSpacePassthroughSettings struct {
6863	_ struct{} `type:"structure"`
6864}
6865
6866// String returns the string representation
6867func (s ColorSpacePassthroughSettings) String() string {
6868	return awsutil.Prettify(s)
6869}
6870
6871// GoString returns the string representation
6872func (s ColorSpacePassthroughSettings) GoString() string {
6873	return s.String()
6874}
6875
6876type CreateChannelInput struct {
6877	_ struct{} `type:"structure"`
6878
6879	// A standard channel has two encoding pipelines and a single pipeline channel
6880	// only has one.
6881	ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"`
6882
6883	Destinations []*OutputDestination `locationName:"destinations" type:"list"`
6884
6885	// Encoder Settings
6886	EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"`
6887
6888	InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"`
6889
6890	InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"`
6891
6892	// The log level the user wants for their channel.
6893	LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"`
6894
6895	Name *string `locationName:"name" type:"string"`
6896
6897	RequestId *string `locationName:"requestId" type:"string" idempotencyToken:"true"`
6898
6899	Reserved *string `locationName:"reserved" deprecated:"true" type:"string"`
6900
6901	RoleArn *string `locationName:"roleArn" type:"string"`
6902
6903	Tags map[string]*string `locationName:"tags" type:"map"`
6904}
6905
6906// String returns the string representation
6907func (s CreateChannelInput) String() string {
6908	return awsutil.Prettify(s)
6909}
6910
6911// GoString returns the string representation
6912func (s CreateChannelInput) GoString() string {
6913	return s.String()
6914}
6915
6916// Validate inspects the fields of the type to determine if they are valid.
6917func (s *CreateChannelInput) Validate() error {
6918	invalidParams := request.ErrInvalidParams{Context: "CreateChannelInput"}
6919	if s.Destinations != nil {
6920		for i, v := range s.Destinations {
6921			if v == nil {
6922				continue
6923			}
6924			if err := v.Validate(); err != nil {
6925				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Destinations", i), err.(request.ErrInvalidParams))
6926			}
6927		}
6928	}
6929	if s.EncoderSettings != nil {
6930		if err := s.EncoderSettings.Validate(); err != nil {
6931			invalidParams.AddNested("EncoderSettings", err.(request.ErrInvalidParams))
6932		}
6933	}
6934	if s.InputAttachments != nil {
6935		for i, v := range s.InputAttachments {
6936			if v == nil {
6937				continue
6938			}
6939			if err := v.Validate(); err != nil {
6940				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputAttachments", i), err.(request.ErrInvalidParams))
6941			}
6942		}
6943	}
6944
6945	if invalidParams.Len() > 0 {
6946		return invalidParams
6947	}
6948	return nil
6949}
6950
6951// SetChannelClass sets the ChannelClass field's value.
6952func (s *CreateChannelInput) SetChannelClass(v string) *CreateChannelInput {
6953	s.ChannelClass = &v
6954	return s
6955}
6956
6957// SetDestinations sets the Destinations field's value.
6958func (s *CreateChannelInput) SetDestinations(v []*OutputDestination) *CreateChannelInput {
6959	s.Destinations = v
6960	return s
6961}
6962
6963// SetEncoderSettings sets the EncoderSettings field's value.
6964func (s *CreateChannelInput) SetEncoderSettings(v *EncoderSettings) *CreateChannelInput {
6965	s.EncoderSettings = v
6966	return s
6967}
6968
6969// SetInputAttachments sets the InputAttachments field's value.
6970func (s *CreateChannelInput) SetInputAttachments(v []*InputAttachment) *CreateChannelInput {
6971	s.InputAttachments = v
6972	return s
6973}
6974
6975// SetInputSpecification sets the InputSpecification field's value.
6976func (s *CreateChannelInput) SetInputSpecification(v *InputSpecification) *CreateChannelInput {
6977	s.InputSpecification = v
6978	return s
6979}
6980
6981// SetLogLevel sets the LogLevel field's value.
6982func (s *CreateChannelInput) SetLogLevel(v string) *CreateChannelInput {
6983	s.LogLevel = &v
6984	return s
6985}
6986
6987// SetName sets the Name field's value.
6988func (s *CreateChannelInput) SetName(v string) *CreateChannelInput {
6989	s.Name = &v
6990	return s
6991}
6992
6993// SetRequestId sets the RequestId field's value.
6994func (s *CreateChannelInput) SetRequestId(v string) *CreateChannelInput {
6995	s.RequestId = &v
6996	return s
6997}
6998
6999// SetReserved sets the Reserved field's value.
7000func (s *CreateChannelInput) SetReserved(v string) *CreateChannelInput {
7001	s.Reserved = &v
7002	return s
7003}
7004
7005// SetRoleArn sets the RoleArn field's value.
7006func (s *CreateChannelInput) SetRoleArn(v string) *CreateChannelInput {
7007	s.RoleArn = &v
7008	return s
7009}
7010
7011// SetTags sets the Tags field's value.
7012func (s *CreateChannelInput) SetTags(v map[string]*string) *CreateChannelInput {
7013	s.Tags = v
7014	return s
7015}
7016
7017type CreateChannelOutput struct {
7018	_ struct{} `type:"structure"`
7019
7020	Channel *Channel `locationName:"channel" type:"structure"`
7021}
7022
7023// String returns the string representation
7024func (s CreateChannelOutput) String() string {
7025	return awsutil.Prettify(s)
7026}
7027
7028// GoString returns the string representation
7029func (s CreateChannelOutput) GoString() string {
7030	return s.String()
7031}
7032
7033// SetChannel sets the Channel field's value.
7034func (s *CreateChannelOutput) SetChannel(v *Channel) *CreateChannelOutput {
7035	s.Channel = v
7036	return s
7037}
7038
7039type CreateInputInput struct {
7040	_ struct{} `type:"structure"`
7041
7042	Destinations []*InputDestinationRequest `locationName:"destinations" type:"list"`
7043
7044	InputSecurityGroups []*string `locationName:"inputSecurityGroups" type:"list"`
7045
7046	MediaConnectFlows []*MediaConnectFlowRequest `locationName:"mediaConnectFlows" type:"list"`
7047
7048	Name *string `locationName:"name" type:"string"`
7049
7050	RequestId *string `locationName:"requestId" type:"string" idempotencyToken:"true"`
7051
7052	RoleArn *string `locationName:"roleArn" type:"string"`
7053
7054	Sources []*InputSourceRequest `locationName:"sources" type:"list"`
7055
7056	Tags map[string]*string `locationName:"tags" type:"map"`
7057
7058	Type *string `locationName:"type" type:"string" enum:"InputType"`
7059
7060	// Settings for a private VPC Input.When this property is specified, the input
7061	// destination addresses will be created in a VPC rather than with public Internet
7062	// addresses.This property requires setting the roleArn property on Input creation.Not
7063	// compatible with the inputSecurityGroups property.
7064	Vpc *InputVpcRequest `locationName:"vpc" type:"structure"`
7065}
7066
7067// String returns the string representation
7068func (s CreateInputInput) String() string {
7069	return awsutil.Prettify(s)
7070}
7071
7072// GoString returns the string representation
7073func (s CreateInputInput) GoString() string {
7074	return s.String()
7075}
7076
7077// Validate inspects the fields of the type to determine if they are valid.
7078func (s *CreateInputInput) Validate() error {
7079	invalidParams := request.ErrInvalidParams{Context: "CreateInputInput"}
7080	if s.Vpc != nil {
7081		if err := s.Vpc.Validate(); err != nil {
7082			invalidParams.AddNested("Vpc", err.(request.ErrInvalidParams))
7083		}
7084	}
7085
7086	if invalidParams.Len() > 0 {
7087		return invalidParams
7088	}
7089	return nil
7090}
7091
7092// SetDestinations sets the Destinations field's value.
7093func (s *CreateInputInput) SetDestinations(v []*InputDestinationRequest) *CreateInputInput {
7094	s.Destinations = v
7095	return s
7096}
7097
7098// SetInputSecurityGroups sets the InputSecurityGroups field's value.
7099func (s *CreateInputInput) SetInputSecurityGroups(v []*string) *CreateInputInput {
7100	s.InputSecurityGroups = v
7101	return s
7102}
7103
7104// SetMediaConnectFlows sets the MediaConnectFlows field's value.
7105func (s *CreateInputInput) SetMediaConnectFlows(v []*MediaConnectFlowRequest) *CreateInputInput {
7106	s.MediaConnectFlows = v
7107	return s
7108}
7109
7110// SetName sets the Name field's value.
7111func (s *CreateInputInput) SetName(v string) *CreateInputInput {
7112	s.Name = &v
7113	return s
7114}
7115
7116// SetRequestId sets the RequestId field's value.
7117func (s *CreateInputInput) SetRequestId(v string) *CreateInputInput {
7118	s.RequestId = &v
7119	return s
7120}
7121
7122// SetRoleArn sets the RoleArn field's value.
7123func (s *CreateInputInput) SetRoleArn(v string) *CreateInputInput {
7124	s.RoleArn = &v
7125	return s
7126}
7127
7128// SetSources sets the Sources field's value.
7129func (s *CreateInputInput) SetSources(v []*InputSourceRequest) *CreateInputInput {
7130	s.Sources = v
7131	return s
7132}
7133
7134// SetTags sets the Tags field's value.
7135func (s *CreateInputInput) SetTags(v map[string]*string) *CreateInputInput {
7136	s.Tags = v
7137	return s
7138}
7139
7140// SetType sets the Type field's value.
7141func (s *CreateInputInput) SetType(v string) *CreateInputInput {
7142	s.Type = &v
7143	return s
7144}
7145
7146// SetVpc sets the Vpc field's value.
7147func (s *CreateInputInput) SetVpc(v *InputVpcRequest) *CreateInputInput {
7148	s.Vpc = v
7149	return s
7150}
7151
7152type CreateInputOutput struct {
7153	_ struct{} `type:"structure"`
7154
7155	Input *Input `locationName:"input" type:"structure"`
7156}
7157
7158// String returns the string representation
7159func (s CreateInputOutput) String() string {
7160	return awsutil.Prettify(s)
7161}
7162
7163// GoString returns the string representation
7164func (s CreateInputOutput) GoString() string {
7165	return s.String()
7166}
7167
7168// SetInput sets the Input field's value.
7169func (s *CreateInputOutput) SetInput(v *Input) *CreateInputOutput {
7170	s.Input = v
7171	return s
7172}
7173
7174type CreateInputSecurityGroupInput struct {
7175	_ struct{} `type:"structure"`
7176
7177	Tags map[string]*string `locationName:"tags" type:"map"`
7178
7179	WhitelistRules []*InputWhitelistRuleCidr `locationName:"whitelistRules" type:"list"`
7180}
7181
7182// String returns the string representation
7183func (s CreateInputSecurityGroupInput) String() string {
7184	return awsutil.Prettify(s)
7185}
7186
7187// GoString returns the string representation
7188func (s CreateInputSecurityGroupInput) GoString() string {
7189	return s.String()
7190}
7191
7192// SetTags sets the Tags field's value.
7193func (s *CreateInputSecurityGroupInput) SetTags(v map[string]*string) *CreateInputSecurityGroupInput {
7194	s.Tags = v
7195	return s
7196}
7197
7198// SetWhitelistRules sets the WhitelistRules field's value.
7199func (s *CreateInputSecurityGroupInput) SetWhitelistRules(v []*InputWhitelistRuleCidr) *CreateInputSecurityGroupInput {
7200	s.WhitelistRules = v
7201	return s
7202}
7203
7204type CreateInputSecurityGroupOutput struct {
7205	_ struct{} `type:"structure"`
7206
7207	// An Input Security Group
7208	SecurityGroup *InputSecurityGroup `locationName:"securityGroup" type:"structure"`
7209}
7210
7211// String returns the string representation
7212func (s CreateInputSecurityGroupOutput) String() string {
7213	return awsutil.Prettify(s)
7214}
7215
7216// GoString returns the string representation
7217func (s CreateInputSecurityGroupOutput) GoString() string {
7218	return s.String()
7219}
7220
7221// SetSecurityGroup sets the SecurityGroup field's value.
7222func (s *CreateInputSecurityGroupOutput) SetSecurityGroup(v *InputSecurityGroup) *CreateInputSecurityGroupOutput {
7223	s.SecurityGroup = v
7224	return s
7225}
7226
7227type CreateMultiplexInput struct {
7228	_ struct{} `type:"structure"`
7229
7230	// AvailabilityZones is a required field
7231	AvailabilityZones []*string `locationName:"availabilityZones" type:"list" required:"true"`
7232
7233	// Contains configuration for a Multiplex event
7234	//
7235	// MultiplexSettings is a required field
7236	MultiplexSettings *MultiplexSettings `locationName:"multiplexSettings" type:"structure" required:"true"`
7237
7238	// Name is a required field
7239	Name *string `locationName:"name" type:"string" required:"true"`
7240
7241	RequestId *string `locationName:"requestId" type:"string" idempotencyToken:"true"`
7242
7243	Tags map[string]*string `locationName:"tags" type:"map"`
7244}
7245
7246// String returns the string representation
7247func (s CreateMultiplexInput) String() string {
7248	return awsutil.Prettify(s)
7249}
7250
7251// GoString returns the string representation
7252func (s CreateMultiplexInput) GoString() string {
7253	return s.String()
7254}
7255
7256// Validate inspects the fields of the type to determine if they are valid.
7257func (s *CreateMultiplexInput) Validate() error {
7258	invalidParams := request.ErrInvalidParams{Context: "CreateMultiplexInput"}
7259	if s.AvailabilityZones == nil {
7260		invalidParams.Add(request.NewErrParamRequired("AvailabilityZones"))
7261	}
7262	if s.MultiplexSettings == nil {
7263		invalidParams.Add(request.NewErrParamRequired("MultiplexSettings"))
7264	}
7265	if s.Name == nil {
7266		invalidParams.Add(request.NewErrParamRequired("Name"))
7267	}
7268	if s.MultiplexSettings != nil {
7269		if err := s.MultiplexSettings.Validate(); err != nil {
7270			invalidParams.AddNested("MultiplexSettings", err.(request.ErrInvalidParams))
7271		}
7272	}
7273
7274	if invalidParams.Len() > 0 {
7275		return invalidParams
7276	}
7277	return nil
7278}
7279
7280// SetAvailabilityZones sets the AvailabilityZones field's value.
7281func (s *CreateMultiplexInput) SetAvailabilityZones(v []*string) *CreateMultiplexInput {
7282	s.AvailabilityZones = v
7283	return s
7284}
7285
7286// SetMultiplexSettings sets the MultiplexSettings field's value.
7287func (s *CreateMultiplexInput) SetMultiplexSettings(v *MultiplexSettings) *CreateMultiplexInput {
7288	s.MultiplexSettings = v
7289	return s
7290}
7291
7292// SetName sets the Name field's value.
7293func (s *CreateMultiplexInput) SetName(v string) *CreateMultiplexInput {
7294	s.Name = &v
7295	return s
7296}
7297
7298// SetRequestId sets the RequestId field's value.
7299func (s *CreateMultiplexInput) SetRequestId(v string) *CreateMultiplexInput {
7300	s.RequestId = &v
7301	return s
7302}
7303
7304// SetTags sets the Tags field's value.
7305func (s *CreateMultiplexInput) SetTags(v map[string]*string) *CreateMultiplexInput {
7306	s.Tags = v
7307	return s
7308}
7309
7310type CreateMultiplexOutput struct {
7311	_ struct{} `type:"structure"`
7312
7313	// The multiplex object.
7314	Multiplex *Multiplex `locationName:"multiplex" type:"structure"`
7315}
7316
7317// String returns the string representation
7318func (s CreateMultiplexOutput) String() string {
7319	return awsutil.Prettify(s)
7320}
7321
7322// GoString returns the string representation
7323func (s CreateMultiplexOutput) GoString() string {
7324	return s.String()
7325}
7326
7327// SetMultiplex sets the Multiplex field's value.
7328func (s *CreateMultiplexOutput) SetMultiplex(v *Multiplex) *CreateMultiplexOutput {
7329	s.Multiplex = v
7330	return s
7331}
7332
7333type CreateMultiplexProgramInput struct {
7334	_ struct{} `type:"structure"`
7335
7336	// MultiplexId is a required field
7337	MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"`
7338
7339	// Multiplex Program settings configuration.
7340	//
7341	// MultiplexProgramSettings is a required field
7342	MultiplexProgramSettings *MultiplexProgramSettings `locationName:"multiplexProgramSettings" type:"structure" required:"true"`
7343
7344	// ProgramName is a required field
7345	ProgramName *string `locationName:"programName" type:"string" required:"true"`
7346
7347	RequestId *string `locationName:"requestId" type:"string" idempotencyToken:"true"`
7348}
7349
7350// String returns the string representation
7351func (s CreateMultiplexProgramInput) String() string {
7352	return awsutil.Prettify(s)
7353}
7354
7355// GoString returns the string representation
7356func (s CreateMultiplexProgramInput) GoString() string {
7357	return s.String()
7358}
7359
7360// Validate inspects the fields of the type to determine if they are valid.
7361func (s *CreateMultiplexProgramInput) Validate() error {
7362	invalidParams := request.ErrInvalidParams{Context: "CreateMultiplexProgramInput"}
7363	if s.MultiplexId == nil {
7364		invalidParams.Add(request.NewErrParamRequired("MultiplexId"))
7365	}
7366	if s.MultiplexId != nil && len(*s.MultiplexId) < 1 {
7367		invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1))
7368	}
7369	if s.MultiplexProgramSettings == nil {
7370		invalidParams.Add(request.NewErrParamRequired("MultiplexProgramSettings"))
7371	}
7372	if s.ProgramName == nil {
7373		invalidParams.Add(request.NewErrParamRequired("ProgramName"))
7374	}
7375	if s.MultiplexProgramSettings != nil {
7376		if err := s.MultiplexProgramSettings.Validate(); err != nil {
7377			invalidParams.AddNested("MultiplexProgramSettings", err.(request.ErrInvalidParams))
7378		}
7379	}
7380
7381	if invalidParams.Len() > 0 {
7382		return invalidParams
7383	}
7384	return nil
7385}
7386
7387// SetMultiplexId sets the MultiplexId field's value.
7388func (s *CreateMultiplexProgramInput) SetMultiplexId(v string) *CreateMultiplexProgramInput {
7389	s.MultiplexId = &v
7390	return s
7391}
7392
7393// SetMultiplexProgramSettings sets the MultiplexProgramSettings field's value.
7394func (s *CreateMultiplexProgramInput) SetMultiplexProgramSettings(v *MultiplexProgramSettings) *CreateMultiplexProgramInput {
7395	s.MultiplexProgramSettings = v
7396	return s
7397}
7398
7399// SetProgramName sets the ProgramName field's value.
7400func (s *CreateMultiplexProgramInput) SetProgramName(v string) *CreateMultiplexProgramInput {
7401	s.ProgramName = &v
7402	return s
7403}
7404
7405// SetRequestId sets the RequestId field's value.
7406func (s *CreateMultiplexProgramInput) SetRequestId(v string) *CreateMultiplexProgramInput {
7407	s.RequestId = &v
7408	return s
7409}
7410
7411type CreateMultiplexProgramOutput struct {
7412	_ struct{} `type:"structure"`
7413
7414	// The multiplex program object.
7415	MultiplexProgram *MultiplexProgram `locationName:"multiplexProgram" type:"structure"`
7416}
7417
7418// String returns the string representation
7419func (s CreateMultiplexProgramOutput) String() string {
7420	return awsutil.Prettify(s)
7421}
7422
7423// GoString returns the string representation
7424func (s CreateMultiplexProgramOutput) GoString() string {
7425	return s.String()
7426}
7427
7428// SetMultiplexProgram sets the MultiplexProgram field's value.
7429func (s *CreateMultiplexProgramOutput) SetMultiplexProgram(v *MultiplexProgram) *CreateMultiplexProgramOutput {
7430	s.MultiplexProgram = v
7431	return s
7432}
7433
7434type CreateTagsInput struct {
7435	_ struct{} `type:"structure"`
7436
7437	// ResourceArn is a required field
7438	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
7439
7440	Tags map[string]*string `locationName:"tags" type:"map"`
7441}
7442
7443// String returns the string representation
7444func (s CreateTagsInput) String() string {
7445	return awsutil.Prettify(s)
7446}
7447
7448// GoString returns the string representation
7449func (s CreateTagsInput) GoString() string {
7450	return s.String()
7451}
7452
7453// Validate inspects the fields of the type to determine if they are valid.
7454func (s *CreateTagsInput) Validate() error {
7455	invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"}
7456	if s.ResourceArn == nil {
7457		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7458	}
7459	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
7460		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
7461	}
7462
7463	if invalidParams.Len() > 0 {
7464		return invalidParams
7465	}
7466	return nil
7467}
7468
7469// SetResourceArn sets the ResourceArn field's value.
7470func (s *CreateTagsInput) SetResourceArn(v string) *CreateTagsInput {
7471	s.ResourceArn = &v
7472	return s
7473}
7474
7475// SetTags sets the Tags field's value.
7476func (s *CreateTagsInput) SetTags(v map[string]*string) *CreateTagsInput {
7477	s.Tags = v
7478	return s
7479}
7480
7481type CreateTagsOutput struct {
7482	_ struct{} `type:"structure"`
7483}
7484
7485// String returns the string representation
7486func (s CreateTagsOutput) String() string {
7487	return awsutil.Prettify(s)
7488}
7489
7490// GoString returns the string representation
7491func (s CreateTagsOutput) GoString() string {
7492	return s.String()
7493}
7494
7495type DeleteChannelInput struct {
7496	_ struct{} `type:"structure"`
7497
7498	// ChannelId is a required field
7499	ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"`
7500}
7501
7502// String returns the string representation
7503func (s DeleteChannelInput) String() string {
7504	return awsutil.Prettify(s)
7505}
7506
7507// GoString returns the string representation
7508func (s DeleteChannelInput) GoString() string {
7509	return s.String()
7510}
7511
7512// Validate inspects the fields of the type to determine if they are valid.
7513func (s *DeleteChannelInput) Validate() error {
7514	invalidParams := request.ErrInvalidParams{Context: "DeleteChannelInput"}
7515	if s.ChannelId == nil {
7516		invalidParams.Add(request.NewErrParamRequired("ChannelId"))
7517	}
7518	if s.ChannelId != nil && len(*s.ChannelId) < 1 {
7519		invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1))
7520	}
7521
7522	if invalidParams.Len() > 0 {
7523		return invalidParams
7524	}
7525	return nil
7526}
7527
7528// SetChannelId sets the ChannelId field's value.
7529func (s *DeleteChannelInput) SetChannelId(v string) *DeleteChannelInput {
7530	s.ChannelId = &v
7531	return s
7532}
7533
7534type DeleteChannelOutput struct {
7535	_ struct{} `type:"structure"`
7536
7537	Arn *string `locationName:"arn" type:"string"`
7538
7539	// A standard channel has two encoding pipelines and a single pipeline channel
7540	// only has one.
7541	ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"`
7542
7543	Destinations []*OutputDestination `locationName:"destinations" type:"list"`
7544
7545	EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"`
7546
7547	// Encoder Settings
7548	EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"`
7549
7550	Id *string `locationName:"id" type:"string"`
7551
7552	InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"`
7553
7554	InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"`
7555
7556	// The log level the user wants for their channel.
7557	LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"`
7558
7559	Name *string `locationName:"name" type:"string"`
7560
7561	PipelineDetails []*PipelineDetail `locationName:"pipelineDetails" type:"list"`
7562
7563	PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"`
7564
7565	RoleArn *string `locationName:"roleArn" type:"string"`
7566
7567	State *string `locationName:"state" type:"string" enum:"ChannelState"`
7568
7569	Tags map[string]*string `locationName:"tags" type:"map"`
7570}
7571
7572// String returns the string representation
7573func (s DeleteChannelOutput) String() string {
7574	return awsutil.Prettify(s)
7575}
7576
7577// GoString returns the string representation
7578func (s DeleteChannelOutput) GoString() string {
7579	return s.String()
7580}
7581
7582// SetArn sets the Arn field's value.
7583func (s *DeleteChannelOutput) SetArn(v string) *DeleteChannelOutput {
7584	s.Arn = &v
7585	return s
7586}
7587
7588// SetChannelClass sets the ChannelClass field's value.
7589func (s *DeleteChannelOutput) SetChannelClass(v string) *DeleteChannelOutput {
7590	s.ChannelClass = &v
7591	return s
7592}
7593
7594// SetDestinations sets the Destinations field's value.
7595func (s *DeleteChannelOutput) SetDestinations(v []*OutputDestination) *DeleteChannelOutput {
7596	s.Destinations = v
7597	return s
7598}
7599
7600// SetEgressEndpoints sets the EgressEndpoints field's value.
7601func (s *DeleteChannelOutput) SetEgressEndpoints(v []*ChannelEgressEndpoint) *DeleteChannelOutput {
7602	s.EgressEndpoints = v
7603	return s
7604}
7605
7606// SetEncoderSettings sets the EncoderSettings field's value.
7607func (s *DeleteChannelOutput) SetEncoderSettings(v *EncoderSettings) *DeleteChannelOutput {
7608	s.EncoderSettings = v
7609	return s
7610}
7611
7612// SetId sets the Id field's value.
7613func (s *DeleteChannelOutput) SetId(v string) *DeleteChannelOutput {
7614	s.Id = &v
7615	return s
7616}
7617
7618// SetInputAttachments sets the InputAttachments field's value.
7619func (s *DeleteChannelOutput) SetInputAttachments(v []*InputAttachment) *DeleteChannelOutput {
7620	s.InputAttachments = v
7621	return s
7622}
7623
7624// SetInputSpecification sets the InputSpecification field's value.
7625func (s *DeleteChannelOutput) SetInputSpecification(v *InputSpecification) *DeleteChannelOutput {
7626	s.InputSpecification = v
7627	return s
7628}
7629
7630// SetLogLevel sets the LogLevel field's value.
7631func (s *DeleteChannelOutput) SetLogLevel(v string) *DeleteChannelOutput {
7632	s.LogLevel = &v
7633	return s
7634}
7635
7636// SetName sets the Name field's value.
7637func (s *DeleteChannelOutput) SetName(v string) *DeleteChannelOutput {
7638	s.Name = &v
7639	return s
7640}
7641
7642// SetPipelineDetails sets the PipelineDetails field's value.
7643func (s *DeleteChannelOutput) SetPipelineDetails(v []*PipelineDetail) *DeleteChannelOutput {
7644	s.PipelineDetails = v
7645	return s
7646}
7647
7648// SetPipelinesRunningCount sets the PipelinesRunningCount field's value.
7649func (s *DeleteChannelOutput) SetPipelinesRunningCount(v int64) *DeleteChannelOutput {
7650	s.PipelinesRunningCount = &v
7651	return s
7652}
7653
7654// SetRoleArn sets the RoleArn field's value.
7655func (s *DeleteChannelOutput) SetRoleArn(v string) *DeleteChannelOutput {
7656	s.RoleArn = &v
7657	return s
7658}
7659
7660// SetState sets the State field's value.
7661func (s *DeleteChannelOutput) SetState(v string) *DeleteChannelOutput {
7662	s.State = &v
7663	return s
7664}
7665
7666// SetTags sets the Tags field's value.
7667func (s *DeleteChannelOutput) SetTags(v map[string]*string) *DeleteChannelOutput {
7668	s.Tags = v
7669	return s
7670}
7671
7672type DeleteInputInput struct {
7673	_ struct{} `type:"structure"`
7674
7675	// InputId is a required field
7676	InputId *string `location:"uri" locationName:"inputId" type:"string" required:"true"`
7677}
7678
7679// String returns the string representation
7680func (s DeleteInputInput) String() string {
7681	return awsutil.Prettify(s)
7682}
7683
7684// GoString returns the string representation
7685func (s DeleteInputInput) GoString() string {
7686	return s.String()
7687}
7688
7689// Validate inspects the fields of the type to determine if they are valid.
7690func (s *DeleteInputInput) Validate() error {
7691	invalidParams := request.ErrInvalidParams{Context: "DeleteInputInput"}
7692	if s.InputId == nil {
7693		invalidParams.Add(request.NewErrParamRequired("InputId"))
7694	}
7695	if s.InputId != nil && len(*s.InputId) < 1 {
7696		invalidParams.Add(request.NewErrParamMinLen("InputId", 1))
7697	}
7698
7699	if invalidParams.Len() > 0 {
7700		return invalidParams
7701	}
7702	return nil
7703}
7704
7705// SetInputId sets the InputId field's value.
7706func (s *DeleteInputInput) SetInputId(v string) *DeleteInputInput {
7707	s.InputId = &v
7708	return s
7709}
7710
7711type DeleteInputOutput struct {
7712	_ struct{} `type:"structure"`
7713}
7714
7715// String returns the string representation
7716func (s DeleteInputOutput) String() string {
7717	return awsutil.Prettify(s)
7718}
7719
7720// GoString returns the string representation
7721func (s DeleteInputOutput) GoString() string {
7722	return s.String()
7723}
7724
7725type DeleteInputSecurityGroupInput struct {
7726	_ struct{} `type:"structure"`
7727
7728	// InputSecurityGroupId is a required field
7729	InputSecurityGroupId *string `location:"uri" locationName:"inputSecurityGroupId" type:"string" required:"true"`
7730}
7731
7732// String returns the string representation
7733func (s DeleteInputSecurityGroupInput) String() string {
7734	return awsutil.Prettify(s)
7735}
7736
7737// GoString returns the string representation
7738func (s DeleteInputSecurityGroupInput) GoString() string {
7739	return s.String()
7740}
7741
7742// Validate inspects the fields of the type to determine if they are valid.
7743func (s *DeleteInputSecurityGroupInput) Validate() error {
7744	invalidParams := request.ErrInvalidParams{Context: "DeleteInputSecurityGroupInput"}
7745	if s.InputSecurityGroupId == nil {
7746		invalidParams.Add(request.NewErrParamRequired("InputSecurityGroupId"))
7747	}
7748	if s.InputSecurityGroupId != nil && len(*s.InputSecurityGroupId) < 1 {
7749		invalidParams.Add(request.NewErrParamMinLen("InputSecurityGroupId", 1))
7750	}
7751
7752	if invalidParams.Len() > 0 {
7753		return invalidParams
7754	}
7755	return nil
7756}
7757
7758// SetInputSecurityGroupId sets the InputSecurityGroupId field's value.
7759func (s *DeleteInputSecurityGroupInput) SetInputSecurityGroupId(v string) *DeleteInputSecurityGroupInput {
7760	s.InputSecurityGroupId = &v
7761	return s
7762}
7763
7764type DeleteInputSecurityGroupOutput struct {
7765	_ struct{} `type:"structure"`
7766}
7767
7768// String returns the string representation
7769func (s DeleteInputSecurityGroupOutput) String() string {
7770	return awsutil.Prettify(s)
7771}
7772
7773// GoString returns the string representation
7774func (s DeleteInputSecurityGroupOutput) GoString() string {
7775	return s.String()
7776}
7777
7778type DeleteMultiplexInput struct {
7779	_ struct{} `type:"structure"`
7780
7781	// MultiplexId is a required field
7782	MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"`
7783}
7784
7785// String returns the string representation
7786func (s DeleteMultiplexInput) String() string {
7787	return awsutil.Prettify(s)
7788}
7789
7790// GoString returns the string representation
7791func (s DeleteMultiplexInput) GoString() string {
7792	return s.String()
7793}
7794
7795// Validate inspects the fields of the type to determine if they are valid.
7796func (s *DeleteMultiplexInput) Validate() error {
7797	invalidParams := request.ErrInvalidParams{Context: "DeleteMultiplexInput"}
7798	if s.MultiplexId == nil {
7799		invalidParams.Add(request.NewErrParamRequired("MultiplexId"))
7800	}
7801	if s.MultiplexId != nil && len(*s.MultiplexId) < 1 {
7802		invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1))
7803	}
7804
7805	if invalidParams.Len() > 0 {
7806		return invalidParams
7807	}
7808	return nil
7809}
7810
7811// SetMultiplexId sets the MultiplexId field's value.
7812func (s *DeleteMultiplexInput) SetMultiplexId(v string) *DeleteMultiplexInput {
7813	s.MultiplexId = &v
7814	return s
7815}
7816
7817type DeleteMultiplexOutput struct {
7818	_ struct{} `type:"structure"`
7819
7820	Arn *string `locationName:"arn" type:"string"`
7821
7822	AvailabilityZones []*string `locationName:"availabilityZones" type:"list"`
7823
7824	Destinations []*MultiplexOutputDestination `locationName:"destinations" type:"list"`
7825
7826	Id *string `locationName:"id" type:"string"`
7827
7828	// Contains configuration for a Multiplex event
7829	MultiplexSettings *MultiplexSettings `locationName:"multiplexSettings" type:"structure"`
7830
7831	Name *string `locationName:"name" type:"string"`
7832
7833	PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"`
7834
7835	ProgramCount *int64 `locationName:"programCount" type:"integer"`
7836
7837	// The current state of the multiplex.
7838	State *string `locationName:"state" type:"string" enum:"MultiplexState"`
7839
7840	Tags map[string]*string `locationName:"tags" type:"map"`
7841}
7842
7843// String returns the string representation
7844func (s DeleteMultiplexOutput) String() string {
7845	return awsutil.Prettify(s)
7846}
7847
7848// GoString returns the string representation
7849func (s DeleteMultiplexOutput) GoString() string {
7850	return s.String()
7851}
7852
7853// SetArn sets the Arn field's value.
7854func (s *DeleteMultiplexOutput) SetArn(v string) *DeleteMultiplexOutput {
7855	s.Arn = &v
7856	return s
7857}
7858
7859// SetAvailabilityZones sets the AvailabilityZones field's value.
7860func (s *DeleteMultiplexOutput) SetAvailabilityZones(v []*string) *DeleteMultiplexOutput {
7861	s.AvailabilityZones = v
7862	return s
7863}
7864
7865// SetDestinations sets the Destinations field's value.
7866func (s *DeleteMultiplexOutput) SetDestinations(v []*MultiplexOutputDestination) *DeleteMultiplexOutput {
7867	s.Destinations = v
7868	return s
7869}
7870
7871// SetId sets the Id field's value.
7872func (s *DeleteMultiplexOutput) SetId(v string) *DeleteMultiplexOutput {
7873	s.Id = &v
7874	return s
7875}
7876
7877// SetMultiplexSettings sets the MultiplexSettings field's value.
7878func (s *DeleteMultiplexOutput) SetMultiplexSettings(v *MultiplexSettings) *DeleteMultiplexOutput {
7879	s.MultiplexSettings = v
7880	return s
7881}
7882
7883// SetName sets the Name field's value.
7884func (s *DeleteMultiplexOutput) SetName(v string) *DeleteMultiplexOutput {
7885	s.Name = &v
7886	return s
7887}
7888
7889// SetPipelinesRunningCount sets the PipelinesRunningCount field's value.
7890func (s *DeleteMultiplexOutput) SetPipelinesRunningCount(v int64) *DeleteMultiplexOutput {
7891	s.PipelinesRunningCount = &v
7892	return s
7893}
7894
7895// SetProgramCount sets the ProgramCount field's value.
7896func (s *DeleteMultiplexOutput) SetProgramCount(v int64) *DeleteMultiplexOutput {
7897	s.ProgramCount = &v
7898	return s
7899}
7900
7901// SetState sets the State field's value.
7902func (s *DeleteMultiplexOutput) SetState(v string) *DeleteMultiplexOutput {
7903	s.State = &v
7904	return s
7905}
7906
7907// SetTags sets the Tags field's value.
7908func (s *DeleteMultiplexOutput) SetTags(v map[string]*string) *DeleteMultiplexOutput {
7909	s.Tags = v
7910	return s
7911}
7912
7913type DeleteMultiplexProgramInput struct {
7914	_ struct{} `type:"structure"`
7915
7916	// MultiplexId is a required field
7917	MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"`
7918
7919	// ProgramName is a required field
7920	ProgramName *string `location:"uri" locationName:"programName" type:"string" required:"true"`
7921}
7922
7923// String returns the string representation
7924func (s DeleteMultiplexProgramInput) String() string {
7925	return awsutil.Prettify(s)
7926}
7927
7928// GoString returns the string representation
7929func (s DeleteMultiplexProgramInput) GoString() string {
7930	return s.String()
7931}
7932
7933// Validate inspects the fields of the type to determine if they are valid.
7934func (s *DeleteMultiplexProgramInput) Validate() error {
7935	invalidParams := request.ErrInvalidParams{Context: "DeleteMultiplexProgramInput"}
7936	if s.MultiplexId == nil {
7937		invalidParams.Add(request.NewErrParamRequired("MultiplexId"))
7938	}
7939	if s.MultiplexId != nil && len(*s.MultiplexId) < 1 {
7940		invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1))
7941	}
7942	if s.ProgramName == nil {
7943		invalidParams.Add(request.NewErrParamRequired("ProgramName"))
7944	}
7945	if s.ProgramName != nil && len(*s.ProgramName) < 1 {
7946		invalidParams.Add(request.NewErrParamMinLen("ProgramName", 1))
7947	}
7948
7949	if invalidParams.Len() > 0 {
7950		return invalidParams
7951	}
7952	return nil
7953}
7954
7955// SetMultiplexId sets the MultiplexId field's value.
7956func (s *DeleteMultiplexProgramInput) SetMultiplexId(v string) *DeleteMultiplexProgramInput {
7957	s.MultiplexId = &v
7958	return s
7959}
7960
7961// SetProgramName sets the ProgramName field's value.
7962func (s *DeleteMultiplexProgramInput) SetProgramName(v string) *DeleteMultiplexProgramInput {
7963	s.ProgramName = &v
7964	return s
7965}
7966
7967type DeleteMultiplexProgramOutput struct {
7968	_ struct{} `type:"structure"`
7969
7970	ChannelId *string `locationName:"channelId" type:"string"`
7971
7972	// Multiplex Program settings configuration.
7973	MultiplexProgramSettings *MultiplexProgramSettings `locationName:"multiplexProgramSettings" type:"structure"`
7974
7975	// Packet identifiers map for a given Multiplex program.
7976	PacketIdentifiersMap *MultiplexProgramPacketIdentifiersMap `locationName:"packetIdentifiersMap" type:"structure"`
7977
7978	ProgramName *string `locationName:"programName" type:"string"`
7979}
7980
7981// String returns the string representation
7982func (s DeleteMultiplexProgramOutput) String() string {
7983	return awsutil.Prettify(s)
7984}
7985
7986// GoString returns the string representation
7987func (s DeleteMultiplexProgramOutput) GoString() string {
7988	return s.String()
7989}
7990
7991// SetChannelId sets the ChannelId field's value.
7992func (s *DeleteMultiplexProgramOutput) SetChannelId(v string) *DeleteMultiplexProgramOutput {
7993	s.ChannelId = &v
7994	return s
7995}
7996
7997// SetMultiplexProgramSettings sets the MultiplexProgramSettings field's value.
7998func (s *DeleteMultiplexProgramOutput) SetMultiplexProgramSettings(v *MultiplexProgramSettings) *DeleteMultiplexProgramOutput {
7999	s.MultiplexProgramSettings = v
8000	return s
8001}
8002
8003// SetPacketIdentifiersMap sets the PacketIdentifiersMap field's value.
8004func (s *DeleteMultiplexProgramOutput) SetPacketIdentifiersMap(v *MultiplexProgramPacketIdentifiersMap) *DeleteMultiplexProgramOutput {
8005	s.PacketIdentifiersMap = v
8006	return s
8007}
8008
8009// SetProgramName sets the ProgramName field's value.
8010func (s *DeleteMultiplexProgramOutput) SetProgramName(v string) *DeleteMultiplexProgramOutput {
8011	s.ProgramName = &v
8012	return s
8013}
8014
8015type DeleteReservationInput struct {
8016	_ struct{} `type:"structure"`
8017
8018	// ReservationId is a required field
8019	ReservationId *string `location:"uri" locationName:"reservationId" type:"string" required:"true"`
8020}
8021
8022// String returns the string representation
8023func (s DeleteReservationInput) String() string {
8024	return awsutil.Prettify(s)
8025}
8026
8027// GoString returns the string representation
8028func (s DeleteReservationInput) GoString() string {
8029	return s.String()
8030}
8031
8032// Validate inspects the fields of the type to determine if they are valid.
8033func (s *DeleteReservationInput) Validate() error {
8034	invalidParams := request.ErrInvalidParams{Context: "DeleteReservationInput"}
8035	if s.ReservationId == nil {
8036		invalidParams.Add(request.NewErrParamRequired("ReservationId"))
8037	}
8038	if s.ReservationId != nil && len(*s.ReservationId) < 1 {
8039		invalidParams.Add(request.NewErrParamMinLen("ReservationId", 1))
8040	}
8041
8042	if invalidParams.Len() > 0 {
8043		return invalidParams
8044	}
8045	return nil
8046}
8047
8048// SetReservationId sets the ReservationId field's value.
8049func (s *DeleteReservationInput) SetReservationId(v string) *DeleteReservationInput {
8050	s.ReservationId = &v
8051	return s
8052}
8053
8054type DeleteReservationOutput struct {
8055	_ struct{} `type:"structure"`
8056
8057	Arn *string `locationName:"arn" type:"string"`
8058
8059	Count *int64 `locationName:"count" type:"integer"`
8060
8061	CurrencyCode *string `locationName:"currencyCode" type:"string"`
8062
8063	Duration *int64 `locationName:"duration" type:"integer"`
8064
8065	// Units for duration, e.g. 'MONTHS'
8066	DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"`
8067
8068	End *string `locationName:"end" type:"string"`
8069
8070	FixedPrice *float64 `locationName:"fixedPrice" type:"double"`
8071
8072	Name *string `locationName:"name" type:"string"`
8073
8074	OfferingDescription *string `locationName:"offeringDescription" type:"string"`
8075
8076	OfferingId *string `locationName:"offeringId" type:"string"`
8077
8078	// Offering type, e.g. 'NO_UPFRONT'
8079	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"`
8080
8081	Region *string `locationName:"region" type:"string"`
8082
8083	ReservationId *string `locationName:"reservationId" type:"string"`
8084
8085	// Resource configuration (codec, resolution, bitrate, ...)
8086	ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"`
8087
8088	Start *string `locationName:"start" type:"string"`
8089
8090	// Current reservation state
8091	State *string `locationName:"state" type:"string" enum:"ReservationState"`
8092
8093	Tags map[string]*string `locationName:"tags" type:"map"`
8094
8095	UsagePrice *float64 `locationName:"usagePrice" type:"double"`
8096}
8097
8098// String returns the string representation
8099func (s DeleteReservationOutput) String() string {
8100	return awsutil.Prettify(s)
8101}
8102
8103// GoString returns the string representation
8104func (s DeleteReservationOutput) GoString() string {
8105	return s.String()
8106}
8107
8108// SetArn sets the Arn field's value.
8109func (s *DeleteReservationOutput) SetArn(v string) *DeleteReservationOutput {
8110	s.Arn = &v
8111	return s
8112}
8113
8114// SetCount sets the Count field's value.
8115func (s *DeleteReservationOutput) SetCount(v int64) *DeleteReservationOutput {
8116	s.Count = &v
8117	return s
8118}
8119
8120// SetCurrencyCode sets the CurrencyCode field's value.
8121func (s *DeleteReservationOutput) SetCurrencyCode(v string) *DeleteReservationOutput {
8122	s.CurrencyCode = &v
8123	return s
8124}
8125
8126// SetDuration sets the Duration field's value.
8127func (s *DeleteReservationOutput) SetDuration(v int64) *DeleteReservationOutput {
8128	s.Duration = &v
8129	return s
8130}
8131
8132// SetDurationUnits sets the DurationUnits field's value.
8133func (s *DeleteReservationOutput) SetDurationUnits(v string) *DeleteReservationOutput {
8134	s.DurationUnits = &v
8135	return s
8136}
8137
8138// SetEnd sets the End field's value.
8139func (s *DeleteReservationOutput) SetEnd(v string) *DeleteReservationOutput {
8140	s.End = &v
8141	return s
8142}
8143
8144// SetFixedPrice sets the FixedPrice field's value.
8145func (s *DeleteReservationOutput) SetFixedPrice(v float64) *DeleteReservationOutput {
8146	s.FixedPrice = &v
8147	return s
8148}
8149
8150// SetName sets the Name field's value.
8151func (s *DeleteReservationOutput) SetName(v string) *DeleteReservationOutput {
8152	s.Name = &v
8153	return s
8154}
8155
8156// SetOfferingDescription sets the OfferingDescription field's value.
8157func (s *DeleteReservationOutput) SetOfferingDescription(v string) *DeleteReservationOutput {
8158	s.OfferingDescription = &v
8159	return s
8160}
8161
8162// SetOfferingId sets the OfferingId field's value.
8163func (s *DeleteReservationOutput) SetOfferingId(v string) *DeleteReservationOutput {
8164	s.OfferingId = &v
8165	return s
8166}
8167
8168// SetOfferingType sets the OfferingType field's value.
8169func (s *DeleteReservationOutput) SetOfferingType(v string) *DeleteReservationOutput {
8170	s.OfferingType = &v
8171	return s
8172}
8173
8174// SetRegion sets the Region field's value.
8175func (s *DeleteReservationOutput) SetRegion(v string) *DeleteReservationOutput {
8176	s.Region = &v
8177	return s
8178}
8179
8180// SetReservationId sets the ReservationId field's value.
8181func (s *DeleteReservationOutput) SetReservationId(v string) *DeleteReservationOutput {
8182	s.ReservationId = &v
8183	return s
8184}
8185
8186// SetResourceSpecification sets the ResourceSpecification field's value.
8187func (s *DeleteReservationOutput) SetResourceSpecification(v *ReservationResourceSpecification) *DeleteReservationOutput {
8188	s.ResourceSpecification = v
8189	return s
8190}
8191
8192// SetStart sets the Start field's value.
8193func (s *DeleteReservationOutput) SetStart(v string) *DeleteReservationOutput {
8194	s.Start = &v
8195	return s
8196}
8197
8198// SetState sets the State field's value.
8199func (s *DeleteReservationOutput) SetState(v string) *DeleteReservationOutput {
8200	s.State = &v
8201	return s
8202}
8203
8204// SetTags sets the Tags field's value.
8205func (s *DeleteReservationOutput) SetTags(v map[string]*string) *DeleteReservationOutput {
8206	s.Tags = v
8207	return s
8208}
8209
8210// SetUsagePrice sets the UsagePrice field's value.
8211func (s *DeleteReservationOutput) SetUsagePrice(v float64) *DeleteReservationOutput {
8212	s.UsagePrice = &v
8213	return s
8214}
8215
8216type DeleteScheduleInput struct {
8217	_ struct{} `type:"structure"`
8218
8219	// ChannelId is a required field
8220	ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"`
8221}
8222
8223// String returns the string representation
8224func (s DeleteScheduleInput) String() string {
8225	return awsutil.Prettify(s)
8226}
8227
8228// GoString returns the string representation
8229func (s DeleteScheduleInput) GoString() string {
8230	return s.String()
8231}
8232
8233// Validate inspects the fields of the type to determine if they are valid.
8234func (s *DeleteScheduleInput) Validate() error {
8235	invalidParams := request.ErrInvalidParams{Context: "DeleteScheduleInput"}
8236	if s.ChannelId == nil {
8237		invalidParams.Add(request.NewErrParamRequired("ChannelId"))
8238	}
8239	if s.ChannelId != nil && len(*s.ChannelId) < 1 {
8240		invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1))
8241	}
8242
8243	if invalidParams.Len() > 0 {
8244		return invalidParams
8245	}
8246	return nil
8247}
8248
8249// SetChannelId sets the ChannelId field's value.
8250func (s *DeleteScheduleInput) SetChannelId(v string) *DeleteScheduleInput {
8251	s.ChannelId = &v
8252	return s
8253}
8254
8255type DeleteScheduleOutput struct {
8256	_ struct{} `type:"structure"`
8257}
8258
8259// String returns the string representation
8260func (s DeleteScheduleOutput) String() string {
8261	return awsutil.Prettify(s)
8262}
8263
8264// GoString returns the string representation
8265func (s DeleteScheduleOutput) GoString() string {
8266	return s.String()
8267}
8268
8269type DeleteTagsInput struct {
8270	_ struct{} `type:"structure"`
8271
8272	// ResourceArn is a required field
8273	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
8274
8275	// TagKeys is a required field
8276	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
8277}
8278
8279// String returns the string representation
8280func (s DeleteTagsInput) String() string {
8281	return awsutil.Prettify(s)
8282}
8283
8284// GoString returns the string representation
8285func (s DeleteTagsInput) GoString() string {
8286	return s.String()
8287}
8288
8289// Validate inspects the fields of the type to determine if they are valid.
8290func (s *DeleteTagsInput) Validate() error {
8291	invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"}
8292	if s.ResourceArn == nil {
8293		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
8294	}
8295	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
8296		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
8297	}
8298	if s.TagKeys == nil {
8299		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
8300	}
8301
8302	if invalidParams.Len() > 0 {
8303		return invalidParams
8304	}
8305	return nil
8306}
8307
8308// SetResourceArn sets the ResourceArn field's value.
8309func (s *DeleteTagsInput) SetResourceArn(v string) *DeleteTagsInput {
8310	s.ResourceArn = &v
8311	return s
8312}
8313
8314// SetTagKeys sets the TagKeys field's value.
8315func (s *DeleteTagsInput) SetTagKeys(v []*string) *DeleteTagsInput {
8316	s.TagKeys = v
8317	return s
8318}
8319
8320type DeleteTagsOutput struct {
8321	_ struct{} `type:"structure"`
8322}
8323
8324// String returns the string representation
8325func (s DeleteTagsOutput) String() string {
8326	return awsutil.Prettify(s)
8327}
8328
8329// GoString returns the string representation
8330func (s DeleteTagsOutput) GoString() string {
8331	return s.String()
8332}
8333
8334type DescribeChannelInput struct {
8335	_ struct{} `type:"structure"`
8336
8337	// ChannelId is a required field
8338	ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"`
8339}
8340
8341// String returns the string representation
8342func (s DescribeChannelInput) String() string {
8343	return awsutil.Prettify(s)
8344}
8345
8346// GoString returns the string representation
8347func (s DescribeChannelInput) GoString() string {
8348	return s.String()
8349}
8350
8351// Validate inspects the fields of the type to determine if they are valid.
8352func (s *DescribeChannelInput) Validate() error {
8353	invalidParams := request.ErrInvalidParams{Context: "DescribeChannelInput"}
8354	if s.ChannelId == nil {
8355		invalidParams.Add(request.NewErrParamRequired("ChannelId"))
8356	}
8357	if s.ChannelId != nil && len(*s.ChannelId) < 1 {
8358		invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1))
8359	}
8360
8361	if invalidParams.Len() > 0 {
8362		return invalidParams
8363	}
8364	return nil
8365}
8366
8367// SetChannelId sets the ChannelId field's value.
8368func (s *DescribeChannelInput) SetChannelId(v string) *DescribeChannelInput {
8369	s.ChannelId = &v
8370	return s
8371}
8372
8373type DescribeChannelOutput struct {
8374	_ struct{} `type:"structure"`
8375
8376	Arn *string `locationName:"arn" type:"string"`
8377
8378	// A standard channel has two encoding pipelines and a single pipeline channel
8379	// only has one.
8380	ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"`
8381
8382	Destinations []*OutputDestination `locationName:"destinations" type:"list"`
8383
8384	EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"`
8385
8386	// Encoder Settings
8387	EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"`
8388
8389	Id *string `locationName:"id" type:"string"`
8390
8391	InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"`
8392
8393	InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"`
8394
8395	// The log level the user wants for their channel.
8396	LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"`
8397
8398	Name *string `locationName:"name" type:"string"`
8399
8400	PipelineDetails []*PipelineDetail `locationName:"pipelineDetails" type:"list"`
8401
8402	PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"`
8403
8404	RoleArn *string `locationName:"roleArn" type:"string"`
8405
8406	State *string `locationName:"state" type:"string" enum:"ChannelState"`
8407
8408	Tags map[string]*string `locationName:"tags" type:"map"`
8409}
8410
8411// String returns the string representation
8412func (s DescribeChannelOutput) String() string {
8413	return awsutil.Prettify(s)
8414}
8415
8416// GoString returns the string representation
8417func (s DescribeChannelOutput) GoString() string {
8418	return s.String()
8419}
8420
8421// SetArn sets the Arn field's value.
8422func (s *DescribeChannelOutput) SetArn(v string) *DescribeChannelOutput {
8423	s.Arn = &v
8424	return s
8425}
8426
8427// SetChannelClass sets the ChannelClass field's value.
8428func (s *DescribeChannelOutput) SetChannelClass(v string) *DescribeChannelOutput {
8429	s.ChannelClass = &v
8430	return s
8431}
8432
8433// SetDestinations sets the Destinations field's value.
8434func (s *DescribeChannelOutput) SetDestinations(v []*OutputDestination) *DescribeChannelOutput {
8435	s.Destinations = v
8436	return s
8437}
8438
8439// SetEgressEndpoints sets the EgressEndpoints field's value.
8440func (s *DescribeChannelOutput) SetEgressEndpoints(v []*ChannelEgressEndpoint) *DescribeChannelOutput {
8441	s.EgressEndpoints = v
8442	return s
8443}
8444
8445// SetEncoderSettings sets the EncoderSettings field's value.
8446func (s *DescribeChannelOutput) SetEncoderSettings(v *EncoderSettings) *DescribeChannelOutput {
8447	s.EncoderSettings = v
8448	return s
8449}
8450
8451// SetId sets the Id field's value.
8452func (s *DescribeChannelOutput) SetId(v string) *DescribeChannelOutput {
8453	s.Id = &v
8454	return s
8455}
8456
8457// SetInputAttachments sets the InputAttachments field's value.
8458func (s *DescribeChannelOutput) SetInputAttachments(v []*InputAttachment) *DescribeChannelOutput {
8459	s.InputAttachments = v
8460	return s
8461}
8462
8463// SetInputSpecification sets the InputSpecification field's value.
8464func (s *DescribeChannelOutput) SetInputSpecification(v *InputSpecification) *DescribeChannelOutput {
8465	s.InputSpecification = v
8466	return s
8467}
8468
8469// SetLogLevel sets the LogLevel field's value.
8470func (s *DescribeChannelOutput) SetLogLevel(v string) *DescribeChannelOutput {
8471	s.LogLevel = &v
8472	return s
8473}
8474
8475// SetName sets the Name field's value.
8476func (s *DescribeChannelOutput) SetName(v string) *DescribeChannelOutput {
8477	s.Name = &v
8478	return s
8479}
8480
8481// SetPipelineDetails sets the PipelineDetails field's value.
8482func (s *DescribeChannelOutput) SetPipelineDetails(v []*PipelineDetail) *DescribeChannelOutput {
8483	s.PipelineDetails = v
8484	return s
8485}
8486
8487// SetPipelinesRunningCount sets the PipelinesRunningCount field's value.
8488func (s *DescribeChannelOutput) SetPipelinesRunningCount(v int64) *DescribeChannelOutput {
8489	s.PipelinesRunningCount = &v
8490	return s
8491}
8492
8493// SetRoleArn sets the RoleArn field's value.
8494func (s *DescribeChannelOutput) SetRoleArn(v string) *DescribeChannelOutput {
8495	s.RoleArn = &v
8496	return s
8497}
8498
8499// SetState sets the State field's value.
8500func (s *DescribeChannelOutput) SetState(v string) *DescribeChannelOutput {
8501	s.State = &v
8502	return s
8503}
8504
8505// SetTags sets the Tags field's value.
8506func (s *DescribeChannelOutput) SetTags(v map[string]*string) *DescribeChannelOutput {
8507	s.Tags = v
8508	return s
8509}
8510
8511type DescribeInputInput struct {
8512	_ struct{} `type:"structure"`
8513
8514	// InputId is a required field
8515	InputId *string `location:"uri" locationName:"inputId" type:"string" required:"true"`
8516}
8517
8518// String returns the string representation
8519func (s DescribeInputInput) String() string {
8520	return awsutil.Prettify(s)
8521}
8522
8523// GoString returns the string representation
8524func (s DescribeInputInput) GoString() string {
8525	return s.String()
8526}
8527
8528// Validate inspects the fields of the type to determine if they are valid.
8529func (s *DescribeInputInput) Validate() error {
8530	invalidParams := request.ErrInvalidParams{Context: "DescribeInputInput"}
8531	if s.InputId == nil {
8532		invalidParams.Add(request.NewErrParamRequired("InputId"))
8533	}
8534	if s.InputId != nil && len(*s.InputId) < 1 {
8535		invalidParams.Add(request.NewErrParamMinLen("InputId", 1))
8536	}
8537
8538	if invalidParams.Len() > 0 {
8539		return invalidParams
8540	}
8541	return nil
8542}
8543
8544// SetInputId sets the InputId field's value.
8545func (s *DescribeInputInput) SetInputId(v string) *DescribeInputInput {
8546	s.InputId = &v
8547	return s
8548}
8549
8550type DescribeInputOutput struct {
8551	_ struct{} `type:"structure"`
8552
8553	Arn *string `locationName:"arn" type:"string"`
8554
8555	AttachedChannels []*string `locationName:"attachedChannels" type:"list"`
8556
8557	Destinations []*InputDestination `locationName:"destinations" type:"list"`
8558
8559	Id *string `locationName:"id" type:"string"`
8560
8561	// A standard input has two sources and a single pipeline input only has one.
8562	InputClass *string `locationName:"inputClass" type:"string" enum:"InputClass"`
8563
8564	// There are two types of input sources, static and dynamic. If an input source
8565	// is dynamic you canchange the source url of the input dynamically using an
8566	// input switch action. However, the only input typeto support a dynamic url
8567	// at this time is MP4_FILE. By default all input sources are static.
8568	InputSourceType *string `locationName:"inputSourceType" type:"string" enum:"InputSourceType"`
8569
8570	MediaConnectFlows []*MediaConnectFlow `locationName:"mediaConnectFlows" type:"list"`
8571
8572	Name *string `locationName:"name" type:"string"`
8573
8574	RoleArn *string `locationName:"roleArn" type:"string"`
8575
8576	SecurityGroups []*string `locationName:"securityGroups" type:"list"`
8577
8578	Sources []*InputSource `locationName:"sources" type:"list"`
8579
8580	State *string `locationName:"state" type:"string" enum:"InputState"`
8581
8582	Tags map[string]*string `locationName:"tags" type:"map"`
8583
8584	Type *string `locationName:"type" type:"string" enum:"InputType"`
8585}
8586
8587// String returns the string representation
8588func (s DescribeInputOutput) String() string {
8589	return awsutil.Prettify(s)
8590}
8591
8592// GoString returns the string representation
8593func (s DescribeInputOutput) GoString() string {
8594	return s.String()
8595}
8596
8597// SetArn sets the Arn field's value.
8598func (s *DescribeInputOutput) SetArn(v string) *DescribeInputOutput {
8599	s.Arn = &v
8600	return s
8601}
8602
8603// SetAttachedChannels sets the AttachedChannels field's value.
8604func (s *DescribeInputOutput) SetAttachedChannels(v []*string) *DescribeInputOutput {
8605	s.AttachedChannels = v
8606	return s
8607}
8608
8609// SetDestinations sets the Destinations field's value.
8610func (s *DescribeInputOutput) SetDestinations(v []*InputDestination) *DescribeInputOutput {
8611	s.Destinations = v
8612	return s
8613}
8614
8615// SetId sets the Id field's value.
8616func (s *DescribeInputOutput) SetId(v string) *DescribeInputOutput {
8617	s.Id = &v
8618	return s
8619}
8620
8621// SetInputClass sets the InputClass field's value.
8622func (s *DescribeInputOutput) SetInputClass(v string) *DescribeInputOutput {
8623	s.InputClass = &v
8624	return s
8625}
8626
8627// SetInputSourceType sets the InputSourceType field's value.
8628func (s *DescribeInputOutput) SetInputSourceType(v string) *DescribeInputOutput {
8629	s.InputSourceType = &v
8630	return s
8631}
8632
8633// SetMediaConnectFlows sets the MediaConnectFlows field's value.
8634func (s *DescribeInputOutput) SetMediaConnectFlows(v []*MediaConnectFlow) *DescribeInputOutput {
8635	s.MediaConnectFlows = v
8636	return s
8637}
8638
8639// SetName sets the Name field's value.
8640func (s *DescribeInputOutput) SetName(v string) *DescribeInputOutput {
8641	s.Name = &v
8642	return s
8643}
8644
8645// SetRoleArn sets the RoleArn field's value.
8646func (s *DescribeInputOutput) SetRoleArn(v string) *DescribeInputOutput {
8647	s.RoleArn = &v
8648	return s
8649}
8650
8651// SetSecurityGroups sets the SecurityGroups field's value.
8652func (s *DescribeInputOutput) SetSecurityGroups(v []*string) *DescribeInputOutput {
8653	s.SecurityGroups = v
8654	return s
8655}
8656
8657// SetSources sets the Sources field's value.
8658func (s *DescribeInputOutput) SetSources(v []*InputSource) *DescribeInputOutput {
8659	s.Sources = v
8660	return s
8661}
8662
8663// SetState sets the State field's value.
8664func (s *DescribeInputOutput) SetState(v string) *DescribeInputOutput {
8665	s.State = &v
8666	return s
8667}
8668
8669// SetTags sets the Tags field's value.
8670func (s *DescribeInputOutput) SetTags(v map[string]*string) *DescribeInputOutput {
8671	s.Tags = v
8672	return s
8673}
8674
8675// SetType sets the Type field's value.
8676func (s *DescribeInputOutput) SetType(v string) *DescribeInputOutput {
8677	s.Type = &v
8678	return s
8679}
8680
8681type DescribeInputSecurityGroupInput struct {
8682	_ struct{} `type:"structure"`
8683
8684	// InputSecurityGroupId is a required field
8685	InputSecurityGroupId *string `location:"uri" locationName:"inputSecurityGroupId" type:"string" required:"true"`
8686}
8687
8688// String returns the string representation
8689func (s DescribeInputSecurityGroupInput) String() string {
8690	return awsutil.Prettify(s)
8691}
8692
8693// GoString returns the string representation
8694func (s DescribeInputSecurityGroupInput) GoString() string {
8695	return s.String()
8696}
8697
8698// Validate inspects the fields of the type to determine if they are valid.
8699func (s *DescribeInputSecurityGroupInput) Validate() error {
8700	invalidParams := request.ErrInvalidParams{Context: "DescribeInputSecurityGroupInput"}
8701	if s.InputSecurityGroupId == nil {
8702		invalidParams.Add(request.NewErrParamRequired("InputSecurityGroupId"))
8703	}
8704	if s.InputSecurityGroupId != nil && len(*s.InputSecurityGroupId) < 1 {
8705		invalidParams.Add(request.NewErrParamMinLen("InputSecurityGroupId", 1))
8706	}
8707
8708	if invalidParams.Len() > 0 {
8709		return invalidParams
8710	}
8711	return nil
8712}
8713
8714// SetInputSecurityGroupId sets the InputSecurityGroupId field's value.
8715func (s *DescribeInputSecurityGroupInput) SetInputSecurityGroupId(v string) *DescribeInputSecurityGroupInput {
8716	s.InputSecurityGroupId = &v
8717	return s
8718}
8719
8720type DescribeInputSecurityGroupOutput struct {
8721	_ struct{} `type:"structure"`
8722
8723	Arn *string `locationName:"arn" type:"string"`
8724
8725	Id *string `locationName:"id" type:"string"`
8726
8727	Inputs []*string `locationName:"inputs" type:"list"`
8728
8729	State *string `locationName:"state" type:"string" enum:"InputSecurityGroupState"`
8730
8731	Tags map[string]*string `locationName:"tags" type:"map"`
8732
8733	WhitelistRules []*InputWhitelistRule `locationName:"whitelistRules" type:"list"`
8734}
8735
8736// String returns the string representation
8737func (s DescribeInputSecurityGroupOutput) String() string {
8738	return awsutil.Prettify(s)
8739}
8740
8741// GoString returns the string representation
8742func (s DescribeInputSecurityGroupOutput) GoString() string {
8743	return s.String()
8744}
8745
8746// SetArn sets the Arn field's value.
8747func (s *DescribeInputSecurityGroupOutput) SetArn(v string) *DescribeInputSecurityGroupOutput {
8748	s.Arn = &v
8749	return s
8750}
8751
8752// SetId sets the Id field's value.
8753func (s *DescribeInputSecurityGroupOutput) SetId(v string) *DescribeInputSecurityGroupOutput {
8754	s.Id = &v
8755	return s
8756}
8757
8758// SetInputs sets the Inputs field's value.
8759func (s *DescribeInputSecurityGroupOutput) SetInputs(v []*string) *DescribeInputSecurityGroupOutput {
8760	s.Inputs = v
8761	return s
8762}
8763
8764// SetState sets the State field's value.
8765func (s *DescribeInputSecurityGroupOutput) SetState(v string) *DescribeInputSecurityGroupOutput {
8766	s.State = &v
8767	return s
8768}
8769
8770// SetTags sets the Tags field's value.
8771func (s *DescribeInputSecurityGroupOutput) SetTags(v map[string]*string) *DescribeInputSecurityGroupOutput {
8772	s.Tags = v
8773	return s
8774}
8775
8776// SetWhitelistRules sets the WhitelistRules field's value.
8777func (s *DescribeInputSecurityGroupOutput) SetWhitelistRules(v []*InputWhitelistRule) *DescribeInputSecurityGroupOutput {
8778	s.WhitelistRules = v
8779	return s
8780}
8781
8782type DescribeMultiplexInput struct {
8783	_ struct{} `type:"structure"`
8784
8785	// MultiplexId is a required field
8786	MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"`
8787}
8788
8789// String returns the string representation
8790func (s DescribeMultiplexInput) String() string {
8791	return awsutil.Prettify(s)
8792}
8793
8794// GoString returns the string representation
8795func (s DescribeMultiplexInput) GoString() string {
8796	return s.String()
8797}
8798
8799// Validate inspects the fields of the type to determine if they are valid.
8800func (s *DescribeMultiplexInput) Validate() error {
8801	invalidParams := request.ErrInvalidParams{Context: "DescribeMultiplexInput"}
8802	if s.MultiplexId == nil {
8803		invalidParams.Add(request.NewErrParamRequired("MultiplexId"))
8804	}
8805	if s.MultiplexId != nil && len(*s.MultiplexId) < 1 {
8806		invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1))
8807	}
8808
8809	if invalidParams.Len() > 0 {
8810		return invalidParams
8811	}
8812	return nil
8813}
8814
8815// SetMultiplexId sets the MultiplexId field's value.
8816func (s *DescribeMultiplexInput) SetMultiplexId(v string) *DescribeMultiplexInput {
8817	s.MultiplexId = &v
8818	return s
8819}
8820
8821type DescribeMultiplexOutput struct {
8822	_ struct{} `type:"structure"`
8823
8824	Arn *string `locationName:"arn" type:"string"`
8825
8826	AvailabilityZones []*string `locationName:"availabilityZones" type:"list"`
8827
8828	Destinations []*MultiplexOutputDestination `locationName:"destinations" type:"list"`
8829
8830	Id *string `locationName:"id" type:"string"`
8831
8832	// Contains configuration for a Multiplex event
8833	MultiplexSettings *MultiplexSettings `locationName:"multiplexSettings" type:"structure"`
8834
8835	Name *string `locationName:"name" type:"string"`
8836
8837	PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"`
8838
8839	ProgramCount *int64 `locationName:"programCount" type:"integer"`
8840
8841	// The current state of the multiplex.
8842	State *string `locationName:"state" type:"string" enum:"MultiplexState"`
8843
8844	Tags map[string]*string `locationName:"tags" type:"map"`
8845}
8846
8847// String returns the string representation
8848func (s DescribeMultiplexOutput) String() string {
8849	return awsutil.Prettify(s)
8850}
8851
8852// GoString returns the string representation
8853func (s DescribeMultiplexOutput) GoString() string {
8854	return s.String()
8855}
8856
8857// SetArn sets the Arn field's value.
8858func (s *DescribeMultiplexOutput) SetArn(v string) *DescribeMultiplexOutput {
8859	s.Arn = &v
8860	return s
8861}
8862
8863// SetAvailabilityZones sets the AvailabilityZones field's value.
8864func (s *DescribeMultiplexOutput) SetAvailabilityZones(v []*string) *DescribeMultiplexOutput {
8865	s.AvailabilityZones = v
8866	return s
8867}
8868
8869// SetDestinations sets the Destinations field's value.
8870func (s *DescribeMultiplexOutput) SetDestinations(v []*MultiplexOutputDestination) *DescribeMultiplexOutput {
8871	s.Destinations = v
8872	return s
8873}
8874
8875// SetId sets the Id field's value.
8876func (s *DescribeMultiplexOutput) SetId(v string) *DescribeMultiplexOutput {
8877	s.Id = &v
8878	return s
8879}
8880
8881// SetMultiplexSettings sets the MultiplexSettings field's value.
8882func (s *DescribeMultiplexOutput) SetMultiplexSettings(v *MultiplexSettings) *DescribeMultiplexOutput {
8883	s.MultiplexSettings = v
8884	return s
8885}
8886
8887// SetName sets the Name field's value.
8888func (s *DescribeMultiplexOutput) SetName(v string) *DescribeMultiplexOutput {
8889	s.Name = &v
8890	return s
8891}
8892
8893// SetPipelinesRunningCount sets the PipelinesRunningCount field's value.
8894func (s *DescribeMultiplexOutput) SetPipelinesRunningCount(v int64) *DescribeMultiplexOutput {
8895	s.PipelinesRunningCount = &v
8896	return s
8897}
8898
8899// SetProgramCount sets the ProgramCount field's value.
8900func (s *DescribeMultiplexOutput) SetProgramCount(v int64) *DescribeMultiplexOutput {
8901	s.ProgramCount = &v
8902	return s
8903}
8904
8905// SetState sets the State field's value.
8906func (s *DescribeMultiplexOutput) SetState(v string) *DescribeMultiplexOutput {
8907	s.State = &v
8908	return s
8909}
8910
8911// SetTags sets the Tags field's value.
8912func (s *DescribeMultiplexOutput) SetTags(v map[string]*string) *DescribeMultiplexOutput {
8913	s.Tags = v
8914	return s
8915}
8916
8917type DescribeMultiplexProgramInput struct {
8918	_ struct{} `type:"structure"`
8919
8920	// MultiplexId is a required field
8921	MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"`
8922
8923	// ProgramName is a required field
8924	ProgramName *string `location:"uri" locationName:"programName" type:"string" required:"true"`
8925}
8926
8927// String returns the string representation
8928func (s DescribeMultiplexProgramInput) String() string {
8929	return awsutil.Prettify(s)
8930}
8931
8932// GoString returns the string representation
8933func (s DescribeMultiplexProgramInput) GoString() string {
8934	return s.String()
8935}
8936
8937// Validate inspects the fields of the type to determine if they are valid.
8938func (s *DescribeMultiplexProgramInput) Validate() error {
8939	invalidParams := request.ErrInvalidParams{Context: "DescribeMultiplexProgramInput"}
8940	if s.MultiplexId == nil {
8941		invalidParams.Add(request.NewErrParamRequired("MultiplexId"))
8942	}
8943	if s.MultiplexId != nil && len(*s.MultiplexId) < 1 {
8944		invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1))
8945	}
8946	if s.ProgramName == nil {
8947		invalidParams.Add(request.NewErrParamRequired("ProgramName"))
8948	}
8949	if s.ProgramName != nil && len(*s.ProgramName) < 1 {
8950		invalidParams.Add(request.NewErrParamMinLen("ProgramName", 1))
8951	}
8952
8953	if invalidParams.Len() > 0 {
8954		return invalidParams
8955	}
8956	return nil
8957}
8958
8959// SetMultiplexId sets the MultiplexId field's value.
8960func (s *DescribeMultiplexProgramInput) SetMultiplexId(v string) *DescribeMultiplexProgramInput {
8961	s.MultiplexId = &v
8962	return s
8963}
8964
8965// SetProgramName sets the ProgramName field's value.
8966func (s *DescribeMultiplexProgramInput) SetProgramName(v string) *DescribeMultiplexProgramInput {
8967	s.ProgramName = &v
8968	return s
8969}
8970
8971type DescribeMultiplexProgramOutput struct {
8972	_ struct{} `type:"structure"`
8973
8974	ChannelId *string `locationName:"channelId" type:"string"`
8975
8976	// Multiplex Program settings configuration.
8977	MultiplexProgramSettings *MultiplexProgramSettings `locationName:"multiplexProgramSettings" type:"structure"`
8978
8979	// Packet identifiers map for a given Multiplex program.
8980	PacketIdentifiersMap *MultiplexProgramPacketIdentifiersMap `locationName:"packetIdentifiersMap" type:"structure"`
8981
8982	ProgramName *string `locationName:"programName" type:"string"`
8983}
8984
8985// String returns the string representation
8986func (s DescribeMultiplexProgramOutput) String() string {
8987	return awsutil.Prettify(s)
8988}
8989
8990// GoString returns the string representation
8991func (s DescribeMultiplexProgramOutput) GoString() string {
8992	return s.String()
8993}
8994
8995// SetChannelId sets the ChannelId field's value.
8996func (s *DescribeMultiplexProgramOutput) SetChannelId(v string) *DescribeMultiplexProgramOutput {
8997	s.ChannelId = &v
8998	return s
8999}
9000
9001// SetMultiplexProgramSettings sets the MultiplexProgramSettings field's value.
9002func (s *DescribeMultiplexProgramOutput) SetMultiplexProgramSettings(v *MultiplexProgramSettings) *DescribeMultiplexProgramOutput {
9003	s.MultiplexProgramSettings = v
9004	return s
9005}
9006
9007// SetPacketIdentifiersMap sets the PacketIdentifiersMap field's value.
9008func (s *DescribeMultiplexProgramOutput) SetPacketIdentifiersMap(v *MultiplexProgramPacketIdentifiersMap) *DescribeMultiplexProgramOutput {
9009	s.PacketIdentifiersMap = v
9010	return s
9011}
9012
9013// SetProgramName sets the ProgramName field's value.
9014func (s *DescribeMultiplexProgramOutput) SetProgramName(v string) *DescribeMultiplexProgramOutput {
9015	s.ProgramName = &v
9016	return s
9017}
9018
9019type DescribeOfferingInput struct {
9020	_ struct{} `type:"structure"`
9021
9022	// OfferingId is a required field
9023	OfferingId *string `location:"uri" locationName:"offeringId" type:"string" required:"true"`
9024}
9025
9026// String returns the string representation
9027func (s DescribeOfferingInput) String() string {
9028	return awsutil.Prettify(s)
9029}
9030
9031// GoString returns the string representation
9032func (s DescribeOfferingInput) GoString() string {
9033	return s.String()
9034}
9035
9036// Validate inspects the fields of the type to determine if they are valid.
9037func (s *DescribeOfferingInput) Validate() error {
9038	invalidParams := request.ErrInvalidParams{Context: "DescribeOfferingInput"}
9039	if s.OfferingId == nil {
9040		invalidParams.Add(request.NewErrParamRequired("OfferingId"))
9041	}
9042	if s.OfferingId != nil && len(*s.OfferingId) < 1 {
9043		invalidParams.Add(request.NewErrParamMinLen("OfferingId", 1))
9044	}
9045
9046	if invalidParams.Len() > 0 {
9047		return invalidParams
9048	}
9049	return nil
9050}
9051
9052// SetOfferingId sets the OfferingId field's value.
9053func (s *DescribeOfferingInput) SetOfferingId(v string) *DescribeOfferingInput {
9054	s.OfferingId = &v
9055	return s
9056}
9057
9058type DescribeOfferingOutput struct {
9059	_ struct{} `type:"structure"`
9060
9061	Arn *string `locationName:"arn" type:"string"`
9062
9063	CurrencyCode *string `locationName:"currencyCode" type:"string"`
9064
9065	Duration *int64 `locationName:"duration" type:"integer"`
9066
9067	// Units for duration, e.g. 'MONTHS'
9068	DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"`
9069
9070	FixedPrice *float64 `locationName:"fixedPrice" type:"double"`
9071
9072	OfferingDescription *string `locationName:"offeringDescription" type:"string"`
9073
9074	OfferingId *string `locationName:"offeringId" type:"string"`
9075
9076	// Offering type, e.g. 'NO_UPFRONT'
9077	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"`
9078
9079	Region *string `locationName:"region" type:"string"`
9080
9081	// Resource configuration (codec, resolution, bitrate, ...)
9082	ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"`
9083
9084	UsagePrice *float64 `locationName:"usagePrice" type:"double"`
9085}
9086
9087// String returns the string representation
9088func (s DescribeOfferingOutput) String() string {
9089	return awsutil.Prettify(s)
9090}
9091
9092// GoString returns the string representation
9093func (s DescribeOfferingOutput) GoString() string {
9094	return s.String()
9095}
9096
9097// SetArn sets the Arn field's value.
9098func (s *DescribeOfferingOutput) SetArn(v string) *DescribeOfferingOutput {
9099	s.Arn = &v
9100	return s
9101}
9102
9103// SetCurrencyCode sets the CurrencyCode field's value.
9104func (s *DescribeOfferingOutput) SetCurrencyCode(v string) *DescribeOfferingOutput {
9105	s.CurrencyCode = &v
9106	return s
9107}
9108
9109// SetDuration sets the Duration field's value.
9110func (s *DescribeOfferingOutput) SetDuration(v int64) *DescribeOfferingOutput {
9111	s.Duration = &v
9112	return s
9113}
9114
9115// SetDurationUnits sets the DurationUnits field's value.
9116func (s *DescribeOfferingOutput) SetDurationUnits(v string) *DescribeOfferingOutput {
9117	s.DurationUnits = &v
9118	return s
9119}
9120
9121// SetFixedPrice sets the FixedPrice field's value.
9122func (s *DescribeOfferingOutput) SetFixedPrice(v float64) *DescribeOfferingOutput {
9123	s.FixedPrice = &v
9124	return s
9125}
9126
9127// SetOfferingDescription sets the OfferingDescription field's value.
9128func (s *DescribeOfferingOutput) SetOfferingDescription(v string) *DescribeOfferingOutput {
9129	s.OfferingDescription = &v
9130	return s
9131}
9132
9133// SetOfferingId sets the OfferingId field's value.
9134func (s *DescribeOfferingOutput) SetOfferingId(v string) *DescribeOfferingOutput {
9135	s.OfferingId = &v
9136	return s
9137}
9138
9139// SetOfferingType sets the OfferingType field's value.
9140func (s *DescribeOfferingOutput) SetOfferingType(v string) *DescribeOfferingOutput {
9141	s.OfferingType = &v
9142	return s
9143}
9144
9145// SetRegion sets the Region field's value.
9146func (s *DescribeOfferingOutput) SetRegion(v string) *DescribeOfferingOutput {
9147	s.Region = &v
9148	return s
9149}
9150
9151// SetResourceSpecification sets the ResourceSpecification field's value.
9152func (s *DescribeOfferingOutput) SetResourceSpecification(v *ReservationResourceSpecification) *DescribeOfferingOutput {
9153	s.ResourceSpecification = v
9154	return s
9155}
9156
9157// SetUsagePrice sets the UsagePrice field's value.
9158func (s *DescribeOfferingOutput) SetUsagePrice(v float64) *DescribeOfferingOutput {
9159	s.UsagePrice = &v
9160	return s
9161}
9162
9163type DescribeReservationInput struct {
9164	_ struct{} `type:"structure"`
9165
9166	// ReservationId is a required field
9167	ReservationId *string `location:"uri" locationName:"reservationId" type:"string" required:"true"`
9168}
9169
9170// String returns the string representation
9171func (s DescribeReservationInput) String() string {
9172	return awsutil.Prettify(s)
9173}
9174
9175// GoString returns the string representation
9176func (s DescribeReservationInput) GoString() string {
9177	return s.String()
9178}
9179
9180// Validate inspects the fields of the type to determine if they are valid.
9181func (s *DescribeReservationInput) Validate() error {
9182	invalidParams := request.ErrInvalidParams{Context: "DescribeReservationInput"}
9183	if s.ReservationId == nil {
9184		invalidParams.Add(request.NewErrParamRequired("ReservationId"))
9185	}
9186	if s.ReservationId != nil && len(*s.ReservationId) < 1 {
9187		invalidParams.Add(request.NewErrParamMinLen("ReservationId", 1))
9188	}
9189
9190	if invalidParams.Len() > 0 {
9191		return invalidParams
9192	}
9193	return nil
9194}
9195
9196// SetReservationId sets the ReservationId field's value.
9197func (s *DescribeReservationInput) SetReservationId(v string) *DescribeReservationInput {
9198	s.ReservationId = &v
9199	return s
9200}
9201
9202type DescribeReservationOutput struct {
9203	_ struct{} `type:"structure"`
9204
9205	Arn *string `locationName:"arn" type:"string"`
9206
9207	Count *int64 `locationName:"count" type:"integer"`
9208
9209	CurrencyCode *string `locationName:"currencyCode" type:"string"`
9210
9211	Duration *int64 `locationName:"duration" type:"integer"`
9212
9213	// Units for duration, e.g. 'MONTHS'
9214	DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"`
9215
9216	End *string `locationName:"end" type:"string"`
9217
9218	FixedPrice *float64 `locationName:"fixedPrice" type:"double"`
9219
9220	Name *string `locationName:"name" type:"string"`
9221
9222	OfferingDescription *string `locationName:"offeringDescription" type:"string"`
9223
9224	OfferingId *string `locationName:"offeringId" type:"string"`
9225
9226	// Offering type, e.g. 'NO_UPFRONT'
9227	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"`
9228
9229	Region *string `locationName:"region" type:"string"`
9230
9231	ReservationId *string `locationName:"reservationId" type:"string"`
9232
9233	// Resource configuration (codec, resolution, bitrate, ...)
9234	ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"`
9235
9236	Start *string `locationName:"start" type:"string"`
9237
9238	// Current reservation state
9239	State *string `locationName:"state" type:"string" enum:"ReservationState"`
9240
9241	Tags map[string]*string `locationName:"tags" type:"map"`
9242
9243	UsagePrice *float64 `locationName:"usagePrice" type:"double"`
9244}
9245
9246// String returns the string representation
9247func (s DescribeReservationOutput) String() string {
9248	return awsutil.Prettify(s)
9249}
9250
9251// GoString returns the string representation
9252func (s DescribeReservationOutput) GoString() string {
9253	return s.String()
9254}
9255
9256// SetArn sets the Arn field's value.
9257func (s *DescribeReservationOutput) SetArn(v string) *DescribeReservationOutput {
9258	s.Arn = &v
9259	return s
9260}
9261
9262// SetCount sets the Count field's value.
9263func (s *DescribeReservationOutput) SetCount(v int64) *DescribeReservationOutput {
9264	s.Count = &v
9265	return s
9266}
9267
9268// SetCurrencyCode sets the CurrencyCode field's value.
9269func (s *DescribeReservationOutput) SetCurrencyCode(v string) *DescribeReservationOutput {
9270	s.CurrencyCode = &v
9271	return s
9272}
9273
9274// SetDuration sets the Duration field's value.
9275func (s *DescribeReservationOutput) SetDuration(v int64) *DescribeReservationOutput {
9276	s.Duration = &v
9277	return s
9278}
9279
9280// SetDurationUnits sets the DurationUnits field's value.
9281func (s *DescribeReservationOutput) SetDurationUnits(v string) *DescribeReservationOutput {
9282	s.DurationUnits = &v
9283	return s
9284}
9285
9286// SetEnd sets the End field's value.
9287func (s *DescribeReservationOutput) SetEnd(v string) *DescribeReservationOutput {
9288	s.End = &v
9289	return s
9290}
9291
9292// SetFixedPrice sets the FixedPrice field's value.
9293func (s *DescribeReservationOutput) SetFixedPrice(v float64) *DescribeReservationOutput {
9294	s.FixedPrice = &v
9295	return s
9296}
9297
9298// SetName sets the Name field's value.
9299func (s *DescribeReservationOutput) SetName(v string) *DescribeReservationOutput {
9300	s.Name = &v
9301	return s
9302}
9303
9304// SetOfferingDescription sets the OfferingDescription field's value.
9305func (s *DescribeReservationOutput) SetOfferingDescription(v string) *DescribeReservationOutput {
9306	s.OfferingDescription = &v
9307	return s
9308}
9309
9310// SetOfferingId sets the OfferingId field's value.
9311func (s *DescribeReservationOutput) SetOfferingId(v string) *DescribeReservationOutput {
9312	s.OfferingId = &v
9313	return s
9314}
9315
9316// SetOfferingType sets the OfferingType field's value.
9317func (s *DescribeReservationOutput) SetOfferingType(v string) *DescribeReservationOutput {
9318	s.OfferingType = &v
9319	return s
9320}
9321
9322// SetRegion sets the Region field's value.
9323func (s *DescribeReservationOutput) SetRegion(v string) *DescribeReservationOutput {
9324	s.Region = &v
9325	return s
9326}
9327
9328// SetReservationId sets the ReservationId field's value.
9329func (s *DescribeReservationOutput) SetReservationId(v string) *DescribeReservationOutput {
9330	s.ReservationId = &v
9331	return s
9332}
9333
9334// SetResourceSpecification sets the ResourceSpecification field's value.
9335func (s *DescribeReservationOutput) SetResourceSpecification(v *ReservationResourceSpecification) *DescribeReservationOutput {
9336	s.ResourceSpecification = v
9337	return s
9338}
9339
9340// SetStart sets the Start field's value.
9341func (s *DescribeReservationOutput) SetStart(v string) *DescribeReservationOutput {
9342	s.Start = &v
9343	return s
9344}
9345
9346// SetState sets the State field's value.
9347func (s *DescribeReservationOutput) SetState(v string) *DescribeReservationOutput {
9348	s.State = &v
9349	return s
9350}
9351
9352// SetTags sets the Tags field's value.
9353func (s *DescribeReservationOutput) SetTags(v map[string]*string) *DescribeReservationOutput {
9354	s.Tags = v
9355	return s
9356}
9357
9358// SetUsagePrice sets the UsagePrice field's value.
9359func (s *DescribeReservationOutput) SetUsagePrice(v float64) *DescribeReservationOutput {
9360	s.UsagePrice = &v
9361	return s
9362}
9363
9364type DescribeScheduleInput struct {
9365	_ struct{} `type:"structure"`
9366
9367	// ChannelId is a required field
9368	ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"`
9369
9370	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
9371
9372	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
9373}
9374
9375// String returns the string representation
9376func (s DescribeScheduleInput) String() string {
9377	return awsutil.Prettify(s)
9378}
9379
9380// GoString returns the string representation
9381func (s DescribeScheduleInput) GoString() string {
9382	return s.String()
9383}
9384
9385// Validate inspects the fields of the type to determine if they are valid.
9386func (s *DescribeScheduleInput) Validate() error {
9387	invalidParams := request.ErrInvalidParams{Context: "DescribeScheduleInput"}
9388	if s.ChannelId == nil {
9389		invalidParams.Add(request.NewErrParamRequired("ChannelId"))
9390	}
9391	if s.ChannelId != nil && len(*s.ChannelId) < 1 {
9392		invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1))
9393	}
9394	if s.MaxResults != nil && *s.MaxResults < 1 {
9395		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9396	}
9397
9398	if invalidParams.Len() > 0 {
9399		return invalidParams
9400	}
9401	return nil
9402}
9403
9404// SetChannelId sets the ChannelId field's value.
9405func (s *DescribeScheduleInput) SetChannelId(v string) *DescribeScheduleInput {
9406	s.ChannelId = &v
9407	return s
9408}
9409
9410// SetMaxResults sets the MaxResults field's value.
9411func (s *DescribeScheduleInput) SetMaxResults(v int64) *DescribeScheduleInput {
9412	s.MaxResults = &v
9413	return s
9414}
9415
9416// SetNextToken sets the NextToken field's value.
9417func (s *DescribeScheduleInput) SetNextToken(v string) *DescribeScheduleInput {
9418	s.NextToken = &v
9419	return s
9420}
9421
9422type DescribeScheduleOutput struct {
9423	_ struct{} `type:"structure"`
9424
9425	NextToken *string `locationName:"nextToken" type:"string"`
9426
9427	ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list"`
9428}
9429
9430// String returns the string representation
9431func (s DescribeScheduleOutput) String() string {
9432	return awsutil.Prettify(s)
9433}
9434
9435// GoString returns the string representation
9436func (s DescribeScheduleOutput) GoString() string {
9437	return s.String()
9438}
9439
9440// SetNextToken sets the NextToken field's value.
9441func (s *DescribeScheduleOutput) SetNextToken(v string) *DescribeScheduleOutput {
9442	s.NextToken = &v
9443	return s
9444}
9445
9446// SetScheduleActions sets the ScheduleActions field's value.
9447func (s *DescribeScheduleOutput) SetScheduleActions(v []*ScheduleAction) *DescribeScheduleOutput {
9448	s.ScheduleActions = v
9449	return s
9450}
9451
9452// DVB Network Information Table (NIT)
9453type DvbNitSettings struct {
9454	_ struct{} `type:"structure"`
9455
9456	// The numeric value placed in the Network Information Table (NIT).
9457	//
9458	// NetworkId is a required field
9459	NetworkId *int64 `locationName:"networkId" type:"integer" required:"true"`
9460
9461	// The network name text placed in the networkNameDescriptor inside the Network
9462	// Information Table. Maximum length is 256 characters.
9463	//
9464	// NetworkName is a required field
9465	NetworkName *string `locationName:"networkName" min:"1" type:"string" required:"true"`
9466
9467	// The number of milliseconds between instances of this table in the output
9468	// transport stream.
9469	RepInterval *int64 `locationName:"repInterval" min:"25" type:"integer"`
9470}
9471
9472// String returns the string representation
9473func (s DvbNitSettings) String() string {
9474	return awsutil.Prettify(s)
9475}
9476
9477// GoString returns the string representation
9478func (s DvbNitSettings) GoString() string {
9479	return s.String()
9480}
9481
9482// Validate inspects the fields of the type to determine if they are valid.
9483func (s *DvbNitSettings) Validate() error {
9484	invalidParams := request.ErrInvalidParams{Context: "DvbNitSettings"}
9485	if s.NetworkId == nil {
9486		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
9487	}
9488	if s.NetworkName == nil {
9489		invalidParams.Add(request.NewErrParamRequired("NetworkName"))
9490	}
9491	if s.NetworkName != nil && len(*s.NetworkName) < 1 {
9492		invalidParams.Add(request.NewErrParamMinLen("NetworkName", 1))
9493	}
9494	if s.RepInterval != nil && *s.RepInterval < 25 {
9495		invalidParams.Add(request.NewErrParamMinValue("RepInterval", 25))
9496	}
9497
9498	if invalidParams.Len() > 0 {
9499		return invalidParams
9500	}
9501	return nil
9502}
9503
9504// SetNetworkId sets the NetworkId field's value.
9505func (s *DvbNitSettings) SetNetworkId(v int64) *DvbNitSettings {
9506	s.NetworkId = &v
9507	return s
9508}
9509
9510// SetNetworkName sets the NetworkName field's value.
9511func (s *DvbNitSettings) SetNetworkName(v string) *DvbNitSettings {
9512	s.NetworkName = &v
9513	return s
9514}
9515
9516// SetRepInterval sets the RepInterval field's value.
9517func (s *DvbNitSettings) SetRepInterval(v int64) *DvbNitSettings {
9518	s.RepInterval = &v
9519	return s
9520}
9521
9522// DVB Service Description Table (SDT)
9523type DvbSdtSettings struct {
9524	_ struct{} `type:"structure"`
9525
9526	// Selects method of inserting SDT information into output stream. The sdtFollow
9527	// setting copies SDT information from input stream to output stream. The sdtFollowIfPresent
9528	// setting copies SDT information from input stream to output stream if SDT
9529	// information is present in the input, otherwise it will fall back on the user-defined
9530	// values. The sdtManual setting means user will enter the SDT information.
9531	// The sdtNone setting means output stream will not contain SDT information.
9532	OutputSdt *string `locationName:"outputSdt" type:"string" enum:"DvbSdtOutputSdt"`
9533
9534	// The number of milliseconds between instances of this table in the output
9535	// transport stream.
9536	RepInterval *int64 `locationName:"repInterval" min:"25" type:"integer"`
9537
9538	// The service name placed in the serviceDescriptor in the Service Description
9539	// Table. Maximum length is 256 characters.
9540	ServiceName *string `locationName:"serviceName" min:"1" type:"string"`
9541
9542	// The service provider name placed in the serviceDescriptor in the Service
9543	// Description Table. Maximum length is 256 characters.
9544	ServiceProviderName *string `locationName:"serviceProviderName" min:"1" type:"string"`
9545}
9546
9547// String returns the string representation
9548func (s DvbSdtSettings) String() string {
9549	return awsutil.Prettify(s)
9550}
9551
9552// GoString returns the string representation
9553func (s DvbSdtSettings) GoString() string {
9554	return s.String()
9555}
9556
9557// Validate inspects the fields of the type to determine if they are valid.
9558func (s *DvbSdtSettings) Validate() error {
9559	invalidParams := request.ErrInvalidParams{Context: "DvbSdtSettings"}
9560	if s.RepInterval != nil && *s.RepInterval < 25 {
9561		invalidParams.Add(request.NewErrParamMinValue("RepInterval", 25))
9562	}
9563	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
9564		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
9565	}
9566	if s.ServiceProviderName != nil && len(*s.ServiceProviderName) < 1 {
9567		invalidParams.Add(request.NewErrParamMinLen("ServiceProviderName", 1))
9568	}
9569
9570	if invalidParams.Len() > 0 {
9571		return invalidParams
9572	}
9573	return nil
9574}
9575
9576// SetOutputSdt sets the OutputSdt field's value.
9577func (s *DvbSdtSettings) SetOutputSdt(v string) *DvbSdtSettings {
9578	s.OutputSdt = &v
9579	return s
9580}
9581
9582// SetRepInterval sets the RepInterval field's value.
9583func (s *DvbSdtSettings) SetRepInterval(v int64) *DvbSdtSettings {
9584	s.RepInterval = &v
9585	return s
9586}
9587
9588// SetServiceName sets the ServiceName field's value.
9589func (s *DvbSdtSettings) SetServiceName(v string) *DvbSdtSettings {
9590	s.ServiceName = &v
9591	return s
9592}
9593
9594// SetServiceProviderName sets the ServiceProviderName field's value.
9595func (s *DvbSdtSettings) SetServiceProviderName(v string) *DvbSdtSettings {
9596	s.ServiceProviderName = &v
9597	return s
9598}
9599
9600// Dvb Sub Destination Settings
9601type DvbSubDestinationSettings struct {
9602	_ struct{} `type:"structure"`
9603
9604	// If no explicit xPosition or yPosition is provided, setting alignment to centered
9605	// will place the captions at the bottom center of the output. Similarly, setting
9606	// a left alignment will align captions to the bottom left of the output. If
9607	// x and y positions are given in conjunction with the alignment parameter,
9608	// the font will be justified (either left or centered) relative to those coordinates.
9609	// Selecting "smart" justification will left-justify live subtitles and center-justify
9610	// pre-recorded subtitles. This option is not valid for source captions that
9611	// are STL or 608/embedded. These source settings are already pre-defined by
9612	// the caption stream. All burn-in and DVB-Sub font settings must match.
9613	Alignment *string `locationName:"alignment" type:"string" enum:"DvbSubDestinationAlignment"`
9614
9615	// Specifies the color of the rectangle behind the captions. All burn-in and
9616	// DVB-Sub font settings must match.
9617	BackgroundColor *string `locationName:"backgroundColor" type:"string" enum:"DvbSubDestinationBackgroundColor"`
9618
9619	// Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent.
9620	// Leaving this parameter blank is equivalent to setting it to 0 (transparent).
9621	// All burn-in and DVB-Sub font settings must match.
9622	BackgroundOpacity *int64 `locationName:"backgroundOpacity" type:"integer"`
9623
9624	// External font file used for caption burn-in. File extension must be 'ttf'
9625	// or 'tte'. Although the user can select output fonts for many different types
9626	// of input captions, embedded, STL and teletext sources use a strict grid system.
9627	// Using external fonts with these caption sources could cause unexpected display
9628	// of proportional fonts. All burn-in and DVB-Sub font settings must match.
9629	Font *InputLocation `locationName:"font" type:"structure"`
9630
9631	// Specifies the color of the burned-in captions. This option is not valid for
9632	// source captions that are STL, 608/embedded or teletext. These source settings
9633	// are already pre-defined by the caption stream. All burn-in and DVB-Sub font
9634	// settings must match.
9635	FontColor *string `locationName:"fontColor" type:"string" enum:"DvbSubDestinationFontColor"`
9636
9637	// Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent.
9638	// All burn-in and DVB-Sub font settings must match.
9639	FontOpacity *int64 `locationName:"fontOpacity" type:"integer"`
9640
9641	// Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and
9642	// DVB-Sub font settings must match.
9643	FontResolution *int64 `locationName:"fontResolution" min:"96" type:"integer"`
9644
9645	// When set to auto fontSize will scale depending on the size of the output.
9646	// Giving a positive integer will specify the exact font size in points. All
9647	// burn-in and DVB-Sub font settings must match.
9648	FontSize *string `locationName:"fontSize" type:"string"`
9649
9650	// Specifies font outline color. This option is not valid for source captions
9651	// that are either 608/embedded or teletext. These source settings are already
9652	// pre-defined by the caption stream. All burn-in and DVB-Sub font settings
9653	// must match.
9654	OutlineColor *string `locationName:"outlineColor" type:"string" enum:"DvbSubDestinationOutlineColor"`
9655
9656	// Specifies font outline size in pixels. This option is not valid for source
9657	// captions that are either 608/embedded or teletext. These source settings
9658	// are already pre-defined by the caption stream. All burn-in and DVB-Sub font
9659	// settings must match.
9660	OutlineSize *int64 `locationName:"outlineSize" type:"integer"`
9661
9662	// Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub
9663	// font settings must match.
9664	ShadowColor *string `locationName:"shadowColor" type:"string" enum:"DvbSubDestinationShadowColor"`
9665
9666	// Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving
9667	// this parameter blank is equivalent to setting it to 0 (transparent). All
9668	// burn-in and DVB-Sub font settings must match.
9669	ShadowOpacity *int64 `locationName:"shadowOpacity" type:"integer"`
9670
9671	// Specifies the horizontal offset of the shadow relative to the captions in
9672	// pixels. A value of -2 would result in a shadow offset 2 pixels to the left.
9673	// All burn-in and DVB-Sub font settings must match.
9674	ShadowXOffset *int64 `locationName:"shadowXOffset" type:"integer"`
9675
9676	// Specifies the vertical offset of the shadow relative to the captions in pixels.
9677	// A value of -2 would result in a shadow offset 2 pixels above the text. All
9678	// burn-in and DVB-Sub font settings must match.
9679	ShadowYOffset *int64 `locationName:"shadowYOffset" type:"integer"`
9680
9681	// Controls whether a fixed grid size will be used to generate the output subtitles
9682	// bitmap. Only applicable for Teletext inputs and DVB-Sub/Burn-in outputs.
9683	TeletextGridControl *string `locationName:"teletextGridControl" type:"string" enum:"DvbSubDestinationTeletextGridControl"`
9684
9685	// Specifies the horizontal position of the caption relative to the left side
9686	// of the output in pixels. A value of 10 would result in the captions starting
9687	// 10 pixels from the left of the output. If no explicit xPosition is provided,
9688	// the horizontal caption position will be determined by the alignment parameter.
9689	// This option is not valid for source captions that are STL, 608/embedded or
9690	// teletext. These source settings are already pre-defined by the caption stream.
9691	// All burn-in and DVB-Sub font settings must match.
9692	XPosition *int64 `locationName:"xPosition" type:"integer"`
9693
9694	// Specifies the vertical position of the caption relative to the top of the
9695	// output in pixels. A value of 10 would result in the captions starting 10
9696	// pixels from the top of the output. If no explicit yPosition is provided,
9697	// the caption will be positioned towards the bottom of the output. This option
9698	// is not valid for source captions that are STL, 608/embedded or teletext.
9699	// These source settings are already pre-defined by the caption stream. All
9700	// burn-in and DVB-Sub font settings must match.
9701	YPosition *int64 `locationName:"yPosition" type:"integer"`
9702}
9703
9704// String returns the string representation
9705func (s DvbSubDestinationSettings) String() string {
9706	return awsutil.Prettify(s)
9707}
9708
9709// GoString returns the string representation
9710func (s DvbSubDestinationSettings) GoString() string {
9711	return s.String()
9712}
9713
9714// Validate inspects the fields of the type to determine if they are valid.
9715func (s *DvbSubDestinationSettings) Validate() error {
9716	invalidParams := request.ErrInvalidParams{Context: "DvbSubDestinationSettings"}
9717	if s.FontResolution != nil && *s.FontResolution < 96 {
9718		invalidParams.Add(request.NewErrParamMinValue("FontResolution", 96))
9719	}
9720	if s.Font != nil {
9721		if err := s.Font.Validate(); err != nil {
9722			invalidParams.AddNested("Font", err.(request.ErrInvalidParams))
9723		}
9724	}
9725
9726	if invalidParams.Len() > 0 {
9727		return invalidParams
9728	}
9729	return nil
9730}
9731
9732// SetAlignment sets the Alignment field's value.
9733func (s *DvbSubDestinationSettings) SetAlignment(v string) *DvbSubDestinationSettings {
9734	s.Alignment = &v
9735	return s
9736}
9737
9738// SetBackgroundColor sets the BackgroundColor field's value.
9739func (s *DvbSubDestinationSettings) SetBackgroundColor(v string) *DvbSubDestinationSettings {
9740	s.BackgroundColor = &v
9741	return s
9742}
9743
9744// SetBackgroundOpacity sets the BackgroundOpacity field's value.
9745func (s *DvbSubDestinationSettings) SetBackgroundOpacity(v int64) *DvbSubDestinationSettings {
9746	s.BackgroundOpacity = &v
9747	return s
9748}
9749
9750// SetFont sets the Font field's value.
9751func (s *DvbSubDestinationSettings) SetFont(v *InputLocation) *DvbSubDestinationSettings {
9752	s.Font = v
9753	return s
9754}
9755
9756// SetFontColor sets the FontColor field's value.
9757func (s *DvbSubDestinationSettings) SetFontColor(v string) *DvbSubDestinationSettings {
9758	s.FontColor = &v
9759	return s
9760}
9761
9762// SetFontOpacity sets the FontOpacity field's value.
9763func (s *DvbSubDestinationSettings) SetFontOpacity(v int64) *DvbSubDestinationSettings {
9764	s.FontOpacity = &v
9765	return s
9766}
9767
9768// SetFontResolution sets the FontResolution field's value.
9769func (s *DvbSubDestinationSettings) SetFontResolution(v int64) *DvbSubDestinationSettings {
9770	s.FontResolution = &v
9771	return s
9772}
9773
9774// SetFontSize sets the FontSize field's value.
9775func (s *DvbSubDestinationSettings) SetFontSize(v string) *DvbSubDestinationSettings {
9776	s.FontSize = &v
9777	return s
9778}
9779
9780// SetOutlineColor sets the OutlineColor field's value.
9781func (s *DvbSubDestinationSettings) SetOutlineColor(v string) *DvbSubDestinationSettings {
9782	s.OutlineColor = &v
9783	return s
9784}
9785
9786// SetOutlineSize sets the OutlineSize field's value.
9787func (s *DvbSubDestinationSettings) SetOutlineSize(v int64) *DvbSubDestinationSettings {
9788	s.OutlineSize = &v
9789	return s
9790}
9791
9792// SetShadowColor sets the ShadowColor field's value.
9793func (s *DvbSubDestinationSettings) SetShadowColor(v string) *DvbSubDestinationSettings {
9794	s.ShadowColor = &v
9795	return s
9796}
9797
9798// SetShadowOpacity sets the ShadowOpacity field's value.
9799func (s *DvbSubDestinationSettings) SetShadowOpacity(v int64) *DvbSubDestinationSettings {
9800	s.ShadowOpacity = &v
9801	return s
9802}
9803
9804// SetShadowXOffset sets the ShadowXOffset field's value.
9805func (s *DvbSubDestinationSettings) SetShadowXOffset(v int64) *DvbSubDestinationSettings {
9806	s.ShadowXOffset = &v
9807	return s
9808}
9809
9810// SetShadowYOffset sets the ShadowYOffset field's value.
9811func (s *DvbSubDestinationSettings) SetShadowYOffset(v int64) *DvbSubDestinationSettings {
9812	s.ShadowYOffset = &v
9813	return s
9814}
9815
9816// SetTeletextGridControl sets the TeletextGridControl field's value.
9817func (s *DvbSubDestinationSettings) SetTeletextGridControl(v string) *DvbSubDestinationSettings {
9818	s.TeletextGridControl = &v
9819	return s
9820}
9821
9822// SetXPosition sets the XPosition field's value.
9823func (s *DvbSubDestinationSettings) SetXPosition(v int64) *DvbSubDestinationSettings {
9824	s.XPosition = &v
9825	return s
9826}
9827
9828// SetYPosition sets the YPosition field's value.
9829func (s *DvbSubDestinationSettings) SetYPosition(v int64) *DvbSubDestinationSettings {
9830	s.YPosition = &v
9831	return s
9832}
9833
9834// Dvb Sub Source Settings
9835type DvbSubSourceSettings struct {
9836	_ struct{} `type:"structure"`
9837
9838	// When using DVB-Sub with Burn-In or SMPTE-TT, use this PID for the source
9839	// content. Unused for DVB-Sub passthrough. All DVB-Sub content is passed through,
9840	// regardless of selectors.
9841	Pid *int64 `locationName:"pid" min:"1" type:"integer"`
9842}
9843
9844// String returns the string representation
9845func (s DvbSubSourceSettings) String() string {
9846	return awsutil.Prettify(s)
9847}
9848
9849// GoString returns the string representation
9850func (s DvbSubSourceSettings) GoString() string {
9851	return s.String()
9852}
9853
9854// Validate inspects the fields of the type to determine if they are valid.
9855func (s *DvbSubSourceSettings) Validate() error {
9856	invalidParams := request.ErrInvalidParams{Context: "DvbSubSourceSettings"}
9857	if s.Pid != nil && *s.Pid < 1 {
9858		invalidParams.Add(request.NewErrParamMinValue("Pid", 1))
9859	}
9860
9861	if invalidParams.Len() > 0 {
9862		return invalidParams
9863	}
9864	return nil
9865}
9866
9867// SetPid sets the Pid field's value.
9868func (s *DvbSubSourceSettings) SetPid(v int64) *DvbSubSourceSettings {
9869	s.Pid = &v
9870	return s
9871}
9872
9873// DVB Time and Date Table (SDT)
9874type DvbTdtSettings struct {
9875	_ struct{} `type:"structure"`
9876
9877	// The number of milliseconds between instances of this table in the output
9878	// transport stream.
9879	RepInterval *int64 `locationName:"repInterval" min:"1000" type:"integer"`
9880}
9881
9882// String returns the string representation
9883func (s DvbTdtSettings) String() string {
9884	return awsutil.Prettify(s)
9885}
9886
9887// GoString returns the string representation
9888func (s DvbTdtSettings) GoString() string {
9889	return s.String()
9890}
9891
9892// Validate inspects the fields of the type to determine if they are valid.
9893func (s *DvbTdtSettings) Validate() error {
9894	invalidParams := request.ErrInvalidParams{Context: "DvbTdtSettings"}
9895	if s.RepInterval != nil && *s.RepInterval < 1000 {
9896		invalidParams.Add(request.NewErrParamMinValue("RepInterval", 1000))
9897	}
9898
9899	if invalidParams.Len() > 0 {
9900		return invalidParams
9901	}
9902	return nil
9903}
9904
9905// SetRepInterval sets the RepInterval field's value.
9906func (s *DvbTdtSettings) SetRepInterval(v int64) *DvbTdtSettings {
9907	s.RepInterval = &v
9908	return s
9909}
9910
9911// Eac3 Settings
9912type Eac3Settings struct {
9913	_ struct{} `type:"structure"`
9914
9915	// When set to attenuate3Db, applies a 3 dB attenuation to the surround channels.
9916	// Only used for 3/2 coding mode.
9917	AttenuationControl *string `locationName:"attenuationControl" type:"string" enum:"Eac3AttenuationControl"`
9918
9919	// Average bitrate in bits/second. Valid bitrates depend on the coding mode.
9920	Bitrate *float64 `locationName:"bitrate" type:"double"`
9921
9922	// Specifies the bitstream mode (bsmod) for the emitted E-AC-3 stream. See ATSC
9923	// A/52-2012 (Annex E) for background on these values.
9924	BitstreamMode *string `locationName:"bitstreamMode" type:"string" enum:"Eac3BitstreamMode"`
9925
9926	// Dolby Digital Plus coding mode. Determines number of channels.
9927	CodingMode *string `locationName:"codingMode" type:"string" enum:"Eac3CodingMode"`
9928
9929	// When set to enabled, activates a DC highpass filter for all input channels.
9930	DcFilter *string `locationName:"dcFilter" type:"string" enum:"Eac3DcFilter"`
9931
9932	// Sets the dialnorm for the output. If blank and input audio is Dolby Digital
9933	// Plus, dialnorm will be passed through.
9934	Dialnorm *int64 `locationName:"dialnorm" min:"1" type:"integer"`
9935
9936	// Sets the Dolby dynamic range compression profile.
9937	DrcLine *string `locationName:"drcLine" type:"string" enum:"Eac3DrcLine"`
9938
9939	// Sets the profile for heavy Dolby dynamic range compression, ensures that
9940	// the instantaneous signal peaks do not exceed specified levels.
9941	DrcRf *string `locationName:"drcRf" type:"string" enum:"Eac3DrcRf"`
9942
9943	// When encoding 3/2 audio, setting to lfe enables the LFE channel
9944	LfeControl *string `locationName:"lfeControl" type:"string" enum:"Eac3LfeControl"`
9945
9946	// When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior
9947	// to encoding. Only valid with codingMode32 coding mode.
9948	LfeFilter *string `locationName:"lfeFilter" type:"string" enum:"Eac3LfeFilter"`
9949
9950	// Left only/Right only center mix level. Only used for 3/2 coding mode.
9951	LoRoCenterMixLevel *float64 `locationName:"loRoCenterMixLevel" type:"double"`
9952
9953	// Left only/Right only surround mix level. Only used for 3/2 coding mode.
9954	LoRoSurroundMixLevel *float64 `locationName:"loRoSurroundMixLevel" type:"double"`
9955
9956	// Left total/Right total center mix level. Only used for 3/2 coding mode.
9957	LtRtCenterMixLevel *float64 `locationName:"ltRtCenterMixLevel" type:"double"`
9958
9959	// Left total/Right total surround mix level. Only used for 3/2 coding mode.
9960	LtRtSurroundMixLevel *float64 `locationName:"ltRtSurroundMixLevel" type:"double"`
9961
9962	// When set to followInput, encoder metadata will be sourced from the DD, DD+,
9963	// or DolbyE decoder that supplied this audio data. If audio was not supplied
9964	// from one of these streams, then the static metadata settings will be used.
9965	MetadataControl *string `locationName:"metadataControl" type:"string" enum:"Eac3MetadataControl"`
9966
9967	// When set to whenPossible, input DD+ audio will be passed through if it is
9968	// present on the input. This detection is dynamic over the life of the transcode.
9969	// Inputs that alternate between DD+ and non-DD+ content will have a consistent
9970	// DD+ output as the system alternates between passthrough and encoding.
9971	PassthroughControl *string `locationName:"passthroughControl" type:"string" enum:"Eac3PassthroughControl"`
9972
9973	// When set to shift90Degrees, applies a 90-degree phase shift to the surround
9974	// channels. Only used for 3/2 coding mode.
9975	PhaseControl *string `locationName:"phaseControl" type:"string" enum:"Eac3PhaseControl"`
9976
9977	// Stereo downmix preference. Only used for 3/2 coding mode.
9978	StereoDownmix *string `locationName:"stereoDownmix" type:"string" enum:"Eac3StereoDownmix"`
9979
9980	// When encoding 3/2 audio, sets whether an extra center back surround channel
9981	// is matrix encoded into the left and right surround channels.
9982	SurroundExMode *string `locationName:"surroundExMode" type:"string" enum:"Eac3SurroundExMode"`
9983
9984	// When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into
9985	// the two channels.
9986	SurroundMode *string `locationName:"surroundMode" type:"string" enum:"Eac3SurroundMode"`
9987}
9988
9989// String returns the string representation
9990func (s Eac3Settings) String() string {
9991	return awsutil.Prettify(s)
9992}
9993
9994// GoString returns the string representation
9995func (s Eac3Settings) GoString() string {
9996	return s.String()
9997}
9998
9999// Validate inspects the fields of the type to determine if they are valid.
10000func (s *Eac3Settings) Validate() error {
10001	invalidParams := request.ErrInvalidParams{Context: "Eac3Settings"}
10002	if s.Dialnorm != nil && *s.Dialnorm < 1 {
10003		invalidParams.Add(request.NewErrParamMinValue("Dialnorm", 1))
10004	}
10005
10006	if invalidParams.Len() > 0 {
10007		return invalidParams
10008	}
10009	return nil
10010}
10011
10012// SetAttenuationControl sets the AttenuationControl field's value.
10013func (s *Eac3Settings) SetAttenuationControl(v string) *Eac3Settings {
10014	s.AttenuationControl = &v
10015	return s
10016}
10017
10018// SetBitrate sets the Bitrate field's value.
10019func (s *Eac3Settings) SetBitrate(v float64) *Eac3Settings {
10020	s.Bitrate = &v
10021	return s
10022}
10023
10024// SetBitstreamMode sets the BitstreamMode field's value.
10025func (s *Eac3Settings) SetBitstreamMode(v string) *Eac3Settings {
10026	s.BitstreamMode = &v
10027	return s
10028}
10029
10030// SetCodingMode sets the CodingMode field's value.
10031func (s *Eac3Settings) SetCodingMode(v string) *Eac3Settings {
10032	s.CodingMode = &v
10033	return s
10034}
10035
10036// SetDcFilter sets the DcFilter field's value.
10037func (s *Eac3Settings) SetDcFilter(v string) *Eac3Settings {
10038	s.DcFilter = &v
10039	return s
10040}
10041
10042// SetDialnorm sets the Dialnorm field's value.
10043func (s *Eac3Settings) SetDialnorm(v int64) *Eac3Settings {
10044	s.Dialnorm = &v
10045	return s
10046}
10047
10048// SetDrcLine sets the DrcLine field's value.
10049func (s *Eac3Settings) SetDrcLine(v string) *Eac3Settings {
10050	s.DrcLine = &v
10051	return s
10052}
10053
10054// SetDrcRf sets the DrcRf field's value.
10055func (s *Eac3Settings) SetDrcRf(v string) *Eac3Settings {
10056	s.DrcRf = &v
10057	return s
10058}
10059
10060// SetLfeControl sets the LfeControl field's value.
10061func (s *Eac3Settings) SetLfeControl(v string) *Eac3Settings {
10062	s.LfeControl = &v
10063	return s
10064}
10065
10066// SetLfeFilter sets the LfeFilter field's value.
10067func (s *Eac3Settings) SetLfeFilter(v string) *Eac3Settings {
10068	s.LfeFilter = &v
10069	return s
10070}
10071
10072// SetLoRoCenterMixLevel sets the LoRoCenterMixLevel field's value.
10073func (s *Eac3Settings) SetLoRoCenterMixLevel(v float64) *Eac3Settings {
10074	s.LoRoCenterMixLevel = &v
10075	return s
10076}
10077
10078// SetLoRoSurroundMixLevel sets the LoRoSurroundMixLevel field's value.
10079func (s *Eac3Settings) SetLoRoSurroundMixLevel(v float64) *Eac3Settings {
10080	s.LoRoSurroundMixLevel = &v
10081	return s
10082}
10083
10084// SetLtRtCenterMixLevel sets the LtRtCenterMixLevel field's value.
10085func (s *Eac3Settings) SetLtRtCenterMixLevel(v float64) *Eac3Settings {
10086	s.LtRtCenterMixLevel = &v
10087	return s
10088}
10089
10090// SetLtRtSurroundMixLevel sets the LtRtSurroundMixLevel field's value.
10091func (s *Eac3Settings) SetLtRtSurroundMixLevel(v float64) *Eac3Settings {
10092	s.LtRtSurroundMixLevel = &v
10093	return s
10094}
10095
10096// SetMetadataControl sets the MetadataControl field's value.
10097func (s *Eac3Settings) SetMetadataControl(v string) *Eac3Settings {
10098	s.MetadataControl = &v
10099	return s
10100}
10101
10102// SetPassthroughControl sets the PassthroughControl field's value.
10103func (s *Eac3Settings) SetPassthroughControl(v string) *Eac3Settings {
10104	s.PassthroughControl = &v
10105	return s
10106}
10107
10108// SetPhaseControl sets the PhaseControl field's value.
10109func (s *Eac3Settings) SetPhaseControl(v string) *Eac3Settings {
10110	s.PhaseControl = &v
10111	return s
10112}
10113
10114// SetStereoDownmix sets the StereoDownmix field's value.
10115func (s *Eac3Settings) SetStereoDownmix(v string) *Eac3Settings {
10116	s.StereoDownmix = &v
10117	return s
10118}
10119
10120// SetSurroundExMode sets the SurroundExMode field's value.
10121func (s *Eac3Settings) SetSurroundExMode(v string) *Eac3Settings {
10122	s.SurroundExMode = &v
10123	return s
10124}
10125
10126// SetSurroundMode sets the SurroundMode field's value.
10127func (s *Eac3Settings) SetSurroundMode(v string) *Eac3Settings {
10128	s.SurroundMode = &v
10129	return s
10130}
10131
10132// Embedded Destination Settings
10133type EmbeddedDestinationSettings struct {
10134	_ struct{} `type:"structure"`
10135}
10136
10137// String returns the string representation
10138func (s EmbeddedDestinationSettings) String() string {
10139	return awsutil.Prettify(s)
10140}
10141
10142// GoString returns the string representation
10143func (s EmbeddedDestinationSettings) GoString() string {
10144	return s.String()
10145}
10146
10147// Embedded Plus Scte20 Destination Settings
10148type EmbeddedPlusScte20DestinationSettings struct {
10149	_ struct{} `type:"structure"`
10150}
10151
10152// String returns the string representation
10153func (s EmbeddedPlusScte20DestinationSettings) String() string {
10154	return awsutil.Prettify(s)
10155}
10156
10157// GoString returns the string representation
10158func (s EmbeddedPlusScte20DestinationSettings) GoString() string {
10159	return s.String()
10160}
10161
10162// Embedded Source Settings
10163type EmbeddedSourceSettings struct {
10164	_ struct{} `type:"structure"`
10165
10166	// If upconvert, 608 data is both passed through via the "608 compatibility
10167	// bytes" fields of the 708 wrapper as well as translated into 708. 708 data
10168	// present in the source content will be discarded.
10169	Convert608To708 *string `locationName:"convert608To708" type:"string" enum:"EmbeddedConvert608To708"`
10170
10171	// Set to "auto" to handle streams with intermittent and/or non-aligned SCTE-20
10172	// and Embedded captions.
10173	Scte20Detection *string `locationName:"scte20Detection" type:"string" enum:"EmbeddedScte20Detection"`
10174
10175	// Specifies the 608/708 channel number within the video track from which to
10176	// extract captions. Unused for passthrough.
10177	Source608ChannelNumber *int64 `locationName:"source608ChannelNumber" min:"1" type:"integer"`
10178
10179	// This field is unused and deprecated.
10180	Source608TrackNumber *int64 `locationName:"source608TrackNumber" min:"1" type:"integer"`
10181}
10182
10183// String returns the string representation
10184func (s EmbeddedSourceSettings) String() string {
10185	return awsutil.Prettify(s)
10186}
10187
10188// GoString returns the string representation
10189func (s EmbeddedSourceSettings) GoString() string {
10190	return s.String()
10191}
10192
10193// Validate inspects the fields of the type to determine if they are valid.
10194func (s *EmbeddedSourceSettings) Validate() error {
10195	invalidParams := request.ErrInvalidParams{Context: "EmbeddedSourceSettings"}
10196	if s.Source608ChannelNumber != nil && *s.Source608ChannelNumber < 1 {
10197		invalidParams.Add(request.NewErrParamMinValue("Source608ChannelNumber", 1))
10198	}
10199	if s.Source608TrackNumber != nil && *s.Source608TrackNumber < 1 {
10200		invalidParams.Add(request.NewErrParamMinValue("Source608TrackNumber", 1))
10201	}
10202
10203	if invalidParams.Len() > 0 {
10204		return invalidParams
10205	}
10206	return nil
10207}
10208
10209// SetConvert608To708 sets the Convert608To708 field's value.
10210func (s *EmbeddedSourceSettings) SetConvert608To708(v string) *EmbeddedSourceSettings {
10211	s.Convert608To708 = &v
10212	return s
10213}
10214
10215// SetScte20Detection sets the Scte20Detection field's value.
10216func (s *EmbeddedSourceSettings) SetScte20Detection(v string) *EmbeddedSourceSettings {
10217	s.Scte20Detection = &v
10218	return s
10219}
10220
10221// SetSource608ChannelNumber sets the Source608ChannelNumber field's value.
10222func (s *EmbeddedSourceSettings) SetSource608ChannelNumber(v int64) *EmbeddedSourceSettings {
10223	s.Source608ChannelNumber = &v
10224	return s
10225}
10226
10227// SetSource608TrackNumber sets the Source608TrackNumber field's value.
10228func (s *EmbeddedSourceSettings) SetSource608TrackNumber(v int64) *EmbeddedSourceSettings {
10229	s.Source608TrackNumber = &v
10230	return s
10231}
10232
10233// Encoder Settings
10234type EncoderSettings struct {
10235	_ struct{} `type:"structure"`
10236
10237	// AudioDescriptions is a required field
10238	AudioDescriptions []*AudioDescription `locationName:"audioDescriptions" type:"list" required:"true"`
10239
10240	// Settings for ad avail blanking.
10241	AvailBlanking *AvailBlanking `locationName:"availBlanking" type:"structure"`
10242
10243	// Event-wide configuration settings for ad avail insertion.
10244	AvailConfiguration *AvailConfiguration `locationName:"availConfiguration" type:"structure"`
10245
10246	// Settings for blackout slate.
10247	BlackoutSlate *BlackoutSlate `locationName:"blackoutSlate" type:"structure"`
10248
10249	// Settings for caption decriptions
10250	CaptionDescriptions []*CaptionDescription `locationName:"captionDescriptions" type:"list"`
10251
10252	// Configuration settings that apply to the event as a whole.
10253	GlobalConfiguration *GlobalConfiguration `locationName:"globalConfiguration" type:"structure"`
10254
10255	// Nielsen configuration settings.
10256	NielsenConfiguration *NielsenConfiguration `locationName:"nielsenConfiguration" type:"structure"`
10257
10258	// OutputGroups is a required field
10259	OutputGroups []*OutputGroup `locationName:"outputGroups" type:"list" required:"true"`
10260
10261	// Contains settings used to acquire and adjust timecode information from inputs.
10262	//
10263	// TimecodeConfig is a required field
10264	TimecodeConfig *TimecodeConfig `locationName:"timecodeConfig" type:"structure" required:"true"`
10265
10266	// VideoDescriptions is a required field
10267	VideoDescriptions []*VideoDescription `locationName:"videoDescriptions" type:"list" required:"true"`
10268}
10269
10270// String returns the string representation
10271func (s EncoderSettings) String() string {
10272	return awsutil.Prettify(s)
10273}
10274
10275// GoString returns the string representation
10276func (s EncoderSettings) GoString() string {
10277	return s.String()
10278}
10279
10280// Validate inspects the fields of the type to determine if they are valid.
10281func (s *EncoderSettings) Validate() error {
10282	invalidParams := request.ErrInvalidParams{Context: "EncoderSettings"}
10283	if s.AudioDescriptions == nil {
10284		invalidParams.Add(request.NewErrParamRequired("AudioDescriptions"))
10285	}
10286	if s.OutputGroups == nil {
10287		invalidParams.Add(request.NewErrParamRequired("OutputGroups"))
10288	}
10289	if s.TimecodeConfig == nil {
10290		invalidParams.Add(request.NewErrParamRequired("TimecodeConfig"))
10291	}
10292	if s.VideoDescriptions == nil {
10293		invalidParams.Add(request.NewErrParamRequired("VideoDescriptions"))
10294	}
10295	if s.AudioDescriptions != nil {
10296		for i, v := range s.AudioDescriptions {
10297			if v == nil {
10298				continue
10299			}
10300			if err := v.Validate(); err != nil {
10301				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioDescriptions", i), err.(request.ErrInvalidParams))
10302			}
10303		}
10304	}
10305	if s.AvailBlanking != nil {
10306		if err := s.AvailBlanking.Validate(); err != nil {
10307			invalidParams.AddNested("AvailBlanking", err.(request.ErrInvalidParams))
10308		}
10309	}
10310	if s.AvailConfiguration != nil {
10311		if err := s.AvailConfiguration.Validate(); err != nil {
10312			invalidParams.AddNested("AvailConfiguration", err.(request.ErrInvalidParams))
10313		}
10314	}
10315	if s.BlackoutSlate != nil {
10316		if err := s.BlackoutSlate.Validate(); err != nil {
10317			invalidParams.AddNested("BlackoutSlate", err.(request.ErrInvalidParams))
10318		}
10319	}
10320	if s.CaptionDescriptions != nil {
10321		for i, v := range s.CaptionDescriptions {
10322			if v == nil {
10323				continue
10324			}
10325			if err := v.Validate(); err != nil {
10326				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionDescriptions", i), err.(request.ErrInvalidParams))
10327			}
10328		}
10329	}
10330	if s.GlobalConfiguration != nil {
10331		if err := s.GlobalConfiguration.Validate(); err != nil {
10332			invalidParams.AddNested("GlobalConfiguration", err.(request.ErrInvalidParams))
10333		}
10334	}
10335	if s.OutputGroups != nil {
10336		for i, v := range s.OutputGroups {
10337			if v == nil {
10338				continue
10339			}
10340			if err := v.Validate(); err != nil {
10341				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputGroups", i), err.(request.ErrInvalidParams))
10342			}
10343		}
10344	}
10345	if s.TimecodeConfig != nil {
10346		if err := s.TimecodeConfig.Validate(); err != nil {
10347			invalidParams.AddNested("TimecodeConfig", err.(request.ErrInvalidParams))
10348		}
10349	}
10350	if s.VideoDescriptions != nil {
10351		for i, v := range s.VideoDescriptions {
10352			if v == nil {
10353				continue
10354			}
10355			if err := v.Validate(); err != nil {
10356				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VideoDescriptions", i), err.(request.ErrInvalidParams))
10357			}
10358		}
10359	}
10360
10361	if invalidParams.Len() > 0 {
10362		return invalidParams
10363	}
10364	return nil
10365}
10366
10367// SetAudioDescriptions sets the AudioDescriptions field's value.
10368func (s *EncoderSettings) SetAudioDescriptions(v []*AudioDescription) *EncoderSettings {
10369	s.AudioDescriptions = v
10370	return s
10371}
10372
10373// SetAvailBlanking sets the AvailBlanking field's value.
10374func (s *EncoderSettings) SetAvailBlanking(v *AvailBlanking) *EncoderSettings {
10375	s.AvailBlanking = v
10376	return s
10377}
10378
10379// SetAvailConfiguration sets the AvailConfiguration field's value.
10380func (s *EncoderSettings) SetAvailConfiguration(v *AvailConfiguration) *EncoderSettings {
10381	s.AvailConfiguration = v
10382	return s
10383}
10384
10385// SetBlackoutSlate sets the BlackoutSlate field's value.
10386func (s *EncoderSettings) SetBlackoutSlate(v *BlackoutSlate) *EncoderSettings {
10387	s.BlackoutSlate = v
10388	return s
10389}
10390
10391// SetCaptionDescriptions sets the CaptionDescriptions field's value.
10392func (s *EncoderSettings) SetCaptionDescriptions(v []*CaptionDescription) *EncoderSettings {
10393	s.CaptionDescriptions = v
10394	return s
10395}
10396
10397// SetGlobalConfiguration sets the GlobalConfiguration field's value.
10398func (s *EncoderSettings) SetGlobalConfiguration(v *GlobalConfiguration) *EncoderSettings {
10399	s.GlobalConfiguration = v
10400	return s
10401}
10402
10403// SetNielsenConfiguration sets the NielsenConfiguration field's value.
10404func (s *EncoderSettings) SetNielsenConfiguration(v *NielsenConfiguration) *EncoderSettings {
10405	s.NielsenConfiguration = v
10406	return s
10407}
10408
10409// SetOutputGroups sets the OutputGroups field's value.
10410func (s *EncoderSettings) SetOutputGroups(v []*OutputGroup) *EncoderSettings {
10411	s.OutputGroups = v
10412	return s
10413}
10414
10415// SetTimecodeConfig sets the TimecodeConfig field's value.
10416func (s *EncoderSettings) SetTimecodeConfig(v *TimecodeConfig) *EncoderSettings {
10417	s.TimecodeConfig = v
10418	return s
10419}
10420
10421// SetVideoDescriptions sets the VideoDescriptions field's value.
10422func (s *EncoderSettings) SetVideoDescriptions(v []*VideoDescription) *EncoderSettings {
10423	s.VideoDescriptions = v
10424	return s
10425}
10426
10427// Fec Output Settings
10428type FecOutputSettings struct {
10429	_ struct{} `type:"structure"`
10430
10431	// Parameter D from SMPTE 2022-1. The height of the FEC protection matrix. The
10432	// number of transport stream packets per column error correction packet. Must
10433	// be between 4 and 20, inclusive.
10434	ColumnDepth *int64 `locationName:"columnDepth" min:"4" type:"integer"`
10435
10436	// Enables column only or column and row based FEC
10437	IncludeFec *string `locationName:"includeFec" type:"string" enum:"FecOutputIncludeFec"`
10438
10439	// Parameter L from SMPTE 2022-1. The width of the FEC protection matrix. Must
10440	// be between 1 and 20, inclusive. If only Column FEC is used, then larger values
10441	// increase robustness. If Row FEC is used, then this is the number of transport
10442	// stream packets per row error correction packet, and the value must be between
10443	// 4 and 20, inclusive, if includeFec is columnAndRow. If includeFec is column,
10444	// this value must be 1 to 20, inclusive.
10445	RowLength *int64 `locationName:"rowLength" min:"1" type:"integer"`
10446}
10447
10448// String returns the string representation
10449func (s FecOutputSettings) String() string {
10450	return awsutil.Prettify(s)
10451}
10452
10453// GoString returns the string representation
10454func (s FecOutputSettings) GoString() string {
10455	return s.String()
10456}
10457
10458// Validate inspects the fields of the type to determine if they are valid.
10459func (s *FecOutputSettings) Validate() error {
10460	invalidParams := request.ErrInvalidParams{Context: "FecOutputSettings"}
10461	if s.ColumnDepth != nil && *s.ColumnDepth < 4 {
10462		invalidParams.Add(request.NewErrParamMinValue("ColumnDepth", 4))
10463	}
10464	if s.RowLength != nil && *s.RowLength < 1 {
10465		invalidParams.Add(request.NewErrParamMinValue("RowLength", 1))
10466	}
10467
10468	if invalidParams.Len() > 0 {
10469		return invalidParams
10470	}
10471	return nil
10472}
10473
10474// SetColumnDepth sets the ColumnDepth field's value.
10475func (s *FecOutputSettings) SetColumnDepth(v int64) *FecOutputSettings {
10476	s.ColumnDepth = &v
10477	return s
10478}
10479
10480// SetIncludeFec sets the IncludeFec field's value.
10481func (s *FecOutputSettings) SetIncludeFec(v string) *FecOutputSettings {
10482	s.IncludeFec = &v
10483	return s
10484}
10485
10486// SetRowLength sets the RowLength field's value.
10487func (s *FecOutputSettings) SetRowLength(v int64) *FecOutputSettings {
10488	s.RowLength = &v
10489	return s
10490}
10491
10492// Start time for the action.
10493type FixedModeScheduleActionStartSettings struct {
10494	_ struct{} `type:"structure"`
10495
10496	// Start time for the action to start in the channel. (Not the time for the
10497	// action to be added to the schedule: actions are always added to the schedule
10498	// immediately.) UTC format: yyyy-mm-ddThh:mm:ss.nnnZ. All the letters are digits
10499	// (for example, mm might be 01) except for the two constants "T" for time and
10500	// "Z" for "UTC format".
10501	//
10502	// Time is a required field
10503	Time *string `locationName:"time" type:"string" required:"true"`
10504}
10505
10506// String returns the string representation
10507func (s FixedModeScheduleActionStartSettings) String() string {
10508	return awsutil.Prettify(s)
10509}
10510
10511// GoString returns the string representation
10512func (s FixedModeScheduleActionStartSettings) GoString() string {
10513	return s.String()
10514}
10515
10516// Validate inspects the fields of the type to determine if they are valid.
10517func (s *FixedModeScheduleActionStartSettings) Validate() error {
10518	invalidParams := request.ErrInvalidParams{Context: "FixedModeScheduleActionStartSettings"}
10519	if s.Time == nil {
10520		invalidParams.Add(request.NewErrParamRequired("Time"))
10521	}
10522
10523	if invalidParams.Len() > 0 {
10524		return invalidParams
10525	}
10526	return nil
10527}
10528
10529// SetTime sets the Time field's value.
10530func (s *FixedModeScheduleActionStartSettings) SetTime(v string) *FixedModeScheduleActionStartSettings {
10531	s.Time = &v
10532	return s
10533}
10534
10535// Fmp4 Hls Settings
10536type Fmp4HlsSettings struct {
10537	_ struct{} `type:"structure"`
10538
10539	// List all the audio groups that are used with the video output stream. Input
10540	// all the audio GROUP-IDs that are associated to the video, separate by ','.
10541	AudioRenditionSets *string `locationName:"audioRenditionSets" type:"string"`
10542}
10543
10544// String returns the string representation
10545func (s Fmp4HlsSettings) String() string {
10546	return awsutil.Prettify(s)
10547}
10548
10549// GoString returns the string representation
10550func (s Fmp4HlsSettings) GoString() string {
10551	return s.String()
10552}
10553
10554// SetAudioRenditionSets sets the AudioRenditionSets field's value.
10555func (s *Fmp4HlsSettings) SetAudioRenditionSets(v string) *Fmp4HlsSettings {
10556	s.AudioRenditionSets = &v
10557	return s
10558}
10559
10560// Settings to specify if an action follows another.
10561type FollowModeScheduleActionStartSettings struct {
10562	_ struct{} `type:"structure"`
10563
10564	// Identifies whether this action starts relative to the start or relative to
10565	// the end of the reference action.
10566	//
10567	// FollowPoint is a required field
10568	FollowPoint *string `locationName:"followPoint" type:"string" required:"true" enum:"FollowPoint"`
10569
10570	// The action name of another action that this one refers to.
10571	//
10572	// ReferenceActionName is a required field
10573	ReferenceActionName *string `locationName:"referenceActionName" type:"string" required:"true"`
10574}
10575
10576// String returns the string representation
10577func (s FollowModeScheduleActionStartSettings) String() string {
10578	return awsutil.Prettify(s)
10579}
10580
10581// GoString returns the string representation
10582func (s FollowModeScheduleActionStartSettings) GoString() string {
10583	return s.String()
10584}
10585
10586// Validate inspects the fields of the type to determine if they are valid.
10587func (s *FollowModeScheduleActionStartSettings) Validate() error {
10588	invalidParams := request.ErrInvalidParams{Context: "FollowModeScheduleActionStartSettings"}
10589	if s.FollowPoint == nil {
10590		invalidParams.Add(request.NewErrParamRequired("FollowPoint"))
10591	}
10592	if s.ReferenceActionName == nil {
10593		invalidParams.Add(request.NewErrParamRequired("ReferenceActionName"))
10594	}
10595
10596	if invalidParams.Len() > 0 {
10597		return invalidParams
10598	}
10599	return nil
10600}
10601
10602// SetFollowPoint sets the FollowPoint field's value.
10603func (s *FollowModeScheduleActionStartSettings) SetFollowPoint(v string) *FollowModeScheduleActionStartSettings {
10604	s.FollowPoint = &v
10605	return s
10606}
10607
10608// SetReferenceActionName sets the ReferenceActionName field's value.
10609func (s *FollowModeScheduleActionStartSettings) SetReferenceActionName(v string) *FollowModeScheduleActionStartSettings {
10610	s.ReferenceActionName = &v
10611	return s
10612}
10613
10614// Frame Capture Group Settings
10615type FrameCaptureGroupSettings struct {
10616	_ struct{} `type:"structure"`
10617
10618	// The destination for the frame capture files. Either the URI for an Amazon
10619	// S3 bucket and object, plus a file name prefix (for example, s3ssl://sportsDelivery/highlights/20180820/curling_)
10620	// or the URI for a MediaStore container, plus a file name prefix (for example,
10621	// mediastoressl://sportsDelivery/20180820/curling_). The final file names consist
10622	// of the prefix from the destination field (for example, "curling_") + name
10623	// modifier + the counter (5 digits, starting from 00001) + extension (which
10624	// is always .jpg). For example, curlingLow.00001.jpg
10625	//
10626	// Destination is a required field
10627	Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"`
10628}
10629
10630// String returns the string representation
10631func (s FrameCaptureGroupSettings) String() string {
10632	return awsutil.Prettify(s)
10633}
10634
10635// GoString returns the string representation
10636func (s FrameCaptureGroupSettings) GoString() string {
10637	return s.String()
10638}
10639
10640// Validate inspects the fields of the type to determine if they are valid.
10641func (s *FrameCaptureGroupSettings) Validate() error {
10642	invalidParams := request.ErrInvalidParams{Context: "FrameCaptureGroupSettings"}
10643	if s.Destination == nil {
10644		invalidParams.Add(request.NewErrParamRequired("Destination"))
10645	}
10646
10647	if invalidParams.Len() > 0 {
10648		return invalidParams
10649	}
10650	return nil
10651}
10652
10653// SetDestination sets the Destination field's value.
10654func (s *FrameCaptureGroupSettings) SetDestination(v *OutputLocationRef) *FrameCaptureGroupSettings {
10655	s.Destination = v
10656	return s
10657}
10658
10659// Frame Capture Output Settings
10660type FrameCaptureOutputSettings struct {
10661	_ struct{} `type:"structure"`
10662
10663	// Required if the output group contains more than one output. This modifier
10664	// forms part of the output file name.
10665	NameModifier *string `locationName:"nameModifier" type:"string"`
10666}
10667
10668// String returns the string representation
10669func (s FrameCaptureOutputSettings) String() string {
10670	return awsutil.Prettify(s)
10671}
10672
10673// GoString returns the string representation
10674func (s FrameCaptureOutputSettings) GoString() string {
10675	return s.String()
10676}
10677
10678// SetNameModifier sets the NameModifier field's value.
10679func (s *FrameCaptureOutputSettings) SetNameModifier(v string) *FrameCaptureOutputSettings {
10680	s.NameModifier = &v
10681	return s
10682}
10683
10684// Frame Capture Settings
10685type FrameCaptureSettings struct {
10686	_ struct{} `type:"structure"`
10687
10688	// The frequency at which to capture frames for inclusion in the output. May
10689	// be specified in either seconds or milliseconds, as specified by captureIntervalUnits.
10690	//
10691	// CaptureInterval is a required field
10692	CaptureInterval *int64 `locationName:"captureInterval" min:"1" type:"integer" required:"true"`
10693
10694	// Unit for the frame capture interval.
10695	CaptureIntervalUnits *string `locationName:"captureIntervalUnits" type:"string" enum:"FrameCaptureIntervalUnit"`
10696}
10697
10698// String returns the string representation
10699func (s FrameCaptureSettings) String() string {
10700	return awsutil.Prettify(s)
10701}
10702
10703// GoString returns the string representation
10704func (s FrameCaptureSettings) GoString() string {
10705	return s.String()
10706}
10707
10708// Validate inspects the fields of the type to determine if they are valid.
10709func (s *FrameCaptureSettings) Validate() error {
10710	invalidParams := request.ErrInvalidParams{Context: "FrameCaptureSettings"}
10711	if s.CaptureInterval == nil {
10712		invalidParams.Add(request.NewErrParamRequired("CaptureInterval"))
10713	}
10714	if s.CaptureInterval != nil && *s.CaptureInterval < 1 {
10715		invalidParams.Add(request.NewErrParamMinValue("CaptureInterval", 1))
10716	}
10717
10718	if invalidParams.Len() > 0 {
10719		return invalidParams
10720	}
10721	return nil
10722}
10723
10724// SetCaptureInterval sets the CaptureInterval field's value.
10725func (s *FrameCaptureSettings) SetCaptureInterval(v int64) *FrameCaptureSettings {
10726	s.CaptureInterval = &v
10727	return s
10728}
10729
10730// SetCaptureIntervalUnits sets the CaptureIntervalUnits field's value.
10731func (s *FrameCaptureSettings) SetCaptureIntervalUnits(v string) *FrameCaptureSettings {
10732	s.CaptureIntervalUnits = &v
10733	return s
10734}
10735
10736// Global Configuration
10737type GlobalConfiguration struct {
10738	_ struct{} `type:"structure"`
10739
10740	// Value to set the initial audio gain for the Live Event.
10741	InitialAudioGain *int64 `locationName:"initialAudioGain" type:"integer"`
10742
10743	// Indicates the action to take when the current input completes (e.g. end-of-file).
10744	// When switchAndLoopInputs is configured the encoder will restart at the beginning
10745	// of the first input. When "none" is configured the encoder will transcode
10746	// either black, a solid color, or a user specified slate images per the "Input
10747	// Loss Behavior" configuration until the next input switch occurs (which is
10748	// controlled through the Channel Schedule API).
10749	InputEndAction *string `locationName:"inputEndAction" type:"string" enum:"GlobalConfigurationInputEndAction"`
10750
10751	// Settings for system actions when input is lost.
10752	InputLossBehavior *InputLossBehavior `locationName:"inputLossBehavior" type:"structure"`
10753
10754	// Indicates how MediaLive pipelines are synchronized.PIPELINELOCKING - MediaLive
10755	// will attempt to synchronize the output of each pipeline to the other.EPOCHLOCKING
10756	// - MediaLive will attempt to synchronize the output of each pipeline to the
10757	// Unix epoch.
10758	OutputLockingMode *string `locationName:"outputLockingMode" type:"string" enum:"GlobalConfigurationOutputLockingMode"`
10759
10760	// Indicates whether the rate of frames emitted by the Live encoder should be
10761	// paced by its system clock (which optionally may be locked to another source
10762	// via NTP) or should be locked to the clock of the source that is providing
10763	// the input stream.
10764	OutputTimingSource *string `locationName:"outputTimingSource" type:"string" enum:"GlobalConfigurationOutputTimingSource"`
10765
10766	// Adjusts video input buffer for streams with very low video framerates. This
10767	// is commonly set to enabled for music channels with less than one video frame
10768	// per second.
10769	SupportLowFramerateInputs *string `locationName:"supportLowFramerateInputs" type:"string" enum:"GlobalConfigurationLowFramerateInputs"`
10770}
10771
10772// String returns the string representation
10773func (s GlobalConfiguration) String() string {
10774	return awsutil.Prettify(s)
10775}
10776
10777// GoString returns the string representation
10778func (s GlobalConfiguration) GoString() string {
10779	return s.String()
10780}
10781
10782// Validate inspects the fields of the type to determine if they are valid.
10783func (s *GlobalConfiguration) Validate() error {
10784	invalidParams := request.ErrInvalidParams{Context: "GlobalConfiguration"}
10785	if s.InitialAudioGain != nil && *s.InitialAudioGain < -60 {
10786		invalidParams.Add(request.NewErrParamMinValue("InitialAudioGain", -60))
10787	}
10788	if s.InputLossBehavior != nil {
10789		if err := s.InputLossBehavior.Validate(); err != nil {
10790			invalidParams.AddNested("InputLossBehavior", err.(request.ErrInvalidParams))
10791		}
10792	}
10793
10794	if invalidParams.Len() > 0 {
10795		return invalidParams
10796	}
10797	return nil
10798}
10799
10800// SetInitialAudioGain sets the InitialAudioGain field's value.
10801func (s *GlobalConfiguration) SetInitialAudioGain(v int64) *GlobalConfiguration {
10802	s.InitialAudioGain = &v
10803	return s
10804}
10805
10806// SetInputEndAction sets the InputEndAction field's value.
10807func (s *GlobalConfiguration) SetInputEndAction(v string) *GlobalConfiguration {
10808	s.InputEndAction = &v
10809	return s
10810}
10811
10812// SetInputLossBehavior sets the InputLossBehavior field's value.
10813func (s *GlobalConfiguration) SetInputLossBehavior(v *InputLossBehavior) *GlobalConfiguration {
10814	s.InputLossBehavior = v
10815	return s
10816}
10817
10818// SetOutputLockingMode sets the OutputLockingMode field's value.
10819func (s *GlobalConfiguration) SetOutputLockingMode(v string) *GlobalConfiguration {
10820	s.OutputLockingMode = &v
10821	return s
10822}
10823
10824// SetOutputTimingSource sets the OutputTimingSource field's value.
10825func (s *GlobalConfiguration) SetOutputTimingSource(v string) *GlobalConfiguration {
10826	s.OutputTimingSource = &v
10827	return s
10828}
10829
10830// SetSupportLowFramerateInputs sets the SupportLowFramerateInputs field's value.
10831func (s *GlobalConfiguration) SetSupportLowFramerateInputs(v string) *GlobalConfiguration {
10832	s.SupportLowFramerateInputs = &v
10833	return s
10834}
10835
10836// H264 Color Space Settings
10837type H264ColorSpaceSettings struct {
10838	_ struct{} `type:"structure"`
10839
10840	// Passthrough applies no color space conversion to the output
10841	ColorSpacePassthroughSettings *ColorSpacePassthroughSettings `locationName:"colorSpacePassthroughSettings" type:"structure"`
10842
10843	// Rec601 Settings
10844	Rec601Settings *Rec601Settings `locationName:"rec601Settings" type:"structure"`
10845
10846	// Rec709 Settings
10847	Rec709Settings *Rec709Settings `locationName:"rec709Settings" type:"structure"`
10848}
10849
10850// String returns the string representation
10851func (s H264ColorSpaceSettings) String() string {
10852	return awsutil.Prettify(s)
10853}
10854
10855// GoString returns the string representation
10856func (s H264ColorSpaceSettings) GoString() string {
10857	return s.String()
10858}
10859
10860// SetColorSpacePassthroughSettings sets the ColorSpacePassthroughSettings field's value.
10861func (s *H264ColorSpaceSettings) SetColorSpacePassthroughSettings(v *ColorSpacePassthroughSettings) *H264ColorSpaceSettings {
10862	s.ColorSpacePassthroughSettings = v
10863	return s
10864}
10865
10866// SetRec601Settings sets the Rec601Settings field's value.
10867func (s *H264ColorSpaceSettings) SetRec601Settings(v *Rec601Settings) *H264ColorSpaceSettings {
10868	s.Rec601Settings = v
10869	return s
10870}
10871
10872// SetRec709Settings sets the Rec709Settings field's value.
10873func (s *H264ColorSpaceSettings) SetRec709Settings(v *Rec709Settings) *H264ColorSpaceSettings {
10874	s.Rec709Settings = v
10875	return s
10876}
10877
10878// H264 Settings
10879type H264Settings struct {
10880	_ struct{} `type:"structure"`
10881
10882	// Adaptive quantization. Allows intra-frame quantizers to vary to improve visual
10883	// quality.
10884	AdaptiveQuantization *string `locationName:"adaptiveQuantization" type:"string" enum:"H264AdaptiveQuantization"`
10885
10886	// Indicates that AFD values will be written into the output stream. If afdSignaling
10887	// is "auto", the system will try to preserve the input AFD value (in cases
10888	// where multiple AFD values are valid). If set to "fixed", the AFD value will
10889	// be the value configured in the fixedAfd parameter.
10890	AfdSignaling *string `locationName:"afdSignaling" type:"string" enum:"AfdSignaling"`
10891
10892	// Average bitrate in bits/second. Required when the rate control mode is VBR
10893	// or CBR. Not used for QVBR. In an MS Smooth output group, each output must
10894	// have a unique value when its bitrate is rounded down to the nearest multiple
10895	// of 1000.
10896	Bitrate *int64 `locationName:"bitrate" min:"1000" type:"integer"`
10897
10898	// Percentage of the buffer that should initially be filled (HRD buffer model).
10899	BufFillPct *int64 `locationName:"bufFillPct" type:"integer"`
10900
10901	// Size of buffer (HRD buffer model) in bits.
10902	BufSize *int64 `locationName:"bufSize" type:"integer"`
10903
10904	// Includes colorspace metadata in the output.
10905	ColorMetadata *string `locationName:"colorMetadata" type:"string" enum:"H264ColorMetadata"`
10906
10907	// Color Space settings
10908	ColorSpaceSettings *H264ColorSpaceSettings `locationName:"colorSpaceSettings" type:"structure"`
10909
10910	// Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc.
10911	EntropyEncoding *string `locationName:"entropyEncoding" type:"string" enum:"H264EntropyEncoding"`
10912
10913	// Four bit AFD value to write on all frames of video in the output stream.
10914	// Only valid when afdSignaling is set to 'Fixed'.
10915	FixedAfd *string `locationName:"fixedAfd" type:"string" enum:"FixedAfd"`
10916
10917	// If set to enabled, adjust quantization within each frame to reduce flicker
10918	// or 'pop' on I-frames.
10919	FlickerAq *string `locationName:"flickerAq" type:"string" enum:"H264FlickerAq"`
10920
10921	// This field indicates how the output video frame rate is specified. If "specified"
10922	// is selected then the output video frame rate is determined by framerateNumerator
10923	// and framerateDenominator, else if "initializeFromSource" is selected then
10924	// the output video frame rate will be set equal to the input video frame rate
10925	// of the first input.
10926	FramerateControl *string `locationName:"framerateControl" type:"string" enum:"H264FramerateControl"`
10927
10928	// Framerate denominator.
10929	FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"`
10930
10931	// Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976
10932	// fps.
10933	FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"`
10934
10935	// If enabled, use reference B frames for GOP structures that have B frames
10936	// > 1.
10937	GopBReference *string `locationName:"gopBReference" type:"string" enum:"H264GopBReference"`
10938
10939	// Frequency of closed GOPs. In streaming applications, it is recommended that
10940	// this be set to 1 so a decoder joining mid-stream will receive an IDR frame
10941	// as quickly as possible. Setting this value to 0 will break output segmenting.
10942	GopClosedCadence *int64 `locationName:"gopClosedCadence" type:"integer"`
10943
10944	// Number of B-frames between reference frames.
10945	GopNumBFrames *int64 `locationName:"gopNumBFrames" type:"integer"`
10946
10947	// GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits.If
10948	// gopSizeUnits is frames, gopSize must be an integer and must be greater than
10949	// or equal to 1.If gopSizeUnits is seconds, gopSize must be greater than 0,
10950	// but need not be an integer.
10951	GopSize *float64 `locationName:"gopSize" type:"double"`
10952
10953	// Indicates if the gopSize is specified in frames or seconds. If seconds the
10954	// system will convert the gopSize into a frame count at run time.
10955	GopSizeUnits *string `locationName:"gopSizeUnits" type:"string" enum:"H264GopSizeUnits"`
10956
10957	// H.264 Level.
10958	Level *string `locationName:"level" type:"string" enum:"H264Level"`
10959
10960	// Amount of lookahead. A value of low can decrease latency and memory usage,
10961	// while high can produce better quality for certain content.
10962	LookAheadRateControl *string `locationName:"lookAheadRateControl" type:"string" enum:"H264LookAheadRateControl"`
10963
10964	// For QVBR: See the tooltip for Quality levelFor VBR: Set the maximum bitrate
10965	// in order to accommodate expected spikes in the complexity of the video.
10966	MaxBitrate *int64 `locationName:"maxBitrate" min:"1000" type:"integer"`
10967
10968	// Only meaningful if sceneChangeDetect is set to enabled. Defaults to 5 if
10969	// multiplex rate control is used. Enforces separation between repeated (cadence)
10970	// I-frames and I-frames inserted by Scene Change Detection. If a scene change
10971	// I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk
10972	// and/or stretched to the scene change I-frame. GOP stretch requires enabling
10973	// lookahead as well as setting I-interval. The normal cadence resumes for the
10974	// next GOP. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1
10975	MinIInterval *int64 `locationName:"minIInterval" type:"integer"`
10976
10977	// Number of reference frames to use. The encoder may use more than requested
10978	// if using B-frames and/or interlaced encoding.
10979	NumRefFrames *int64 `locationName:"numRefFrames" min:"1" type:"integer"`
10980
10981	// This field indicates how the output pixel aspect ratio is specified. If "specified"
10982	// is selected then the output video pixel aspect ratio is determined by parNumerator
10983	// and parDenominator, else if "initializeFromSource" is selected then the output
10984	// pixsel aspect ratio will be set equal to the input video pixel aspect ratio
10985	// of the first input.
10986	ParControl *string `locationName:"parControl" type:"string" enum:"H264ParControl"`
10987
10988	// Pixel Aspect Ratio denominator.
10989	ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"`
10990
10991	// Pixel Aspect Ratio numerator.
10992	ParNumerator *int64 `locationName:"parNumerator" type:"integer"`
10993
10994	// H.264 Profile.
10995	Profile *string `locationName:"profile" type:"string" enum:"H264Profile"`
10996
10997	// Controls the target quality for the video encode. Applies only when the rate
10998	// control mode is QVBR. Set values for the QVBR quality level field and Max
10999	// bitrate field that suit your most important viewing devices. Recommended
11000	// values are:- Primary screen: Quality level: 8 to 10. Max bitrate: 4M- PC
11001	// or tablet: Quality level: 7. Max bitrate: 1.5M to 3M- Smartphone: Quality
11002	// level: 6. Max bitrate: 1M to 1.5M
11003	QvbrQualityLevel *int64 `locationName:"qvbrQualityLevel" min:"1" type:"integer"`
11004
11005	// Rate control mode.QVBR: Quality will match the specified quality level except
11006	// when it is constrained by themaximum bitrate. Recommended if you or your
11007	// viewers pay for bandwidth.VBR: Quality and bitrate vary, depending on the
11008	// video complexity. Recommended instead of QVBRif you want to maintain a specific
11009	// average bitrate over the duration of the channel.CBR: Quality varies, depending
11010	// on the video complexity. Recommended only if you distributeyour assets to
11011	// devices that cannot handle variable bitrates.Multiplex: This rate control
11012	// mode is only supported (and is required) when the video is beingdelivered
11013	// to a MediaLive Multiplex in which case the rate control configuration is
11014	// controlledby the properties within the Multiplex Program.
11015	RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"H264RateControlMode"`
11016
11017	// Sets the scan type of the output to progressive or top-field-first interlaced.
11018	ScanType *string `locationName:"scanType" type:"string" enum:"H264ScanType"`
11019
11020	// Scene change detection.- On: inserts I-frames when scene change is detected.-
11021	// Off: does not force an I-frame when scene change is detected.
11022	SceneChangeDetect *string `locationName:"sceneChangeDetect" type:"string" enum:"H264SceneChangeDetect"`
11023
11024	// Number of slices per picture. Must be less than or equal to the number of
11025	// macroblock rows for progressive pictures, and less than or equal to half
11026	// the number of macroblock rows for interlaced pictures.This field is optional;
11027	// when no value is specified the encoder will choose the number of slices based
11028	// on encode resolution.
11029	Slices *int64 `locationName:"slices" min:"1" type:"integer"`
11030
11031	// Softness. Selects quantizer matrix, larger values reduce high-frequency content
11032	// in the encoded image.
11033	Softness *int64 `locationName:"softness" type:"integer"`
11034
11035	// If set to enabled, adjust quantization within each frame based on spatial
11036	// variation of content complexity.
11037	SpatialAq *string `locationName:"spatialAq" type:"string" enum:"H264SpatialAq"`
11038
11039	// If set to fixed, use gopNumBFrames B-frames per sub-GOP. If set to dynamic,
11040	// optimize the number of B-frames used for each sub-GOP to improve visual quality.
11041	SubgopLength *string `locationName:"subgopLength" type:"string" enum:"H264SubGopLength"`
11042
11043	// Produces a bitstream compliant with SMPTE RP-2027.
11044	Syntax *string `locationName:"syntax" type:"string" enum:"H264Syntax"`
11045
11046	// If set to enabled, adjust quantization within each frame based on temporal
11047	// variation of content complexity.
11048	TemporalAq *string `locationName:"temporalAq" type:"string" enum:"H264TemporalAq"`
11049
11050	// Determines how timecodes should be inserted into the video elementary stream.-
11051	// 'disabled': Do not include timecodes- 'picTimingSei': Pass through picture
11052	// timing SEI messages from the source specified in Timecode Config
11053	TimecodeInsertion *string `locationName:"timecodeInsertion" type:"string" enum:"H264TimecodeInsertionBehavior"`
11054}
11055
11056// String returns the string representation
11057func (s H264Settings) String() string {
11058	return awsutil.Prettify(s)
11059}
11060
11061// GoString returns the string representation
11062func (s H264Settings) GoString() string {
11063	return s.String()
11064}
11065
11066// Validate inspects the fields of the type to determine if they are valid.
11067func (s *H264Settings) Validate() error {
11068	invalidParams := request.ErrInvalidParams{Context: "H264Settings"}
11069	if s.Bitrate != nil && *s.Bitrate < 1000 {
11070		invalidParams.Add(request.NewErrParamMinValue("Bitrate", 1000))
11071	}
11072	if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 {
11073		invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1))
11074	}
11075	if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 {
11076		invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1))
11077	}
11078	if s.MaxBitrate != nil && *s.MaxBitrate < 1000 {
11079		invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 1000))
11080	}
11081	if s.NumRefFrames != nil && *s.NumRefFrames < 1 {
11082		invalidParams.Add(request.NewErrParamMinValue("NumRefFrames", 1))
11083	}
11084	if s.ParDenominator != nil && *s.ParDenominator < 1 {
11085		invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1))
11086	}
11087	if s.QvbrQualityLevel != nil && *s.QvbrQualityLevel < 1 {
11088		invalidParams.Add(request.NewErrParamMinValue("QvbrQualityLevel", 1))
11089	}
11090	if s.Slices != nil && *s.Slices < 1 {
11091		invalidParams.Add(request.NewErrParamMinValue("Slices", 1))
11092	}
11093
11094	if invalidParams.Len() > 0 {
11095		return invalidParams
11096	}
11097	return nil
11098}
11099
11100// SetAdaptiveQuantization sets the AdaptiveQuantization field's value.
11101func (s *H264Settings) SetAdaptiveQuantization(v string) *H264Settings {
11102	s.AdaptiveQuantization = &v
11103	return s
11104}
11105
11106// SetAfdSignaling sets the AfdSignaling field's value.
11107func (s *H264Settings) SetAfdSignaling(v string) *H264Settings {
11108	s.AfdSignaling = &v
11109	return s
11110}
11111
11112// SetBitrate sets the Bitrate field's value.
11113func (s *H264Settings) SetBitrate(v int64) *H264Settings {
11114	s.Bitrate = &v
11115	return s
11116}
11117
11118// SetBufFillPct sets the BufFillPct field's value.
11119func (s *H264Settings) SetBufFillPct(v int64) *H264Settings {
11120	s.BufFillPct = &v
11121	return s
11122}
11123
11124// SetBufSize sets the BufSize field's value.
11125func (s *H264Settings) SetBufSize(v int64) *H264Settings {
11126	s.BufSize = &v
11127	return s
11128}
11129
11130// SetColorMetadata sets the ColorMetadata field's value.
11131func (s *H264Settings) SetColorMetadata(v string) *H264Settings {
11132	s.ColorMetadata = &v
11133	return s
11134}
11135
11136// SetColorSpaceSettings sets the ColorSpaceSettings field's value.
11137func (s *H264Settings) SetColorSpaceSettings(v *H264ColorSpaceSettings) *H264Settings {
11138	s.ColorSpaceSettings = v
11139	return s
11140}
11141
11142// SetEntropyEncoding sets the EntropyEncoding field's value.
11143func (s *H264Settings) SetEntropyEncoding(v string) *H264Settings {
11144	s.EntropyEncoding = &v
11145	return s
11146}
11147
11148// SetFixedAfd sets the FixedAfd field's value.
11149func (s *H264Settings) SetFixedAfd(v string) *H264Settings {
11150	s.FixedAfd = &v
11151	return s
11152}
11153
11154// SetFlickerAq sets the FlickerAq field's value.
11155func (s *H264Settings) SetFlickerAq(v string) *H264Settings {
11156	s.FlickerAq = &v
11157	return s
11158}
11159
11160// SetFramerateControl sets the FramerateControl field's value.
11161func (s *H264Settings) SetFramerateControl(v string) *H264Settings {
11162	s.FramerateControl = &v
11163	return s
11164}
11165
11166// SetFramerateDenominator sets the FramerateDenominator field's value.
11167func (s *H264Settings) SetFramerateDenominator(v int64) *H264Settings {
11168	s.FramerateDenominator = &v
11169	return s
11170}
11171
11172// SetFramerateNumerator sets the FramerateNumerator field's value.
11173func (s *H264Settings) SetFramerateNumerator(v int64) *H264Settings {
11174	s.FramerateNumerator = &v
11175	return s
11176}
11177
11178// SetGopBReference sets the GopBReference field's value.
11179func (s *H264Settings) SetGopBReference(v string) *H264Settings {
11180	s.GopBReference = &v
11181	return s
11182}
11183
11184// SetGopClosedCadence sets the GopClosedCadence field's value.
11185func (s *H264Settings) SetGopClosedCadence(v int64) *H264Settings {
11186	s.GopClosedCadence = &v
11187	return s
11188}
11189
11190// SetGopNumBFrames sets the GopNumBFrames field's value.
11191func (s *H264Settings) SetGopNumBFrames(v int64) *H264Settings {
11192	s.GopNumBFrames = &v
11193	return s
11194}
11195
11196// SetGopSize sets the GopSize field's value.
11197func (s *H264Settings) SetGopSize(v float64) *H264Settings {
11198	s.GopSize = &v
11199	return s
11200}
11201
11202// SetGopSizeUnits sets the GopSizeUnits field's value.
11203func (s *H264Settings) SetGopSizeUnits(v string) *H264Settings {
11204	s.GopSizeUnits = &v
11205	return s
11206}
11207
11208// SetLevel sets the Level field's value.
11209func (s *H264Settings) SetLevel(v string) *H264Settings {
11210	s.Level = &v
11211	return s
11212}
11213
11214// SetLookAheadRateControl sets the LookAheadRateControl field's value.
11215func (s *H264Settings) SetLookAheadRateControl(v string) *H264Settings {
11216	s.LookAheadRateControl = &v
11217	return s
11218}
11219
11220// SetMaxBitrate sets the MaxBitrate field's value.
11221func (s *H264Settings) SetMaxBitrate(v int64) *H264Settings {
11222	s.MaxBitrate = &v
11223	return s
11224}
11225
11226// SetMinIInterval sets the MinIInterval field's value.
11227func (s *H264Settings) SetMinIInterval(v int64) *H264Settings {
11228	s.MinIInterval = &v
11229	return s
11230}
11231
11232// SetNumRefFrames sets the NumRefFrames field's value.
11233func (s *H264Settings) SetNumRefFrames(v int64) *H264Settings {
11234	s.NumRefFrames = &v
11235	return s
11236}
11237
11238// SetParControl sets the ParControl field's value.
11239func (s *H264Settings) SetParControl(v string) *H264Settings {
11240	s.ParControl = &v
11241	return s
11242}
11243
11244// SetParDenominator sets the ParDenominator field's value.
11245func (s *H264Settings) SetParDenominator(v int64) *H264Settings {
11246	s.ParDenominator = &v
11247	return s
11248}
11249
11250// SetParNumerator sets the ParNumerator field's value.
11251func (s *H264Settings) SetParNumerator(v int64) *H264Settings {
11252	s.ParNumerator = &v
11253	return s
11254}
11255
11256// SetProfile sets the Profile field's value.
11257func (s *H264Settings) SetProfile(v string) *H264Settings {
11258	s.Profile = &v
11259	return s
11260}
11261
11262// SetQvbrQualityLevel sets the QvbrQualityLevel field's value.
11263func (s *H264Settings) SetQvbrQualityLevel(v int64) *H264Settings {
11264	s.QvbrQualityLevel = &v
11265	return s
11266}
11267
11268// SetRateControlMode sets the RateControlMode field's value.
11269func (s *H264Settings) SetRateControlMode(v string) *H264Settings {
11270	s.RateControlMode = &v
11271	return s
11272}
11273
11274// SetScanType sets the ScanType field's value.
11275func (s *H264Settings) SetScanType(v string) *H264Settings {
11276	s.ScanType = &v
11277	return s
11278}
11279
11280// SetSceneChangeDetect sets the SceneChangeDetect field's value.
11281func (s *H264Settings) SetSceneChangeDetect(v string) *H264Settings {
11282	s.SceneChangeDetect = &v
11283	return s
11284}
11285
11286// SetSlices sets the Slices field's value.
11287func (s *H264Settings) SetSlices(v int64) *H264Settings {
11288	s.Slices = &v
11289	return s
11290}
11291
11292// SetSoftness sets the Softness field's value.
11293func (s *H264Settings) SetSoftness(v int64) *H264Settings {
11294	s.Softness = &v
11295	return s
11296}
11297
11298// SetSpatialAq sets the SpatialAq field's value.
11299func (s *H264Settings) SetSpatialAq(v string) *H264Settings {
11300	s.SpatialAq = &v
11301	return s
11302}
11303
11304// SetSubgopLength sets the SubgopLength field's value.
11305func (s *H264Settings) SetSubgopLength(v string) *H264Settings {
11306	s.SubgopLength = &v
11307	return s
11308}
11309
11310// SetSyntax sets the Syntax field's value.
11311func (s *H264Settings) SetSyntax(v string) *H264Settings {
11312	s.Syntax = &v
11313	return s
11314}
11315
11316// SetTemporalAq sets the TemporalAq field's value.
11317func (s *H264Settings) SetTemporalAq(v string) *H264Settings {
11318	s.TemporalAq = &v
11319	return s
11320}
11321
11322// SetTimecodeInsertion sets the TimecodeInsertion field's value.
11323func (s *H264Settings) SetTimecodeInsertion(v string) *H264Settings {
11324	s.TimecodeInsertion = &v
11325	return s
11326}
11327
11328// H265 Color Space Settings
11329type H265ColorSpaceSettings struct {
11330	_ struct{} `type:"structure"`
11331
11332	// Passthrough applies no color space conversion to the output
11333	ColorSpacePassthroughSettings *ColorSpacePassthroughSettings `locationName:"colorSpacePassthroughSettings" type:"structure"`
11334
11335	// Hdr10 Settings
11336	Hdr10Settings *Hdr10Settings `locationName:"hdr10Settings" type:"structure"`
11337
11338	// Rec601 Settings
11339	Rec601Settings *Rec601Settings `locationName:"rec601Settings" type:"structure"`
11340
11341	// Rec709 Settings
11342	Rec709Settings *Rec709Settings `locationName:"rec709Settings" type:"structure"`
11343}
11344
11345// String returns the string representation
11346func (s H265ColorSpaceSettings) String() string {
11347	return awsutil.Prettify(s)
11348}
11349
11350// GoString returns the string representation
11351func (s H265ColorSpaceSettings) GoString() string {
11352	return s.String()
11353}
11354
11355// SetColorSpacePassthroughSettings sets the ColorSpacePassthroughSettings field's value.
11356func (s *H265ColorSpaceSettings) SetColorSpacePassthroughSettings(v *ColorSpacePassthroughSettings) *H265ColorSpaceSettings {
11357	s.ColorSpacePassthroughSettings = v
11358	return s
11359}
11360
11361// SetHdr10Settings sets the Hdr10Settings field's value.
11362func (s *H265ColorSpaceSettings) SetHdr10Settings(v *Hdr10Settings) *H265ColorSpaceSettings {
11363	s.Hdr10Settings = v
11364	return s
11365}
11366
11367// SetRec601Settings sets the Rec601Settings field's value.
11368func (s *H265ColorSpaceSettings) SetRec601Settings(v *Rec601Settings) *H265ColorSpaceSettings {
11369	s.Rec601Settings = v
11370	return s
11371}
11372
11373// SetRec709Settings sets the Rec709Settings field's value.
11374func (s *H265ColorSpaceSettings) SetRec709Settings(v *Rec709Settings) *H265ColorSpaceSettings {
11375	s.Rec709Settings = v
11376	return s
11377}
11378
11379// H265 Settings
11380type H265Settings struct {
11381	_ struct{} `type:"structure"`
11382
11383	// Adaptive quantization. Allows intra-frame quantizers to vary to improve visual
11384	// quality.
11385	AdaptiveQuantization *string `locationName:"adaptiveQuantization" type:"string" enum:"H265AdaptiveQuantization"`
11386
11387	// Indicates that AFD values will be written into the output stream. If afdSignaling
11388	// is "auto", the system will try to preserve the input AFD value (in cases
11389	// where multiple AFD values are valid). If set to "fixed", the AFD value will
11390	// be the value configured in the fixedAfd parameter.
11391	AfdSignaling *string `locationName:"afdSignaling" type:"string" enum:"AfdSignaling"`
11392
11393	// Whether or not EML should insert an Alternative Transfer Function SEI message
11394	// to support backwards compatibility with non-HDR decoders and displays.
11395	AlternativeTransferFunction *string `locationName:"alternativeTransferFunction" type:"string" enum:"H265AlternativeTransferFunction"`
11396
11397	// Average bitrate in bits/second. Required when the rate control mode is VBR
11398	// or CBR. Not used for QVBR. In an MS Smooth output group, each output must
11399	// have a unique value when its bitrate is rounded down to the nearest multiple
11400	// of 1000.
11401	Bitrate *int64 `locationName:"bitrate" min:"100000" type:"integer"`
11402
11403	// Size of buffer (HRD buffer model) in bits.
11404	BufSize *int64 `locationName:"bufSize" min:"100000" type:"integer"`
11405
11406	// Includes colorspace metadata in the output.
11407	ColorMetadata *string `locationName:"colorMetadata" type:"string" enum:"H265ColorMetadata"`
11408
11409	// Color Space settings
11410	ColorSpaceSettings *H265ColorSpaceSettings `locationName:"colorSpaceSettings" type:"structure"`
11411
11412	// Four bit AFD value to write on all frames of video in the output stream.
11413	// Only valid when afdSignaling is set to 'Fixed'.
11414	FixedAfd *string `locationName:"fixedAfd" type:"string" enum:"FixedAfd"`
11415
11416	// If set to enabled, adjust quantization within each frame to reduce flicker
11417	// or 'pop' on I-frames.
11418	FlickerAq *string `locationName:"flickerAq" type:"string" enum:"H265FlickerAq"`
11419
11420	// Framerate denominator.
11421	//
11422	// FramerateDenominator is a required field
11423	FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer" required:"true"`
11424
11425	// Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976
11426	// fps.
11427	//
11428	// FramerateNumerator is a required field
11429	FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer" required:"true"`
11430
11431	// Frequency of closed GOPs. In streaming applications, it is recommended that
11432	// this be set to 1 so a decoder joining mid-stream will receive an IDR frame
11433	// as quickly as possible. Setting this value to 0 will break output segmenting.
11434	GopClosedCadence *int64 `locationName:"gopClosedCadence" type:"integer"`
11435
11436	// GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits.If
11437	// gopSizeUnits is frames, gopSize must be an integer and must be greater than
11438	// or equal to 1.If gopSizeUnits is seconds, gopSize must be greater than 0,
11439	// but need not be an integer.
11440	GopSize *float64 `locationName:"gopSize" type:"double"`
11441
11442	// Indicates if the gopSize is specified in frames or seconds. If seconds the
11443	// system will convert the gopSize into a frame count at run time.
11444	GopSizeUnits *string `locationName:"gopSizeUnits" type:"string" enum:"H265GopSizeUnits"`
11445
11446	// H.265 Level.
11447	Level *string `locationName:"level" type:"string" enum:"H265Level"`
11448
11449	// Amount of lookahead. A value of low can decrease latency and memory usage,
11450	// while high can produce better quality for certain content.
11451	LookAheadRateControl *string `locationName:"lookAheadRateControl" type:"string" enum:"H265LookAheadRateControl"`
11452
11453	// For QVBR: See the tooltip for Quality level
11454	MaxBitrate *int64 `locationName:"maxBitrate" min:"100000" type:"integer"`
11455
11456	// Only meaningful if sceneChangeDetect is set to enabled. Defaults to 5 if
11457	// multiplex rate control is used. Enforces separation between repeated (cadence)
11458	// I-frames and I-frames inserted by Scene Change Detection. If a scene change
11459	// I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk
11460	// and/or stretched to the scene change I-frame. GOP stretch requires enabling
11461	// lookahead as well as setting I-interval. The normal cadence resumes for the
11462	// next GOP. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1
11463	MinIInterval *int64 `locationName:"minIInterval" type:"integer"`
11464
11465	// Pixel Aspect Ratio denominator.
11466	ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"`
11467
11468	// Pixel Aspect Ratio numerator.
11469	ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"`
11470
11471	// H.265 Profile.
11472	Profile *string `locationName:"profile" type:"string" enum:"H265Profile"`
11473
11474	// Controls the target quality for the video encode. Applies only when the rate
11475	// control mode is QVBR. Set values for the QVBR quality level field and Max
11476	// bitrate field that suit your most important viewing devices. Recommended
11477	// values are:- Primary screen: Quality level: 8 to 10. Max bitrate: 4M- PC
11478	// or tablet: Quality level: 7. Max bitrate: 1.5M to 3M- Smartphone: Quality
11479	// level: 6. Max bitrate: 1M to 1.5M
11480	QvbrQualityLevel *int64 `locationName:"qvbrQualityLevel" min:"1" type:"integer"`
11481
11482	// Rate control mode.QVBR: Quality will match the specified quality level except
11483	// when it is constrained by themaximum bitrate. Recommended if you or your
11484	// viewers pay for bandwidth.CBR: Quality varies, depending on the video complexity.
11485	// Recommended only if you distributeyour assets to devices that cannot handle
11486	// variable bitrates.
11487	RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"H265RateControlMode"`
11488
11489	// Sets the scan type of the output to progressive or top-field-first interlaced.
11490	ScanType *string `locationName:"scanType" type:"string" enum:"H265ScanType"`
11491
11492	// Scene change detection.
11493	SceneChangeDetect *string `locationName:"sceneChangeDetect" type:"string" enum:"H265SceneChangeDetect"`
11494
11495	// Number of slices per picture. Must be less than or equal to the number of
11496	// macroblock rows for progressive pictures, and less than or equal to half
11497	// the number of macroblock rows for interlaced pictures.This field is optional;
11498	// when no value is specified the encoder will choose the number of slices based
11499	// on encode resolution.
11500	Slices *int64 `locationName:"slices" min:"1" type:"integer"`
11501
11502	// H.265 Tier.
11503	Tier *string `locationName:"tier" type:"string" enum:"H265Tier"`
11504
11505	// Determines how timecodes should be inserted into the video elementary stream.-
11506	// 'disabled': Do not include timecodes- 'picTimingSei': Pass through picture
11507	// timing SEI messages from the source specified in Timecode Config
11508	TimecodeInsertion *string `locationName:"timecodeInsertion" type:"string" enum:"H265TimecodeInsertionBehavior"`
11509}
11510
11511// String returns the string representation
11512func (s H265Settings) String() string {
11513	return awsutil.Prettify(s)
11514}
11515
11516// GoString returns the string representation
11517func (s H265Settings) GoString() string {
11518	return s.String()
11519}
11520
11521// Validate inspects the fields of the type to determine if they are valid.
11522func (s *H265Settings) Validate() error {
11523	invalidParams := request.ErrInvalidParams{Context: "H265Settings"}
11524	if s.Bitrate != nil && *s.Bitrate < 100000 {
11525		invalidParams.Add(request.NewErrParamMinValue("Bitrate", 100000))
11526	}
11527	if s.BufSize != nil && *s.BufSize < 100000 {
11528		invalidParams.Add(request.NewErrParamMinValue("BufSize", 100000))
11529	}
11530	if s.FramerateDenominator == nil {
11531		invalidParams.Add(request.NewErrParamRequired("FramerateDenominator"))
11532	}
11533	if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 {
11534		invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1))
11535	}
11536	if s.FramerateNumerator == nil {
11537		invalidParams.Add(request.NewErrParamRequired("FramerateNumerator"))
11538	}
11539	if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 {
11540		invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1))
11541	}
11542	if s.MaxBitrate != nil && *s.MaxBitrate < 100000 {
11543		invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 100000))
11544	}
11545	if s.ParDenominator != nil && *s.ParDenominator < 1 {
11546		invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1))
11547	}
11548	if s.ParNumerator != nil && *s.ParNumerator < 1 {
11549		invalidParams.Add(request.NewErrParamMinValue("ParNumerator", 1))
11550	}
11551	if s.QvbrQualityLevel != nil && *s.QvbrQualityLevel < 1 {
11552		invalidParams.Add(request.NewErrParamMinValue("QvbrQualityLevel", 1))
11553	}
11554	if s.Slices != nil && *s.Slices < 1 {
11555		invalidParams.Add(request.NewErrParamMinValue("Slices", 1))
11556	}
11557
11558	if invalidParams.Len() > 0 {
11559		return invalidParams
11560	}
11561	return nil
11562}
11563
11564// SetAdaptiveQuantization sets the AdaptiveQuantization field's value.
11565func (s *H265Settings) SetAdaptiveQuantization(v string) *H265Settings {
11566	s.AdaptiveQuantization = &v
11567	return s
11568}
11569
11570// SetAfdSignaling sets the AfdSignaling field's value.
11571func (s *H265Settings) SetAfdSignaling(v string) *H265Settings {
11572	s.AfdSignaling = &v
11573	return s
11574}
11575
11576// SetAlternativeTransferFunction sets the AlternativeTransferFunction field's value.
11577func (s *H265Settings) SetAlternativeTransferFunction(v string) *H265Settings {
11578	s.AlternativeTransferFunction = &v
11579	return s
11580}
11581
11582// SetBitrate sets the Bitrate field's value.
11583func (s *H265Settings) SetBitrate(v int64) *H265Settings {
11584	s.Bitrate = &v
11585	return s
11586}
11587
11588// SetBufSize sets the BufSize field's value.
11589func (s *H265Settings) SetBufSize(v int64) *H265Settings {
11590	s.BufSize = &v
11591	return s
11592}
11593
11594// SetColorMetadata sets the ColorMetadata field's value.
11595func (s *H265Settings) SetColorMetadata(v string) *H265Settings {
11596	s.ColorMetadata = &v
11597	return s
11598}
11599
11600// SetColorSpaceSettings sets the ColorSpaceSettings field's value.
11601func (s *H265Settings) SetColorSpaceSettings(v *H265ColorSpaceSettings) *H265Settings {
11602	s.ColorSpaceSettings = v
11603	return s
11604}
11605
11606// SetFixedAfd sets the FixedAfd field's value.
11607func (s *H265Settings) SetFixedAfd(v string) *H265Settings {
11608	s.FixedAfd = &v
11609	return s
11610}
11611
11612// SetFlickerAq sets the FlickerAq field's value.
11613func (s *H265Settings) SetFlickerAq(v string) *H265Settings {
11614	s.FlickerAq = &v
11615	return s
11616}
11617
11618// SetFramerateDenominator sets the FramerateDenominator field's value.
11619func (s *H265Settings) SetFramerateDenominator(v int64) *H265Settings {
11620	s.FramerateDenominator = &v
11621	return s
11622}
11623
11624// SetFramerateNumerator sets the FramerateNumerator field's value.
11625func (s *H265Settings) SetFramerateNumerator(v int64) *H265Settings {
11626	s.FramerateNumerator = &v
11627	return s
11628}
11629
11630// SetGopClosedCadence sets the GopClosedCadence field's value.
11631func (s *H265Settings) SetGopClosedCadence(v int64) *H265Settings {
11632	s.GopClosedCadence = &v
11633	return s
11634}
11635
11636// SetGopSize sets the GopSize field's value.
11637func (s *H265Settings) SetGopSize(v float64) *H265Settings {
11638	s.GopSize = &v
11639	return s
11640}
11641
11642// SetGopSizeUnits sets the GopSizeUnits field's value.
11643func (s *H265Settings) SetGopSizeUnits(v string) *H265Settings {
11644	s.GopSizeUnits = &v
11645	return s
11646}
11647
11648// SetLevel sets the Level field's value.
11649func (s *H265Settings) SetLevel(v string) *H265Settings {
11650	s.Level = &v
11651	return s
11652}
11653
11654// SetLookAheadRateControl sets the LookAheadRateControl field's value.
11655func (s *H265Settings) SetLookAheadRateControl(v string) *H265Settings {
11656	s.LookAheadRateControl = &v
11657	return s
11658}
11659
11660// SetMaxBitrate sets the MaxBitrate field's value.
11661func (s *H265Settings) SetMaxBitrate(v int64) *H265Settings {
11662	s.MaxBitrate = &v
11663	return s
11664}
11665
11666// SetMinIInterval sets the MinIInterval field's value.
11667func (s *H265Settings) SetMinIInterval(v int64) *H265Settings {
11668	s.MinIInterval = &v
11669	return s
11670}
11671
11672// SetParDenominator sets the ParDenominator field's value.
11673func (s *H265Settings) SetParDenominator(v int64) *H265Settings {
11674	s.ParDenominator = &v
11675	return s
11676}
11677
11678// SetParNumerator sets the ParNumerator field's value.
11679func (s *H265Settings) SetParNumerator(v int64) *H265Settings {
11680	s.ParNumerator = &v
11681	return s
11682}
11683
11684// SetProfile sets the Profile field's value.
11685func (s *H265Settings) SetProfile(v string) *H265Settings {
11686	s.Profile = &v
11687	return s
11688}
11689
11690// SetQvbrQualityLevel sets the QvbrQualityLevel field's value.
11691func (s *H265Settings) SetQvbrQualityLevel(v int64) *H265Settings {
11692	s.QvbrQualityLevel = &v
11693	return s
11694}
11695
11696// SetRateControlMode sets the RateControlMode field's value.
11697func (s *H265Settings) SetRateControlMode(v string) *H265Settings {
11698	s.RateControlMode = &v
11699	return s
11700}
11701
11702// SetScanType sets the ScanType field's value.
11703func (s *H265Settings) SetScanType(v string) *H265Settings {
11704	s.ScanType = &v
11705	return s
11706}
11707
11708// SetSceneChangeDetect sets the SceneChangeDetect field's value.
11709func (s *H265Settings) SetSceneChangeDetect(v string) *H265Settings {
11710	s.SceneChangeDetect = &v
11711	return s
11712}
11713
11714// SetSlices sets the Slices field's value.
11715func (s *H265Settings) SetSlices(v int64) *H265Settings {
11716	s.Slices = &v
11717	return s
11718}
11719
11720// SetTier sets the Tier field's value.
11721func (s *H265Settings) SetTier(v string) *H265Settings {
11722	s.Tier = &v
11723	return s
11724}
11725
11726// SetTimecodeInsertion sets the TimecodeInsertion field's value.
11727func (s *H265Settings) SetTimecodeInsertion(v string) *H265Settings {
11728	s.TimecodeInsertion = &v
11729	return s
11730}
11731
11732// Hdr10 Settings
11733type Hdr10Settings struct {
11734	_ struct{} `type:"structure"`
11735
11736	// Maximum Content Light LevelAn integer metadata value defining the maximum
11737	// light level, in nits,of any single pixel within an encoded HDR video stream
11738	// or file.
11739	MaxCll *int64 `locationName:"maxCll" type:"integer"`
11740
11741	// Maximum Frame Average Light LevelAn integer metadata value defining the maximum
11742	// average light level, in nits,for any single frame within an encoded HDR video
11743	// stream or file.
11744	MaxFall *int64 `locationName:"maxFall" type:"integer"`
11745}
11746
11747// String returns the string representation
11748func (s Hdr10Settings) String() string {
11749	return awsutil.Prettify(s)
11750}
11751
11752// GoString returns the string representation
11753func (s Hdr10Settings) GoString() string {
11754	return s.String()
11755}
11756
11757// SetMaxCll sets the MaxCll field's value.
11758func (s *Hdr10Settings) SetMaxCll(v int64) *Hdr10Settings {
11759	s.MaxCll = &v
11760	return s
11761}
11762
11763// SetMaxFall sets the MaxFall field's value.
11764func (s *Hdr10Settings) SetMaxFall(v int64) *Hdr10Settings {
11765	s.MaxFall = &v
11766	return s
11767}
11768
11769// Hls Akamai Settings
11770type HlsAkamaiSettings struct {
11771	_ struct{} `type:"structure"`
11772
11773	// Number of seconds to wait before retrying connection to the CDN if the connection
11774	// is lost.
11775	ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"`
11776
11777	// Size in seconds of file cache for streaming outputs.
11778	FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"`
11779
11780	// Specify whether or not to use chunked transfer encoding to Akamai. User should
11781	// contact Akamai to enable this feature.
11782	HttpTransferMode *string `locationName:"httpTransferMode" type:"string" enum:"HlsAkamaiHttpTransferMode"`
11783
11784	// Number of retry attempts that will be made before the Live Event is put into
11785	// an error state.
11786	NumRetries *int64 `locationName:"numRetries" type:"integer"`
11787
11788	// If a streaming output fails, number of seconds to wait until a restart is
11789	// initiated. A value of 0 means never restart.
11790	RestartDelay *int64 `locationName:"restartDelay" type:"integer"`
11791
11792	// Salt for authenticated Akamai.
11793	Salt *string `locationName:"salt" type:"string"`
11794
11795	// Token parameter for authenticated akamai. If not specified, _gda_ is used.
11796	Token *string `locationName:"token" type:"string"`
11797}
11798
11799// String returns the string representation
11800func (s HlsAkamaiSettings) String() string {
11801	return awsutil.Prettify(s)
11802}
11803
11804// GoString returns the string representation
11805func (s HlsAkamaiSettings) GoString() string {
11806	return s.String()
11807}
11808
11809// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value.
11810func (s *HlsAkamaiSettings) SetConnectionRetryInterval(v int64) *HlsAkamaiSettings {
11811	s.ConnectionRetryInterval = &v
11812	return s
11813}
11814
11815// SetFilecacheDuration sets the FilecacheDuration field's value.
11816func (s *HlsAkamaiSettings) SetFilecacheDuration(v int64) *HlsAkamaiSettings {
11817	s.FilecacheDuration = &v
11818	return s
11819}
11820
11821// SetHttpTransferMode sets the HttpTransferMode field's value.
11822func (s *HlsAkamaiSettings) SetHttpTransferMode(v string) *HlsAkamaiSettings {
11823	s.HttpTransferMode = &v
11824	return s
11825}
11826
11827// SetNumRetries sets the NumRetries field's value.
11828func (s *HlsAkamaiSettings) SetNumRetries(v int64) *HlsAkamaiSettings {
11829	s.NumRetries = &v
11830	return s
11831}
11832
11833// SetRestartDelay sets the RestartDelay field's value.
11834func (s *HlsAkamaiSettings) SetRestartDelay(v int64) *HlsAkamaiSettings {
11835	s.RestartDelay = &v
11836	return s
11837}
11838
11839// SetSalt sets the Salt field's value.
11840func (s *HlsAkamaiSettings) SetSalt(v string) *HlsAkamaiSettings {
11841	s.Salt = &v
11842	return s
11843}
11844
11845// SetToken sets the Token field's value.
11846func (s *HlsAkamaiSettings) SetToken(v string) *HlsAkamaiSettings {
11847	s.Token = &v
11848	return s
11849}
11850
11851// Hls Basic Put Settings
11852type HlsBasicPutSettings struct {
11853	_ struct{} `type:"structure"`
11854
11855	// Number of seconds to wait before retrying connection to the CDN if the connection
11856	// is lost.
11857	ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"`
11858
11859	// Size in seconds of file cache for streaming outputs.
11860	FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"`
11861
11862	// Number of retry attempts that will be made before the Live Event is put into
11863	// an error state.
11864	NumRetries *int64 `locationName:"numRetries" type:"integer"`
11865
11866	// If a streaming output fails, number of seconds to wait until a restart is
11867	// initiated. A value of 0 means never restart.
11868	RestartDelay *int64 `locationName:"restartDelay" type:"integer"`
11869}
11870
11871// String returns the string representation
11872func (s HlsBasicPutSettings) String() string {
11873	return awsutil.Prettify(s)
11874}
11875
11876// GoString returns the string representation
11877func (s HlsBasicPutSettings) GoString() string {
11878	return s.String()
11879}
11880
11881// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value.
11882func (s *HlsBasicPutSettings) SetConnectionRetryInterval(v int64) *HlsBasicPutSettings {
11883	s.ConnectionRetryInterval = &v
11884	return s
11885}
11886
11887// SetFilecacheDuration sets the FilecacheDuration field's value.
11888func (s *HlsBasicPutSettings) SetFilecacheDuration(v int64) *HlsBasicPutSettings {
11889	s.FilecacheDuration = &v
11890	return s
11891}
11892
11893// SetNumRetries sets the NumRetries field's value.
11894func (s *HlsBasicPutSettings) SetNumRetries(v int64) *HlsBasicPutSettings {
11895	s.NumRetries = &v
11896	return s
11897}
11898
11899// SetRestartDelay sets the RestartDelay field's value.
11900func (s *HlsBasicPutSettings) SetRestartDelay(v int64) *HlsBasicPutSettings {
11901	s.RestartDelay = &v
11902	return s
11903}
11904
11905// Hls Cdn Settings
11906type HlsCdnSettings struct {
11907	_ struct{} `type:"structure"`
11908
11909	// Hls Akamai Settings
11910	HlsAkamaiSettings *HlsAkamaiSettings `locationName:"hlsAkamaiSettings" type:"structure"`
11911
11912	// Hls Basic Put Settings
11913	HlsBasicPutSettings *HlsBasicPutSettings `locationName:"hlsBasicPutSettings" type:"structure"`
11914
11915	// Hls Media Store Settings
11916	HlsMediaStoreSettings *HlsMediaStoreSettings `locationName:"hlsMediaStoreSettings" type:"structure"`
11917
11918	// Hls Webdav Settings
11919	HlsWebdavSettings *HlsWebdavSettings `locationName:"hlsWebdavSettings" type:"structure"`
11920}
11921
11922// String returns the string representation
11923func (s HlsCdnSettings) String() string {
11924	return awsutil.Prettify(s)
11925}
11926
11927// GoString returns the string representation
11928func (s HlsCdnSettings) GoString() string {
11929	return s.String()
11930}
11931
11932// SetHlsAkamaiSettings sets the HlsAkamaiSettings field's value.
11933func (s *HlsCdnSettings) SetHlsAkamaiSettings(v *HlsAkamaiSettings) *HlsCdnSettings {
11934	s.HlsAkamaiSettings = v
11935	return s
11936}
11937
11938// SetHlsBasicPutSettings sets the HlsBasicPutSettings field's value.
11939func (s *HlsCdnSettings) SetHlsBasicPutSettings(v *HlsBasicPutSettings) *HlsCdnSettings {
11940	s.HlsBasicPutSettings = v
11941	return s
11942}
11943
11944// SetHlsMediaStoreSettings sets the HlsMediaStoreSettings field's value.
11945func (s *HlsCdnSettings) SetHlsMediaStoreSettings(v *HlsMediaStoreSettings) *HlsCdnSettings {
11946	s.HlsMediaStoreSettings = v
11947	return s
11948}
11949
11950// SetHlsWebdavSettings sets the HlsWebdavSettings field's value.
11951func (s *HlsCdnSettings) SetHlsWebdavSettings(v *HlsWebdavSettings) *HlsCdnSettings {
11952	s.HlsWebdavSettings = v
11953	return s
11954}
11955
11956// Hls Group Settings
11957type HlsGroupSettings struct {
11958	_ struct{} `type:"structure"`
11959
11960	// Choose one or more ad marker types to pass SCTE35 signals through to this
11961	// group of Apple HLS outputs.
11962	AdMarkers []*string `locationName:"adMarkers" type:"list"`
11963
11964	// A partial URI prefix that will be prepended to each output in the media .m3u8
11965	// file. Can be used if base manifest is delivered from a different URL than
11966	// the main .m3u8 file.
11967	BaseUrlContent *string `locationName:"baseUrlContent" type:"string"`
11968
11969	// Optional. One value per output group.This field is required only if you are
11970	// completing Base URL content A, and the downstream system has notified you
11971	// that the media files for pipeline 1 of all outputs are in a location different
11972	// from the media files for pipeline 0.
11973	BaseUrlContent1 *string `locationName:"baseUrlContent1" type:"string"`
11974
11975	// A partial URI prefix that will be prepended to each output in the media .m3u8
11976	// file. Can be used if base manifest is delivered from a different URL than
11977	// the main .m3u8 file.
11978	BaseUrlManifest *string `locationName:"baseUrlManifest" type:"string"`
11979
11980	// Optional. One value per output group.Complete this field only if you are
11981	// completing Base URL manifest A, and the downstream system has notified you
11982	// that the child manifest files for pipeline 1 of all outputs are in a location
11983	// different from the child manifest files for pipeline 0.
11984	BaseUrlManifest1 *string `locationName:"baseUrlManifest1" type:"string"`
11985
11986	// Mapping of up to 4 caption channels to caption languages. Is only meaningful
11987	// if captionLanguageSetting is set to "insert".
11988	CaptionLanguageMappings []*CaptionLanguageMapping `locationName:"captionLanguageMappings" type:"list"`
11989
11990	// Applies only to 608 Embedded output captions.insert: Include CLOSED-CAPTIONS
11991	// lines in the manifest. Specify at least one language in the CC1 Language
11992	// Code field. One CLOSED-CAPTION line is added for each Language Code you specify.
11993	// Make sure to specify the languages in the order in which they appear in the
11994	// original source (if the source is embedded format) or the order of the caption
11995	// selectors (if the source is other than embedded). Otherwise, languages in
11996	// the manifest will not match up properly with the output captions.none: Include
11997	// CLOSED-CAPTIONS=NONE line in the manifest.omit: Omit any CLOSED-CAPTIONS
11998	// line from the manifest.
11999	CaptionLanguageSetting *string `locationName:"captionLanguageSetting" type:"string" enum:"HlsCaptionLanguageSetting"`
12000
12001	// When set to "disabled", sets the #EXT-X-ALLOW-CACHE:no tag in the manifest,
12002	// which prevents clients from saving media segments for later replay.
12003	ClientCache *string `locationName:"clientCache" type:"string" enum:"HlsClientCache"`
12004
12005	// Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist
12006	// generation.
12007	CodecSpecification *string `locationName:"codecSpecification" type:"string" enum:"HlsCodecSpecification"`
12008
12009	// For use with encryptionType. This is a 128-bit, 16-byte hex value represented
12010	// by a 32-character text string. If ivSource is set to "explicit" then this
12011	// parameter is required and is used as the IV for encryption.
12012	ConstantIv *string `locationName:"constantIv" min:"32" type:"string"`
12013
12014	// A directory or HTTP destination for the HLS segments, manifest files, and
12015	// encryption keys (if enabled).
12016	//
12017	// Destination is a required field
12018	Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"`
12019
12020	// Place segments in subdirectories.
12021	DirectoryStructure *string `locationName:"directoryStructure" type:"string" enum:"HlsDirectoryStructure"`
12022
12023	// Encrypts the segments with the given encryption scheme. Exclude this parameter
12024	// if no encryption is desired.
12025	EncryptionType *string `locationName:"encryptionType" type:"string" enum:"HlsEncryptionType"`
12026
12027	// Parameters that control interactions with the CDN.
12028	HlsCdnSettings *HlsCdnSettings `locationName:"hlsCdnSettings" type:"structure"`
12029
12030	// State of HLS ID3 Segment Tagging
12031	HlsId3SegmentTagging *string `locationName:"hlsId3SegmentTagging" type:"string" enum:"HlsId3SegmentTaggingState"`
12032
12033	// DISABLED: Do not create an I-frame-only manifest, but do create the master
12034	// and media manifests (according to the Output Selection field).STANDARD: Create
12035	// an I-frame-only manifest for each output that contains video, as well as
12036	// the other manifests (according to the Output Selection field). The I-frame
12037	// manifest contains a #EXT-X-I-FRAMES-ONLY tag to indicate it is I-frame only,
12038	// and one or more #EXT-X-BYTERANGE entries identifying the I-frame position.
12039	// For example, #EXT-X-BYTERANGE:160364@1461888"
12040	IFrameOnlyPlaylists *string `locationName:"iFrameOnlyPlaylists" type:"string" enum:"IFrameOnlyPlaylistType"`
12041
12042	// Applies only if Mode field is LIVE. Specifies the maximum number of segments
12043	// in the media manifest file. After this maximum, older segments are removed
12044	// from the media manifest. This number must be less than or equal to the Keep
12045	// Segments field.
12046	IndexNSegments *int64 `locationName:"indexNSegments" min:"3" type:"integer"`
12047
12048	// Parameter that control output group behavior on input loss.
12049	InputLossAction *string `locationName:"inputLossAction" type:"string" enum:"InputLossActionForHlsOut"`
12050
12051	// For use with encryptionType. The IV (Initialization Vector) is a 128-bit
12052	// number used in conjunction with the key for encrypting blocks. If set to
12053	// "include", IV is listed in the manifest, otherwise the IV is not in the manifest.
12054	IvInManifest *string `locationName:"ivInManifest" type:"string" enum:"HlsIvInManifest"`
12055
12056	// For use with encryptionType. The IV (Initialization Vector) is a 128-bit
12057	// number used in conjunction with the key for encrypting blocks. If this setting
12058	// is "followsSegmentNumber", it will cause the IV to change every segment (to
12059	// match the segment number). If this is set to "explicit", you must enter a
12060	// constantIv value.
12061	IvSource *string `locationName:"ivSource" type:"string" enum:"HlsIvSource"`
12062
12063	// Applies only if Mode field is LIVE. Specifies the number of media segments
12064	// (.ts files) to retain in the destination directory.
12065	KeepSegments *int64 `locationName:"keepSegments" min:"1" type:"integer"`
12066
12067	// The value specifies how the key is represented in the resource identified
12068	// by the URI. If parameter is absent, an implicit value of "identity" is used.
12069	// A reverse DNS string can also be given.
12070	KeyFormat *string `locationName:"keyFormat" type:"string"`
12071
12072	// Either a single positive integer version value or a slash delimited list
12073	// of version values (1/2/3).
12074	KeyFormatVersions *string `locationName:"keyFormatVersions" type:"string"`
12075
12076	// The key provider settings.
12077	KeyProviderSettings *KeyProviderSettings `locationName:"keyProviderSettings" type:"structure"`
12078
12079	// When set to gzip, compresses HLS playlist.
12080	ManifestCompression *string `locationName:"manifestCompression" type:"string" enum:"HlsManifestCompression"`
12081
12082	// Indicates whether the output manifest should use floating point or integer
12083	// values for segment duration.
12084	ManifestDurationFormat *string `locationName:"manifestDurationFormat" type:"string" enum:"HlsManifestDurationFormat"`
12085
12086	// When set, minimumSegmentLength is enforced by looking ahead and back within
12087	// the specified range for a nearby avail and extending the segment size if
12088	// needed.
12089	MinSegmentLength *int64 `locationName:"minSegmentLength" type:"integer"`
12090
12091	// If "vod", all segments are indexed and kept permanently in the destination
12092	// and manifest. If "live", only the number segments specified in keepSegments
12093	// and indexNSegments are kept; newer segments replace older segments, which
12094	// may prevent players from rewinding all the way to the beginning of the event.VOD
12095	// mode uses HLS EXT-X-PLAYLIST-TYPE of EVENT while the channel is running,
12096	// converting it to a "VOD" type manifest on completion of the stream.
12097	Mode *string `locationName:"mode" type:"string" enum:"HlsMode"`
12098
12099	// MANIFESTSANDSEGMENTS: Generates manifests (master manifest, if applicable,
12100	// and media manifests) for this output group.SEGMENTSONLY: Does not generate
12101	// any manifests for this output group.
12102	OutputSelection *string `locationName:"outputSelection" type:"string" enum:"HlsOutputSelection"`
12103
12104	// Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files.
12105	// The value is calculated as follows: either the program date and time are
12106	// initialized using the input timecode source, or the time is initialized using
12107	// the input timecode source and the date is initialized using the timestampOffset.
12108	ProgramDateTime *string `locationName:"programDateTime" type:"string" enum:"HlsProgramDateTime"`
12109
12110	// Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds.
12111	ProgramDateTimePeriod *int64 `locationName:"programDateTimePeriod" type:"integer"`
12112
12113	// ENABLED: The master manifest (.m3u8 file) for each pipeline includes information
12114	// about both pipelines: first its own media files, then the media files of
12115	// the other pipeline. This feature allows playout device that support stale
12116	// manifest detection to switch from one manifest to the other, when the current
12117	// manifest seems to be stale. There are still two destinations and two master
12118	// manifests, but both master manifests reference the media files from both
12119	// pipelines.DISABLED: The master manifest (.m3u8 file) for each pipeline includes
12120	// information about its own pipeline only.For an HLS output group with MediaPackage
12121	// as the destination, the DISABLED behavior is always followed. MediaPackage
12122	// regenerates the manifests it serves to players so a redundant manifest from
12123	// MediaLive is irrelevant.
12124	RedundantManifest *string `locationName:"redundantManifest" type:"string" enum:"HlsRedundantManifest"`
12125
12126	// Length of MPEG-2 Transport Stream segments to create (in seconds). Note that
12127	// segments will end on the next keyframe after this number of seconds, so actual
12128	// segment length may be longer.
12129	SegmentLength *int64 `locationName:"segmentLength" min:"1" type:"integer"`
12130
12131	// useInputSegmentation has been deprecated. The configured segment size is
12132	// always used.
12133	SegmentationMode *string `locationName:"segmentationMode" type:"string" enum:"HlsSegmentationMode"`
12134
12135	// Number of segments to write to a subdirectory before starting a new one.
12136	// directoryStructure must be subdirectoryPerStream for this setting to have
12137	// an effect.
12138	SegmentsPerSubdirectory *int64 `locationName:"segmentsPerSubdirectory" min:"1" type:"integer"`
12139
12140	// Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag
12141	// of variant manifest.
12142	StreamInfResolution *string `locationName:"streamInfResolution" type:"string" enum:"HlsStreamInfResolution"`
12143
12144	// Indicates ID3 frame that has the timecode.
12145	TimedMetadataId3Frame *string `locationName:"timedMetadataId3Frame" type:"string" enum:"HlsTimedMetadataId3Frame"`
12146
12147	// Timed Metadata interval in seconds.
12148	TimedMetadataId3Period *int64 `locationName:"timedMetadataId3Period" type:"integer"`
12149
12150	// Provides an extra millisecond delta offset to fine tune the timestamps.
12151	TimestampDeltaMilliseconds *int64 `locationName:"timestampDeltaMilliseconds" type:"integer"`
12152
12153	// SEGMENTEDFILES: Emit the program as segments - multiple .ts media files.SINGLEFILE:
12154	// Applies only if Mode field is VOD. Emit the program as a single .ts media
12155	// file. The media manifest includes #EXT-X-BYTERANGE tags to index segments
12156	// for playback. A typical use for this value is when sending the output to
12157	// AWS Elemental MediaConvert, which can accept only a single media file. Playback
12158	// while the channel is running is not guaranteed due to HTTP server caching.
12159	TsFileMode *string `locationName:"tsFileMode" type:"string" enum:"HlsTsFileMode"`
12160}
12161
12162// String returns the string representation
12163func (s HlsGroupSettings) String() string {
12164	return awsutil.Prettify(s)
12165}
12166
12167// GoString returns the string representation
12168func (s HlsGroupSettings) GoString() string {
12169	return s.String()
12170}
12171
12172// Validate inspects the fields of the type to determine if they are valid.
12173func (s *HlsGroupSettings) Validate() error {
12174	invalidParams := request.ErrInvalidParams{Context: "HlsGroupSettings"}
12175	if s.ConstantIv != nil && len(*s.ConstantIv) < 32 {
12176		invalidParams.Add(request.NewErrParamMinLen("ConstantIv", 32))
12177	}
12178	if s.Destination == nil {
12179		invalidParams.Add(request.NewErrParamRequired("Destination"))
12180	}
12181	if s.IndexNSegments != nil && *s.IndexNSegments < 3 {
12182		invalidParams.Add(request.NewErrParamMinValue("IndexNSegments", 3))
12183	}
12184	if s.KeepSegments != nil && *s.KeepSegments < 1 {
12185		invalidParams.Add(request.NewErrParamMinValue("KeepSegments", 1))
12186	}
12187	if s.SegmentLength != nil && *s.SegmentLength < 1 {
12188		invalidParams.Add(request.NewErrParamMinValue("SegmentLength", 1))
12189	}
12190	if s.SegmentsPerSubdirectory != nil && *s.SegmentsPerSubdirectory < 1 {
12191		invalidParams.Add(request.NewErrParamMinValue("SegmentsPerSubdirectory", 1))
12192	}
12193	if s.CaptionLanguageMappings != nil {
12194		for i, v := range s.CaptionLanguageMappings {
12195			if v == nil {
12196				continue
12197			}
12198			if err := v.Validate(); err != nil {
12199				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionLanguageMappings", i), err.(request.ErrInvalidParams))
12200			}
12201		}
12202	}
12203	if s.KeyProviderSettings != nil {
12204		if err := s.KeyProviderSettings.Validate(); err != nil {
12205			invalidParams.AddNested("KeyProviderSettings", err.(request.ErrInvalidParams))
12206		}
12207	}
12208
12209	if invalidParams.Len() > 0 {
12210		return invalidParams
12211	}
12212	return nil
12213}
12214
12215// SetAdMarkers sets the AdMarkers field's value.
12216func (s *HlsGroupSettings) SetAdMarkers(v []*string) *HlsGroupSettings {
12217	s.AdMarkers = v
12218	return s
12219}
12220
12221// SetBaseUrlContent sets the BaseUrlContent field's value.
12222func (s *HlsGroupSettings) SetBaseUrlContent(v string) *HlsGroupSettings {
12223	s.BaseUrlContent = &v
12224	return s
12225}
12226
12227// SetBaseUrlContent1 sets the BaseUrlContent1 field's value.
12228func (s *HlsGroupSettings) SetBaseUrlContent1(v string) *HlsGroupSettings {
12229	s.BaseUrlContent1 = &v
12230	return s
12231}
12232
12233// SetBaseUrlManifest sets the BaseUrlManifest field's value.
12234func (s *HlsGroupSettings) SetBaseUrlManifest(v string) *HlsGroupSettings {
12235	s.BaseUrlManifest = &v
12236	return s
12237}
12238
12239// SetBaseUrlManifest1 sets the BaseUrlManifest1 field's value.
12240func (s *HlsGroupSettings) SetBaseUrlManifest1(v string) *HlsGroupSettings {
12241	s.BaseUrlManifest1 = &v
12242	return s
12243}
12244
12245// SetCaptionLanguageMappings sets the CaptionLanguageMappings field's value.
12246func (s *HlsGroupSettings) SetCaptionLanguageMappings(v []*CaptionLanguageMapping) *HlsGroupSettings {
12247	s.CaptionLanguageMappings = v
12248	return s
12249}
12250
12251// SetCaptionLanguageSetting sets the CaptionLanguageSetting field's value.
12252func (s *HlsGroupSettings) SetCaptionLanguageSetting(v string) *HlsGroupSettings {
12253	s.CaptionLanguageSetting = &v
12254	return s
12255}
12256
12257// SetClientCache sets the ClientCache field's value.
12258func (s *HlsGroupSettings) SetClientCache(v string) *HlsGroupSettings {
12259	s.ClientCache = &v
12260	return s
12261}
12262
12263// SetCodecSpecification sets the CodecSpecification field's value.
12264func (s *HlsGroupSettings) SetCodecSpecification(v string) *HlsGroupSettings {
12265	s.CodecSpecification = &v
12266	return s
12267}
12268
12269// SetConstantIv sets the ConstantIv field's value.
12270func (s *HlsGroupSettings) SetConstantIv(v string) *HlsGroupSettings {
12271	s.ConstantIv = &v
12272	return s
12273}
12274
12275// SetDestination sets the Destination field's value.
12276func (s *HlsGroupSettings) SetDestination(v *OutputLocationRef) *HlsGroupSettings {
12277	s.Destination = v
12278	return s
12279}
12280
12281// SetDirectoryStructure sets the DirectoryStructure field's value.
12282func (s *HlsGroupSettings) SetDirectoryStructure(v string) *HlsGroupSettings {
12283	s.DirectoryStructure = &v
12284	return s
12285}
12286
12287// SetEncryptionType sets the EncryptionType field's value.
12288func (s *HlsGroupSettings) SetEncryptionType(v string) *HlsGroupSettings {
12289	s.EncryptionType = &v
12290	return s
12291}
12292
12293// SetHlsCdnSettings sets the HlsCdnSettings field's value.
12294func (s *HlsGroupSettings) SetHlsCdnSettings(v *HlsCdnSettings) *HlsGroupSettings {
12295	s.HlsCdnSettings = v
12296	return s
12297}
12298
12299// SetHlsId3SegmentTagging sets the HlsId3SegmentTagging field's value.
12300func (s *HlsGroupSettings) SetHlsId3SegmentTagging(v string) *HlsGroupSettings {
12301	s.HlsId3SegmentTagging = &v
12302	return s
12303}
12304
12305// SetIFrameOnlyPlaylists sets the IFrameOnlyPlaylists field's value.
12306func (s *HlsGroupSettings) SetIFrameOnlyPlaylists(v string) *HlsGroupSettings {
12307	s.IFrameOnlyPlaylists = &v
12308	return s
12309}
12310
12311// SetIndexNSegments sets the IndexNSegments field's value.
12312func (s *HlsGroupSettings) SetIndexNSegments(v int64) *HlsGroupSettings {
12313	s.IndexNSegments = &v
12314	return s
12315}
12316
12317// SetInputLossAction sets the InputLossAction field's value.
12318func (s *HlsGroupSettings) SetInputLossAction(v string) *HlsGroupSettings {
12319	s.InputLossAction = &v
12320	return s
12321}
12322
12323// SetIvInManifest sets the IvInManifest field's value.
12324func (s *HlsGroupSettings) SetIvInManifest(v string) *HlsGroupSettings {
12325	s.IvInManifest = &v
12326	return s
12327}
12328
12329// SetIvSource sets the IvSource field's value.
12330func (s *HlsGroupSettings) SetIvSource(v string) *HlsGroupSettings {
12331	s.IvSource = &v
12332	return s
12333}
12334
12335// SetKeepSegments sets the KeepSegments field's value.
12336func (s *HlsGroupSettings) SetKeepSegments(v int64) *HlsGroupSettings {
12337	s.KeepSegments = &v
12338	return s
12339}
12340
12341// SetKeyFormat sets the KeyFormat field's value.
12342func (s *HlsGroupSettings) SetKeyFormat(v string) *HlsGroupSettings {
12343	s.KeyFormat = &v
12344	return s
12345}
12346
12347// SetKeyFormatVersions sets the KeyFormatVersions field's value.
12348func (s *HlsGroupSettings) SetKeyFormatVersions(v string) *HlsGroupSettings {
12349	s.KeyFormatVersions = &v
12350	return s
12351}
12352
12353// SetKeyProviderSettings sets the KeyProviderSettings field's value.
12354func (s *HlsGroupSettings) SetKeyProviderSettings(v *KeyProviderSettings) *HlsGroupSettings {
12355	s.KeyProviderSettings = v
12356	return s
12357}
12358
12359// SetManifestCompression sets the ManifestCompression field's value.
12360func (s *HlsGroupSettings) SetManifestCompression(v string) *HlsGroupSettings {
12361	s.ManifestCompression = &v
12362	return s
12363}
12364
12365// SetManifestDurationFormat sets the ManifestDurationFormat field's value.
12366func (s *HlsGroupSettings) SetManifestDurationFormat(v string) *HlsGroupSettings {
12367	s.ManifestDurationFormat = &v
12368	return s
12369}
12370
12371// SetMinSegmentLength sets the MinSegmentLength field's value.
12372func (s *HlsGroupSettings) SetMinSegmentLength(v int64) *HlsGroupSettings {
12373	s.MinSegmentLength = &v
12374	return s
12375}
12376
12377// SetMode sets the Mode field's value.
12378func (s *HlsGroupSettings) SetMode(v string) *HlsGroupSettings {
12379	s.Mode = &v
12380	return s
12381}
12382
12383// SetOutputSelection sets the OutputSelection field's value.
12384func (s *HlsGroupSettings) SetOutputSelection(v string) *HlsGroupSettings {
12385	s.OutputSelection = &v
12386	return s
12387}
12388
12389// SetProgramDateTime sets the ProgramDateTime field's value.
12390func (s *HlsGroupSettings) SetProgramDateTime(v string) *HlsGroupSettings {
12391	s.ProgramDateTime = &v
12392	return s
12393}
12394
12395// SetProgramDateTimePeriod sets the ProgramDateTimePeriod field's value.
12396func (s *HlsGroupSettings) SetProgramDateTimePeriod(v int64) *HlsGroupSettings {
12397	s.ProgramDateTimePeriod = &v
12398	return s
12399}
12400
12401// SetRedundantManifest sets the RedundantManifest field's value.
12402func (s *HlsGroupSettings) SetRedundantManifest(v string) *HlsGroupSettings {
12403	s.RedundantManifest = &v
12404	return s
12405}
12406
12407// SetSegmentLength sets the SegmentLength field's value.
12408func (s *HlsGroupSettings) SetSegmentLength(v int64) *HlsGroupSettings {
12409	s.SegmentLength = &v
12410	return s
12411}
12412
12413// SetSegmentationMode sets the SegmentationMode field's value.
12414func (s *HlsGroupSettings) SetSegmentationMode(v string) *HlsGroupSettings {
12415	s.SegmentationMode = &v
12416	return s
12417}
12418
12419// SetSegmentsPerSubdirectory sets the SegmentsPerSubdirectory field's value.
12420func (s *HlsGroupSettings) SetSegmentsPerSubdirectory(v int64) *HlsGroupSettings {
12421	s.SegmentsPerSubdirectory = &v
12422	return s
12423}
12424
12425// SetStreamInfResolution sets the StreamInfResolution field's value.
12426func (s *HlsGroupSettings) SetStreamInfResolution(v string) *HlsGroupSettings {
12427	s.StreamInfResolution = &v
12428	return s
12429}
12430
12431// SetTimedMetadataId3Frame sets the TimedMetadataId3Frame field's value.
12432func (s *HlsGroupSettings) SetTimedMetadataId3Frame(v string) *HlsGroupSettings {
12433	s.TimedMetadataId3Frame = &v
12434	return s
12435}
12436
12437// SetTimedMetadataId3Period sets the TimedMetadataId3Period field's value.
12438func (s *HlsGroupSettings) SetTimedMetadataId3Period(v int64) *HlsGroupSettings {
12439	s.TimedMetadataId3Period = &v
12440	return s
12441}
12442
12443// SetTimestampDeltaMilliseconds sets the TimestampDeltaMilliseconds field's value.
12444func (s *HlsGroupSettings) SetTimestampDeltaMilliseconds(v int64) *HlsGroupSettings {
12445	s.TimestampDeltaMilliseconds = &v
12446	return s
12447}
12448
12449// SetTsFileMode sets the TsFileMode field's value.
12450func (s *HlsGroupSettings) SetTsFileMode(v string) *HlsGroupSettings {
12451	s.TsFileMode = &v
12452	return s
12453}
12454
12455// Settings for the action to insert a user-defined ID3 tag in each HLS segment
12456type HlsId3SegmentTaggingScheduleActionSettings struct {
12457	_ struct{} `type:"structure"`
12458
12459	// ID3 tag to insert into each segment. Supports special keyword identifiers
12460	// to substitute in segment-related values.\nSupported keyword identifiers:
12461	// https://docs.aws.amazon.com/medialive/latest/ug/variable-data-identifiers.html
12462	//
12463	// Tag is a required field
12464	Tag *string `locationName:"tag" type:"string" required:"true"`
12465}
12466
12467// String returns the string representation
12468func (s HlsId3SegmentTaggingScheduleActionSettings) String() string {
12469	return awsutil.Prettify(s)
12470}
12471
12472// GoString returns the string representation
12473func (s HlsId3SegmentTaggingScheduleActionSettings) GoString() string {
12474	return s.String()
12475}
12476
12477// Validate inspects the fields of the type to determine if they are valid.
12478func (s *HlsId3SegmentTaggingScheduleActionSettings) Validate() error {
12479	invalidParams := request.ErrInvalidParams{Context: "HlsId3SegmentTaggingScheduleActionSettings"}
12480	if s.Tag == nil {
12481		invalidParams.Add(request.NewErrParamRequired("Tag"))
12482	}
12483
12484	if invalidParams.Len() > 0 {
12485		return invalidParams
12486	}
12487	return nil
12488}
12489
12490// SetTag sets the Tag field's value.
12491func (s *HlsId3SegmentTaggingScheduleActionSettings) SetTag(v string) *HlsId3SegmentTaggingScheduleActionSettings {
12492	s.Tag = &v
12493	return s
12494}
12495
12496// Hls Input Settings
12497type HlsInputSettings struct {
12498	_ struct{} `type:"structure"`
12499
12500	// When specified the HLS stream with the m3u8 BANDWIDTH that most closely matches
12501	// this value will be chosen, otherwise the highest bandwidth stream in the
12502	// m3u8 will be chosen. The bitrate is specified in bits per second, as in an
12503	// HLS manifest.
12504	Bandwidth *int64 `locationName:"bandwidth" type:"integer"`
12505
12506	// When specified, reading of the HLS input will begin this many buffer segments
12507	// from the end (most recently written segment). When not specified, the HLS
12508	// input will begin with the first segment specified in the m3u8.
12509	BufferSegments *int64 `locationName:"bufferSegments" type:"integer"`
12510
12511	// The number of consecutive times that attempts to read a manifest or segment
12512	// must fail before the input is considered unavailable.
12513	Retries *int64 `locationName:"retries" type:"integer"`
12514
12515	// The number of seconds between retries when an attempt to read a manifest
12516	// or segment fails.
12517	RetryInterval *int64 `locationName:"retryInterval" type:"integer"`
12518}
12519
12520// String returns the string representation
12521func (s HlsInputSettings) String() string {
12522	return awsutil.Prettify(s)
12523}
12524
12525// GoString returns the string representation
12526func (s HlsInputSettings) GoString() string {
12527	return s.String()
12528}
12529
12530// SetBandwidth sets the Bandwidth field's value.
12531func (s *HlsInputSettings) SetBandwidth(v int64) *HlsInputSettings {
12532	s.Bandwidth = &v
12533	return s
12534}
12535
12536// SetBufferSegments sets the BufferSegments field's value.
12537func (s *HlsInputSettings) SetBufferSegments(v int64) *HlsInputSettings {
12538	s.BufferSegments = &v
12539	return s
12540}
12541
12542// SetRetries sets the Retries field's value.
12543func (s *HlsInputSettings) SetRetries(v int64) *HlsInputSettings {
12544	s.Retries = &v
12545	return s
12546}
12547
12548// SetRetryInterval sets the RetryInterval field's value.
12549func (s *HlsInputSettings) SetRetryInterval(v int64) *HlsInputSettings {
12550	s.RetryInterval = &v
12551	return s
12552}
12553
12554// Hls Media Store Settings
12555type HlsMediaStoreSettings struct {
12556	_ struct{} `type:"structure"`
12557
12558	// Number of seconds to wait before retrying connection to the CDN if the connection
12559	// is lost.
12560	ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"`
12561
12562	// Size in seconds of file cache for streaming outputs.
12563	FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"`
12564
12565	// When set to temporal, output files are stored in non-persistent memory for
12566	// faster reading and writing.
12567	MediaStoreStorageClass *string `locationName:"mediaStoreStorageClass" type:"string" enum:"HlsMediaStoreStorageClass"`
12568
12569	// Number of retry attempts that will be made before the Live Event is put into
12570	// an error state.
12571	NumRetries *int64 `locationName:"numRetries" type:"integer"`
12572
12573	// If a streaming output fails, number of seconds to wait until a restart is
12574	// initiated. A value of 0 means never restart.
12575	RestartDelay *int64 `locationName:"restartDelay" type:"integer"`
12576}
12577
12578// String returns the string representation
12579func (s HlsMediaStoreSettings) String() string {
12580	return awsutil.Prettify(s)
12581}
12582
12583// GoString returns the string representation
12584func (s HlsMediaStoreSettings) GoString() string {
12585	return s.String()
12586}
12587
12588// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value.
12589func (s *HlsMediaStoreSettings) SetConnectionRetryInterval(v int64) *HlsMediaStoreSettings {
12590	s.ConnectionRetryInterval = &v
12591	return s
12592}
12593
12594// SetFilecacheDuration sets the FilecacheDuration field's value.
12595func (s *HlsMediaStoreSettings) SetFilecacheDuration(v int64) *HlsMediaStoreSettings {
12596	s.FilecacheDuration = &v
12597	return s
12598}
12599
12600// SetMediaStoreStorageClass sets the MediaStoreStorageClass field's value.
12601func (s *HlsMediaStoreSettings) SetMediaStoreStorageClass(v string) *HlsMediaStoreSettings {
12602	s.MediaStoreStorageClass = &v
12603	return s
12604}
12605
12606// SetNumRetries sets the NumRetries field's value.
12607func (s *HlsMediaStoreSettings) SetNumRetries(v int64) *HlsMediaStoreSettings {
12608	s.NumRetries = &v
12609	return s
12610}
12611
12612// SetRestartDelay sets the RestartDelay field's value.
12613func (s *HlsMediaStoreSettings) SetRestartDelay(v int64) *HlsMediaStoreSettings {
12614	s.RestartDelay = &v
12615	return s
12616}
12617
12618// Hls Output Settings
12619type HlsOutputSettings struct {
12620	_ struct{} `type:"structure"`
12621
12622	// Only applicable when this output is referencing an H.265 video description.Specifies
12623	// whether MP4 segments should be packaged as HEV1 or HVC1.
12624	H265PackagingType *string `locationName:"h265PackagingType" type:"string" enum:"HlsH265PackagingType"`
12625
12626	// Settings regarding the underlying stream. These settings are different for
12627	// audio-only outputs.
12628	//
12629	// HlsSettings is a required field
12630	HlsSettings *HlsSettings `locationName:"hlsSettings" type:"structure" required:"true"`
12631
12632	// String concatenated to the end of the destination filename. Accepts \"Format
12633	// Identifiers\":#formatIdentifierParameters.
12634	NameModifier *string `locationName:"nameModifier" min:"1" type:"string"`
12635
12636	// String concatenated to end of segment filenames.
12637	SegmentModifier *string `locationName:"segmentModifier" type:"string"`
12638}
12639
12640// String returns the string representation
12641func (s HlsOutputSettings) String() string {
12642	return awsutil.Prettify(s)
12643}
12644
12645// GoString returns the string representation
12646func (s HlsOutputSettings) GoString() string {
12647	return s.String()
12648}
12649
12650// Validate inspects the fields of the type to determine if they are valid.
12651func (s *HlsOutputSettings) Validate() error {
12652	invalidParams := request.ErrInvalidParams{Context: "HlsOutputSettings"}
12653	if s.HlsSettings == nil {
12654		invalidParams.Add(request.NewErrParamRequired("HlsSettings"))
12655	}
12656	if s.NameModifier != nil && len(*s.NameModifier) < 1 {
12657		invalidParams.Add(request.NewErrParamMinLen("NameModifier", 1))
12658	}
12659	if s.HlsSettings != nil {
12660		if err := s.HlsSettings.Validate(); err != nil {
12661			invalidParams.AddNested("HlsSettings", err.(request.ErrInvalidParams))
12662		}
12663	}
12664
12665	if invalidParams.Len() > 0 {
12666		return invalidParams
12667	}
12668	return nil
12669}
12670
12671// SetH265PackagingType sets the H265PackagingType field's value.
12672func (s *HlsOutputSettings) SetH265PackagingType(v string) *HlsOutputSettings {
12673	s.H265PackagingType = &v
12674	return s
12675}
12676
12677// SetHlsSettings sets the HlsSettings field's value.
12678func (s *HlsOutputSettings) SetHlsSettings(v *HlsSettings) *HlsOutputSettings {
12679	s.HlsSettings = v
12680	return s
12681}
12682
12683// SetNameModifier sets the NameModifier field's value.
12684func (s *HlsOutputSettings) SetNameModifier(v string) *HlsOutputSettings {
12685	s.NameModifier = &v
12686	return s
12687}
12688
12689// SetSegmentModifier sets the SegmentModifier field's value.
12690func (s *HlsOutputSettings) SetSegmentModifier(v string) *HlsOutputSettings {
12691	s.SegmentModifier = &v
12692	return s
12693}
12694
12695// Hls Settings
12696type HlsSettings struct {
12697	_ struct{} `type:"structure"`
12698
12699	// Audio Only Hls Settings
12700	AudioOnlyHlsSettings *AudioOnlyHlsSettings `locationName:"audioOnlyHlsSettings" type:"structure"`
12701
12702	// Fmp4 Hls Settings
12703	Fmp4HlsSettings *Fmp4HlsSettings `locationName:"fmp4HlsSettings" type:"structure"`
12704
12705	// Standard Hls Settings
12706	StandardHlsSettings *StandardHlsSettings `locationName:"standardHlsSettings" type:"structure"`
12707}
12708
12709// String returns the string representation
12710func (s HlsSettings) String() string {
12711	return awsutil.Prettify(s)
12712}
12713
12714// GoString returns the string representation
12715func (s HlsSettings) GoString() string {
12716	return s.String()
12717}
12718
12719// Validate inspects the fields of the type to determine if they are valid.
12720func (s *HlsSettings) Validate() error {
12721	invalidParams := request.ErrInvalidParams{Context: "HlsSettings"}
12722	if s.AudioOnlyHlsSettings != nil {
12723		if err := s.AudioOnlyHlsSettings.Validate(); err != nil {
12724			invalidParams.AddNested("AudioOnlyHlsSettings", err.(request.ErrInvalidParams))
12725		}
12726	}
12727	if s.StandardHlsSettings != nil {
12728		if err := s.StandardHlsSettings.Validate(); err != nil {
12729			invalidParams.AddNested("StandardHlsSettings", err.(request.ErrInvalidParams))
12730		}
12731	}
12732
12733	if invalidParams.Len() > 0 {
12734		return invalidParams
12735	}
12736	return nil
12737}
12738
12739// SetAudioOnlyHlsSettings sets the AudioOnlyHlsSettings field's value.
12740func (s *HlsSettings) SetAudioOnlyHlsSettings(v *AudioOnlyHlsSettings) *HlsSettings {
12741	s.AudioOnlyHlsSettings = v
12742	return s
12743}
12744
12745// SetFmp4HlsSettings sets the Fmp4HlsSettings field's value.
12746func (s *HlsSettings) SetFmp4HlsSettings(v *Fmp4HlsSettings) *HlsSettings {
12747	s.Fmp4HlsSettings = v
12748	return s
12749}
12750
12751// SetStandardHlsSettings sets the StandardHlsSettings field's value.
12752func (s *HlsSettings) SetStandardHlsSettings(v *StandardHlsSettings) *HlsSettings {
12753	s.StandardHlsSettings = v
12754	return s
12755}
12756
12757// Settings for the action to emit HLS metadata
12758type HlsTimedMetadataScheduleActionSettings struct {
12759	_ struct{} `type:"structure"`
12760
12761	// Base64 string formatted according to the ID3 specification: http://id3.org/id3v2.4.0-structure
12762	//
12763	// Id3 is a required field
12764	Id3 *string `locationName:"id3" type:"string" required:"true"`
12765}
12766
12767// String returns the string representation
12768func (s HlsTimedMetadataScheduleActionSettings) String() string {
12769	return awsutil.Prettify(s)
12770}
12771
12772// GoString returns the string representation
12773func (s HlsTimedMetadataScheduleActionSettings) GoString() string {
12774	return s.String()
12775}
12776
12777// Validate inspects the fields of the type to determine if they are valid.
12778func (s *HlsTimedMetadataScheduleActionSettings) Validate() error {
12779	invalidParams := request.ErrInvalidParams{Context: "HlsTimedMetadataScheduleActionSettings"}
12780	if s.Id3 == nil {
12781		invalidParams.Add(request.NewErrParamRequired("Id3"))
12782	}
12783
12784	if invalidParams.Len() > 0 {
12785		return invalidParams
12786	}
12787	return nil
12788}
12789
12790// SetId3 sets the Id3 field's value.
12791func (s *HlsTimedMetadataScheduleActionSettings) SetId3(v string) *HlsTimedMetadataScheduleActionSettings {
12792	s.Id3 = &v
12793	return s
12794}
12795
12796// Hls Webdav Settings
12797type HlsWebdavSettings struct {
12798	_ struct{} `type:"structure"`
12799
12800	// Number of seconds to wait before retrying connection to the CDN if the connection
12801	// is lost.
12802	ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"`
12803
12804	// Size in seconds of file cache for streaming outputs.
12805	FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"`
12806
12807	// Specify whether or not to use chunked transfer encoding to WebDAV.
12808	HttpTransferMode *string `locationName:"httpTransferMode" type:"string" enum:"HlsWebdavHttpTransferMode"`
12809
12810	// Number of retry attempts that will be made before the Live Event is put into
12811	// an error state.
12812	NumRetries *int64 `locationName:"numRetries" type:"integer"`
12813
12814	// If a streaming output fails, number of seconds to wait until a restart is
12815	// initiated. A value of 0 means never restart.
12816	RestartDelay *int64 `locationName:"restartDelay" type:"integer"`
12817}
12818
12819// String returns the string representation
12820func (s HlsWebdavSettings) String() string {
12821	return awsutil.Prettify(s)
12822}
12823
12824// GoString returns the string representation
12825func (s HlsWebdavSettings) GoString() string {
12826	return s.String()
12827}
12828
12829// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value.
12830func (s *HlsWebdavSettings) SetConnectionRetryInterval(v int64) *HlsWebdavSettings {
12831	s.ConnectionRetryInterval = &v
12832	return s
12833}
12834
12835// SetFilecacheDuration sets the FilecacheDuration field's value.
12836func (s *HlsWebdavSettings) SetFilecacheDuration(v int64) *HlsWebdavSettings {
12837	s.FilecacheDuration = &v
12838	return s
12839}
12840
12841// SetHttpTransferMode sets the HttpTransferMode field's value.
12842func (s *HlsWebdavSettings) SetHttpTransferMode(v string) *HlsWebdavSettings {
12843	s.HttpTransferMode = &v
12844	return s
12845}
12846
12847// SetNumRetries sets the NumRetries field's value.
12848func (s *HlsWebdavSettings) SetNumRetries(v int64) *HlsWebdavSettings {
12849	s.NumRetries = &v
12850	return s
12851}
12852
12853// SetRestartDelay sets the RestartDelay field's value.
12854func (s *HlsWebdavSettings) SetRestartDelay(v int64) *HlsWebdavSettings {
12855	s.RestartDelay = &v
12856	return s
12857}
12858
12859// Settings to configure an action so that it occurs immediately. This is only
12860// supported for input switch actions currently.
12861type ImmediateModeScheduleActionStartSettings struct {
12862	_ struct{} `type:"structure"`
12863}
12864
12865// String returns the string representation
12866func (s ImmediateModeScheduleActionStartSettings) String() string {
12867	return awsutil.Prettify(s)
12868}
12869
12870// GoString returns the string representation
12871func (s ImmediateModeScheduleActionStartSettings) GoString() string {
12872	return s.String()
12873}
12874
12875type Input struct {
12876	_ struct{} `type:"structure"`
12877
12878	// The Unique ARN of the input (generated, immutable).
12879	Arn *string `locationName:"arn" type:"string"`
12880
12881	// A list of channel IDs that that input is attached to (currently an input
12882	// can only be attached to one channel).
12883	AttachedChannels []*string `locationName:"attachedChannels" type:"list"`
12884
12885	// A list of the destinations of the input (PUSH-type).
12886	Destinations []*InputDestination `locationName:"destinations" type:"list"`
12887
12888	// The generated ID of the input (unique for user account, immutable).
12889	Id *string `locationName:"id" type:"string"`
12890
12891	// STANDARD - MediaLive expects two sources to be connected to this input. If
12892	// the channel is also STANDARD, both sources will be ingested. If the channel
12893	// is SINGLE_PIPELINE, only the first source will be ingested; the second source
12894	// will always be ignored, even if the first source fails.SINGLE_PIPELINE -
12895	// You can connect only one source to this input. If the ChannelClass is also
12896	// SINGLE_PIPELINE, this value is valid. If the ChannelClass is STANDARD, this
12897	// value is not valid because the channel requires two sources in the input.
12898	InputClass *string `locationName:"inputClass" type:"string" enum:"InputClass"`
12899
12900	// Certain pull input sources can be dynamic, meaning that they can have their
12901	// URL's dynamically changesduring input switch actions. Presently, this functionality
12902	// only works with MP4_FILE inputs.
12903	InputSourceType *string `locationName:"inputSourceType" type:"string" enum:"InputSourceType"`
12904
12905	// A list of MediaConnect Flows for this input.
12906	MediaConnectFlows []*MediaConnectFlow `locationName:"mediaConnectFlows" type:"list"`
12907
12908	// The user-assigned name (This is a mutable value).
12909	Name *string `locationName:"name" type:"string"`
12910
12911	// The Amazon Resource Name (ARN) of the role this input assumes during and
12912	// after creation.
12913	RoleArn *string `locationName:"roleArn" type:"string"`
12914
12915	// A list of IDs for all the Input Security Groups attached to the input.
12916	SecurityGroups []*string `locationName:"securityGroups" type:"list"`
12917
12918	// A list of the sources of the input (PULL-type).
12919	Sources []*InputSource `locationName:"sources" type:"list"`
12920
12921	State *string `locationName:"state" type:"string" enum:"InputState"`
12922
12923	// A collection of key-value pairs.
12924	Tags map[string]*string `locationName:"tags" type:"map"`
12925
12926	Type *string `locationName:"type" type:"string" enum:"InputType"`
12927}
12928
12929// String returns the string representation
12930func (s Input) String() string {
12931	return awsutil.Prettify(s)
12932}
12933
12934// GoString returns the string representation
12935func (s Input) GoString() string {
12936	return s.String()
12937}
12938
12939// SetArn sets the Arn field's value.
12940func (s *Input) SetArn(v string) *Input {
12941	s.Arn = &v
12942	return s
12943}
12944
12945// SetAttachedChannels sets the AttachedChannels field's value.
12946func (s *Input) SetAttachedChannels(v []*string) *Input {
12947	s.AttachedChannels = v
12948	return s
12949}
12950
12951// SetDestinations sets the Destinations field's value.
12952func (s *Input) SetDestinations(v []*InputDestination) *Input {
12953	s.Destinations = v
12954	return s
12955}
12956
12957// SetId sets the Id field's value.
12958func (s *Input) SetId(v string) *Input {
12959	s.Id = &v
12960	return s
12961}
12962
12963// SetInputClass sets the InputClass field's value.
12964func (s *Input) SetInputClass(v string) *Input {
12965	s.InputClass = &v
12966	return s
12967}
12968
12969// SetInputSourceType sets the InputSourceType field's value.
12970func (s *Input) SetInputSourceType(v string) *Input {
12971	s.InputSourceType = &v
12972	return s
12973}
12974
12975// SetMediaConnectFlows sets the MediaConnectFlows field's value.
12976func (s *Input) SetMediaConnectFlows(v []*MediaConnectFlow) *Input {
12977	s.MediaConnectFlows = v
12978	return s
12979}
12980
12981// SetName sets the Name field's value.
12982func (s *Input) SetName(v string) *Input {
12983	s.Name = &v
12984	return s
12985}
12986
12987// SetRoleArn sets the RoleArn field's value.
12988func (s *Input) SetRoleArn(v string) *Input {
12989	s.RoleArn = &v
12990	return s
12991}
12992
12993// SetSecurityGroups sets the SecurityGroups field's value.
12994func (s *Input) SetSecurityGroups(v []*string) *Input {
12995	s.SecurityGroups = v
12996	return s
12997}
12998
12999// SetSources sets the Sources field's value.
13000func (s *Input) SetSources(v []*InputSource) *Input {
13001	s.Sources = v
13002	return s
13003}
13004
13005// SetState sets the State field's value.
13006func (s *Input) SetState(v string) *Input {
13007	s.State = &v
13008	return s
13009}
13010
13011// SetTags sets the Tags field's value.
13012func (s *Input) SetTags(v map[string]*string) *Input {
13013	s.Tags = v
13014	return s
13015}
13016
13017// SetType sets the Type field's value.
13018func (s *Input) SetType(v string) *Input {
13019	s.Type = &v
13020	return s
13021}
13022
13023type InputAttachment struct {
13024	_ struct{} `type:"structure"`
13025
13026	// User-specified name for the attachment. This is required if the user wants
13027	// to use this input in an input switch action.
13028	InputAttachmentName *string `locationName:"inputAttachmentName" type:"string"`
13029
13030	// The ID of the input
13031	InputId *string `locationName:"inputId" type:"string"`
13032
13033	// Settings of an input (caption selector, etc.)
13034	InputSettings *InputSettings `locationName:"inputSettings" type:"structure"`
13035}
13036
13037// String returns the string representation
13038func (s InputAttachment) String() string {
13039	return awsutil.Prettify(s)
13040}
13041
13042// GoString returns the string representation
13043func (s InputAttachment) GoString() string {
13044	return s.String()
13045}
13046
13047// Validate inspects the fields of the type to determine if they are valid.
13048func (s *InputAttachment) Validate() error {
13049	invalidParams := request.ErrInvalidParams{Context: "InputAttachment"}
13050	if s.InputSettings != nil {
13051		if err := s.InputSettings.Validate(); err != nil {
13052			invalidParams.AddNested("InputSettings", err.(request.ErrInvalidParams))
13053		}
13054	}
13055
13056	if invalidParams.Len() > 0 {
13057		return invalidParams
13058	}
13059	return nil
13060}
13061
13062// SetInputAttachmentName sets the InputAttachmentName field's value.
13063func (s *InputAttachment) SetInputAttachmentName(v string) *InputAttachment {
13064	s.InputAttachmentName = &v
13065	return s
13066}
13067
13068// SetInputId sets the InputId field's value.
13069func (s *InputAttachment) SetInputId(v string) *InputAttachment {
13070	s.InputId = &v
13071	return s
13072}
13073
13074// SetInputSettings sets the InputSettings field's value.
13075func (s *InputAttachment) SetInputSettings(v *InputSettings) *InputAttachment {
13076	s.InputSettings = v
13077	return s
13078}
13079
13080// Input Channel Level
13081type InputChannelLevel struct {
13082	_ struct{} `type:"structure"`
13083
13084	// Remixing value. Units are in dB and acceptable values are within the range
13085	// from -60 (mute) and 6 dB.
13086	//
13087	// Gain is a required field
13088	Gain *int64 `locationName:"gain" type:"integer" required:"true"`
13089
13090	// The index of the input channel used as a source.
13091	//
13092	// InputChannel is a required field
13093	InputChannel *int64 `locationName:"inputChannel" type:"integer" required:"true"`
13094}
13095
13096// String returns the string representation
13097func (s InputChannelLevel) String() string {
13098	return awsutil.Prettify(s)
13099}
13100
13101// GoString returns the string representation
13102func (s InputChannelLevel) GoString() string {
13103	return s.String()
13104}
13105
13106// Validate inspects the fields of the type to determine if they are valid.
13107func (s *InputChannelLevel) Validate() error {
13108	invalidParams := request.ErrInvalidParams{Context: "InputChannelLevel"}
13109	if s.Gain == nil {
13110		invalidParams.Add(request.NewErrParamRequired("Gain"))
13111	}
13112	if s.Gain != nil && *s.Gain < -60 {
13113		invalidParams.Add(request.NewErrParamMinValue("Gain", -60))
13114	}
13115	if s.InputChannel == nil {
13116		invalidParams.Add(request.NewErrParamRequired("InputChannel"))
13117	}
13118
13119	if invalidParams.Len() > 0 {
13120		return invalidParams
13121	}
13122	return nil
13123}
13124
13125// SetGain sets the Gain field's value.
13126func (s *InputChannelLevel) SetGain(v int64) *InputChannelLevel {
13127	s.Gain = &v
13128	return s
13129}
13130
13131// SetInputChannel sets the InputChannel field's value.
13132func (s *InputChannelLevel) SetInputChannel(v int64) *InputChannelLevel {
13133	s.InputChannel = &v
13134	return s
13135}
13136
13137// Settings to let you create a clip of the file input, in order to set up the
13138// input to ingest only a portion of the file.
13139type InputClippingSettings struct {
13140	_ struct{} `type:"structure"`
13141
13142	// The source of the timecodes in the source being clipped.
13143	//
13144	// InputTimecodeSource is a required field
13145	InputTimecodeSource *string `locationName:"inputTimecodeSource" type:"string" required:"true" enum:"InputTimecodeSource"`
13146
13147	// Settings to identify the start of the clip.
13148	StartTimecode *StartTimecode `locationName:"startTimecode" type:"structure"`
13149
13150	// Settings to identify the end of the clip.
13151	StopTimecode *StopTimecode `locationName:"stopTimecode" type:"structure"`
13152}
13153
13154// String returns the string representation
13155func (s InputClippingSettings) String() string {
13156	return awsutil.Prettify(s)
13157}
13158
13159// GoString returns the string representation
13160func (s InputClippingSettings) GoString() string {
13161	return s.String()
13162}
13163
13164// Validate inspects the fields of the type to determine if they are valid.
13165func (s *InputClippingSettings) Validate() error {
13166	invalidParams := request.ErrInvalidParams{Context: "InputClippingSettings"}
13167	if s.InputTimecodeSource == nil {
13168		invalidParams.Add(request.NewErrParamRequired("InputTimecodeSource"))
13169	}
13170
13171	if invalidParams.Len() > 0 {
13172		return invalidParams
13173	}
13174	return nil
13175}
13176
13177// SetInputTimecodeSource sets the InputTimecodeSource field's value.
13178func (s *InputClippingSettings) SetInputTimecodeSource(v string) *InputClippingSettings {
13179	s.InputTimecodeSource = &v
13180	return s
13181}
13182
13183// SetStartTimecode sets the StartTimecode field's value.
13184func (s *InputClippingSettings) SetStartTimecode(v *StartTimecode) *InputClippingSettings {
13185	s.StartTimecode = v
13186	return s
13187}
13188
13189// SetStopTimecode sets the StopTimecode field's value.
13190func (s *InputClippingSettings) SetStopTimecode(v *StopTimecode) *InputClippingSettings {
13191	s.StopTimecode = v
13192	return s
13193}
13194
13195// The settings for a PUSH type input.
13196type InputDestination struct {
13197	_ struct{} `type:"structure"`
13198
13199	// The system-generated static IP address of endpoint.It remains fixed for the
13200	// lifetime of the input.
13201	Ip *string `locationName:"ip" type:"string"`
13202
13203	// The port number for the input.
13204	Port *string `locationName:"port" type:"string"`
13205
13206	// This represents the endpoint that the customer stream will bepushed to.
13207	Url *string `locationName:"url" type:"string"`
13208
13209	// The properties for a VPC type input destination.
13210	Vpc *InputDestinationVpc `locationName:"vpc" type:"structure"`
13211}
13212
13213// String returns the string representation
13214func (s InputDestination) String() string {
13215	return awsutil.Prettify(s)
13216}
13217
13218// GoString returns the string representation
13219func (s InputDestination) GoString() string {
13220	return s.String()
13221}
13222
13223// SetIp sets the Ip field's value.
13224func (s *InputDestination) SetIp(v string) *InputDestination {
13225	s.Ip = &v
13226	return s
13227}
13228
13229// SetPort sets the Port field's value.
13230func (s *InputDestination) SetPort(v string) *InputDestination {
13231	s.Port = &v
13232	return s
13233}
13234
13235// SetUrl sets the Url field's value.
13236func (s *InputDestination) SetUrl(v string) *InputDestination {
13237	s.Url = &v
13238	return s
13239}
13240
13241// SetVpc sets the Vpc field's value.
13242func (s *InputDestination) SetVpc(v *InputDestinationVpc) *InputDestination {
13243	s.Vpc = v
13244	return s
13245}
13246
13247// Endpoint settings for a PUSH type input.
13248type InputDestinationRequest struct {
13249	_ struct{} `type:"structure"`
13250
13251	// A unique name for the location the RTMP stream is being pushedto.
13252	StreamName *string `locationName:"streamName" type:"string"`
13253}
13254
13255// String returns the string representation
13256func (s InputDestinationRequest) String() string {
13257	return awsutil.Prettify(s)
13258}
13259
13260// GoString returns the string representation
13261func (s InputDestinationRequest) GoString() string {
13262	return s.String()
13263}
13264
13265// SetStreamName sets the StreamName field's value.
13266func (s *InputDestinationRequest) SetStreamName(v string) *InputDestinationRequest {
13267	s.StreamName = &v
13268	return s
13269}
13270
13271// The properties for a VPC type input destination.
13272type InputDestinationVpc struct {
13273	_ struct{} `type:"structure"`
13274
13275	// The availability zone of the Input destination.
13276	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
13277
13278	// The network interface ID of the Input destination in the VPC.
13279	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
13280}
13281
13282// String returns the string representation
13283func (s InputDestinationVpc) String() string {
13284	return awsutil.Prettify(s)
13285}
13286
13287// GoString returns the string representation
13288func (s InputDestinationVpc) GoString() string {
13289	return s.String()
13290}
13291
13292// SetAvailabilityZone sets the AvailabilityZone field's value.
13293func (s *InputDestinationVpc) SetAvailabilityZone(v string) *InputDestinationVpc {
13294	s.AvailabilityZone = &v
13295	return s
13296}
13297
13298// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
13299func (s *InputDestinationVpc) SetNetworkInterfaceId(v string) *InputDestinationVpc {
13300	s.NetworkInterfaceId = &v
13301	return s
13302}
13303
13304// Input Location
13305type InputLocation struct {
13306	_ struct{} `type:"structure"`
13307
13308	// key used to extract the password from EC2 Parameter store
13309	PasswordParam *string `locationName:"passwordParam" type:"string"`
13310
13311	// Uniform Resource Identifier - This should be a path to a file accessible
13312	// to the Live system (eg. a http:// URI) depending on the output type. For
13313	// example, a RTMP destination should have a uri simliar to: "rtmp://fmsserver/live".
13314	//
13315	// Uri is a required field
13316	Uri *string `locationName:"uri" type:"string" required:"true"`
13317
13318	// Username if credentials are required to access a file or publishing point.
13319	// This can be either a plaintext username, or a reference to an AWS parameter
13320	// store name from which the username can be retrieved. AWS Parameter store
13321	// format: "ssm://"
13322	Username *string `locationName:"username" type:"string"`
13323}
13324
13325// String returns the string representation
13326func (s InputLocation) String() string {
13327	return awsutil.Prettify(s)
13328}
13329
13330// GoString returns the string representation
13331func (s InputLocation) GoString() string {
13332	return s.String()
13333}
13334
13335// Validate inspects the fields of the type to determine if they are valid.
13336func (s *InputLocation) Validate() error {
13337	invalidParams := request.ErrInvalidParams{Context: "InputLocation"}
13338	if s.Uri == nil {
13339		invalidParams.Add(request.NewErrParamRequired("Uri"))
13340	}
13341
13342	if invalidParams.Len() > 0 {
13343		return invalidParams
13344	}
13345	return nil
13346}
13347
13348// SetPasswordParam sets the PasswordParam field's value.
13349func (s *InputLocation) SetPasswordParam(v string) *InputLocation {
13350	s.PasswordParam = &v
13351	return s
13352}
13353
13354// SetUri sets the Uri field's value.
13355func (s *InputLocation) SetUri(v string) *InputLocation {
13356	s.Uri = &v
13357	return s
13358}
13359
13360// SetUsername sets the Username field's value.
13361func (s *InputLocation) SetUsername(v string) *InputLocation {
13362	s.Username = &v
13363	return s
13364}
13365
13366// Input Loss Behavior
13367type InputLossBehavior struct {
13368	_ struct{} `type:"structure"`
13369
13370	// On input loss, the number of milliseconds to substitute black into the output
13371	// before switching to the frame specified by inputLossImageType. A value x,
13372	// where 0 <= x <= 1,000,000 and a value of 1,000,000 will be interpreted as
13373	// infinite.
13374	BlackFrameMsec *int64 `locationName:"blackFrameMsec" type:"integer"`
13375
13376	// When input loss image type is "color" this field specifies the color to use.
13377	// Value: 6 hex characters representing the values of RGB.
13378	InputLossImageColor *string `locationName:"inputLossImageColor" min:"6" type:"string"`
13379
13380	// When input loss image type is "slate" these fields specify the parameters
13381	// for accessing the slate.
13382	InputLossImageSlate *InputLocation `locationName:"inputLossImageSlate" type:"structure"`
13383
13384	// Indicates whether to substitute a solid color or a slate into the output
13385	// after input loss exceeds blackFrameMsec.
13386	InputLossImageType *string `locationName:"inputLossImageType" type:"string" enum:"InputLossImageType"`
13387
13388	// On input loss, the number of milliseconds to repeat the previous picture
13389	// before substituting black into the output. A value x, where 0 <= x <= 1,000,000
13390	// and a value of 1,000,000 will be interpreted as infinite.
13391	RepeatFrameMsec *int64 `locationName:"repeatFrameMsec" type:"integer"`
13392}
13393
13394// String returns the string representation
13395func (s InputLossBehavior) String() string {
13396	return awsutil.Prettify(s)
13397}
13398
13399// GoString returns the string representation
13400func (s InputLossBehavior) GoString() string {
13401	return s.String()
13402}
13403
13404// Validate inspects the fields of the type to determine if they are valid.
13405func (s *InputLossBehavior) Validate() error {
13406	invalidParams := request.ErrInvalidParams{Context: "InputLossBehavior"}
13407	if s.InputLossImageColor != nil && len(*s.InputLossImageColor) < 6 {
13408		invalidParams.Add(request.NewErrParamMinLen("InputLossImageColor", 6))
13409	}
13410	if s.InputLossImageSlate != nil {
13411		if err := s.InputLossImageSlate.Validate(); err != nil {
13412			invalidParams.AddNested("InputLossImageSlate", err.(request.ErrInvalidParams))
13413		}
13414	}
13415
13416	if invalidParams.Len() > 0 {
13417		return invalidParams
13418	}
13419	return nil
13420}
13421
13422// SetBlackFrameMsec sets the BlackFrameMsec field's value.
13423func (s *InputLossBehavior) SetBlackFrameMsec(v int64) *InputLossBehavior {
13424	s.BlackFrameMsec = &v
13425	return s
13426}
13427
13428// SetInputLossImageColor sets the InputLossImageColor field's value.
13429func (s *InputLossBehavior) SetInputLossImageColor(v string) *InputLossBehavior {
13430	s.InputLossImageColor = &v
13431	return s
13432}
13433
13434// SetInputLossImageSlate sets the InputLossImageSlate field's value.
13435func (s *InputLossBehavior) SetInputLossImageSlate(v *InputLocation) *InputLossBehavior {
13436	s.InputLossImageSlate = v
13437	return s
13438}
13439
13440// SetInputLossImageType sets the InputLossImageType field's value.
13441func (s *InputLossBehavior) SetInputLossImageType(v string) *InputLossBehavior {
13442	s.InputLossImageType = &v
13443	return s
13444}
13445
13446// SetRepeatFrameMsec sets the RepeatFrameMsec field's value.
13447func (s *InputLossBehavior) SetRepeatFrameMsec(v int64) *InputLossBehavior {
13448	s.RepeatFrameMsec = &v
13449	return s
13450}
13451
13452// An Input Security Group
13453type InputSecurityGroup struct {
13454	_ struct{} `type:"structure"`
13455
13456	// Unique ARN of Input Security Group
13457	Arn *string `locationName:"arn" type:"string"`
13458
13459	// The Id of the Input Security Group
13460	Id *string `locationName:"id" type:"string"`
13461
13462	// The list of inputs currently using this Input Security Group.
13463	Inputs []*string `locationName:"inputs" type:"list"`
13464
13465	// The current state of the Input Security Group.
13466	State *string `locationName:"state" type:"string" enum:"InputSecurityGroupState"`
13467
13468	// A collection of key-value pairs.
13469	Tags map[string]*string `locationName:"tags" type:"map"`
13470
13471	// Whitelist rules and their sync status
13472	WhitelistRules []*InputWhitelistRule `locationName:"whitelistRules" type:"list"`
13473}
13474
13475// String returns the string representation
13476func (s InputSecurityGroup) String() string {
13477	return awsutil.Prettify(s)
13478}
13479
13480// GoString returns the string representation
13481func (s InputSecurityGroup) GoString() string {
13482	return s.String()
13483}
13484
13485// SetArn sets the Arn field's value.
13486func (s *InputSecurityGroup) SetArn(v string) *InputSecurityGroup {
13487	s.Arn = &v
13488	return s
13489}
13490
13491// SetId sets the Id field's value.
13492func (s *InputSecurityGroup) SetId(v string) *InputSecurityGroup {
13493	s.Id = &v
13494	return s
13495}
13496
13497// SetInputs sets the Inputs field's value.
13498func (s *InputSecurityGroup) SetInputs(v []*string) *InputSecurityGroup {
13499	s.Inputs = v
13500	return s
13501}
13502
13503// SetState sets the State field's value.
13504func (s *InputSecurityGroup) SetState(v string) *InputSecurityGroup {
13505	s.State = &v
13506	return s
13507}
13508
13509// SetTags sets the Tags field's value.
13510func (s *InputSecurityGroup) SetTags(v map[string]*string) *InputSecurityGroup {
13511	s.Tags = v
13512	return s
13513}
13514
13515// SetWhitelistRules sets the WhitelistRules field's value.
13516func (s *InputSecurityGroup) SetWhitelistRules(v []*InputWhitelistRule) *InputSecurityGroup {
13517	s.WhitelistRules = v
13518	return s
13519}
13520
13521// Live Event input parameters. There can be multiple inputs in a single Live
13522// Event.
13523type InputSettings struct {
13524	_ struct{} `type:"structure"`
13525
13526	// Used to select the audio stream to decode for inputs that have multiple available.
13527	AudioSelectors []*AudioSelector `locationName:"audioSelectors" type:"list"`
13528
13529	// Used to select the caption input to use for inputs that have multiple available.
13530	CaptionSelectors []*CaptionSelector `locationName:"captionSelectors" type:"list"`
13531
13532	// Enable or disable the deblock filter when filtering.
13533	DeblockFilter *string `locationName:"deblockFilter" type:"string" enum:"InputDeblockFilter"`
13534
13535	// Enable or disable the denoise filter when filtering.
13536	DenoiseFilter *string `locationName:"denoiseFilter" type:"string" enum:"InputDenoiseFilter"`
13537
13538	// Adjusts the magnitude of filtering from 1 (minimal) to 5 (strongest).
13539	FilterStrength *int64 `locationName:"filterStrength" min:"1" type:"integer"`
13540
13541	// Turns on the filter for this input. MPEG-2 inputs have the deblocking filter
13542	// enabled by default.1) auto - filtering will be applied depending on input
13543	// type/quality2) disabled - no filtering will be applied to the input3) forced
13544	// - filtering will be applied regardless of input type
13545	InputFilter *string `locationName:"inputFilter" type:"string" enum:"InputFilter"`
13546
13547	// Input settings.
13548	NetworkInputSettings *NetworkInputSettings `locationName:"networkInputSettings" type:"structure"`
13549
13550	// Loop input if it is a file. This allows a file input to be streamed indefinitely.
13551	SourceEndBehavior *string `locationName:"sourceEndBehavior" type:"string" enum:"InputSourceEndBehavior"`
13552
13553	// Informs which video elementary stream to decode for input types that have
13554	// multiple available.
13555	VideoSelector *VideoSelector `locationName:"videoSelector" type:"structure"`
13556}
13557
13558// String returns the string representation
13559func (s InputSettings) String() string {
13560	return awsutil.Prettify(s)
13561}
13562
13563// GoString returns the string representation
13564func (s InputSettings) GoString() string {
13565	return s.String()
13566}
13567
13568// Validate inspects the fields of the type to determine if they are valid.
13569func (s *InputSettings) Validate() error {
13570	invalidParams := request.ErrInvalidParams{Context: "InputSettings"}
13571	if s.FilterStrength != nil && *s.FilterStrength < 1 {
13572		invalidParams.Add(request.NewErrParamMinValue("FilterStrength", 1))
13573	}
13574	if s.AudioSelectors != nil {
13575		for i, v := range s.AudioSelectors {
13576			if v == nil {
13577				continue
13578			}
13579			if err := v.Validate(); err != nil {
13580				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioSelectors", i), err.(request.ErrInvalidParams))
13581			}
13582		}
13583	}
13584	if s.CaptionSelectors != nil {
13585		for i, v := range s.CaptionSelectors {
13586			if v == nil {
13587				continue
13588			}
13589			if err := v.Validate(); err != nil {
13590				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionSelectors", i), err.(request.ErrInvalidParams))
13591			}
13592		}
13593	}
13594
13595	if invalidParams.Len() > 0 {
13596		return invalidParams
13597	}
13598	return nil
13599}
13600
13601// SetAudioSelectors sets the AudioSelectors field's value.
13602func (s *InputSettings) SetAudioSelectors(v []*AudioSelector) *InputSettings {
13603	s.AudioSelectors = v
13604	return s
13605}
13606
13607// SetCaptionSelectors sets the CaptionSelectors field's value.
13608func (s *InputSettings) SetCaptionSelectors(v []*CaptionSelector) *InputSettings {
13609	s.CaptionSelectors = v
13610	return s
13611}
13612
13613// SetDeblockFilter sets the DeblockFilter field's value.
13614func (s *InputSettings) SetDeblockFilter(v string) *InputSettings {
13615	s.DeblockFilter = &v
13616	return s
13617}
13618
13619// SetDenoiseFilter sets the DenoiseFilter field's value.
13620func (s *InputSettings) SetDenoiseFilter(v string) *InputSettings {
13621	s.DenoiseFilter = &v
13622	return s
13623}
13624
13625// SetFilterStrength sets the FilterStrength field's value.
13626func (s *InputSettings) SetFilterStrength(v int64) *InputSettings {
13627	s.FilterStrength = &v
13628	return s
13629}
13630
13631// SetInputFilter sets the InputFilter field's value.
13632func (s *InputSettings) SetInputFilter(v string) *InputSettings {
13633	s.InputFilter = &v
13634	return s
13635}
13636
13637// SetNetworkInputSettings sets the NetworkInputSettings field's value.
13638func (s *InputSettings) SetNetworkInputSettings(v *NetworkInputSettings) *InputSettings {
13639	s.NetworkInputSettings = v
13640	return s
13641}
13642
13643// SetSourceEndBehavior sets the SourceEndBehavior field's value.
13644func (s *InputSettings) SetSourceEndBehavior(v string) *InputSettings {
13645	s.SourceEndBehavior = &v
13646	return s
13647}
13648
13649// SetVideoSelector sets the VideoSelector field's value.
13650func (s *InputSettings) SetVideoSelector(v *VideoSelector) *InputSettings {
13651	s.VideoSelector = v
13652	return s
13653}
13654
13655// The settings for a PULL type input.
13656type InputSource struct {
13657	_ struct{} `type:"structure"`
13658
13659	// The key used to extract the password from EC2 Parameter store.
13660	PasswordParam *string `locationName:"passwordParam" type:"string"`
13661
13662	// This represents the customer's source URL where stream ispulled from.
13663	Url *string `locationName:"url" type:"string"`
13664
13665	// The username for the input source.
13666	Username *string `locationName:"username" type:"string"`
13667}
13668
13669// String returns the string representation
13670func (s InputSource) String() string {
13671	return awsutil.Prettify(s)
13672}
13673
13674// GoString returns the string representation
13675func (s InputSource) GoString() string {
13676	return s.String()
13677}
13678
13679// SetPasswordParam sets the PasswordParam field's value.
13680func (s *InputSource) SetPasswordParam(v string) *InputSource {
13681	s.PasswordParam = &v
13682	return s
13683}
13684
13685// SetUrl sets the Url field's value.
13686func (s *InputSource) SetUrl(v string) *InputSource {
13687	s.Url = &v
13688	return s
13689}
13690
13691// SetUsername sets the Username field's value.
13692func (s *InputSource) SetUsername(v string) *InputSource {
13693	s.Username = &v
13694	return s
13695}
13696
13697// Settings for for a PULL type input.
13698type InputSourceRequest struct {
13699	_ struct{} `type:"structure"`
13700
13701	// The key used to extract the password from EC2 Parameter store.
13702	PasswordParam *string `locationName:"passwordParam" type:"string"`
13703
13704	// This represents the customer's source URL where stream ispulled from.
13705	Url *string `locationName:"url" type:"string"`
13706
13707	// The username for the input source.
13708	Username *string `locationName:"username" type:"string"`
13709}
13710
13711// String returns the string representation
13712func (s InputSourceRequest) String() string {
13713	return awsutil.Prettify(s)
13714}
13715
13716// GoString returns the string representation
13717func (s InputSourceRequest) GoString() string {
13718	return s.String()
13719}
13720
13721// SetPasswordParam sets the PasswordParam field's value.
13722func (s *InputSourceRequest) SetPasswordParam(v string) *InputSourceRequest {
13723	s.PasswordParam = &v
13724	return s
13725}
13726
13727// SetUrl sets the Url field's value.
13728func (s *InputSourceRequest) SetUrl(v string) *InputSourceRequest {
13729	s.Url = &v
13730	return s
13731}
13732
13733// SetUsername sets the Username field's value.
13734func (s *InputSourceRequest) SetUsername(v string) *InputSourceRequest {
13735	s.Username = &v
13736	return s
13737}
13738
13739type InputSpecification struct {
13740	_ struct{} `type:"structure"`
13741
13742	// Input codec
13743	Codec *string `locationName:"codec" type:"string" enum:"InputCodec"`
13744
13745	// Maximum input bitrate, categorized coarsely
13746	MaximumBitrate *string `locationName:"maximumBitrate" type:"string" enum:"InputMaximumBitrate"`
13747
13748	// Input resolution, categorized coarsely
13749	Resolution *string `locationName:"resolution" type:"string" enum:"InputResolution"`
13750}
13751
13752// String returns the string representation
13753func (s InputSpecification) String() string {
13754	return awsutil.Prettify(s)
13755}
13756
13757// GoString returns the string representation
13758func (s InputSpecification) GoString() string {
13759	return s.String()
13760}
13761
13762// SetCodec sets the Codec field's value.
13763func (s *InputSpecification) SetCodec(v string) *InputSpecification {
13764	s.Codec = &v
13765	return s
13766}
13767
13768// SetMaximumBitrate sets the MaximumBitrate field's value.
13769func (s *InputSpecification) SetMaximumBitrate(v string) *InputSpecification {
13770	s.MaximumBitrate = &v
13771	return s
13772}
13773
13774// SetResolution sets the Resolution field's value.
13775func (s *InputSpecification) SetResolution(v string) *InputSpecification {
13776	s.Resolution = &v
13777	return s
13778}
13779
13780// Settings for the "switch input" action: to switch from ingesting one input
13781// to ingesting another input.
13782type InputSwitchScheduleActionSettings struct {
13783	_ struct{} `type:"structure"`
13784
13785	// The name of the input attachment (not the name of the input!) to switch to.
13786	// The name is specified in the channel configuration.
13787	//
13788	// InputAttachmentNameReference is a required field
13789	InputAttachmentNameReference *string `locationName:"inputAttachmentNameReference" type:"string" required:"true"`
13790
13791	// Settings to let you create a clip of the file input, in order to set up the
13792	// input to ingest only a portion of the file.
13793	InputClippingSettings *InputClippingSettings `locationName:"inputClippingSettings" type:"structure"`
13794
13795	// The value for the variable portion of the URL for the dynamic input, for
13796	// this instance of the input. Each time you use the same dynamic input in an
13797	// input switch action, you can provide a different value, in order to connect
13798	// the input to a different content source.
13799	UrlPath []*string `locationName:"urlPath" type:"list"`
13800}
13801
13802// String returns the string representation
13803func (s InputSwitchScheduleActionSettings) String() string {
13804	return awsutil.Prettify(s)
13805}
13806
13807// GoString returns the string representation
13808func (s InputSwitchScheduleActionSettings) GoString() string {
13809	return s.String()
13810}
13811
13812// Validate inspects the fields of the type to determine if they are valid.
13813func (s *InputSwitchScheduleActionSettings) Validate() error {
13814	invalidParams := request.ErrInvalidParams{Context: "InputSwitchScheduleActionSettings"}
13815	if s.InputAttachmentNameReference == nil {
13816		invalidParams.Add(request.NewErrParamRequired("InputAttachmentNameReference"))
13817	}
13818	if s.InputClippingSettings != nil {
13819		if err := s.InputClippingSettings.Validate(); err != nil {
13820			invalidParams.AddNested("InputClippingSettings", err.(request.ErrInvalidParams))
13821		}
13822	}
13823
13824	if invalidParams.Len() > 0 {
13825		return invalidParams
13826	}
13827	return nil
13828}
13829
13830// SetInputAttachmentNameReference sets the InputAttachmentNameReference field's value.
13831func (s *InputSwitchScheduleActionSettings) SetInputAttachmentNameReference(v string) *InputSwitchScheduleActionSettings {
13832	s.InputAttachmentNameReference = &v
13833	return s
13834}
13835
13836// SetInputClippingSettings sets the InputClippingSettings field's value.
13837func (s *InputSwitchScheduleActionSettings) SetInputClippingSettings(v *InputClippingSettings) *InputSwitchScheduleActionSettings {
13838	s.InputClippingSettings = v
13839	return s
13840}
13841
13842// SetUrlPath sets the UrlPath field's value.
13843func (s *InputSwitchScheduleActionSettings) SetUrlPath(v []*string) *InputSwitchScheduleActionSettings {
13844	s.UrlPath = v
13845	return s
13846}
13847
13848// Settings for a private VPC Input.When this property is specified, the input
13849// destination addresses will be created in a VPC rather than with public Internet
13850// addresses.This property requires setting the roleArn property on Input creation.Not
13851// compatible with the inputSecurityGroups property.
13852type InputVpcRequest struct {
13853	_ struct{} `type:"structure"`
13854
13855	// A list of up to 5 EC2 VPC security group IDs to attach to the Input VPC network
13856	// interfaces.Requires subnetIds. If none are specified then the VPC default
13857	// security group will be used.
13858	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"`
13859
13860	// A list of 2 VPC subnet IDs from the same VPC.Subnet IDs must be mapped to
13861	// two unique availability zones (AZ).
13862	//
13863	// SubnetIds is a required field
13864	SubnetIds []*string `locationName:"subnetIds" type:"list" required:"true"`
13865}
13866
13867// String returns the string representation
13868func (s InputVpcRequest) String() string {
13869	return awsutil.Prettify(s)
13870}
13871
13872// GoString returns the string representation
13873func (s InputVpcRequest) GoString() string {
13874	return s.String()
13875}
13876
13877// Validate inspects the fields of the type to determine if they are valid.
13878func (s *InputVpcRequest) Validate() error {
13879	invalidParams := request.ErrInvalidParams{Context: "InputVpcRequest"}
13880	if s.SubnetIds == nil {
13881		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
13882	}
13883
13884	if invalidParams.Len() > 0 {
13885		return invalidParams
13886	}
13887	return nil
13888}
13889
13890// SetSecurityGroupIds sets the SecurityGroupIds field's value.
13891func (s *InputVpcRequest) SetSecurityGroupIds(v []*string) *InputVpcRequest {
13892	s.SecurityGroupIds = v
13893	return s
13894}
13895
13896// SetSubnetIds sets the SubnetIds field's value.
13897func (s *InputVpcRequest) SetSubnetIds(v []*string) *InputVpcRequest {
13898	s.SubnetIds = v
13899	return s
13900}
13901
13902// Whitelist rule
13903type InputWhitelistRule struct {
13904	_ struct{} `type:"structure"`
13905
13906	// The IPv4 CIDR that's whitelisted.
13907	Cidr *string `locationName:"cidr" type:"string"`
13908}
13909
13910// String returns the string representation
13911func (s InputWhitelistRule) String() string {
13912	return awsutil.Prettify(s)
13913}
13914
13915// GoString returns the string representation
13916func (s InputWhitelistRule) GoString() string {
13917	return s.String()
13918}
13919
13920// SetCidr sets the Cidr field's value.
13921func (s *InputWhitelistRule) SetCidr(v string) *InputWhitelistRule {
13922	s.Cidr = &v
13923	return s
13924}
13925
13926// An IPv4 CIDR to whitelist.
13927type InputWhitelistRuleCidr struct {
13928	_ struct{} `type:"structure"`
13929
13930	// The IPv4 CIDR to whitelist.
13931	Cidr *string `locationName:"cidr" type:"string"`
13932}
13933
13934// String returns the string representation
13935func (s InputWhitelistRuleCidr) String() string {
13936	return awsutil.Prettify(s)
13937}
13938
13939// GoString returns the string representation
13940func (s InputWhitelistRuleCidr) GoString() string {
13941	return s.String()
13942}
13943
13944// SetCidr sets the Cidr field's value.
13945func (s *InputWhitelistRuleCidr) SetCidr(v string) *InputWhitelistRuleCidr {
13946	s.Cidr = &v
13947	return s
13948}
13949
13950// Key Provider Settings
13951type KeyProviderSettings struct {
13952	_ struct{} `type:"structure"`
13953
13954	// Static Key Settings
13955	StaticKeySettings *StaticKeySettings `locationName:"staticKeySettings" type:"structure"`
13956}
13957
13958// String returns the string representation
13959func (s KeyProviderSettings) String() string {
13960	return awsutil.Prettify(s)
13961}
13962
13963// GoString returns the string representation
13964func (s KeyProviderSettings) GoString() string {
13965	return s.String()
13966}
13967
13968// Validate inspects the fields of the type to determine if they are valid.
13969func (s *KeyProviderSettings) Validate() error {
13970	invalidParams := request.ErrInvalidParams{Context: "KeyProviderSettings"}
13971	if s.StaticKeySettings != nil {
13972		if err := s.StaticKeySettings.Validate(); err != nil {
13973			invalidParams.AddNested("StaticKeySettings", err.(request.ErrInvalidParams))
13974		}
13975	}
13976
13977	if invalidParams.Len() > 0 {
13978		return invalidParams
13979	}
13980	return nil
13981}
13982
13983// SetStaticKeySettings sets the StaticKeySettings field's value.
13984func (s *KeyProviderSettings) SetStaticKeySettings(v *StaticKeySettings) *KeyProviderSettings {
13985	s.StaticKeySettings = v
13986	return s
13987}
13988
13989type ListChannelsInput struct {
13990	_ struct{} `type:"structure"`
13991
13992	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
13993
13994	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
13995}
13996
13997// String returns the string representation
13998func (s ListChannelsInput) String() string {
13999	return awsutil.Prettify(s)
14000}
14001
14002// GoString returns the string representation
14003func (s ListChannelsInput) GoString() string {
14004	return s.String()
14005}
14006
14007// Validate inspects the fields of the type to determine if they are valid.
14008func (s *ListChannelsInput) Validate() error {
14009	invalidParams := request.ErrInvalidParams{Context: "ListChannelsInput"}
14010	if s.MaxResults != nil && *s.MaxResults < 1 {
14011		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14012	}
14013
14014	if invalidParams.Len() > 0 {
14015		return invalidParams
14016	}
14017	return nil
14018}
14019
14020// SetMaxResults sets the MaxResults field's value.
14021func (s *ListChannelsInput) SetMaxResults(v int64) *ListChannelsInput {
14022	s.MaxResults = &v
14023	return s
14024}
14025
14026// SetNextToken sets the NextToken field's value.
14027func (s *ListChannelsInput) SetNextToken(v string) *ListChannelsInput {
14028	s.NextToken = &v
14029	return s
14030}
14031
14032type ListChannelsOutput struct {
14033	_ struct{} `type:"structure"`
14034
14035	Channels []*ChannelSummary `locationName:"channels" type:"list"`
14036
14037	NextToken *string `locationName:"nextToken" type:"string"`
14038}
14039
14040// String returns the string representation
14041func (s ListChannelsOutput) String() string {
14042	return awsutil.Prettify(s)
14043}
14044
14045// GoString returns the string representation
14046func (s ListChannelsOutput) GoString() string {
14047	return s.String()
14048}
14049
14050// SetChannels sets the Channels field's value.
14051func (s *ListChannelsOutput) SetChannels(v []*ChannelSummary) *ListChannelsOutput {
14052	s.Channels = v
14053	return s
14054}
14055
14056// SetNextToken sets the NextToken field's value.
14057func (s *ListChannelsOutput) SetNextToken(v string) *ListChannelsOutput {
14058	s.NextToken = &v
14059	return s
14060}
14061
14062type ListInputSecurityGroupsInput struct {
14063	_ struct{} `type:"structure"`
14064
14065	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
14066
14067	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
14068}
14069
14070// String returns the string representation
14071func (s ListInputSecurityGroupsInput) String() string {
14072	return awsutil.Prettify(s)
14073}
14074
14075// GoString returns the string representation
14076func (s ListInputSecurityGroupsInput) GoString() string {
14077	return s.String()
14078}
14079
14080// Validate inspects the fields of the type to determine if they are valid.
14081func (s *ListInputSecurityGroupsInput) Validate() error {
14082	invalidParams := request.ErrInvalidParams{Context: "ListInputSecurityGroupsInput"}
14083	if s.MaxResults != nil && *s.MaxResults < 1 {
14084		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14085	}
14086
14087	if invalidParams.Len() > 0 {
14088		return invalidParams
14089	}
14090	return nil
14091}
14092
14093// SetMaxResults sets the MaxResults field's value.
14094func (s *ListInputSecurityGroupsInput) SetMaxResults(v int64) *ListInputSecurityGroupsInput {
14095	s.MaxResults = &v
14096	return s
14097}
14098
14099// SetNextToken sets the NextToken field's value.
14100func (s *ListInputSecurityGroupsInput) SetNextToken(v string) *ListInputSecurityGroupsInput {
14101	s.NextToken = &v
14102	return s
14103}
14104
14105type ListInputSecurityGroupsOutput struct {
14106	_ struct{} `type:"structure"`
14107
14108	InputSecurityGroups []*InputSecurityGroup `locationName:"inputSecurityGroups" type:"list"`
14109
14110	NextToken *string `locationName:"nextToken" type:"string"`
14111}
14112
14113// String returns the string representation
14114func (s ListInputSecurityGroupsOutput) String() string {
14115	return awsutil.Prettify(s)
14116}
14117
14118// GoString returns the string representation
14119func (s ListInputSecurityGroupsOutput) GoString() string {
14120	return s.String()
14121}
14122
14123// SetInputSecurityGroups sets the InputSecurityGroups field's value.
14124func (s *ListInputSecurityGroupsOutput) SetInputSecurityGroups(v []*InputSecurityGroup) *ListInputSecurityGroupsOutput {
14125	s.InputSecurityGroups = v
14126	return s
14127}
14128
14129// SetNextToken sets the NextToken field's value.
14130func (s *ListInputSecurityGroupsOutput) SetNextToken(v string) *ListInputSecurityGroupsOutput {
14131	s.NextToken = &v
14132	return s
14133}
14134
14135type ListInputsInput struct {
14136	_ struct{} `type:"structure"`
14137
14138	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
14139
14140	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
14141}
14142
14143// String returns the string representation
14144func (s ListInputsInput) String() string {
14145	return awsutil.Prettify(s)
14146}
14147
14148// GoString returns the string representation
14149func (s ListInputsInput) GoString() string {
14150	return s.String()
14151}
14152
14153// Validate inspects the fields of the type to determine if they are valid.
14154func (s *ListInputsInput) Validate() error {
14155	invalidParams := request.ErrInvalidParams{Context: "ListInputsInput"}
14156	if s.MaxResults != nil && *s.MaxResults < 1 {
14157		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14158	}
14159
14160	if invalidParams.Len() > 0 {
14161		return invalidParams
14162	}
14163	return nil
14164}
14165
14166// SetMaxResults sets the MaxResults field's value.
14167func (s *ListInputsInput) SetMaxResults(v int64) *ListInputsInput {
14168	s.MaxResults = &v
14169	return s
14170}
14171
14172// SetNextToken sets the NextToken field's value.
14173func (s *ListInputsInput) SetNextToken(v string) *ListInputsInput {
14174	s.NextToken = &v
14175	return s
14176}
14177
14178type ListInputsOutput struct {
14179	_ struct{} `type:"structure"`
14180
14181	Inputs []*Input `locationName:"inputs" type:"list"`
14182
14183	NextToken *string `locationName:"nextToken" type:"string"`
14184}
14185
14186// String returns the string representation
14187func (s ListInputsOutput) String() string {
14188	return awsutil.Prettify(s)
14189}
14190
14191// GoString returns the string representation
14192func (s ListInputsOutput) GoString() string {
14193	return s.String()
14194}
14195
14196// SetInputs sets the Inputs field's value.
14197func (s *ListInputsOutput) SetInputs(v []*Input) *ListInputsOutput {
14198	s.Inputs = v
14199	return s
14200}
14201
14202// SetNextToken sets the NextToken field's value.
14203func (s *ListInputsOutput) SetNextToken(v string) *ListInputsOutput {
14204	s.NextToken = &v
14205	return s
14206}
14207
14208type ListMultiplexProgramsInput struct {
14209	_ struct{} `type:"structure"`
14210
14211	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
14212
14213	// MultiplexId is a required field
14214	MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"`
14215
14216	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
14217}
14218
14219// String returns the string representation
14220func (s ListMultiplexProgramsInput) String() string {
14221	return awsutil.Prettify(s)
14222}
14223
14224// GoString returns the string representation
14225func (s ListMultiplexProgramsInput) GoString() string {
14226	return s.String()
14227}
14228
14229// Validate inspects the fields of the type to determine if they are valid.
14230func (s *ListMultiplexProgramsInput) Validate() error {
14231	invalidParams := request.ErrInvalidParams{Context: "ListMultiplexProgramsInput"}
14232	if s.MaxResults != nil && *s.MaxResults < 1 {
14233		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14234	}
14235	if s.MultiplexId == nil {
14236		invalidParams.Add(request.NewErrParamRequired("MultiplexId"))
14237	}
14238	if s.MultiplexId != nil && len(*s.MultiplexId) < 1 {
14239		invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1))
14240	}
14241
14242	if invalidParams.Len() > 0 {
14243		return invalidParams
14244	}
14245	return nil
14246}
14247
14248// SetMaxResults sets the MaxResults field's value.
14249func (s *ListMultiplexProgramsInput) SetMaxResults(v int64) *ListMultiplexProgramsInput {
14250	s.MaxResults = &v
14251	return s
14252}
14253
14254// SetMultiplexId sets the MultiplexId field's value.
14255func (s *ListMultiplexProgramsInput) SetMultiplexId(v string) *ListMultiplexProgramsInput {
14256	s.MultiplexId = &v
14257	return s
14258}
14259
14260// SetNextToken sets the NextToken field's value.
14261func (s *ListMultiplexProgramsInput) SetNextToken(v string) *ListMultiplexProgramsInput {
14262	s.NextToken = &v
14263	return s
14264}
14265
14266type ListMultiplexProgramsOutput struct {
14267	_ struct{} `type:"structure"`
14268
14269	MultiplexPrograms []*MultiplexProgramSummary `locationName:"multiplexPrograms" type:"list"`
14270
14271	NextToken *string `locationName:"nextToken" type:"string"`
14272}
14273
14274// String returns the string representation
14275func (s ListMultiplexProgramsOutput) String() string {
14276	return awsutil.Prettify(s)
14277}
14278
14279// GoString returns the string representation
14280func (s ListMultiplexProgramsOutput) GoString() string {
14281	return s.String()
14282}
14283
14284// SetMultiplexPrograms sets the MultiplexPrograms field's value.
14285func (s *ListMultiplexProgramsOutput) SetMultiplexPrograms(v []*MultiplexProgramSummary) *ListMultiplexProgramsOutput {
14286	s.MultiplexPrograms = v
14287	return s
14288}
14289
14290// SetNextToken sets the NextToken field's value.
14291func (s *ListMultiplexProgramsOutput) SetNextToken(v string) *ListMultiplexProgramsOutput {
14292	s.NextToken = &v
14293	return s
14294}
14295
14296type ListMultiplexesInput struct {
14297	_ struct{} `type:"structure"`
14298
14299	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
14300
14301	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
14302}
14303
14304// String returns the string representation
14305func (s ListMultiplexesInput) String() string {
14306	return awsutil.Prettify(s)
14307}
14308
14309// GoString returns the string representation
14310func (s ListMultiplexesInput) GoString() string {
14311	return s.String()
14312}
14313
14314// Validate inspects the fields of the type to determine if they are valid.
14315func (s *ListMultiplexesInput) Validate() error {
14316	invalidParams := request.ErrInvalidParams{Context: "ListMultiplexesInput"}
14317	if s.MaxResults != nil && *s.MaxResults < 1 {
14318		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14319	}
14320
14321	if invalidParams.Len() > 0 {
14322		return invalidParams
14323	}
14324	return nil
14325}
14326
14327// SetMaxResults sets the MaxResults field's value.
14328func (s *ListMultiplexesInput) SetMaxResults(v int64) *ListMultiplexesInput {
14329	s.MaxResults = &v
14330	return s
14331}
14332
14333// SetNextToken sets the NextToken field's value.
14334func (s *ListMultiplexesInput) SetNextToken(v string) *ListMultiplexesInput {
14335	s.NextToken = &v
14336	return s
14337}
14338
14339type ListMultiplexesOutput struct {
14340	_ struct{} `type:"structure"`
14341
14342	Multiplexes []*MultiplexSummary `locationName:"multiplexes" type:"list"`
14343
14344	NextToken *string `locationName:"nextToken" type:"string"`
14345}
14346
14347// String returns the string representation
14348func (s ListMultiplexesOutput) String() string {
14349	return awsutil.Prettify(s)
14350}
14351
14352// GoString returns the string representation
14353func (s ListMultiplexesOutput) GoString() string {
14354	return s.String()
14355}
14356
14357// SetMultiplexes sets the Multiplexes field's value.
14358func (s *ListMultiplexesOutput) SetMultiplexes(v []*MultiplexSummary) *ListMultiplexesOutput {
14359	s.Multiplexes = v
14360	return s
14361}
14362
14363// SetNextToken sets the NextToken field's value.
14364func (s *ListMultiplexesOutput) SetNextToken(v string) *ListMultiplexesOutput {
14365	s.NextToken = &v
14366	return s
14367}
14368
14369type ListOfferingsInput struct {
14370	_ struct{} `type:"structure"`
14371
14372	ChannelClass *string `location:"querystring" locationName:"channelClass" type:"string"`
14373
14374	ChannelConfiguration *string `location:"querystring" locationName:"channelConfiguration" type:"string"`
14375
14376	Codec *string `location:"querystring" locationName:"codec" type:"string"`
14377
14378	Duration *string `location:"querystring" locationName:"duration" type:"string"`
14379
14380	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
14381
14382	MaximumBitrate *string `location:"querystring" locationName:"maximumBitrate" type:"string"`
14383
14384	MaximumFramerate *string `location:"querystring" locationName:"maximumFramerate" type:"string"`
14385
14386	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
14387
14388	Resolution *string `location:"querystring" locationName:"resolution" type:"string"`
14389
14390	ResourceType *string `location:"querystring" locationName:"resourceType" type:"string"`
14391
14392	SpecialFeature *string `location:"querystring" locationName:"specialFeature" type:"string"`
14393
14394	VideoQuality *string `location:"querystring" locationName:"videoQuality" type:"string"`
14395}
14396
14397// String returns the string representation
14398func (s ListOfferingsInput) String() string {
14399	return awsutil.Prettify(s)
14400}
14401
14402// GoString returns the string representation
14403func (s ListOfferingsInput) GoString() string {
14404	return s.String()
14405}
14406
14407// Validate inspects the fields of the type to determine if they are valid.
14408func (s *ListOfferingsInput) Validate() error {
14409	invalidParams := request.ErrInvalidParams{Context: "ListOfferingsInput"}
14410	if s.MaxResults != nil && *s.MaxResults < 1 {
14411		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14412	}
14413
14414	if invalidParams.Len() > 0 {
14415		return invalidParams
14416	}
14417	return nil
14418}
14419
14420// SetChannelClass sets the ChannelClass field's value.
14421func (s *ListOfferingsInput) SetChannelClass(v string) *ListOfferingsInput {
14422	s.ChannelClass = &v
14423	return s
14424}
14425
14426// SetChannelConfiguration sets the ChannelConfiguration field's value.
14427func (s *ListOfferingsInput) SetChannelConfiguration(v string) *ListOfferingsInput {
14428	s.ChannelConfiguration = &v
14429	return s
14430}
14431
14432// SetCodec sets the Codec field's value.
14433func (s *ListOfferingsInput) SetCodec(v string) *ListOfferingsInput {
14434	s.Codec = &v
14435	return s
14436}
14437
14438// SetDuration sets the Duration field's value.
14439func (s *ListOfferingsInput) SetDuration(v string) *ListOfferingsInput {
14440	s.Duration = &v
14441	return s
14442}
14443
14444// SetMaxResults sets the MaxResults field's value.
14445func (s *ListOfferingsInput) SetMaxResults(v int64) *ListOfferingsInput {
14446	s.MaxResults = &v
14447	return s
14448}
14449
14450// SetMaximumBitrate sets the MaximumBitrate field's value.
14451func (s *ListOfferingsInput) SetMaximumBitrate(v string) *ListOfferingsInput {
14452	s.MaximumBitrate = &v
14453	return s
14454}
14455
14456// SetMaximumFramerate sets the MaximumFramerate field's value.
14457func (s *ListOfferingsInput) SetMaximumFramerate(v string) *ListOfferingsInput {
14458	s.MaximumFramerate = &v
14459	return s
14460}
14461
14462// SetNextToken sets the NextToken field's value.
14463func (s *ListOfferingsInput) SetNextToken(v string) *ListOfferingsInput {
14464	s.NextToken = &v
14465	return s
14466}
14467
14468// SetResolution sets the Resolution field's value.
14469func (s *ListOfferingsInput) SetResolution(v string) *ListOfferingsInput {
14470	s.Resolution = &v
14471	return s
14472}
14473
14474// SetResourceType sets the ResourceType field's value.
14475func (s *ListOfferingsInput) SetResourceType(v string) *ListOfferingsInput {
14476	s.ResourceType = &v
14477	return s
14478}
14479
14480// SetSpecialFeature sets the SpecialFeature field's value.
14481func (s *ListOfferingsInput) SetSpecialFeature(v string) *ListOfferingsInput {
14482	s.SpecialFeature = &v
14483	return s
14484}
14485
14486// SetVideoQuality sets the VideoQuality field's value.
14487func (s *ListOfferingsInput) SetVideoQuality(v string) *ListOfferingsInput {
14488	s.VideoQuality = &v
14489	return s
14490}
14491
14492type ListOfferingsOutput struct {
14493	_ struct{} `type:"structure"`
14494
14495	NextToken *string `locationName:"nextToken" type:"string"`
14496
14497	Offerings []*Offering `locationName:"offerings" type:"list"`
14498}
14499
14500// String returns the string representation
14501func (s ListOfferingsOutput) String() string {
14502	return awsutil.Prettify(s)
14503}
14504
14505// GoString returns the string representation
14506func (s ListOfferingsOutput) GoString() string {
14507	return s.String()
14508}
14509
14510// SetNextToken sets the NextToken field's value.
14511func (s *ListOfferingsOutput) SetNextToken(v string) *ListOfferingsOutput {
14512	s.NextToken = &v
14513	return s
14514}
14515
14516// SetOfferings sets the Offerings field's value.
14517func (s *ListOfferingsOutput) SetOfferings(v []*Offering) *ListOfferingsOutput {
14518	s.Offerings = v
14519	return s
14520}
14521
14522type ListReservationsInput struct {
14523	_ struct{} `type:"structure"`
14524
14525	ChannelClass *string `location:"querystring" locationName:"channelClass" type:"string"`
14526
14527	Codec *string `location:"querystring" locationName:"codec" type:"string"`
14528
14529	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
14530
14531	MaximumBitrate *string `location:"querystring" locationName:"maximumBitrate" type:"string"`
14532
14533	MaximumFramerate *string `location:"querystring" locationName:"maximumFramerate" type:"string"`
14534
14535	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
14536
14537	Resolution *string `location:"querystring" locationName:"resolution" type:"string"`
14538
14539	ResourceType *string `location:"querystring" locationName:"resourceType" type:"string"`
14540
14541	SpecialFeature *string `location:"querystring" locationName:"specialFeature" type:"string"`
14542
14543	VideoQuality *string `location:"querystring" locationName:"videoQuality" type:"string"`
14544}
14545
14546// String returns the string representation
14547func (s ListReservationsInput) String() string {
14548	return awsutil.Prettify(s)
14549}
14550
14551// GoString returns the string representation
14552func (s ListReservationsInput) GoString() string {
14553	return s.String()
14554}
14555
14556// Validate inspects the fields of the type to determine if they are valid.
14557func (s *ListReservationsInput) Validate() error {
14558	invalidParams := request.ErrInvalidParams{Context: "ListReservationsInput"}
14559	if s.MaxResults != nil && *s.MaxResults < 1 {
14560		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14561	}
14562
14563	if invalidParams.Len() > 0 {
14564		return invalidParams
14565	}
14566	return nil
14567}
14568
14569// SetChannelClass sets the ChannelClass field's value.
14570func (s *ListReservationsInput) SetChannelClass(v string) *ListReservationsInput {
14571	s.ChannelClass = &v
14572	return s
14573}
14574
14575// SetCodec sets the Codec field's value.
14576func (s *ListReservationsInput) SetCodec(v string) *ListReservationsInput {
14577	s.Codec = &v
14578	return s
14579}
14580
14581// SetMaxResults sets the MaxResults field's value.
14582func (s *ListReservationsInput) SetMaxResults(v int64) *ListReservationsInput {
14583	s.MaxResults = &v
14584	return s
14585}
14586
14587// SetMaximumBitrate sets the MaximumBitrate field's value.
14588func (s *ListReservationsInput) SetMaximumBitrate(v string) *ListReservationsInput {
14589	s.MaximumBitrate = &v
14590	return s
14591}
14592
14593// SetMaximumFramerate sets the MaximumFramerate field's value.
14594func (s *ListReservationsInput) SetMaximumFramerate(v string) *ListReservationsInput {
14595	s.MaximumFramerate = &v
14596	return s
14597}
14598
14599// SetNextToken sets the NextToken field's value.
14600func (s *ListReservationsInput) SetNextToken(v string) *ListReservationsInput {
14601	s.NextToken = &v
14602	return s
14603}
14604
14605// SetResolution sets the Resolution field's value.
14606func (s *ListReservationsInput) SetResolution(v string) *ListReservationsInput {
14607	s.Resolution = &v
14608	return s
14609}
14610
14611// SetResourceType sets the ResourceType field's value.
14612func (s *ListReservationsInput) SetResourceType(v string) *ListReservationsInput {
14613	s.ResourceType = &v
14614	return s
14615}
14616
14617// SetSpecialFeature sets the SpecialFeature field's value.
14618func (s *ListReservationsInput) SetSpecialFeature(v string) *ListReservationsInput {
14619	s.SpecialFeature = &v
14620	return s
14621}
14622
14623// SetVideoQuality sets the VideoQuality field's value.
14624func (s *ListReservationsInput) SetVideoQuality(v string) *ListReservationsInput {
14625	s.VideoQuality = &v
14626	return s
14627}
14628
14629type ListReservationsOutput struct {
14630	_ struct{} `type:"structure"`
14631
14632	NextToken *string `locationName:"nextToken" type:"string"`
14633
14634	Reservations []*Reservation `locationName:"reservations" type:"list"`
14635}
14636
14637// String returns the string representation
14638func (s ListReservationsOutput) String() string {
14639	return awsutil.Prettify(s)
14640}
14641
14642// GoString returns the string representation
14643func (s ListReservationsOutput) GoString() string {
14644	return s.String()
14645}
14646
14647// SetNextToken sets the NextToken field's value.
14648func (s *ListReservationsOutput) SetNextToken(v string) *ListReservationsOutput {
14649	s.NextToken = &v
14650	return s
14651}
14652
14653// SetReservations sets the Reservations field's value.
14654func (s *ListReservationsOutput) SetReservations(v []*Reservation) *ListReservationsOutput {
14655	s.Reservations = v
14656	return s
14657}
14658
14659type ListTagsForResourceInput struct {
14660	_ struct{} `type:"structure"`
14661
14662	// ResourceArn is a required field
14663	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
14664}
14665
14666// String returns the string representation
14667func (s ListTagsForResourceInput) String() string {
14668	return awsutil.Prettify(s)
14669}
14670
14671// GoString returns the string representation
14672func (s ListTagsForResourceInput) GoString() string {
14673	return s.String()
14674}
14675
14676// Validate inspects the fields of the type to determine if they are valid.
14677func (s *ListTagsForResourceInput) Validate() error {
14678	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
14679	if s.ResourceArn == nil {
14680		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
14681	}
14682	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
14683		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
14684	}
14685
14686	if invalidParams.Len() > 0 {
14687		return invalidParams
14688	}
14689	return nil
14690}
14691
14692// SetResourceArn sets the ResourceArn field's value.
14693func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
14694	s.ResourceArn = &v
14695	return s
14696}
14697
14698type ListTagsForResourceOutput struct {
14699	_ struct{} `type:"structure"`
14700
14701	Tags map[string]*string `locationName:"tags" type:"map"`
14702}
14703
14704// String returns the string representation
14705func (s ListTagsForResourceOutput) String() string {
14706	return awsutil.Prettify(s)
14707}
14708
14709// GoString returns the string representation
14710func (s ListTagsForResourceOutput) GoString() string {
14711	return s.String()
14712}
14713
14714// SetTags sets the Tags field's value.
14715func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
14716	s.Tags = v
14717	return s
14718}
14719
14720// M2ts Settings
14721type M2tsSettings struct {
14722	_ struct{} `type:"structure"`
14723
14724	// When set to drop, output audio streams will be removed from the program if
14725	// the selected input audio stream is removed from the input. This allows the
14726	// output audio configuration to dynamically change based on input configuration.
14727	// If this is set to encodeSilence, all output audio streams will output encoded
14728	// silence when not connected to an active input stream.
14729	AbsentInputAudioBehavior *string `locationName:"absentInputAudioBehavior" type:"string" enum:"M2tsAbsentInputAudioBehavior"`
14730
14731	// When set to enabled, uses ARIB-compliant field muxing and removes video descriptor.
14732	Arib *string `locationName:"arib" type:"string" enum:"M2tsArib"`
14733
14734	// Packet Identifier (PID) for ARIB Captions in the transport stream. Can be
14735	// entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182
14736	// (or 0x1ff6).
14737	AribCaptionsPid *string `locationName:"aribCaptionsPid" type:"string"`
14738
14739	// If set to auto, pid number used for ARIB Captions will be auto-selected from
14740	// unused pids. If set to useConfigured, ARIB Captions will be on the configured
14741	// pid number.
14742	AribCaptionsPidControl *string `locationName:"aribCaptionsPidControl" type:"string" enum:"M2tsAribCaptionsPidControl"`
14743
14744	// When set to dvb, uses DVB buffer model for Dolby Digital audio. When set
14745	// to atsc, the ATSC model is used.
14746	AudioBufferModel *string `locationName:"audioBufferModel" type:"string" enum:"M2tsAudioBufferModel"`
14747
14748	// The number of audio frames to insert for each PES packet.
14749	AudioFramesPerPes *int64 `locationName:"audioFramesPerPes" type:"integer"`
14750
14751	// Packet Identifier (PID) of the elementary audio stream(s) in the transport
14752	// stream. Multiple values are accepted, and can be entered in ranges and/or
14753	// by comma separation. Can be entered as decimal or hexadecimal values. Each
14754	// PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6).
14755	AudioPids *string `locationName:"audioPids" type:"string"`
14756
14757	// When set to atsc, uses stream type = 0x81 for AC3 and stream type = 0x87
14758	// for EAC3. When set to dvb, uses stream type = 0x06.
14759	AudioStreamType *string `locationName:"audioStreamType" type:"string" enum:"M2tsAudioStreamType"`
14760
14761	// The output bitrate of the transport stream in bits per second. Setting to
14762	// 0 lets the muxer automatically determine the appropriate bitrate.
14763	Bitrate *int64 `locationName:"bitrate" type:"integer"`
14764
14765	// If set to multiplex, use multiplex buffer model for accurate interleaving.
14766	// Setting to bufferModel to none can lead to lower latency, but low-memory
14767	// devices may not be able to play back the stream without interruptions.
14768	BufferModel *string `locationName:"bufferModel" type:"string" enum:"M2tsBufferModel"`
14769
14770	// When set to enabled, generates captionServiceDescriptor in PMT.
14771	CcDescriptor *string `locationName:"ccDescriptor" type:"string" enum:"M2tsCcDescriptor"`
14772
14773	// Inserts DVB Network Information Table (NIT) at the specified table repetition
14774	// interval.
14775	DvbNitSettings *DvbNitSettings `locationName:"dvbNitSettings" type:"structure"`
14776
14777	// Inserts DVB Service Description Table (SDT) at the specified table repetition
14778	// interval.
14779	DvbSdtSettings *DvbSdtSettings `locationName:"dvbSdtSettings" type:"structure"`
14780
14781	// Packet Identifier (PID) for input source DVB Subtitle data to this output.
14782	// Multiple values are accepted, and can be entered in ranges and/or by comma
14783	// separation. Can be entered as decimal or hexadecimal values. Each PID specified
14784	// must be in the range of 32 (or 0x20)..8182 (or 0x1ff6).
14785	DvbSubPids *string `locationName:"dvbSubPids" type:"string"`
14786
14787	// Inserts DVB Time and Date Table (TDT) at the specified table repetition interval.
14788	DvbTdtSettings *DvbTdtSettings `locationName:"dvbTdtSettings" type:"structure"`
14789
14790	// Packet Identifier (PID) for input source DVB Teletext data to this output.
14791	// Can be entered as a decimal or hexadecimal value. Valid values are 32 (or
14792	// 0x20)..8182 (or 0x1ff6).
14793	DvbTeletextPid *string `locationName:"dvbTeletextPid" type:"string"`
14794
14795	// If set to passthrough, passes any EBIF data from the input source to this
14796	// output.
14797	Ebif *string `locationName:"ebif" type:"string" enum:"M2tsEbifControl"`
14798
14799	// When videoAndFixedIntervals is selected, audio EBP markers will be added
14800	// to partitions 3 and 4. The interval between these additional markers will
14801	// be fixed, and will be slightly shorter than the video EBP marker interval.
14802	// Only available when EBP Cablelabs segmentation markers are selected. Partitions
14803	// 1 and 2 will always follow the video interval.
14804	EbpAudioInterval *string `locationName:"ebpAudioInterval" type:"string" enum:"M2tsAudioInterval"`
14805
14806	// When set, enforces that Encoder Boundary Points do not come within the specified
14807	// time interval of each other by looking ahead at input video. If another EBP
14808	// is going to come in within the specified time interval, the current EBP is
14809	// not emitted, and the segment is "stretched" to the next marker. The lookahead
14810	// value does not add latency to the system. The Live Event must be configured
14811	// elsewhere to create sufficient latency to make the lookahead accurate.
14812	EbpLookaheadMs *int64 `locationName:"ebpLookaheadMs" type:"integer"`
14813
14814	// Controls placement of EBP on Audio PIDs. If set to videoAndAudioPids, EBP
14815	// markers will be placed on the video PID and all audio PIDs. If set to videoPid,
14816	// EBP markers will be placed on only the video PID.
14817	EbpPlacement *string `locationName:"ebpPlacement" type:"string" enum:"M2tsEbpPlacement"`
14818
14819	// This field is unused and deprecated.
14820	EcmPid *string `locationName:"ecmPid" type:"string"`
14821
14822	// Include or exclude the ES Rate field in the PES header.
14823	EsRateInPes *string `locationName:"esRateInPes" type:"string" enum:"M2tsEsRateInPes"`
14824
14825	// Packet Identifier (PID) for input source ETV Platform data to this output.
14826	// Can be entered as a decimal or hexadecimal value. Valid values are 32 (or
14827	// 0x20)..8182 (or 0x1ff6).
14828	EtvPlatformPid *string `locationName:"etvPlatformPid" type:"string"`
14829
14830	// Packet Identifier (PID) for input source ETV Signal data to this output.
14831	// Can be entered as a decimal or hexadecimal value. Valid values are 32 (or
14832	// 0x20)..8182 (or 0x1ff6).
14833	EtvSignalPid *string `locationName:"etvSignalPid" type:"string"`
14834
14835	// The length in seconds of each fragment. Only used with EBP markers.
14836	FragmentTime *float64 `locationName:"fragmentTime" type:"double"`
14837
14838	// If set to passthrough, passes any KLV data from the input source to this
14839	// output.
14840	Klv *string `locationName:"klv" type:"string" enum:"M2tsKlv"`
14841
14842	// Packet Identifier (PID) for input source KLV data to this output. Multiple
14843	// values are accepted, and can be entered in ranges and/or by comma separation.
14844	// Can be entered as decimal or hexadecimal values. Each PID specified must
14845	// be in the range of 32 (or 0x20)..8182 (or 0x1ff6).
14846	KlvDataPids *string `locationName:"klvDataPids" type:"string"`
14847
14848	// If set to passthrough, Nielsen inaudible tones for media tracking will be
14849	// detected in the input audio and an equivalent ID3 tag will be inserted in
14850	// the output.
14851	NielsenId3Behavior *string `locationName:"nielsenId3Behavior" type:"string" enum:"M2tsNielsenId3Behavior"`
14852
14853	// Value in bits per second of extra null packets to insert into the transport
14854	// stream. This can be used if a downstream encryption system requires periodic
14855	// null packets.
14856	NullPacketBitrate *float64 `locationName:"nullPacketBitrate" type:"double"`
14857
14858	// The number of milliseconds between instances of this table in the output
14859	// transport stream. Valid values are 0, 10..1000.
14860	PatInterval *int64 `locationName:"patInterval" type:"integer"`
14861
14862	// When set to pcrEveryPesPacket, a Program Clock Reference value is inserted
14863	// for every Packetized Elementary Stream (PES) header. This parameter is effective
14864	// only when the PCR PID is the same as the video or audio elementary stream.
14865	PcrControl *string `locationName:"pcrControl" type:"string" enum:"M2tsPcrControl"`
14866
14867	// Maximum time in milliseconds between Program Clock Reference (PCRs) inserted
14868	// into the transport stream.
14869	PcrPeriod *int64 `locationName:"pcrPeriod" type:"integer"`
14870
14871	// Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport
14872	// stream. When no value is given, the encoder will assign the same value as
14873	// the Video PID. Can be entered as a decimal or hexadecimal value. Valid values
14874	// are 32 (or 0x20)..8182 (or 0x1ff6).
14875	PcrPid *string `locationName:"pcrPid" type:"string"`
14876
14877	// The number of milliseconds between instances of this table in the output
14878	// transport stream. Valid values are 0, 10..1000.
14879	PmtInterval *int64 `locationName:"pmtInterval" type:"integer"`
14880
14881	// Packet Identifier (PID) for the Program Map Table (PMT) in the transport
14882	// stream. Can be entered as a decimal or hexadecimal value. Valid values are
14883	// 32 (or 0x20)..8182 (or 0x1ff6).
14884	PmtPid *string `locationName:"pmtPid" type:"string"`
14885
14886	// The value of the program number field in the Program Map Table.
14887	ProgramNum *int64 `locationName:"programNum" type:"integer"`
14888
14889	// When vbr, does not insert null packets into transport stream to fill specified
14890	// bitrate. The bitrate setting acts as the maximum bitrate when vbr is set.
14891	RateMode *string `locationName:"rateMode" type:"string" enum:"M2tsRateMode"`
14892
14893	// Packet Identifier (PID) for input source SCTE-27 data to this output. Multiple
14894	// values are accepted, and can be entered in ranges and/or by comma separation.
14895	// Can be entered as decimal or hexadecimal values. Each PID specified must
14896	// be in the range of 32 (or 0x20)..8182 (or 0x1ff6).
14897	Scte27Pids *string `locationName:"scte27Pids" type:"string"`
14898
14899	// Optionally pass SCTE-35 signals from the input source to this output.
14900	Scte35Control *string `locationName:"scte35Control" type:"string" enum:"M2tsScte35Control"`
14901
14902	// Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can
14903	// be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182
14904	// (or 0x1ff6).
14905	Scte35Pid *string `locationName:"scte35Pid" type:"string"`
14906
14907	// Inserts segmentation markers at each segmentationTime period. raiSegstart
14908	// sets the Random Access Indicator bit in the adaptation field. raiAdapt sets
14909	// the RAI bit and adds the current timecode in the private data bytes. psiSegstart
14910	// inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary
14911	// Point information to the adaptation field as per OpenCable specification
14912	// OC-SP-EBP-I01-130118. ebpLegacy adds Encoder Boundary Point information to
14913	// the adaptation field using a legacy proprietary format.
14914	SegmentationMarkers *string `locationName:"segmentationMarkers" type:"string" enum:"M2tsSegmentationMarkers"`
14915
14916	// The segmentation style parameter controls how segmentation markers are inserted
14917	// into the transport stream. With avails, it is possible that segments may
14918	// be truncated, which can influence where future segmentation markers are inserted.When
14919	// a segmentation style of "resetCadence" is selected and a segment is truncated
14920	// due to an avail, we will reset the segmentation cadence. This means the subsequent
14921	// segment will have a duration of $segmentationTime seconds.When a segmentation
14922	// style of "maintainCadence" is selected and a segment is truncated due to
14923	// an avail, we will not reset the segmentation cadence. This means the subsequent
14924	// segment will likely be truncated as well. However, all segments after that
14925	// will have a duration of $segmentationTime seconds. Note that EBP lookahead
14926	// is a slight exception to this rule.
14927	SegmentationStyle *string `locationName:"segmentationStyle" type:"string" enum:"M2tsSegmentationStyle"`
14928
14929	// The length in seconds of each segment. Required unless markers is set to
14930	// None_.
14931	SegmentationTime *float64 `locationName:"segmentationTime" type:"double"`
14932
14933	// When set to passthrough, timed metadata will be passed through from input
14934	// to output.
14935	TimedMetadataBehavior *string `locationName:"timedMetadataBehavior" type:"string" enum:"M2tsTimedMetadataBehavior"`
14936
14937	// Packet Identifier (PID) of the timed metadata stream in the transport stream.
14938	// Can be entered as a decimal or hexadecimal value. Valid values are 32 (or
14939	// 0x20)..8182 (or 0x1ff6).
14940	TimedMetadataPid *string `locationName:"timedMetadataPid" type:"string"`
14941
14942	// The value of the transport stream ID field in the Program Map Table.
14943	TransportStreamId *int64 `locationName:"transportStreamId" type:"integer"`
14944
14945	// Packet Identifier (PID) of the elementary video stream in the transport stream.
14946	// Can be entered as a decimal or hexadecimal value. Valid values are 32 (or
14947	// 0x20)..8182 (or 0x1ff6).
14948	VideoPid *string `locationName:"videoPid" type:"string"`
14949}
14950
14951// String returns the string representation
14952func (s M2tsSettings) String() string {
14953	return awsutil.Prettify(s)
14954}
14955
14956// GoString returns the string representation
14957func (s M2tsSettings) GoString() string {
14958	return s.String()
14959}
14960
14961// Validate inspects the fields of the type to determine if they are valid.
14962func (s *M2tsSettings) Validate() error {
14963	invalidParams := request.ErrInvalidParams{Context: "M2tsSettings"}
14964	if s.DvbNitSettings != nil {
14965		if err := s.DvbNitSettings.Validate(); err != nil {
14966			invalidParams.AddNested("DvbNitSettings", err.(request.ErrInvalidParams))
14967		}
14968	}
14969	if s.DvbSdtSettings != nil {
14970		if err := s.DvbSdtSettings.Validate(); err != nil {
14971			invalidParams.AddNested("DvbSdtSettings", err.(request.ErrInvalidParams))
14972		}
14973	}
14974	if s.DvbTdtSettings != nil {
14975		if err := s.DvbTdtSettings.Validate(); err != nil {
14976			invalidParams.AddNested("DvbTdtSettings", err.(request.ErrInvalidParams))
14977		}
14978	}
14979
14980	if invalidParams.Len() > 0 {
14981		return invalidParams
14982	}
14983	return nil
14984}
14985
14986// SetAbsentInputAudioBehavior sets the AbsentInputAudioBehavior field's value.
14987func (s *M2tsSettings) SetAbsentInputAudioBehavior(v string) *M2tsSettings {
14988	s.AbsentInputAudioBehavior = &v
14989	return s
14990}
14991
14992// SetArib sets the Arib field's value.
14993func (s *M2tsSettings) SetArib(v string) *M2tsSettings {
14994	s.Arib = &v
14995	return s
14996}
14997
14998// SetAribCaptionsPid sets the AribCaptionsPid field's value.
14999func (s *M2tsSettings) SetAribCaptionsPid(v string) *M2tsSettings {
15000	s.AribCaptionsPid = &v
15001	return s
15002}
15003
15004// SetAribCaptionsPidControl sets the AribCaptionsPidControl field's value.
15005func (s *M2tsSettings) SetAribCaptionsPidControl(v string) *M2tsSettings {
15006	s.AribCaptionsPidControl = &v
15007	return s
15008}
15009
15010// SetAudioBufferModel sets the AudioBufferModel field's value.
15011func (s *M2tsSettings) SetAudioBufferModel(v string) *M2tsSettings {
15012	s.AudioBufferModel = &v
15013	return s
15014}
15015
15016// SetAudioFramesPerPes sets the AudioFramesPerPes field's value.
15017func (s *M2tsSettings) SetAudioFramesPerPes(v int64) *M2tsSettings {
15018	s.AudioFramesPerPes = &v
15019	return s
15020}
15021
15022// SetAudioPids sets the AudioPids field's value.
15023func (s *M2tsSettings) SetAudioPids(v string) *M2tsSettings {
15024	s.AudioPids = &v
15025	return s
15026}
15027
15028// SetAudioStreamType sets the AudioStreamType field's value.
15029func (s *M2tsSettings) SetAudioStreamType(v string) *M2tsSettings {
15030	s.AudioStreamType = &v
15031	return s
15032}
15033
15034// SetBitrate sets the Bitrate field's value.
15035func (s *M2tsSettings) SetBitrate(v int64) *M2tsSettings {
15036	s.Bitrate = &v
15037	return s
15038}
15039
15040// SetBufferModel sets the BufferModel field's value.
15041func (s *M2tsSettings) SetBufferModel(v string) *M2tsSettings {
15042	s.BufferModel = &v
15043	return s
15044}
15045
15046// SetCcDescriptor sets the CcDescriptor field's value.
15047func (s *M2tsSettings) SetCcDescriptor(v string) *M2tsSettings {
15048	s.CcDescriptor = &v
15049	return s
15050}
15051
15052// SetDvbNitSettings sets the DvbNitSettings field's value.
15053func (s *M2tsSettings) SetDvbNitSettings(v *DvbNitSettings) *M2tsSettings {
15054	s.DvbNitSettings = v
15055	return s
15056}
15057
15058// SetDvbSdtSettings sets the DvbSdtSettings field's value.
15059func (s *M2tsSettings) SetDvbSdtSettings(v *DvbSdtSettings) *M2tsSettings {
15060	s.DvbSdtSettings = v
15061	return s
15062}
15063
15064// SetDvbSubPids sets the DvbSubPids field's value.
15065func (s *M2tsSettings) SetDvbSubPids(v string) *M2tsSettings {
15066	s.DvbSubPids = &v
15067	return s
15068}
15069
15070// SetDvbTdtSettings sets the DvbTdtSettings field's value.
15071func (s *M2tsSettings) SetDvbTdtSettings(v *DvbTdtSettings) *M2tsSettings {
15072	s.DvbTdtSettings = v
15073	return s
15074}
15075
15076// SetDvbTeletextPid sets the DvbTeletextPid field's value.
15077func (s *M2tsSettings) SetDvbTeletextPid(v string) *M2tsSettings {
15078	s.DvbTeletextPid = &v
15079	return s
15080}
15081
15082// SetEbif sets the Ebif field's value.
15083func (s *M2tsSettings) SetEbif(v string) *M2tsSettings {
15084	s.Ebif = &v
15085	return s
15086}
15087
15088// SetEbpAudioInterval sets the EbpAudioInterval field's value.
15089func (s *M2tsSettings) SetEbpAudioInterval(v string) *M2tsSettings {
15090	s.EbpAudioInterval = &v
15091	return s
15092}
15093
15094// SetEbpLookaheadMs sets the EbpLookaheadMs field's value.
15095func (s *M2tsSettings) SetEbpLookaheadMs(v int64) *M2tsSettings {
15096	s.EbpLookaheadMs = &v
15097	return s
15098}
15099
15100// SetEbpPlacement sets the EbpPlacement field's value.
15101func (s *M2tsSettings) SetEbpPlacement(v string) *M2tsSettings {
15102	s.EbpPlacement = &v
15103	return s
15104}
15105
15106// SetEcmPid sets the EcmPid field's value.
15107func (s *M2tsSettings) SetEcmPid(v string) *M2tsSettings {
15108	s.EcmPid = &v
15109	return s
15110}
15111
15112// SetEsRateInPes sets the EsRateInPes field's value.
15113func (s *M2tsSettings) SetEsRateInPes(v string) *M2tsSettings {
15114	s.EsRateInPes = &v
15115	return s
15116}
15117
15118// SetEtvPlatformPid sets the EtvPlatformPid field's value.
15119func (s *M2tsSettings) SetEtvPlatformPid(v string) *M2tsSettings {
15120	s.EtvPlatformPid = &v
15121	return s
15122}
15123
15124// SetEtvSignalPid sets the EtvSignalPid field's value.
15125func (s *M2tsSettings) SetEtvSignalPid(v string) *M2tsSettings {
15126	s.EtvSignalPid = &v
15127	return s
15128}
15129
15130// SetFragmentTime sets the FragmentTime field's value.
15131func (s *M2tsSettings) SetFragmentTime(v float64) *M2tsSettings {
15132	s.FragmentTime = &v
15133	return s
15134}
15135
15136// SetKlv sets the Klv field's value.
15137func (s *M2tsSettings) SetKlv(v string) *M2tsSettings {
15138	s.Klv = &v
15139	return s
15140}
15141
15142// SetKlvDataPids sets the KlvDataPids field's value.
15143func (s *M2tsSettings) SetKlvDataPids(v string) *M2tsSettings {
15144	s.KlvDataPids = &v
15145	return s
15146}
15147
15148// SetNielsenId3Behavior sets the NielsenId3Behavior field's value.
15149func (s *M2tsSettings) SetNielsenId3Behavior(v string) *M2tsSettings {
15150	s.NielsenId3Behavior = &v
15151	return s
15152}
15153
15154// SetNullPacketBitrate sets the NullPacketBitrate field's value.
15155func (s *M2tsSettings) SetNullPacketBitrate(v float64) *M2tsSettings {
15156	s.NullPacketBitrate = &v
15157	return s
15158}
15159
15160// SetPatInterval sets the PatInterval field's value.
15161func (s *M2tsSettings) SetPatInterval(v int64) *M2tsSettings {
15162	s.PatInterval = &v
15163	return s
15164}
15165
15166// SetPcrControl sets the PcrControl field's value.
15167func (s *M2tsSettings) SetPcrControl(v string) *M2tsSettings {
15168	s.PcrControl = &v
15169	return s
15170}
15171
15172// SetPcrPeriod sets the PcrPeriod field's value.
15173func (s *M2tsSettings) SetPcrPeriod(v int64) *M2tsSettings {
15174	s.PcrPeriod = &v
15175	return s
15176}
15177
15178// SetPcrPid sets the PcrPid field's value.
15179func (s *M2tsSettings) SetPcrPid(v string) *M2tsSettings {
15180	s.PcrPid = &v
15181	return s
15182}
15183
15184// SetPmtInterval sets the PmtInterval field's value.
15185func (s *M2tsSettings) SetPmtInterval(v int64) *M2tsSettings {
15186	s.PmtInterval = &v
15187	return s
15188}
15189
15190// SetPmtPid sets the PmtPid field's value.
15191func (s *M2tsSettings) SetPmtPid(v string) *M2tsSettings {
15192	s.PmtPid = &v
15193	return s
15194}
15195
15196// SetProgramNum sets the ProgramNum field's value.
15197func (s *M2tsSettings) SetProgramNum(v int64) *M2tsSettings {
15198	s.ProgramNum = &v
15199	return s
15200}
15201
15202// SetRateMode sets the RateMode field's value.
15203func (s *M2tsSettings) SetRateMode(v string) *M2tsSettings {
15204	s.RateMode = &v
15205	return s
15206}
15207
15208// SetScte27Pids sets the Scte27Pids field's value.
15209func (s *M2tsSettings) SetScte27Pids(v string) *M2tsSettings {
15210	s.Scte27Pids = &v
15211	return s
15212}
15213
15214// SetScte35Control sets the Scte35Control field's value.
15215func (s *M2tsSettings) SetScte35Control(v string) *M2tsSettings {
15216	s.Scte35Control = &v
15217	return s
15218}
15219
15220// SetScte35Pid sets the Scte35Pid field's value.
15221func (s *M2tsSettings) SetScte35Pid(v string) *M2tsSettings {
15222	s.Scte35Pid = &v
15223	return s
15224}
15225
15226// SetSegmentationMarkers sets the SegmentationMarkers field's value.
15227func (s *M2tsSettings) SetSegmentationMarkers(v string) *M2tsSettings {
15228	s.SegmentationMarkers = &v
15229	return s
15230}
15231
15232// SetSegmentationStyle sets the SegmentationStyle field's value.
15233func (s *M2tsSettings) SetSegmentationStyle(v string) *M2tsSettings {
15234	s.SegmentationStyle = &v
15235	return s
15236}
15237
15238// SetSegmentationTime sets the SegmentationTime field's value.
15239func (s *M2tsSettings) SetSegmentationTime(v float64) *M2tsSettings {
15240	s.SegmentationTime = &v
15241	return s
15242}
15243
15244// SetTimedMetadataBehavior sets the TimedMetadataBehavior field's value.
15245func (s *M2tsSettings) SetTimedMetadataBehavior(v string) *M2tsSettings {
15246	s.TimedMetadataBehavior = &v
15247	return s
15248}
15249
15250// SetTimedMetadataPid sets the TimedMetadataPid field's value.
15251func (s *M2tsSettings) SetTimedMetadataPid(v string) *M2tsSettings {
15252	s.TimedMetadataPid = &v
15253	return s
15254}
15255
15256// SetTransportStreamId sets the TransportStreamId field's value.
15257func (s *M2tsSettings) SetTransportStreamId(v int64) *M2tsSettings {
15258	s.TransportStreamId = &v
15259	return s
15260}
15261
15262// SetVideoPid sets the VideoPid field's value.
15263func (s *M2tsSettings) SetVideoPid(v string) *M2tsSettings {
15264	s.VideoPid = &v
15265	return s
15266}
15267
15268// Settings information for the .m3u8 container
15269type M3u8Settings struct {
15270	_ struct{} `type:"structure"`
15271
15272	// The number of audio frames to insert for each PES packet.
15273	AudioFramesPerPes *int64 `locationName:"audioFramesPerPes" type:"integer"`
15274
15275	// Packet Identifier (PID) of the elementary audio stream(s) in the transport
15276	// stream. Multiple values are accepted, and can be entered in ranges and/or
15277	// by comma separation. Can be entered as decimal or hexadecimal values.
15278	AudioPids *string `locationName:"audioPids" type:"string"`
15279
15280	// This parameter is unused and deprecated.
15281	EcmPid *string `locationName:"ecmPid" type:"string"`
15282
15283	// If set to passthrough, Nielsen inaudible tones for media tracking will be
15284	// detected in the input audio and an equivalent ID3 tag will be inserted in
15285	// the output.
15286	NielsenId3Behavior *string `locationName:"nielsenId3Behavior" type:"string" enum:"M3u8NielsenId3Behavior"`
15287
15288	// The number of milliseconds between instances of this table in the output
15289	// transport stream. A value of \"0\" writes out the PMT once per segment file.
15290	PatInterval *int64 `locationName:"patInterval" type:"integer"`
15291
15292	// When set to pcrEveryPesPacket, a Program Clock Reference value is inserted
15293	// for every Packetized Elementary Stream (PES) header. This parameter is effective
15294	// only when the PCR PID is the same as the video or audio elementary stream.
15295	PcrControl *string `locationName:"pcrControl" type:"string" enum:"M3u8PcrControl"`
15296
15297	// Maximum time in milliseconds between Program Clock References (PCRs) inserted
15298	// into the transport stream.
15299	PcrPeriod *int64 `locationName:"pcrPeriod" type:"integer"`
15300
15301	// Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport
15302	// stream. When no value is given, the encoder will assign the same value as
15303	// the Video PID. Can be entered as a decimal or hexadecimal value.
15304	PcrPid *string `locationName:"pcrPid" type:"string"`
15305
15306	// The number of milliseconds between instances of this table in the output
15307	// transport stream. A value of \"0\" writes out the PMT once per segment file.
15308	PmtInterval *int64 `locationName:"pmtInterval" type:"integer"`
15309
15310	// Packet Identifier (PID) for the Program Map Table (PMT) in the transport
15311	// stream. Can be entered as a decimal or hexadecimal value.
15312	PmtPid *string `locationName:"pmtPid" type:"string"`
15313
15314	// The value of the program number field in the Program Map Table.
15315	ProgramNum *int64 `locationName:"programNum" type:"integer"`
15316
15317	// If set to passthrough, passes any SCTE-35 signals from the input source to
15318	// this output.
15319	Scte35Behavior *string `locationName:"scte35Behavior" type:"string" enum:"M3u8Scte35Behavior"`
15320
15321	// Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can
15322	// be entered as a decimal or hexadecimal value.
15323	Scte35Pid *string `locationName:"scte35Pid" type:"string"`
15324
15325	// When set to passthrough, timed metadata is passed through from input to output.
15326	TimedMetadataBehavior *string `locationName:"timedMetadataBehavior" type:"string" enum:"M3u8TimedMetadataBehavior"`
15327
15328	// Packet Identifier (PID) of the timed metadata stream in the transport stream.
15329	// Can be entered as a decimal or hexadecimal value. Valid values are 32 (or
15330	// 0x20)..8182 (or 0x1ff6).
15331	TimedMetadataPid *string `locationName:"timedMetadataPid" type:"string"`
15332
15333	// The value of the transport stream ID field in the Program Map Table.
15334	TransportStreamId *int64 `locationName:"transportStreamId" type:"integer"`
15335
15336	// Packet Identifier (PID) of the elementary video stream in the transport stream.
15337	// Can be entered as a decimal or hexadecimal value.
15338	VideoPid *string `locationName:"videoPid" type:"string"`
15339}
15340
15341// String returns the string representation
15342func (s M3u8Settings) String() string {
15343	return awsutil.Prettify(s)
15344}
15345
15346// GoString returns the string representation
15347func (s M3u8Settings) GoString() string {
15348	return s.String()
15349}
15350
15351// SetAudioFramesPerPes sets the AudioFramesPerPes field's value.
15352func (s *M3u8Settings) SetAudioFramesPerPes(v int64) *M3u8Settings {
15353	s.AudioFramesPerPes = &v
15354	return s
15355}
15356
15357// SetAudioPids sets the AudioPids field's value.
15358func (s *M3u8Settings) SetAudioPids(v string) *M3u8Settings {
15359	s.AudioPids = &v
15360	return s
15361}
15362
15363// SetEcmPid sets the EcmPid field's value.
15364func (s *M3u8Settings) SetEcmPid(v string) *M3u8Settings {
15365	s.EcmPid = &v
15366	return s
15367}
15368
15369// SetNielsenId3Behavior sets the NielsenId3Behavior field's value.
15370func (s *M3u8Settings) SetNielsenId3Behavior(v string) *M3u8Settings {
15371	s.NielsenId3Behavior = &v
15372	return s
15373}
15374
15375// SetPatInterval sets the PatInterval field's value.
15376func (s *M3u8Settings) SetPatInterval(v int64) *M3u8Settings {
15377	s.PatInterval = &v
15378	return s
15379}
15380
15381// SetPcrControl sets the PcrControl field's value.
15382func (s *M3u8Settings) SetPcrControl(v string) *M3u8Settings {
15383	s.PcrControl = &v
15384	return s
15385}
15386
15387// SetPcrPeriod sets the PcrPeriod field's value.
15388func (s *M3u8Settings) SetPcrPeriod(v int64) *M3u8Settings {
15389	s.PcrPeriod = &v
15390	return s
15391}
15392
15393// SetPcrPid sets the PcrPid field's value.
15394func (s *M3u8Settings) SetPcrPid(v string) *M3u8Settings {
15395	s.PcrPid = &v
15396	return s
15397}
15398
15399// SetPmtInterval sets the PmtInterval field's value.
15400func (s *M3u8Settings) SetPmtInterval(v int64) *M3u8Settings {
15401	s.PmtInterval = &v
15402	return s
15403}
15404
15405// SetPmtPid sets the PmtPid field's value.
15406func (s *M3u8Settings) SetPmtPid(v string) *M3u8Settings {
15407	s.PmtPid = &v
15408	return s
15409}
15410
15411// SetProgramNum sets the ProgramNum field's value.
15412func (s *M3u8Settings) SetProgramNum(v int64) *M3u8Settings {
15413	s.ProgramNum = &v
15414	return s
15415}
15416
15417// SetScte35Behavior sets the Scte35Behavior field's value.
15418func (s *M3u8Settings) SetScte35Behavior(v string) *M3u8Settings {
15419	s.Scte35Behavior = &v
15420	return s
15421}
15422
15423// SetScte35Pid sets the Scte35Pid field's value.
15424func (s *M3u8Settings) SetScte35Pid(v string) *M3u8Settings {
15425	s.Scte35Pid = &v
15426	return s
15427}
15428
15429// SetTimedMetadataBehavior sets the TimedMetadataBehavior field's value.
15430func (s *M3u8Settings) SetTimedMetadataBehavior(v string) *M3u8Settings {
15431	s.TimedMetadataBehavior = &v
15432	return s
15433}
15434
15435// SetTimedMetadataPid sets the TimedMetadataPid field's value.
15436func (s *M3u8Settings) SetTimedMetadataPid(v string) *M3u8Settings {
15437	s.TimedMetadataPid = &v
15438	return s
15439}
15440
15441// SetTransportStreamId sets the TransportStreamId field's value.
15442func (s *M3u8Settings) SetTransportStreamId(v int64) *M3u8Settings {
15443	s.TransportStreamId = &v
15444	return s
15445}
15446
15447// SetVideoPid sets the VideoPid field's value.
15448func (s *M3u8Settings) SetVideoPid(v string) *M3u8Settings {
15449	s.VideoPid = &v
15450	return s
15451}
15452
15453// The settings for a MediaConnect Flow.
15454type MediaConnectFlow struct {
15455	_ struct{} `type:"structure"`
15456
15457	// The unique ARN of the MediaConnect Flow being used as a source.
15458	FlowArn *string `locationName:"flowArn" type:"string"`
15459}
15460
15461// String returns the string representation
15462func (s MediaConnectFlow) String() string {
15463	return awsutil.Prettify(s)
15464}
15465
15466// GoString returns the string representation
15467func (s MediaConnectFlow) GoString() string {
15468	return s.String()
15469}
15470
15471// SetFlowArn sets the FlowArn field's value.
15472func (s *MediaConnectFlow) SetFlowArn(v string) *MediaConnectFlow {
15473	s.FlowArn = &v
15474	return s
15475}
15476
15477// The settings for a MediaConnect Flow.
15478type MediaConnectFlowRequest struct {
15479	_ struct{} `type:"structure"`
15480
15481	// The ARN of the MediaConnect Flow that you want to use as a source.
15482	FlowArn *string `locationName:"flowArn" type:"string"`
15483}
15484
15485// String returns the string representation
15486func (s MediaConnectFlowRequest) String() string {
15487	return awsutil.Prettify(s)
15488}
15489
15490// GoString returns the string representation
15491func (s MediaConnectFlowRequest) GoString() string {
15492	return s.String()
15493}
15494
15495// SetFlowArn sets the FlowArn field's value.
15496func (s *MediaConnectFlowRequest) SetFlowArn(v string) *MediaConnectFlowRequest {
15497	s.FlowArn = &v
15498	return s
15499}
15500
15501// Media Package Group Settings
15502type MediaPackageGroupSettings struct {
15503	_ struct{} `type:"structure"`
15504
15505	// MediaPackage channel destination.
15506	//
15507	// Destination is a required field
15508	Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"`
15509}
15510
15511// String returns the string representation
15512func (s MediaPackageGroupSettings) String() string {
15513	return awsutil.Prettify(s)
15514}
15515
15516// GoString returns the string representation
15517func (s MediaPackageGroupSettings) GoString() string {
15518	return s.String()
15519}
15520
15521// Validate inspects the fields of the type to determine if they are valid.
15522func (s *MediaPackageGroupSettings) Validate() error {
15523	invalidParams := request.ErrInvalidParams{Context: "MediaPackageGroupSettings"}
15524	if s.Destination == nil {
15525		invalidParams.Add(request.NewErrParamRequired("Destination"))
15526	}
15527
15528	if invalidParams.Len() > 0 {
15529		return invalidParams
15530	}
15531	return nil
15532}
15533
15534// SetDestination sets the Destination field's value.
15535func (s *MediaPackageGroupSettings) SetDestination(v *OutputLocationRef) *MediaPackageGroupSettings {
15536	s.Destination = v
15537	return s
15538}
15539
15540// MediaPackage Output Destination Settings
15541type MediaPackageOutputDestinationSettings struct {
15542	_ struct{} `type:"structure"`
15543
15544	// ID of the channel in MediaPackage that is the destination for this output
15545	// group. You do not need to specify the individual inputs in MediaPackage;
15546	// MediaLive will handle the connection of the two MediaLive pipelines to the
15547	// two MediaPackage inputs. The MediaPackage channel and MediaLive channel must
15548	// be in the same region.
15549	ChannelId *string `locationName:"channelId" min:"1" type:"string"`
15550}
15551
15552// String returns the string representation
15553func (s MediaPackageOutputDestinationSettings) String() string {
15554	return awsutil.Prettify(s)
15555}
15556
15557// GoString returns the string representation
15558func (s MediaPackageOutputDestinationSettings) GoString() string {
15559	return s.String()
15560}
15561
15562// Validate inspects the fields of the type to determine if they are valid.
15563func (s *MediaPackageOutputDestinationSettings) Validate() error {
15564	invalidParams := request.ErrInvalidParams{Context: "MediaPackageOutputDestinationSettings"}
15565	if s.ChannelId != nil && len(*s.ChannelId) < 1 {
15566		invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1))
15567	}
15568
15569	if invalidParams.Len() > 0 {
15570		return invalidParams
15571	}
15572	return nil
15573}
15574
15575// SetChannelId sets the ChannelId field's value.
15576func (s *MediaPackageOutputDestinationSettings) SetChannelId(v string) *MediaPackageOutputDestinationSettings {
15577	s.ChannelId = &v
15578	return s
15579}
15580
15581// Media Package Output Settings
15582type MediaPackageOutputSettings struct {
15583	_ struct{} `type:"structure"`
15584}
15585
15586// String returns the string representation
15587func (s MediaPackageOutputSettings) String() string {
15588	return awsutil.Prettify(s)
15589}
15590
15591// GoString returns the string representation
15592func (s MediaPackageOutputSettings) GoString() string {
15593	return s.String()
15594}
15595
15596// Mp2 Settings
15597type Mp2Settings struct {
15598	_ struct{} `type:"structure"`
15599
15600	// Average bitrate in bits/second.
15601	Bitrate *float64 `locationName:"bitrate" type:"double"`
15602
15603	// The MPEG2 Audio coding mode. Valid values are codingMode10 (for mono) or
15604	// codingMode20 (for stereo).
15605	CodingMode *string `locationName:"codingMode" type:"string" enum:"Mp2CodingMode"`
15606
15607	// Sample rate in Hz.
15608	SampleRate *float64 `locationName:"sampleRate" type:"double"`
15609}
15610
15611// String returns the string representation
15612func (s Mp2Settings) String() string {
15613	return awsutil.Prettify(s)
15614}
15615
15616// GoString returns the string representation
15617func (s Mp2Settings) GoString() string {
15618	return s.String()
15619}
15620
15621// SetBitrate sets the Bitrate field's value.
15622func (s *Mp2Settings) SetBitrate(v float64) *Mp2Settings {
15623	s.Bitrate = &v
15624	return s
15625}
15626
15627// SetCodingMode sets the CodingMode field's value.
15628func (s *Mp2Settings) SetCodingMode(v string) *Mp2Settings {
15629	s.CodingMode = &v
15630	return s
15631}
15632
15633// SetSampleRate sets the SampleRate field's value.
15634func (s *Mp2Settings) SetSampleRate(v float64) *Mp2Settings {
15635	s.SampleRate = &v
15636	return s
15637}
15638
15639// Ms Smooth Group Settings
15640type MsSmoothGroupSettings struct {
15641	_ struct{} `type:"structure"`
15642
15643	// The value of the "Acquisition Point Identity" element used in each message
15644	// placed in the sparse track. Only enabled if sparseTrackType is not "none".
15645	AcquisitionPointId *string `locationName:"acquisitionPointId" type:"string"`
15646
15647	// If set to passthrough for an audio-only MS Smooth output, the fragment absolute
15648	// time will be set to the current timecode. This option does not write timecodes
15649	// to the audio elementary stream.
15650	AudioOnlyTimecodeControl *string `locationName:"audioOnlyTimecodeControl" type:"string" enum:"SmoothGroupAudioOnlyTimecodeControl"`
15651
15652	// If set to verifyAuthenticity, verify the https certificate chain to a trusted
15653	// Certificate Authority (CA). This will cause https outputs to self-signed
15654	// certificates to fail.
15655	CertificateMode *string `locationName:"certificateMode" type:"string" enum:"SmoothGroupCertificateMode"`
15656
15657	// Number of seconds to wait before retrying connection to the IIS server if
15658	// the connection is lost. Content will be cached during this time and the cache
15659	// will be be delivered to the IIS server once the connection is re-established.
15660	ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"`
15661
15662	// Smooth Streaming publish point on an IIS server. Elemental Live acts as a
15663	// "Push" encoder to IIS.
15664	//
15665	// Destination is a required field
15666	Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"`
15667
15668	// MS Smooth event ID to be sent to the IIS server.Should only be specified
15669	// if eventIdMode is set to useConfigured.
15670	EventId *string `locationName:"eventId" type:"string"`
15671
15672	// Specifies whether or not to send an event ID to the IIS server. If no event
15673	// ID is sent and the same Live Event is used without changing the publishing
15674	// point, clients might see cached video from the previous run.Options:- "useConfigured"
15675	// - use the value provided in eventId- "useTimestamp" - generate and send an
15676	// event ID based on the current timestamp- "noEventId" - do not send an event
15677	// ID to the IIS server.
15678	EventIdMode *string `locationName:"eventIdMode" type:"string" enum:"SmoothGroupEventIdMode"`
15679
15680	// When set to sendEos, send EOS signal to IIS server when stopping the event
15681	EventStopBehavior *string `locationName:"eventStopBehavior" type:"string" enum:"SmoothGroupEventStopBehavior"`
15682
15683	// Size in seconds of file cache for streaming outputs.
15684	FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"`
15685
15686	// Length of mp4 fragments to generate (in seconds). Fragment length must be
15687	// compatible with GOP size and framerate.
15688	FragmentLength *int64 `locationName:"fragmentLength" min:"1" type:"integer"`
15689
15690	// Parameter that control output group behavior on input loss.
15691	InputLossAction *string `locationName:"inputLossAction" type:"string" enum:"InputLossActionForMsSmoothOut"`
15692
15693	// Number of retry attempts.
15694	NumRetries *int64 `locationName:"numRetries" type:"integer"`
15695
15696	// Number of seconds before initiating a restart due to output failure, due
15697	// to exhausting the numRetries on one segment, or exceeding filecacheDuration.
15698	RestartDelay *int64 `locationName:"restartDelay" type:"integer"`
15699
15700	// useInputSegmentation has been deprecated. The configured segment size is
15701	// always used.
15702	SegmentationMode *string `locationName:"segmentationMode" type:"string" enum:"SmoothGroupSegmentationMode"`
15703
15704	// Number of milliseconds to delay the output from the second pipeline.
15705	SendDelayMs *int64 `locationName:"sendDelayMs" type:"integer"`
15706
15707	// If set to scte35, use incoming SCTE-35 messages to generate a sparse track
15708	// in this group of MS-Smooth outputs.
15709	SparseTrackType *string `locationName:"sparseTrackType" type:"string" enum:"SmoothGroupSparseTrackType"`
15710
15711	// When set to send, send stream manifest so publishing point doesn't start
15712	// until all streams start.
15713	StreamManifestBehavior *string `locationName:"streamManifestBehavior" type:"string" enum:"SmoothGroupStreamManifestBehavior"`
15714
15715	// Timestamp offset for the event. Only used if timestampOffsetMode is set to
15716	// useConfiguredOffset.
15717	TimestampOffset *string `locationName:"timestampOffset" type:"string"`
15718
15719	// Type of timestamp date offset to use.- useEventStartDate: Use the date the
15720	// event was started as the offset- useConfiguredOffset: Use an explicitly configured
15721	// date as the offset
15722	TimestampOffsetMode *string `locationName:"timestampOffsetMode" type:"string" enum:"SmoothGroupTimestampOffsetMode"`
15723}
15724
15725// String returns the string representation
15726func (s MsSmoothGroupSettings) String() string {
15727	return awsutil.Prettify(s)
15728}
15729
15730// GoString returns the string representation
15731func (s MsSmoothGroupSettings) GoString() string {
15732	return s.String()
15733}
15734
15735// Validate inspects the fields of the type to determine if they are valid.
15736func (s *MsSmoothGroupSettings) Validate() error {
15737	invalidParams := request.ErrInvalidParams{Context: "MsSmoothGroupSettings"}
15738	if s.Destination == nil {
15739		invalidParams.Add(request.NewErrParamRequired("Destination"))
15740	}
15741	if s.FragmentLength != nil && *s.FragmentLength < 1 {
15742		invalidParams.Add(request.NewErrParamMinValue("FragmentLength", 1))
15743	}
15744
15745	if invalidParams.Len() > 0 {
15746		return invalidParams
15747	}
15748	return nil
15749}
15750
15751// SetAcquisitionPointId sets the AcquisitionPointId field's value.
15752func (s *MsSmoothGroupSettings) SetAcquisitionPointId(v string) *MsSmoothGroupSettings {
15753	s.AcquisitionPointId = &v
15754	return s
15755}
15756
15757// SetAudioOnlyTimecodeControl sets the AudioOnlyTimecodeControl field's value.
15758func (s *MsSmoothGroupSettings) SetAudioOnlyTimecodeControl(v string) *MsSmoothGroupSettings {
15759	s.AudioOnlyTimecodeControl = &v
15760	return s
15761}
15762
15763// SetCertificateMode sets the CertificateMode field's value.
15764func (s *MsSmoothGroupSettings) SetCertificateMode(v string) *MsSmoothGroupSettings {
15765	s.CertificateMode = &v
15766	return s
15767}
15768
15769// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value.
15770func (s *MsSmoothGroupSettings) SetConnectionRetryInterval(v int64) *MsSmoothGroupSettings {
15771	s.ConnectionRetryInterval = &v
15772	return s
15773}
15774
15775// SetDestination sets the Destination field's value.
15776func (s *MsSmoothGroupSettings) SetDestination(v *OutputLocationRef) *MsSmoothGroupSettings {
15777	s.Destination = v
15778	return s
15779}
15780
15781// SetEventId sets the EventId field's value.
15782func (s *MsSmoothGroupSettings) SetEventId(v string) *MsSmoothGroupSettings {
15783	s.EventId = &v
15784	return s
15785}
15786
15787// SetEventIdMode sets the EventIdMode field's value.
15788func (s *MsSmoothGroupSettings) SetEventIdMode(v string) *MsSmoothGroupSettings {
15789	s.EventIdMode = &v
15790	return s
15791}
15792
15793// SetEventStopBehavior sets the EventStopBehavior field's value.
15794func (s *MsSmoothGroupSettings) SetEventStopBehavior(v string) *MsSmoothGroupSettings {
15795	s.EventStopBehavior = &v
15796	return s
15797}
15798
15799// SetFilecacheDuration sets the FilecacheDuration field's value.
15800func (s *MsSmoothGroupSettings) SetFilecacheDuration(v int64) *MsSmoothGroupSettings {
15801	s.FilecacheDuration = &v
15802	return s
15803}
15804
15805// SetFragmentLength sets the FragmentLength field's value.
15806func (s *MsSmoothGroupSettings) SetFragmentLength(v int64) *MsSmoothGroupSettings {
15807	s.FragmentLength = &v
15808	return s
15809}
15810
15811// SetInputLossAction sets the InputLossAction field's value.
15812func (s *MsSmoothGroupSettings) SetInputLossAction(v string) *MsSmoothGroupSettings {
15813	s.InputLossAction = &v
15814	return s
15815}
15816
15817// SetNumRetries sets the NumRetries field's value.
15818func (s *MsSmoothGroupSettings) SetNumRetries(v int64) *MsSmoothGroupSettings {
15819	s.NumRetries = &v
15820	return s
15821}
15822
15823// SetRestartDelay sets the RestartDelay field's value.
15824func (s *MsSmoothGroupSettings) SetRestartDelay(v int64) *MsSmoothGroupSettings {
15825	s.RestartDelay = &v
15826	return s
15827}
15828
15829// SetSegmentationMode sets the SegmentationMode field's value.
15830func (s *MsSmoothGroupSettings) SetSegmentationMode(v string) *MsSmoothGroupSettings {
15831	s.SegmentationMode = &v
15832	return s
15833}
15834
15835// SetSendDelayMs sets the SendDelayMs field's value.
15836func (s *MsSmoothGroupSettings) SetSendDelayMs(v int64) *MsSmoothGroupSettings {
15837	s.SendDelayMs = &v
15838	return s
15839}
15840
15841// SetSparseTrackType sets the SparseTrackType field's value.
15842func (s *MsSmoothGroupSettings) SetSparseTrackType(v string) *MsSmoothGroupSettings {
15843	s.SparseTrackType = &v
15844	return s
15845}
15846
15847// SetStreamManifestBehavior sets the StreamManifestBehavior field's value.
15848func (s *MsSmoothGroupSettings) SetStreamManifestBehavior(v string) *MsSmoothGroupSettings {
15849	s.StreamManifestBehavior = &v
15850	return s
15851}
15852
15853// SetTimestampOffset sets the TimestampOffset field's value.
15854func (s *MsSmoothGroupSettings) SetTimestampOffset(v string) *MsSmoothGroupSettings {
15855	s.TimestampOffset = &v
15856	return s
15857}
15858
15859// SetTimestampOffsetMode sets the TimestampOffsetMode field's value.
15860func (s *MsSmoothGroupSettings) SetTimestampOffsetMode(v string) *MsSmoothGroupSettings {
15861	s.TimestampOffsetMode = &v
15862	return s
15863}
15864
15865// Ms Smooth Output Settings
15866type MsSmoothOutputSettings struct {
15867	_ struct{} `type:"structure"`
15868
15869	// Only applicable when this output is referencing an H.265 video description.Specifies
15870	// whether MP4 segments should be packaged as HEV1 or HVC1.
15871	H265PackagingType *string `locationName:"h265PackagingType" type:"string" enum:"MsSmoothH265PackagingType"`
15872
15873	// String concatenated to the end of the destination filename. Required for
15874	// multiple outputs of the same type.
15875	NameModifier *string `locationName:"nameModifier" type:"string"`
15876}
15877
15878// String returns the string representation
15879func (s MsSmoothOutputSettings) String() string {
15880	return awsutil.Prettify(s)
15881}
15882
15883// GoString returns the string representation
15884func (s MsSmoothOutputSettings) GoString() string {
15885	return s.String()
15886}
15887
15888// SetH265PackagingType sets the H265PackagingType field's value.
15889func (s *MsSmoothOutputSettings) SetH265PackagingType(v string) *MsSmoothOutputSettings {
15890	s.H265PackagingType = &v
15891	return s
15892}
15893
15894// SetNameModifier sets the NameModifier field's value.
15895func (s *MsSmoothOutputSettings) SetNameModifier(v string) *MsSmoothOutputSettings {
15896	s.NameModifier = &v
15897	return s
15898}
15899
15900// The multiplex object.
15901type Multiplex struct {
15902	_ struct{} `type:"structure"`
15903
15904	// The unique arn of the multiplex.
15905	Arn *string `locationName:"arn" type:"string"`
15906
15907	// A list of availability zones for the multiplex.
15908	AvailabilityZones []*string `locationName:"availabilityZones" type:"list"`
15909
15910	// A list of the multiplex output destinations.
15911	Destinations []*MultiplexOutputDestination `locationName:"destinations" type:"list"`
15912
15913	// The unique id of the multiplex.
15914	Id *string `locationName:"id" type:"string"`
15915
15916	// Configuration for a multiplex event.
15917	MultiplexSettings *MultiplexSettings `locationName:"multiplexSettings" type:"structure"`
15918
15919	// The name of the multiplex.
15920	Name *string `locationName:"name" type:"string"`
15921
15922	// The number of currently healthy pipelines.
15923	PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"`
15924
15925	// The number of programs in the multiplex.
15926	ProgramCount *int64 `locationName:"programCount" type:"integer"`
15927
15928	// The current state of the multiplex.
15929	State *string `locationName:"state" type:"string" enum:"MultiplexState"`
15930
15931	// A collection of key-value pairs.
15932	Tags map[string]*string `locationName:"tags" type:"map"`
15933}
15934
15935// String returns the string representation
15936func (s Multiplex) String() string {
15937	return awsutil.Prettify(s)
15938}
15939
15940// GoString returns the string representation
15941func (s Multiplex) GoString() string {
15942	return s.String()
15943}
15944
15945// SetArn sets the Arn field's value.
15946func (s *Multiplex) SetArn(v string) *Multiplex {
15947	s.Arn = &v
15948	return s
15949}
15950
15951// SetAvailabilityZones sets the AvailabilityZones field's value.
15952func (s *Multiplex) SetAvailabilityZones(v []*string) *Multiplex {
15953	s.AvailabilityZones = v
15954	return s
15955}
15956
15957// SetDestinations sets the Destinations field's value.
15958func (s *Multiplex) SetDestinations(v []*MultiplexOutputDestination) *Multiplex {
15959	s.Destinations = v
15960	return s
15961}
15962
15963// SetId sets the Id field's value.
15964func (s *Multiplex) SetId(v string) *Multiplex {
15965	s.Id = &v
15966	return s
15967}
15968
15969// SetMultiplexSettings sets the MultiplexSettings field's value.
15970func (s *Multiplex) SetMultiplexSettings(v *MultiplexSettings) *Multiplex {
15971	s.MultiplexSettings = v
15972	return s
15973}
15974
15975// SetName sets the Name field's value.
15976func (s *Multiplex) SetName(v string) *Multiplex {
15977	s.Name = &v
15978	return s
15979}
15980
15981// SetPipelinesRunningCount sets the PipelinesRunningCount field's value.
15982func (s *Multiplex) SetPipelinesRunningCount(v int64) *Multiplex {
15983	s.PipelinesRunningCount = &v
15984	return s
15985}
15986
15987// SetProgramCount sets the ProgramCount field's value.
15988func (s *Multiplex) SetProgramCount(v int64) *Multiplex {
15989	s.ProgramCount = &v
15990	return s
15991}
15992
15993// SetState sets the State field's value.
15994func (s *Multiplex) SetState(v string) *Multiplex {
15995	s.State = &v
15996	return s
15997}
15998
15999// SetTags sets the Tags field's value.
16000func (s *Multiplex) SetTags(v map[string]*string) *Multiplex {
16001	s.Tags = v
16002	return s
16003}
16004
16005// Multiplex Group Settings
16006type MultiplexGroupSettings struct {
16007	_ struct{} `type:"structure"`
16008}
16009
16010// String returns the string representation
16011func (s MultiplexGroupSettings) String() string {
16012	return awsutil.Prettify(s)
16013}
16014
16015// GoString returns the string representation
16016func (s MultiplexGroupSettings) GoString() string {
16017	return s.String()
16018}
16019
16020// Multiplex MediaConnect output destination settings.
16021type MultiplexMediaConnectOutputDestinationSettings struct {
16022	_ struct{} `type:"structure"`
16023
16024	// The MediaConnect entitlement ARN available as a Flow source.
16025	EntitlementArn *string `locationName:"entitlementArn" min:"1" type:"string"`
16026}
16027
16028// String returns the string representation
16029func (s MultiplexMediaConnectOutputDestinationSettings) String() string {
16030	return awsutil.Prettify(s)
16031}
16032
16033// GoString returns the string representation
16034func (s MultiplexMediaConnectOutputDestinationSettings) GoString() string {
16035	return s.String()
16036}
16037
16038// SetEntitlementArn sets the EntitlementArn field's value.
16039func (s *MultiplexMediaConnectOutputDestinationSettings) SetEntitlementArn(v string) *MultiplexMediaConnectOutputDestinationSettings {
16040	s.EntitlementArn = &v
16041	return s
16042}
16043
16044// Multiplex output destination settings
16045type MultiplexOutputDestination struct {
16046	_ struct{} `type:"structure"`
16047
16048	// Multiplex MediaConnect output destination settings.
16049	MediaConnectSettings *MultiplexMediaConnectOutputDestinationSettings `locationName:"mediaConnectSettings" type:"structure"`
16050}
16051
16052// String returns the string representation
16053func (s MultiplexOutputDestination) String() string {
16054	return awsutil.Prettify(s)
16055}
16056
16057// GoString returns the string representation
16058func (s MultiplexOutputDestination) GoString() string {
16059	return s.String()
16060}
16061
16062// SetMediaConnectSettings sets the MediaConnectSettings field's value.
16063func (s *MultiplexOutputDestination) SetMediaConnectSettings(v *MultiplexMediaConnectOutputDestinationSettings) *MultiplexOutputDestination {
16064	s.MediaConnectSettings = v
16065	return s
16066}
16067
16068// Multiplex Output Settings
16069type MultiplexOutputSettings struct {
16070	_ struct{} `type:"structure"`
16071
16072	// Destination is a Multiplex.
16073	//
16074	// Destination is a required field
16075	Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"`
16076}
16077
16078// String returns the string representation
16079func (s MultiplexOutputSettings) String() string {
16080	return awsutil.Prettify(s)
16081}
16082
16083// GoString returns the string representation
16084func (s MultiplexOutputSettings) GoString() string {
16085	return s.String()
16086}
16087
16088// Validate inspects the fields of the type to determine if they are valid.
16089func (s *MultiplexOutputSettings) Validate() error {
16090	invalidParams := request.ErrInvalidParams{Context: "MultiplexOutputSettings"}
16091	if s.Destination == nil {
16092		invalidParams.Add(request.NewErrParamRequired("Destination"))
16093	}
16094
16095	if invalidParams.Len() > 0 {
16096		return invalidParams
16097	}
16098	return nil
16099}
16100
16101// SetDestination sets the Destination field's value.
16102func (s *MultiplexOutputSettings) SetDestination(v *OutputLocationRef) *MultiplexOutputSettings {
16103	s.Destination = v
16104	return s
16105}
16106
16107// The multiplex program object.
16108type MultiplexProgram struct {
16109	_ struct{} `type:"structure"`
16110
16111	// The MediaLive channel associated with the program.
16112	ChannelId *string `locationName:"channelId" type:"string"`
16113
16114	// The settings for this multiplex program.
16115	MultiplexProgramSettings *MultiplexProgramSettings `locationName:"multiplexProgramSettings" type:"structure"`
16116
16117	// The packet identifier map for this multiplex program.
16118	PacketIdentifiersMap *MultiplexProgramPacketIdentifiersMap `locationName:"packetIdentifiersMap" type:"structure"`
16119
16120	// The name of the multiplex program.
16121	ProgramName *string `locationName:"programName" type:"string"`
16122}
16123
16124// String returns the string representation
16125func (s MultiplexProgram) String() string {
16126	return awsutil.Prettify(s)
16127}
16128
16129// GoString returns the string representation
16130func (s MultiplexProgram) GoString() string {
16131	return s.String()
16132}
16133
16134// SetChannelId sets the ChannelId field's value.
16135func (s *MultiplexProgram) SetChannelId(v string) *MultiplexProgram {
16136	s.ChannelId = &v
16137	return s
16138}
16139
16140// SetMultiplexProgramSettings sets the MultiplexProgramSettings field's value.
16141func (s *MultiplexProgram) SetMultiplexProgramSettings(v *MultiplexProgramSettings) *MultiplexProgram {
16142	s.MultiplexProgramSettings = v
16143	return s
16144}
16145
16146// SetPacketIdentifiersMap sets the PacketIdentifiersMap field's value.
16147func (s *MultiplexProgram) SetPacketIdentifiersMap(v *MultiplexProgramPacketIdentifiersMap) *MultiplexProgram {
16148	s.PacketIdentifiersMap = v
16149	return s
16150}
16151
16152// SetProgramName sets the ProgramName field's value.
16153func (s *MultiplexProgram) SetProgramName(v string) *MultiplexProgram {
16154	s.ProgramName = &v
16155	return s
16156}
16157
16158// Multiplex Program Input Destination Settings for outputting a Channel to
16159// a Multiplex
16160type MultiplexProgramChannelDestinationSettings struct {
16161	_ struct{} `type:"structure"`
16162
16163	// The ID of the Multiplex that the encoder is providing output to. You do not
16164	// need to specify the individual inputs to the Multiplex; MediaLive will handle
16165	// the connection of the two MediaLive pipelines to the two Multiplex instances.The
16166	// Multiplex must be in the same region as the Channel.
16167	MultiplexId *string `locationName:"multiplexId" min:"1" type:"string"`
16168
16169	// The program name of the Multiplex program that the encoder is providing output
16170	// to.
16171	ProgramName *string `locationName:"programName" min:"1" type:"string"`
16172}
16173
16174// String returns the string representation
16175func (s MultiplexProgramChannelDestinationSettings) String() string {
16176	return awsutil.Prettify(s)
16177}
16178
16179// GoString returns the string representation
16180func (s MultiplexProgramChannelDestinationSettings) GoString() string {
16181	return s.String()
16182}
16183
16184// Validate inspects the fields of the type to determine if they are valid.
16185func (s *MultiplexProgramChannelDestinationSettings) Validate() error {
16186	invalidParams := request.ErrInvalidParams{Context: "MultiplexProgramChannelDestinationSettings"}
16187	if s.MultiplexId != nil && len(*s.MultiplexId) < 1 {
16188		invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1))
16189	}
16190	if s.ProgramName != nil && len(*s.ProgramName) < 1 {
16191		invalidParams.Add(request.NewErrParamMinLen("ProgramName", 1))
16192	}
16193
16194	if invalidParams.Len() > 0 {
16195		return invalidParams
16196	}
16197	return nil
16198}
16199
16200// SetMultiplexId sets the MultiplexId field's value.
16201func (s *MultiplexProgramChannelDestinationSettings) SetMultiplexId(v string) *MultiplexProgramChannelDestinationSettings {
16202	s.MultiplexId = &v
16203	return s
16204}
16205
16206// SetProgramName sets the ProgramName field's value.
16207func (s *MultiplexProgramChannelDestinationSettings) SetProgramName(v string) *MultiplexProgramChannelDestinationSettings {
16208	s.ProgramName = &v
16209	return s
16210}
16211
16212// Packet identifiers map for a given Multiplex program.
16213type MultiplexProgramPacketIdentifiersMap struct {
16214	_ struct{} `type:"structure"`
16215
16216	AudioPids []*int64 `locationName:"audioPids" type:"list"`
16217
16218	DvbSubPids []*int64 `locationName:"dvbSubPids" type:"list"`
16219
16220	DvbTeletextPid *int64 `locationName:"dvbTeletextPid" type:"integer"`
16221
16222	EtvPlatformPid *int64 `locationName:"etvPlatformPid" type:"integer"`
16223
16224	EtvSignalPid *int64 `locationName:"etvSignalPid" type:"integer"`
16225
16226	KlvDataPids []*int64 `locationName:"klvDataPids" type:"list"`
16227
16228	PcrPid *int64 `locationName:"pcrPid" type:"integer"`
16229
16230	PmtPid *int64 `locationName:"pmtPid" type:"integer"`
16231
16232	PrivateMetadataPid *int64 `locationName:"privateMetadataPid" type:"integer"`
16233
16234	Scte27Pids []*int64 `locationName:"scte27Pids" type:"list"`
16235
16236	Scte35Pid *int64 `locationName:"scte35Pid" type:"integer"`
16237
16238	TimedMetadataPid *int64 `locationName:"timedMetadataPid" type:"integer"`
16239
16240	VideoPid *int64 `locationName:"videoPid" type:"integer"`
16241}
16242
16243// String returns the string representation
16244func (s MultiplexProgramPacketIdentifiersMap) String() string {
16245	return awsutil.Prettify(s)
16246}
16247
16248// GoString returns the string representation
16249func (s MultiplexProgramPacketIdentifiersMap) GoString() string {
16250	return s.String()
16251}
16252
16253// SetAudioPids sets the AudioPids field's value.
16254func (s *MultiplexProgramPacketIdentifiersMap) SetAudioPids(v []*int64) *MultiplexProgramPacketIdentifiersMap {
16255	s.AudioPids = v
16256	return s
16257}
16258
16259// SetDvbSubPids sets the DvbSubPids field's value.
16260func (s *MultiplexProgramPacketIdentifiersMap) SetDvbSubPids(v []*int64) *MultiplexProgramPacketIdentifiersMap {
16261	s.DvbSubPids = v
16262	return s
16263}
16264
16265// SetDvbTeletextPid sets the DvbTeletextPid field's value.
16266func (s *MultiplexProgramPacketIdentifiersMap) SetDvbTeletextPid(v int64) *MultiplexProgramPacketIdentifiersMap {
16267	s.DvbTeletextPid = &v
16268	return s
16269}
16270
16271// SetEtvPlatformPid sets the EtvPlatformPid field's value.
16272func (s *MultiplexProgramPacketIdentifiersMap) SetEtvPlatformPid(v int64) *MultiplexProgramPacketIdentifiersMap {
16273	s.EtvPlatformPid = &v
16274	return s
16275}
16276
16277// SetEtvSignalPid sets the EtvSignalPid field's value.
16278func (s *MultiplexProgramPacketIdentifiersMap) SetEtvSignalPid(v int64) *MultiplexProgramPacketIdentifiersMap {
16279	s.EtvSignalPid = &v
16280	return s
16281}
16282
16283// SetKlvDataPids sets the KlvDataPids field's value.
16284func (s *MultiplexProgramPacketIdentifiersMap) SetKlvDataPids(v []*int64) *MultiplexProgramPacketIdentifiersMap {
16285	s.KlvDataPids = v
16286	return s
16287}
16288
16289// SetPcrPid sets the PcrPid field's value.
16290func (s *MultiplexProgramPacketIdentifiersMap) SetPcrPid(v int64) *MultiplexProgramPacketIdentifiersMap {
16291	s.PcrPid = &v
16292	return s
16293}
16294
16295// SetPmtPid sets the PmtPid field's value.
16296func (s *MultiplexProgramPacketIdentifiersMap) SetPmtPid(v int64) *MultiplexProgramPacketIdentifiersMap {
16297	s.PmtPid = &v
16298	return s
16299}
16300
16301// SetPrivateMetadataPid sets the PrivateMetadataPid field's value.
16302func (s *MultiplexProgramPacketIdentifiersMap) SetPrivateMetadataPid(v int64) *MultiplexProgramPacketIdentifiersMap {
16303	s.PrivateMetadataPid = &v
16304	return s
16305}
16306
16307// SetScte27Pids sets the Scte27Pids field's value.
16308func (s *MultiplexProgramPacketIdentifiersMap) SetScte27Pids(v []*int64) *MultiplexProgramPacketIdentifiersMap {
16309	s.Scte27Pids = v
16310	return s
16311}
16312
16313// SetScte35Pid sets the Scte35Pid field's value.
16314func (s *MultiplexProgramPacketIdentifiersMap) SetScte35Pid(v int64) *MultiplexProgramPacketIdentifiersMap {
16315	s.Scte35Pid = &v
16316	return s
16317}
16318
16319// SetTimedMetadataPid sets the TimedMetadataPid field's value.
16320func (s *MultiplexProgramPacketIdentifiersMap) SetTimedMetadataPid(v int64) *MultiplexProgramPacketIdentifiersMap {
16321	s.TimedMetadataPid = &v
16322	return s
16323}
16324
16325// SetVideoPid sets the VideoPid field's value.
16326func (s *MultiplexProgramPacketIdentifiersMap) SetVideoPid(v int64) *MultiplexProgramPacketIdentifiersMap {
16327	s.VideoPid = &v
16328	return s
16329}
16330
16331// Transport stream service descriptor configuration for the Multiplex program.
16332type MultiplexProgramServiceDescriptor struct {
16333	_ struct{} `type:"structure"`
16334
16335	// Name of the provider.
16336	//
16337	// ProviderName is a required field
16338	ProviderName *string `locationName:"providerName" type:"string" required:"true"`
16339
16340	// Name of the service.
16341	//
16342	// ServiceName is a required field
16343	ServiceName *string `locationName:"serviceName" type:"string" required:"true"`
16344}
16345
16346// String returns the string representation
16347func (s MultiplexProgramServiceDescriptor) String() string {
16348	return awsutil.Prettify(s)
16349}
16350
16351// GoString returns the string representation
16352func (s MultiplexProgramServiceDescriptor) GoString() string {
16353	return s.String()
16354}
16355
16356// Validate inspects the fields of the type to determine if they are valid.
16357func (s *MultiplexProgramServiceDescriptor) Validate() error {
16358	invalidParams := request.ErrInvalidParams{Context: "MultiplexProgramServiceDescriptor"}
16359	if s.ProviderName == nil {
16360		invalidParams.Add(request.NewErrParamRequired("ProviderName"))
16361	}
16362	if s.ServiceName == nil {
16363		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
16364	}
16365
16366	if invalidParams.Len() > 0 {
16367		return invalidParams
16368	}
16369	return nil
16370}
16371
16372// SetProviderName sets the ProviderName field's value.
16373func (s *MultiplexProgramServiceDescriptor) SetProviderName(v string) *MultiplexProgramServiceDescriptor {
16374	s.ProviderName = &v
16375	return s
16376}
16377
16378// SetServiceName sets the ServiceName field's value.
16379func (s *MultiplexProgramServiceDescriptor) SetServiceName(v string) *MultiplexProgramServiceDescriptor {
16380	s.ServiceName = &v
16381	return s
16382}
16383
16384// Multiplex Program settings configuration.
16385type MultiplexProgramSettings struct {
16386	_ struct{} `type:"structure"`
16387
16388	// Unique program number.
16389	//
16390	// ProgramNumber is a required field
16391	ProgramNumber *int64 `locationName:"programNumber" type:"integer" required:"true"`
16392
16393	// Transport stream service descriptor configuration for the Multiplex program.
16394	ServiceDescriptor *MultiplexProgramServiceDescriptor `locationName:"serviceDescriptor" type:"structure"`
16395
16396	// Program video settings configuration.
16397	VideoSettings *MultiplexVideoSettings `locationName:"videoSettings" type:"structure"`
16398}
16399
16400// String returns the string representation
16401func (s MultiplexProgramSettings) String() string {
16402	return awsutil.Prettify(s)
16403}
16404
16405// GoString returns the string representation
16406func (s MultiplexProgramSettings) GoString() string {
16407	return s.String()
16408}
16409
16410// Validate inspects the fields of the type to determine if they are valid.
16411func (s *MultiplexProgramSettings) Validate() error {
16412	invalidParams := request.ErrInvalidParams{Context: "MultiplexProgramSettings"}
16413	if s.ProgramNumber == nil {
16414		invalidParams.Add(request.NewErrParamRequired("ProgramNumber"))
16415	}
16416	if s.ServiceDescriptor != nil {
16417		if err := s.ServiceDescriptor.Validate(); err != nil {
16418			invalidParams.AddNested("ServiceDescriptor", err.(request.ErrInvalidParams))
16419		}
16420	}
16421	if s.VideoSettings != nil {
16422		if err := s.VideoSettings.Validate(); err != nil {
16423			invalidParams.AddNested("VideoSettings", err.(request.ErrInvalidParams))
16424		}
16425	}
16426
16427	if invalidParams.Len() > 0 {
16428		return invalidParams
16429	}
16430	return nil
16431}
16432
16433// SetProgramNumber sets the ProgramNumber field's value.
16434func (s *MultiplexProgramSettings) SetProgramNumber(v int64) *MultiplexProgramSettings {
16435	s.ProgramNumber = &v
16436	return s
16437}
16438
16439// SetServiceDescriptor sets the ServiceDescriptor field's value.
16440func (s *MultiplexProgramSettings) SetServiceDescriptor(v *MultiplexProgramServiceDescriptor) *MultiplexProgramSettings {
16441	s.ServiceDescriptor = v
16442	return s
16443}
16444
16445// SetVideoSettings sets the VideoSettings field's value.
16446func (s *MultiplexProgramSettings) SetVideoSettings(v *MultiplexVideoSettings) *MultiplexProgramSettings {
16447	s.VideoSettings = v
16448	return s
16449}
16450
16451type MultiplexProgramSummary struct {
16452	_ struct{} `type:"structure"`
16453
16454	// The MediaLive Channel associated with the program.
16455	ChannelId *string `locationName:"channelId" type:"string"`
16456
16457	// The name of the multiplex program.
16458	ProgramName *string `locationName:"programName" type:"string"`
16459}
16460
16461// String returns the string representation
16462func (s MultiplexProgramSummary) String() string {
16463	return awsutil.Prettify(s)
16464}
16465
16466// GoString returns the string representation
16467func (s MultiplexProgramSummary) GoString() string {
16468	return s.String()
16469}
16470
16471// SetChannelId sets the ChannelId field's value.
16472func (s *MultiplexProgramSummary) SetChannelId(v string) *MultiplexProgramSummary {
16473	s.ChannelId = &v
16474	return s
16475}
16476
16477// SetProgramName sets the ProgramName field's value.
16478func (s *MultiplexProgramSummary) SetProgramName(v string) *MultiplexProgramSummary {
16479	s.ProgramName = &v
16480	return s
16481}
16482
16483// Contains configuration for a Multiplex event
16484type MultiplexSettings struct {
16485	_ struct{} `type:"structure"`
16486
16487	// Maximum video buffer delay in milliseconds.
16488	MaximumVideoBufferDelayMilliseconds *int64 `locationName:"maximumVideoBufferDelayMilliseconds" min:"1000" type:"integer"`
16489
16490	// Transport stream bit rate.
16491	//
16492	// TransportStreamBitrate is a required field
16493	TransportStreamBitrate *int64 `locationName:"transportStreamBitrate" min:"1e+06" type:"integer" required:"true"`
16494
16495	// Transport stream ID.
16496	//
16497	// TransportStreamId is a required field
16498	TransportStreamId *int64 `locationName:"transportStreamId" type:"integer" required:"true"`
16499
16500	// Transport stream reserved bit rate.
16501	TransportStreamReservedBitrate *int64 `locationName:"transportStreamReservedBitrate" type:"integer"`
16502}
16503
16504// String returns the string representation
16505func (s MultiplexSettings) String() string {
16506	return awsutil.Prettify(s)
16507}
16508
16509// GoString returns the string representation
16510func (s MultiplexSettings) GoString() string {
16511	return s.String()
16512}
16513
16514// Validate inspects the fields of the type to determine if they are valid.
16515func (s *MultiplexSettings) Validate() error {
16516	invalidParams := request.ErrInvalidParams{Context: "MultiplexSettings"}
16517	if s.MaximumVideoBufferDelayMilliseconds != nil && *s.MaximumVideoBufferDelayMilliseconds < 1000 {
16518		invalidParams.Add(request.NewErrParamMinValue("MaximumVideoBufferDelayMilliseconds", 1000))
16519	}
16520	if s.TransportStreamBitrate == nil {
16521		invalidParams.Add(request.NewErrParamRequired("TransportStreamBitrate"))
16522	}
16523	if s.TransportStreamBitrate != nil && *s.TransportStreamBitrate < 1e+06 {
16524		invalidParams.Add(request.NewErrParamMinValue("TransportStreamBitrate", 1e+06))
16525	}
16526	if s.TransportStreamId == nil {
16527		invalidParams.Add(request.NewErrParamRequired("TransportStreamId"))
16528	}
16529
16530	if invalidParams.Len() > 0 {
16531		return invalidParams
16532	}
16533	return nil
16534}
16535
16536// SetMaximumVideoBufferDelayMilliseconds sets the MaximumVideoBufferDelayMilliseconds field's value.
16537func (s *MultiplexSettings) SetMaximumVideoBufferDelayMilliseconds(v int64) *MultiplexSettings {
16538	s.MaximumVideoBufferDelayMilliseconds = &v
16539	return s
16540}
16541
16542// SetTransportStreamBitrate sets the TransportStreamBitrate field's value.
16543func (s *MultiplexSettings) SetTransportStreamBitrate(v int64) *MultiplexSettings {
16544	s.TransportStreamBitrate = &v
16545	return s
16546}
16547
16548// SetTransportStreamId sets the TransportStreamId field's value.
16549func (s *MultiplexSettings) SetTransportStreamId(v int64) *MultiplexSettings {
16550	s.TransportStreamId = &v
16551	return s
16552}
16553
16554// SetTransportStreamReservedBitrate sets the TransportStreamReservedBitrate field's value.
16555func (s *MultiplexSettings) SetTransportStreamReservedBitrate(v int64) *MultiplexSettings {
16556	s.TransportStreamReservedBitrate = &v
16557	return s
16558}
16559
16560// Contains summary configuration for a Multiplex event.
16561type MultiplexSettingsSummary struct {
16562	_ struct{} `type:"structure"`
16563
16564	// Transport stream bit rate.
16565	TransportStreamBitrate *int64 `locationName:"transportStreamBitrate" min:"1e+06" type:"integer"`
16566}
16567
16568// String returns the string representation
16569func (s MultiplexSettingsSummary) String() string {
16570	return awsutil.Prettify(s)
16571}
16572
16573// GoString returns the string representation
16574func (s MultiplexSettingsSummary) GoString() string {
16575	return s.String()
16576}
16577
16578// SetTransportStreamBitrate sets the TransportStreamBitrate field's value.
16579func (s *MultiplexSettingsSummary) SetTransportStreamBitrate(v int64) *MultiplexSettingsSummary {
16580	s.TransportStreamBitrate = &v
16581	return s
16582}
16583
16584// Statmux rate control settings
16585type MultiplexStatmuxVideoSettings struct {
16586	_ struct{} `type:"structure"`
16587
16588	// Maximum statmux bitrate.
16589	MaximumBitrate *int64 `locationName:"maximumBitrate" min:"100000" type:"integer"`
16590
16591	// Minimum statmux bitrate.
16592	MinimumBitrate *int64 `locationName:"minimumBitrate" min:"100000" type:"integer"`
16593}
16594
16595// String returns the string representation
16596func (s MultiplexStatmuxVideoSettings) String() string {
16597	return awsutil.Prettify(s)
16598}
16599
16600// GoString returns the string representation
16601func (s MultiplexStatmuxVideoSettings) GoString() string {
16602	return s.String()
16603}
16604
16605// Validate inspects the fields of the type to determine if they are valid.
16606func (s *MultiplexStatmuxVideoSettings) Validate() error {
16607	invalidParams := request.ErrInvalidParams{Context: "MultiplexStatmuxVideoSettings"}
16608	if s.MaximumBitrate != nil && *s.MaximumBitrate < 100000 {
16609		invalidParams.Add(request.NewErrParamMinValue("MaximumBitrate", 100000))
16610	}
16611	if s.MinimumBitrate != nil && *s.MinimumBitrate < 100000 {
16612		invalidParams.Add(request.NewErrParamMinValue("MinimumBitrate", 100000))
16613	}
16614
16615	if invalidParams.Len() > 0 {
16616		return invalidParams
16617	}
16618	return nil
16619}
16620
16621// SetMaximumBitrate sets the MaximumBitrate field's value.
16622func (s *MultiplexStatmuxVideoSettings) SetMaximumBitrate(v int64) *MultiplexStatmuxVideoSettings {
16623	s.MaximumBitrate = &v
16624	return s
16625}
16626
16627// SetMinimumBitrate sets the MinimumBitrate field's value.
16628func (s *MultiplexStatmuxVideoSettings) SetMinimumBitrate(v int64) *MultiplexStatmuxVideoSettings {
16629	s.MinimumBitrate = &v
16630	return s
16631}
16632
16633type MultiplexSummary struct {
16634	_ struct{} `type:"structure"`
16635
16636	// The unique arn of the multiplex.
16637	Arn *string `locationName:"arn" type:"string"`
16638
16639	// A list of availability zones for the multiplex.
16640	AvailabilityZones []*string `locationName:"availabilityZones" type:"list"`
16641
16642	// The unique id of the multiplex.
16643	Id *string `locationName:"id" type:"string"`
16644
16645	// Configuration for a multiplex event.
16646	MultiplexSettings *MultiplexSettingsSummary `locationName:"multiplexSettings" type:"structure"`
16647
16648	// The name of the multiplex.
16649	Name *string `locationName:"name" type:"string"`
16650
16651	// The number of currently healthy pipelines.
16652	PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"`
16653
16654	// The number of programs in the multiplex.
16655	ProgramCount *int64 `locationName:"programCount" type:"integer"`
16656
16657	// The current state of the multiplex.
16658	State *string `locationName:"state" type:"string" enum:"MultiplexState"`
16659
16660	// A collection of key-value pairs.
16661	Tags map[string]*string `locationName:"tags" type:"map"`
16662}
16663
16664// String returns the string representation
16665func (s MultiplexSummary) String() string {
16666	return awsutil.Prettify(s)
16667}
16668
16669// GoString returns the string representation
16670func (s MultiplexSummary) GoString() string {
16671	return s.String()
16672}
16673
16674// SetArn sets the Arn field's value.
16675func (s *MultiplexSummary) SetArn(v string) *MultiplexSummary {
16676	s.Arn = &v
16677	return s
16678}
16679
16680// SetAvailabilityZones sets the AvailabilityZones field's value.
16681func (s *MultiplexSummary) SetAvailabilityZones(v []*string) *MultiplexSummary {
16682	s.AvailabilityZones = v
16683	return s
16684}
16685
16686// SetId sets the Id field's value.
16687func (s *MultiplexSummary) SetId(v string) *MultiplexSummary {
16688	s.Id = &v
16689	return s
16690}
16691
16692// SetMultiplexSettings sets the MultiplexSettings field's value.
16693func (s *MultiplexSummary) SetMultiplexSettings(v *MultiplexSettingsSummary) *MultiplexSummary {
16694	s.MultiplexSettings = v
16695	return s
16696}
16697
16698// SetName sets the Name field's value.
16699func (s *MultiplexSummary) SetName(v string) *MultiplexSummary {
16700	s.Name = &v
16701	return s
16702}
16703
16704// SetPipelinesRunningCount sets the PipelinesRunningCount field's value.
16705func (s *MultiplexSummary) SetPipelinesRunningCount(v int64) *MultiplexSummary {
16706	s.PipelinesRunningCount = &v
16707	return s
16708}
16709
16710// SetProgramCount sets the ProgramCount field's value.
16711func (s *MultiplexSummary) SetProgramCount(v int64) *MultiplexSummary {
16712	s.ProgramCount = &v
16713	return s
16714}
16715
16716// SetState sets the State field's value.
16717func (s *MultiplexSummary) SetState(v string) *MultiplexSummary {
16718	s.State = &v
16719	return s
16720}
16721
16722// SetTags sets the Tags field's value.
16723func (s *MultiplexSummary) SetTags(v map[string]*string) *MultiplexSummary {
16724	s.Tags = v
16725	return s
16726}
16727
16728// The video configuration for each program in a multiplex.
16729type MultiplexVideoSettings struct {
16730	_ struct{} `type:"structure"`
16731
16732	// The constant bitrate configuration for the video encode.When this field is
16733	// defined, StatmuxSettings must be undefined.
16734	ConstantBitrate *int64 `locationName:"constantBitrate" min:"100000" type:"integer"`
16735
16736	// Statmux rate control settings.When this field is defined, ConstantBitrate
16737	// must be undefined.
16738	StatmuxSettings *MultiplexStatmuxVideoSettings `locationName:"statmuxSettings" type:"structure"`
16739}
16740
16741// String returns the string representation
16742func (s MultiplexVideoSettings) String() string {
16743	return awsutil.Prettify(s)
16744}
16745
16746// GoString returns the string representation
16747func (s MultiplexVideoSettings) GoString() string {
16748	return s.String()
16749}
16750
16751// Validate inspects the fields of the type to determine if they are valid.
16752func (s *MultiplexVideoSettings) Validate() error {
16753	invalidParams := request.ErrInvalidParams{Context: "MultiplexVideoSettings"}
16754	if s.ConstantBitrate != nil && *s.ConstantBitrate < 100000 {
16755		invalidParams.Add(request.NewErrParamMinValue("ConstantBitrate", 100000))
16756	}
16757	if s.StatmuxSettings != nil {
16758		if err := s.StatmuxSettings.Validate(); err != nil {
16759			invalidParams.AddNested("StatmuxSettings", err.(request.ErrInvalidParams))
16760		}
16761	}
16762
16763	if invalidParams.Len() > 0 {
16764		return invalidParams
16765	}
16766	return nil
16767}
16768
16769// SetConstantBitrate sets the ConstantBitrate field's value.
16770func (s *MultiplexVideoSettings) SetConstantBitrate(v int64) *MultiplexVideoSettings {
16771	s.ConstantBitrate = &v
16772	return s
16773}
16774
16775// SetStatmuxSettings sets the StatmuxSettings field's value.
16776func (s *MultiplexVideoSettings) SetStatmuxSettings(v *MultiplexStatmuxVideoSettings) *MultiplexVideoSettings {
16777	s.StatmuxSettings = v
16778	return s
16779}
16780
16781// Network source to transcode. Must be accessible to the Elemental Live node
16782// that is running the live event through a network connection.
16783type NetworkInputSettings struct {
16784	_ struct{} `type:"structure"`
16785
16786	// Specifies HLS input settings when the uri is for a HLS manifest.
16787	HlsInputSettings *HlsInputSettings `locationName:"hlsInputSettings" type:"structure"`
16788
16789	// Check HTTPS server certificates. When set to checkCryptographyOnly, cryptography
16790	// in the certificate will be checked, but not the server's name. Certain subdomains
16791	// (notably S3 buckets that use dots in the bucket name) do not strictly match
16792	// the corresponding certificate's wildcard pattern and would otherwise cause
16793	// the event to error. This setting is ignored for protocols that do not use
16794	// https.
16795	ServerValidation *string `locationName:"serverValidation" type:"string" enum:"NetworkInputServerValidation"`
16796}
16797
16798// String returns the string representation
16799func (s NetworkInputSettings) String() string {
16800	return awsutil.Prettify(s)
16801}
16802
16803// GoString returns the string representation
16804func (s NetworkInputSettings) GoString() string {
16805	return s.String()
16806}
16807
16808// SetHlsInputSettings sets the HlsInputSettings field's value.
16809func (s *NetworkInputSettings) SetHlsInputSettings(v *HlsInputSettings) *NetworkInputSettings {
16810	s.HlsInputSettings = v
16811	return s
16812}
16813
16814// SetServerValidation sets the ServerValidation field's value.
16815func (s *NetworkInputSettings) SetServerValidation(v string) *NetworkInputSettings {
16816	s.ServerValidation = &v
16817	return s
16818}
16819
16820// Nielsen Configuration
16821type NielsenConfiguration struct {
16822	_ struct{} `type:"structure"`
16823
16824	// Enter the Distributor ID assigned to your organization by Nielsen.
16825	DistributorId *string `locationName:"distributorId" type:"string"`
16826
16827	// Enables Nielsen PCM to ID3 tagging
16828	NielsenPcmToId3Tagging *string `locationName:"nielsenPcmToId3Tagging" type:"string" enum:"NielsenPcmToId3TaggingState"`
16829}
16830
16831// String returns the string representation
16832func (s NielsenConfiguration) String() string {
16833	return awsutil.Prettify(s)
16834}
16835
16836// GoString returns the string representation
16837func (s NielsenConfiguration) GoString() string {
16838	return s.String()
16839}
16840
16841// SetDistributorId sets the DistributorId field's value.
16842func (s *NielsenConfiguration) SetDistributorId(v string) *NielsenConfiguration {
16843	s.DistributorId = &v
16844	return s
16845}
16846
16847// SetNielsenPcmToId3Tagging sets the NielsenPcmToId3Tagging field's value.
16848func (s *NielsenConfiguration) SetNielsenPcmToId3Tagging(v string) *NielsenConfiguration {
16849	s.NielsenPcmToId3Tagging = &v
16850	return s
16851}
16852
16853// Reserved resources available for purchase
16854type Offering struct {
16855	_ struct{} `type:"structure"`
16856
16857	// Unique offering ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:offering:87654321'
16858	Arn *string `locationName:"arn" type:"string"`
16859
16860	// Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'
16861	CurrencyCode *string `locationName:"currencyCode" type:"string"`
16862
16863	// Lease duration, e.g. '12'
16864	Duration *int64 `locationName:"duration" type:"integer"`
16865
16866	// Units for duration, e.g. 'MONTHS'
16867	DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"`
16868
16869	// One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering
16870	FixedPrice *float64 `locationName:"fixedPrice" type:"double"`
16871
16872	// Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard
16873	// VQ in US West (Oregon)'
16874	OfferingDescription *string `locationName:"offeringDescription" type:"string"`
16875
16876	// Unique offering ID, e.g. '87654321'
16877	OfferingId *string `locationName:"offeringId" type:"string"`
16878
16879	// Offering type, e.g. 'NO_UPFRONT'
16880	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"`
16881
16882	// AWS region, e.g. 'us-west-2'
16883	Region *string `locationName:"region" type:"string"`
16884
16885	// Resource configuration details
16886	ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"`
16887
16888	// Recurring usage charge for each reserved resource, e.g. '157.0'
16889	UsagePrice *float64 `locationName:"usagePrice" type:"double"`
16890}
16891
16892// String returns the string representation
16893func (s Offering) String() string {
16894	return awsutil.Prettify(s)
16895}
16896
16897// GoString returns the string representation
16898func (s Offering) GoString() string {
16899	return s.String()
16900}
16901
16902// SetArn sets the Arn field's value.
16903func (s *Offering) SetArn(v string) *Offering {
16904	s.Arn = &v
16905	return s
16906}
16907
16908// SetCurrencyCode sets the CurrencyCode field's value.
16909func (s *Offering) SetCurrencyCode(v string) *Offering {
16910	s.CurrencyCode = &v
16911	return s
16912}
16913
16914// SetDuration sets the Duration field's value.
16915func (s *Offering) SetDuration(v int64) *Offering {
16916	s.Duration = &v
16917	return s
16918}
16919
16920// SetDurationUnits sets the DurationUnits field's value.
16921func (s *Offering) SetDurationUnits(v string) *Offering {
16922	s.DurationUnits = &v
16923	return s
16924}
16925
16926// SetFixedPrice sets the FixedPrice field's value.
16927func (s *Offering) SetFixedPrice(v float64) *Offering {
16928	s.FixedPrice = &v
16929	return s
16930}
16931
16932// SetOfferingDescription sets the OfferingDescription field's value.
16933func (s *Offering) SetOfferingDescription(v string) *Offering {
16934	s.OfferingDescription = &v
16935	return s
16936}
16937
16938// SetOfferingId sets the OfferingId field's value.
16939func (s *Offering) SetOfferingId(v string) *Offering {
16940	s.OfferingId = &v
16941	return s
16942}
16943
16944// SetOfferingType sets the OfferingType field's value.
16945func (s *Offering) SetOfferingType(v string) *Offering {
16946	s.OfferingType = &v
16947	return s
16948}
16949
16950// SetRegion sets the Region field's value.
16951func (s *Offering) SetRegion(v string) *Offering {
16952	s.Region = &v
16953	return s
16954}
16955
16956// SetResourceSpecification sets the ResourceSpecification field's value.
16957func (s *Offering) SetResourceSpecification(v *ReservationResourceSpecification) *Offering {
16958	s.ResourceSpecification = v
16959	return s
16960}
16961
16962// SetUsagePrice sets the UsagePrice field's value.
16963func (s *Offering) SetUsagePrice(v float64) *Offering {
16964	s.UsagePrice = &v
16965	return s
16966}
16967
16968// Output settings. There can be multiple outputs within a group.
16969type Output struct {
16970	_ struct{} `type:"structure"`
16971
16972	// The names of the AudioDescriptions used as audio sources for this output.
16973	AudioDescriptionNames []*string `locationName:"audioDescriptionNames" type:"list"`
16974
16975	// The names of the CaptionDescriptions used as caption sources for this output.
16976	CaptionDescriptionNames []*string `locationName:"captionDescriptionNames" type:"list"`
16977
16978	// The name used to identify an output.
16979	OutputName *string `locationName:"outputName" min:"1" type:"string"`
16980
16981	// Output type-specific settings.
16982	//
16983	// OutputSettings is a required field
16984	OutputSettings *OutputSettings `locationName:"outputSettings" type:"structure" required:"true"`
16985
16986	// The name of the VideoDescription used as the source for this output.
16987	VideoDescriptionName *string `locationName:"videoDescriptionName" type:"string"`
16988}
16989
16990// String returns the string representation
16991func (s Output) String() string {
16992	return awsutil.Prettify(s)
16993}
16994
16995// GoString returns the string representation
16996func (s Output) GoString() string {
16997	return s.String()
16998}
16999
17000// Validate inspects the fields of the type to determine if they are valid.
17001func (s *Output) Validate() error {
17002	invalidParams := request.ErrInvalidParams{Context: "Output"}
17003	if s.OutputName != nil && len(*s.OutputName) < 1 {
17004		invalidParams.Add(request.NewErrParamMinLen("OutputName", 1))
17005	}
17006	if s.OutputSettings == nil {
17007		invalidParams.Add(request.NewErrParamRequired("OutputSettings"))
17008	}
17009	if s.OutputSettings != nil {
17010		if err := s.OutputSettings.Validate(); err != nil {
17011			invalidParams.AddNested("OutputSettings", err.(request.ErrInvalidParams))
17012		}
17013	}
17014
17015	if invalidParams.Len() > 0 {
17016		return invalidParams
17017	}
17018	return nil
17019}
17020
17021// SetAudioDescriptionNames sets the AudioDescriptionNames field's value.
17022func (s *Output) SetAudioDescriptionNames(v []*string) *Output {
17023	s.AudioDescriptionNames = v
17024	return s
17025}
17026
17027// SetCaptionDescriptionNames sets the CaptionDescriptionNames field's value.
17028func (s *Output) SetCaptionDescriptionNames(v []*string) *Output {
17029	s.CaptionDescriptionNames = v
17030	return s
17031}
17032
17033// SetOutputName sets the OutputName field's value.
17034func (s *Output) SetOutputName(v string) *Output {
17035	s.OutputName = &v
17036	return s
17037}
17038
17039// SetOutputSettings sets the OutputSettings field's value.
17040func (s *Output) SetOutputSettings(v *OutputSettings) *Output {
17041	s.OutputSettings = v
17042	return s
17043}
17044
17045// SetVideoDescriptionName sets the VideoDescriptionName field's value.
17046func (s *Output) SetVideoDescriptionName(v string) *Output {
17047	s.VideoDescriptionName = &v
17048	return s
17049}
17050
17051type OutputDestination struct {
17052	_ struct{} `type:"structure"`
17053
17054	// User-specified id. This is used in an output group or an output.
17055	Id *string `locationName:"id" type:"string"`
17056
17057	// Destination settings for a MediaPackage output; one destination for both
17058	// encoders.
17059	MediaPackageSettings []*MediaPackageOutputDestinationSettings `locationName:"mediaPackageSettings" type:"list"`
17060
17061	// Destination settings for a Multiplex output; one destination for both encoders.
17062	MultiplexSettings *MultiplexProgramChannelDestinationSettings `locationName:"multiplexSettings" type:"structure"`
17063
17064	// Destination settings for a standard output; one destination for each redundant
17065	// encoder.
17066	Settings []*OutputDestinationSettings `locationName:"settings" type:"list"`
17067}
17068
17069// String returns the string representation
17070func (s OutputDestination) String() string {
17071	return awsutil.Prettify(s)
17072}
17073
17074// GoString returns the string representation
17075func (s OutputDestination) GoString() string {
17076	return s.String()
17077}
17078
17079// Validate inspects the fields of the type to determine if they are valid.
17080func (s *OutputDestination) Validate() error {
17081	invalidParams := request.ErrInvalidParams{Context: "OutputDestination"}
17082	if s.MediaPackageSettings != nil {
17083		for i, v := range s.MediaPackageSettings {
17084			if v == nil {
17085				continue
17086			}
17087			if err := v.Validate(); err != nil {
17088				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MediaPackageSettings", i), err.(request.ErrInvalidParams))
17089			}
17090		}
17091	}
17092	if s.MultiplexSettings != nil {
17093		if err := s.MultiplexSettings.Validate(); err != nil {
17094			invalidParams.AddNested("MultiplexSettings", err.(request.ErrInvalidParams))
17095		}
17096	}
17097
17098	if invalidParams.Len() > 0 {
17099		return invalidParams
17100	}
17101	return nil
17102}
17103
17104// SetId sets the Id field's value.
17105func (s *OutputDestination) SetId(v string) *OutputDestination {
17106	s.Id = &v
17107	return s
17108}
17109
17110// SetMediaPackageSettings sets the MediaPackageSettings field's value.
17111func (s *OutputDestination) SetMediaPackageSettings(v []*MediaPackageOutputDestinationSettings) *OutputDestination {
17112	s.MediaPackageSettings = v
17113	return s
17114}
17115
17116// SetMultiplexSettings sets the MultiplexSettings field's value.
17117func (s *OutputDestination) SetMultiplexSettings(v *MultiplexProgramChannelDestinationSettings) *OutputDestination {
17118	s.MultiplexSettings = v
17119	return s
17120}
17121
17122// SetSettings sets the Settings field's value.
17123func (s *OutputDestination) SetSettings(v []*OutputDestinationSettings) *OutputDestination {
17124	s.Settings = v
17125	return s
17126}
17127
17128type OutputDestinationSettings struct {
17129	_ struct{} `type:"structure"`
17130
17131	// key used to extract the password from EC2 Parameter store
17132	PasswordParam *string `locationName:"passwordParam" type:"string"`
17133
17134	// Stream name for RTMP destinations (URLs of type rtmp://)
17135	StreamName *string `locationName:"streamName" type:"string"`
17136
17137	// A URL specifying a destination
17138	Url *string `locationName:"url" type:"string"`
17139
17140	// username for destination
17141	Username *string `locationName:"username" type:"string"`
17142}
17143
17144// String returns the string representation
17145func (s OutputDestinationSettings) String() string {
17146	return awsutil.Prettify(s)
17147}
17148
17149// GoString returns the string representation
17150func (s OutputDestinationSettings) GoString() string {
17151	return s.String()
17152}
17153
17154// SetPasswordParam sets the PasswordParam field's value.
17155func (s *OutputDestinationSettings) SetPasswordParam(v string) *OutputDestinationSettings {
17156	s.PasswordParam = &v
17157	return s
17158}
17159
17160// SetStreamName sets the StreamName field's value.
17161func (s *OutputDestinationSettings) SetStreamName(v string) *OutputDestinationSettings {
17162	s.StreamName = &v
17163	return s
17164}
17165
17166// SetUrl sets the Url field's value.
17167func (s *OutputDestinationSettings) SetUrl(v string) *OutputDestinationSettings {
17168	s.Url = &v
17169	return s
17170}
17171
17172// SetUsername sets the Username field's value.
17173func (s *OutputDestinationSettings) SetUsername(v string) *OutputDestinationSettings {
17174	s.Username = &v
17175	return s
17176}
17177
17178// Output groups for this Live Event. Output groups contain information about
17179// where streams should be distributed.
17180type OutputGroup struct {
17181	_ struct{} `type:"structure"`
17182
17183	// Custom output group name optionally defined by the user. Only letters, numbers,
17184	// and the underscore character allowed; only 32 characters allowed.
17185	Name *string `locationName:"name" type:"string"`
17186
17187	// Settings associated with the output group.
17188	//
17189	// OutputGroupSettings is a required field
17190	OutputGroupSettings *OutputGroupSettings `locationName:"outputGroupSettings" type:"structure" required:"true"`
17191
17192	// Outputs is a required field
17193	Outputs []*Output `locationName:"outputs" type:"list" required:"true"`
17194}
17195
17196// String returns the string representation
17197func (s OutputGroup) String() string {
17198	return awsutil.Prettify(s)
17199}
17200
17201// GoString returns the string representation
17202func (s OutputGroup) GoString() string {
17203	return s.String()
17204}
17205
17206// Validate inspects the fields of the type to determine if they are valid.
17207func (s *OutputGroup) Validate() error {
17208	invalidParams := request.ErrInvalidParams{Context: "OutputGroup"}
17209	if s.OutputGroupSettings == nil {
17210		invalidParams.Add(request.NewErrParamRequired("OutputGroupSettings"))
17211	}
17212	if s.Outputs == nil {
17213		invalidParams.Add(request.NewErrParamRequired("Outputs"))
17214	}
17215	if s.OutputGroupSettings != nil {
17216		if err := s.OutputGroupSettings.Validate(); err != nil {
17217			invalidParams.AddNested("OutputGroupSettings", err.(request.ErrInvalidParams))
17218		}
17219	}
17220	if s.Outputs != nil {
17221		for i, v := range s.Outputs {
17222			if v == nil {
17223				continue
17224			}
17225			if err := v.Validate(); err != nil {
17226				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams))
17227			}
17228		}
17229	}
17230
17231	if invalidParams.Len() > 0 {
17232		return invalidParams
17233	}
17234	return nil
17235}
17236
17237// SetName sets the Name field's value.
17238func (s *OutputGroup) SetName(v string) *OutputGroup {
17239	s.Name = &v
17240	return s
17241}
17242
17243// SetOutputGroupSettings sets the OutputGroupSettings field's value.
17244func (s *OutputGroup) SetOutputGroupSettings(v *OutputGroupSettings) *OutputGroup {
17245	s.OutputGroupSettings = v
17246	return s
17247}
17248
17249// SetOutputs sets the Outputs field's value.
17250func (s *OutputGroup) SetOutputs(v []*Output) *OutputGroup {
17251	s.Outputs = v
17252	return s
17253}
17254
17255// Output Group Settings
17256type OutputGroupSettings struct {
17257	_ struct{} `type:"structure"`
17258
17259	// Archive Group Settings
17260	ArchiveGroupSettings *ArchiveGroupSettings `locationName:"archiveGroupSettings" type:"structure"`
17261
17262	// Frame Capture Group Settings
17263	FrameCaptureGroupSettings *FrameCaptureGroupSettings `locationName:"frameCaptureGroupSettings" type:"structure"`
17264
17265	// Hls Group Settings
17266	HlsGroupSettings *HlsGroupSettings `locationName:"hlsGroupSettings" type:"structure"`
17267
17268	// Media Package Group Settings
17269	MediaPackageGroupSettings *MediaPackageGroupSettings `locationName:"mediaPackageGroupSettings" type:"structure"`
17270
17271	// Ms Smooth Group Settings
17272	MsSmoothGroupSettings *MsSmoothGroupSettings `locationName:"msSmoothGroupSettings" type:"structure"`
17273
17274	// Multiplex Group Settings
17275	MultiplexGroupSettings *MultiplexGroupSettings `locationName:"multiplexGroupSettings" type:"structure"`
17276
17277	// Rtmp Group Settings
17278	RtmpGroupSettings *RtmpGroupSettings `locationName:"rtmpGroupSettings" type:"structure"`
17279
17280	// Udp Group Settings
17281	UdpGroupSettings *UdpGroupSettings `locationName:"udpGroupSettings" type:"structure"`
17282}
17283
17284// String returns the string representation
17285func (s OutputGroupSettings) String() string {
17286	return awsutil.Prettify(s)
17287}
17288
17289// GoString returns the string representation
17290func (s OutputGroupSettings) GoString() string {
17291	return s.String()
17292}
17293
17294// Validate inspects the fields of the type to determine if they are valid.
17295func (s *OutputGroupSettings) Validate() error {
17296	invalidParams := request.ErrInvalidParams{Context: "OutputGroupSettings"}
17297	if s.ArchiveGroupSettings != nil {
17298		if err := s.ArchiveGroupSettings.Validate(); err != nil {
17299			invalidParams.AddNested("ArchiveGroupSettings", err.(request.ErrInvalidParams))
17300		}
17301	}
17302	if s.FrameCaptureGroupSettings != nil {
17303		if err := s.FrameCaptureGroupSettings.Validate(); err != nil {
17304			invalidParams.AddNested("FrameCaptureGroupSettings", err.(request.ErrInvalidParams))
17305		}
17306	}
17307	if s.HlsGroupSettings != nil {
17308		if err := s.HlsGroupSettings.Validate(); err != nil {
17309			invalidParams.AddNested("HlsGroupSettings", err.(request.ErrInvalidParams))
17310		}
17311	}
17312	if s.MediaPackageGroupSettings != nil {
17313		if err := s.MediaPackageGroupSettings.Validate(); err != nil {
17314			invalidParams.AddNested("MediaPackageGroupSettings", err.(request.ErrInvalidParams))
17315		}
17316	}
17317	if s.MsSmoothGroupSettings != nil {
17318		if err := s.MsSmoothGroupSettings.Validate(); err != nil {
17319			invalidParams.AddNested("MsSmoothGroupSettings", err.(request.ErrInvalidParams))
17320		}
17321	}
17322	if s.RtmpGroupSettings != nil {
17323		if err := s.RtmpGroupSettings.Validate(); err != nil {
17324			invalidParams.AddNested("RtmpGroupSettings", err.(request.ErrInvalidParams))
17325		}
17326	}
17327
17328	if invalidParams.Len() > 0 {
17329		return invalidParams
17330	}
17331	return nil
17332}
17333
17334// SetArchiveGroupSettings sets the ArchiveGroupSettings field's value.
17335func (s *OutputGroupSettings) SetArchiveGroupSettings(v *ArchiveGroupSettings) *OutputGroupSettings {
17336	s.ArchiveGroupSettings = v
17337	return s
17338}
17339
17340// SetFrameCaptureGroupSettings sets the FrameCaptureGroupSettings field's value.
17341func (s *OutputGroupSettings) SetFrameCaptureGroupSettings(v *FrameCaptureGroupSettings) *OutputGroupSettings {
17342	s.FrameCaptureGroupSettings = v
17343	return s
17344}
17345
17346// SetHlsGroupSettings sets the HlsGroupSettings field's value.
17347func (s *OutputGroupSettings) SetHlsGroupSettings(v *HlsGroupSettings) *OutputGroupSettings {
17348	s.HlsGroupSettings = v
17349	return s
17350}
17351
17352// SetMediaPackageGroupSettings sets the MediaPackageGroupSettings field's value.
17353func (s *OutputGroupSettings) SetMediaPackageGroupSettings(v *MediaPackageGroupSettings) *OutputGroupSettings {
17354	s.MediaPackageGroupSettings = v
17355	return s
17356}
17357
17358// SetMsSmoothGroupSettings sets the MsSmoothGroupSettings field's value.
17359func (s *OutputGroupSettings) SetMsSmoothGroupSettings(v *MsSmoothGroupSettings) *OutputGroupSettings {
17360	s.MsSmoothGroupSettings = v
17361	return s
17362}
17363
17364// SetMultiplexGroupSettings sets the MultiplexGroupSettings field's value.
17365func (s *OutputGroupSettings) SetMultiplexGroupSettings(v *MultiplexGroupSettings) *OutputGroupSettings {
17366	s.MultiplexGroupSettings = v
17367	return s
17368}
17369
17370// SetRtmpGroupSettings sets the RtmpGroupSettings field's value.
17371func (s *OutputGroupSettings) SetRtmpGroupSettings(v *RtmpGroupSettings) *OutputGroupSettings {
17372	s.RtmpGroupSettings = v
17373	return s
17374}
17375
17376// SetUdpGroupSettings sets the UdpGroupSettings field's value.
17377func (s *OutputGroupSettings) SetUdpGroupSettings(v *UdpGroupSettings) *OutputGroupSettings {
17378	s.UdpGroupSettings = v
17379	return s
17380}
17381
17382// Reference to an OutputDestination ID defined in the channel
17383type OutputLocationRef struct {
17384	_ struct{} `type:"structure"`
17385
17386	DestinationRefId *string `locationName:"destinationRefId" type:"string"`
17387}
17388
17389// String returns the string representation
17390func (s OutputLocationRef) String() string {
17391	return awsutil.Prettify(s)
17392}
17393
17394// GoString returns the string representation
17395func (s OutputLocationRef) GoString() string {
17396	return s.String()
17397}
17398
17399// SetDestinationRefId sets the DestinationRefId field's value.
17400func (s *OutputLocationRef) SetDestinationRefId(v string) *OutputLocationRef {
17401	s.DestinationRefId = &v
17402	return s
17403}
17404
17405// Output Settings
17406type OutputSettings struct {
17407	_ struct{} `type:"structure"`
17408
17409	// Archive Output Settings
17410	ArchiveOutputSettings *ArchiveOutputSettings `locationName:"archiveOutputSettings" type:"structure"`
17411
17412	// Frame Capture Output Settings
17413	FrameCaptureOutputSettings *FrameCaptureOutputSettings `locationName:"frameCaptureOutputSettings" type:"structure"`
17414
17415	// Hls Output Settings
17416	HlsOutputSettings *HlsOutputSettings `locationName:"hlsOutputSettings" type:"structure"`
17417
17418	// Media Package Output Settings
17419	MediaPackageOutputSettings *MediaPackageOutputSettings `locationName:"mediaPackageOutputSettings" type:"structure"`
17420
17421	// Ms Smooth Output Settings
17422	MsSmoothOutputSettings *MsSmoothOutputSettings `locationName:"msSmoothOutputSettings" type:"structure"`
17423
17424	// Multiplex Output Settings
17425	MultiplexOutputSettings *MultiplexOutputSettings `locationName:"multiplexOutputSettings" type:"structure"`
17426
17427	// Rtmp Output Settings
17428	RtmpOutputSettings *RtmpOutputSettings `locationName:"rtmpOutputSettings" type:"structure"`
17429
17430	// Udp Output Settings
17431	UdpOutputSettings *UdpOutputSettings `locationName:"udpOutputSettings" type:"structure"`
17432}
17433
17434// String returns the string representation
17435func (s OutputSettings) String() string {
17436	return awsutil.Prettify(s)
17437}
17438
17439// GoString returns the string representation
17440func (s OutputSettings) GoString() string {
17441	return s.String()
17442}
17443
17444// Validate inspects the fields of the type to determine if they are valid.
17445func (s *OutputSettings) Validate() error {
17446	invalidParams := request.ErrInvalidParams{Context: "OutputSettings"}
17447	if s.ArchiveOutputSettings != nil {
17448		if err := s.ArchiveOutputSettings.Validate(); err != nil {
17449			invalidParams.AddNested("ArchiveOutputSettings", err.(request.ErrInvalidParams))
17450		}
17451	}
17452	if s.HlsOutputSettings != nil {
17453		if err := s.HlsOutputSettings.Validate(); err != nil {
17454			invalidParams.AddNested("HlsOutputSettings", err.(request.ErrInvalidParams))
17455		}
17456	}
17457	if s.MultiplexOutputSettings != nil {
17458		if err := s.MultiplexOutputSettings.Validate(); err != nil {
17459			invalidParams.AddNested("MultiplexOutputSettings", err.(request.ErrInvalidParams))
17460		}
17461	}
17462	if s.RtmpOutputSettings != nil {
17463		if err := s.RtmpOutputSettings.Validate(); err != nil {
17464			invalidParams.AddNested("RtmpOutputSettings", err.(request.ErrInvalidParams))
17465		}
17466	}
17467	if s.UdpOutputSettings != nil {
17468		if err := s.UdpOutputSettings.Validate(); err != nil {
17469			invalidParams.AddNested("UdpOutputSettings", err.(request.ErrInvalidParams))
17470		}
17471	}
17472
17473	if invalidParams.Len() > 0 {
17474		return invalidParams
17475	}
17476	return nil
17477}
17478
17479// SetArchiveOutputSettings sets the ArchiveOutputSettings field's value.
17480func (s *OutputSettings) SetArchiveOutputSettings(v *ArchiveOutputSettings) *OutputSettings {
17481	s.ArchiveOutputSettings = v
17482	return s
17483}
17484
17485// SetFrameCaptureOutputSettings sets the FrameCaptureOutputSettings field's value.
17486func (s *OutputSettings) SetFrameCaptureOutputSettings(v *FrameCaptureOutputSettings) *OutputSettings {
17487	s.FrameCaptureOutputSettings = v
17488	return s
17489}
17490
17491// SetHlsOutputSettings sets the HlsOutputSettings field's value.
17492func (s *OutputSettings) SetHlsOutputSettings(v *HlsOutputSettings) *OutputSettings {
17493	s.HlsOutputSettings = v
17494	return s
17495}
17496
17497// SetMediaPackageOutputSettings sets the MediaPackageOutputSettings field's value.
17498func (s *OutputSettings) SetMediaPackageOutputSettings(v *MediaPackageOutputSettings) *OutputSettings {
17499	s.MediaPackageOutputSettings = v
17500	return s
17501}
17502
17503// SetMsSmoothOutputSettings sets the MsSmoothOutputSettings field's value.
17504func (s *OutputSettings) SetMsSmoothOutputSettings(v *MsSmoothOutputSettings) *OutputSettings {
17505	s.MsSmoothOutputSettings = v
17506	return s
17507}
17508
17509// SetMultiplexOutputSettings sets the MultiplexOutputSettings field's value.
17510func (s *OutputSettings) SetMultiplexOutputSettings(v *MultiplexOutputSettings) *OutputSettings {
17511	s.MultiplexOutputSettings = v
17512	return s
17513}
17514
17515// SetRtmpOutputSettings sets the RtmpOutputSettings field's value.
17516func (s *OutputSettings) SetRtmpOutputSettings(v *RtmpOutputSettings) *OutputSettings {
17517	s.RtmpOutputSettings = v
17518	return s
17519}
17520
17521// SetUdpOutputSettings sets the UdpOutputSettings field's value.
17522func (s *OutputSettings) SetUdpOutputSettings(v *UdpOutputSettings) *OutputSettings {
17523	s.UdpOutputSettings = v
17524	return s
17525}
17526
17527// Pass Through Settings
17528type PassThroughSettings struct {
17529	_ struct{} `type:"structure"`
17530}
17531
17532// String returns the string representation
17533func (s PassThroughSettings) String() string {
17534	return awsutil.Prettify(s)
17535}
17536
17537// GoString returns the string representation
17538func (s PassThroughSettings) GoString() string {
17539	return s.String()
17540}
17541
17542// Settings for the action to set pause state of a channel.
17543type PauseStateScheduleActionSettings struct {
17544	_ struct{} `type:"structure"`
17545
17546	Pipelines []*PipelinePauseStateSettings `locationName:"pipelines" type:"list"`
17547}
17548
17549// String returns the string representation
17550func (s PauseStateScheduleActionSettings) String() string {
17551	return awsutil.Prettify(s)
17552}
17553
17554// GoString returns the string representation
17555func (s PauseStateScheduleActionSettings) GoString() string {
17556	return s.String()
17557}
17558
17559// Validate inspects the fields of the type to determine if they are valid.
17560func (s *PauseStateScheduleActionSettings) Validate() error {
17561	invalidParams := request.ErrInvalidParams{Context: "PauseStateScheduleActionSettings"}
17562	if s.Pipelines != nil {
17563		for i, v := range s.Pipelines {
17564			if v == nil {
17565				continue
17566			}
17567			if err := v.Validate(); err != nil {
17568				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Pipelines", i), err.(request.ErrInvalidParams))
17569			}
17570		}
17571	}
17572
17573	if invalidParams.Len() > 0 {
17574		return invalidParams
17575	}
17576	return nil
17577}
17578
17579// SetPipelines sets the Pipelines field's value.
17580func (s *PauseStateScheduleActionSettings) SetPipelines(v []*PipelinePauseStateSettings) *PauseStateScheduleActionSettings {
17581	s.Pipelines = v
17582	return s
17583}
17584
17585// Runtime details of a pipeline when a channel is running.
17586type PipelineDetail struct {
17587	_ struct{} `type:"structure"`
17588
17589	// The name of the active input attachment currently being ingested by this
17590	// pipeline.
17591	ActiveInputAttachmentName *string `locationName:"activeInputAttachmentName" type:"string"`
17592
17593	// The name of the input switch schedule action that occurred most recently
17594	// and that resulted in the switch to the current input attachment for this
17595	// pipeline.
17596	ActiveInputSwitchActionName *string `locationName:"activeInputSwitchActionName" type:"string"`
17597
17598	// Pipeline ID
17599	PipelineId *string `locationName:"pipelineId" type:"string"`
17600}
17601
17602// String returns the string representation
17603func (s PipelineDetail) String() string {
17604	return awsutil.Prettify(s)
17605}
17606
17607// GoString returns the string representation
17608func (s PipelineDetail) GoString() string {
17609	return s.String()
17610}
17611
17612// SetActiveInputAttachmentName sets the ActiveInputAttachmentName field's value.
17613func (s *PipelineDetail) SetActiveInputAttachmentName(v string) *PipelineDetail {
17614	s.ActiveInputAttachmentName = &v
17615	return s
17616}
17617
17618// SetActiveInputSwitchActionName sets the ActiveInputSwitchActionName field's value.
17619func (s *PipelineDetail) SetActiveInputSwitchActionName(v string) *PipelineDetail {
17620	s.ActiveInputSwitchActionName = &v
17621	return s
17622}
17623
17624// SetPipelineId sets the PipelineId field's value.
17625func (s *PipelineDetail) SetPipelineId(v string) *PipelineDetail {
17626	s.PipelineId = &v
17627	return s
17628}
17629
17630// Settings for pausing a pipeline.
17631type PipelinePauseStateSettings struct {
17632	_ struct{} `type:"structure"`
17633
17634	// Pipeline ID to pause ("PIPELINE_0" or "PIPELINE_1").
17635	//
17636	// PipelineId is a required field
17637	PipelineId *string `locationName:"pipelineId" type:"string" required:"true" enum:"PipelineId"`
17638}
17639
17640// String returns the string representation
17641func (s PipelinePauseStateSettings) String() string {
17642	return awsutil.Prettify(s)
17643}
17644
17645// GoString returns the string representation
17646func (s PipelinePauseStateSettings) GoString() string {
17647	return s.String()
17648}
17649
17650// Validate inspects the fields of the type to determine if they are valid.
17651func (s *PipelinePauseStateSettings) Validate() error {
17652	invalidParams := request.ErrInvalidParams{Context: "PipelinePauseStateSettings"}
17653	if s.PipelineId == nil {
17654		invalidParams.Add(request.NewErrParamRequired("PipelineId"))
17655	}
17656
17657	if invalidParams.Len() > 0 {
17658		return invalidParams
17659	}
17660	return nil
17661}
17662
17663// SetPipelineId sets the PipelineId field's value.
17664func (s *PipelinePauseStateSettings) SetPipelineId(v string) *PipelinePauseStateSettings {
17665	s.PipelineId = &v
17666	return s
17667}
17668
17669type PurchaseOfferingInput struct {
17670	_ struct{} `type:"structure"`
17671
17672	// Count is a required field
17673	Count *int64 `locationName:"count" min:"1" type:"integer" required:"true"`
17674
17675	Name *string `locationName:"name" type:"string"`
17676
17677	// OfferingId is a required field
17678	OfferingId *string `location:"uri" locationName:"offeringId" type:"string" required:"true"`
17679
17680	RequestId *string `locationName:"requestId" type:"string" idempotencyToken:"true"`
17681
17682	Start *string `locationName:"start" type:"string"`
17683
17684	Tags map[string]*string `locationName:"tags" type:"map"`
17685}
17686
17687// String returns the string representation
17688func (s PurchaseOfferingInput) String() string {
17689	return awsutil.Prettify(s)
17690}
17691
17692// GoString returns the string representation
17693func (s PurchaseOfferingInput) GoString() string {
17694	return s.String()
17695}
17696
17697// Validate inspects the fields of the type to determine if they are valid.
17698func (s *PurchaseOfferingInput) Validate() error {
17699	invalidParams := request.ErrInvalidParams{Context: "PurchaseOfferingInput"}
17700	if s.Count == nil {
17701		invalidParams.Add(request.NewErrParamRequired("Count"))
17702	}
17703	if s.Count != nil && *s.Count < 1 {
17704		invalidParams.Add(request.NewErrParamMinValue("Count", 1))
17705	}
17706	if s.OfferingId == nil {
17707		invalidParams.Add(request.NewErrParamRequired("OfferingId"))
17708	}
17709	if s.OfferingId != nil && len(*s.OfferingId) < 1 {
17710		invalidParams.Add(request.NewErrParamMinLen("OfferingId", 1))
17711	}
17712
17713	if invalidParams.Len() > 0 {
17714		return invalidParams
17715	}
17716	return nil
17717}
17718
17719// SetCount sets the Count field's value.
17720func (s *PurchaseOfferingInput) SetCount(v int64) *PurchaseOfferingInput {
17721	s.Count = &v
17722	return s
17723}
17724
17725// SetName sets the Name field's value.
17726func (s *PurchaseOfferingInput) SetName(v string) *PurchaseOfferingInput {
17727	s.Name = &v
17728	return s
17729}
17730
17731// SetOfferingId sets the OfferingId field's value.
17732func (s *PurchaseOfferingInput) SetOfferingId(v string) *PurchaseOfferingInput {
17733	s.OfferingId = &v
17734	return s
17735}
17736
17737// SetRequestId sets the RequestId field's value.
17738func (s *PurchaseOfferingInput) SetRequestId(v string) *PurchaseOfferingInput {
17739	s.RequestId = &v
17740	return s
17741}
17742
17743// SetStart sets the Start field's value.
17744func (s *PurchaseOfferingInput) SetStart(v string) *PurchaseOfferingInput {
17745	s.Start = &v
17746	return s
17747}
17748
17749// SetTags sets the Tags field's value.
17750func (s *PurchaseOfferingInput) SetTags(v map[string]*string) *PurchaseOfferingInput {
17751	s.Tags = v
17752	return s
17753}
17754
17755type PurchaseOfferingOutput struct {
17756	_ struct{} `type:"structure"`
17757
17758	// Reserved resources available to use
17759	Reservation *Reservation `locationName:"reservation" type:"structure"`
17760}
17761
17762// String returns the string representation
17763func (s PurchaseOfferingOutput) String() string {
17764	return awsutil.Prettify(s)
17765}
17766
17767// GoString returns the string representation
17768func (s PurchaseOfferingOutput) GoString() string {
17769	return s.String()
17770}
17771
17772// SetReservation sets the Reservation field's value.
17773func (s *PurchaseOfferingOutput) SetReservation(v *Reservation) *PurchaseOfferingOutput {
17774	s.Reservation = v
17775	return s
17776}
17777
17778// Rec601 Settings
17779type Rec601Settings struct {
17780	_ struct{} `type:"structure"`
17781}
17782
17783// String returns the string representation
17784func (s Rec601Settings) String() string {
17785	return awsutil.Prettify(s)
17786}
17787
17788// GoString returns the string representation
17789func (s Rec601Settings) GoString() string {
17790	return s.String()
17791}
17792
17793// Rec709 Settings
17794type Rec709Settings struct {
17795	_ struct{} `type:"structure"`
17796}
17797
17798// String returns the string representation
17799func (s Rec709Settings) String() string {
17800	return awsutil.Prettify(s)
17801}
17802
17803// GoString returns the string representation
17804func (s Rec709Settings) GoString() string {
17805	return s.String()
17806}
17807
17808// Remix Settings
17809type RemixSettings struct {
17810	_ struct{} `type:"structure"`
17811
17812	// Mapping of input channels to output channels, with appropriate gain adjustments.
17813	//
17814	// ChannelMappings is a required field
17815	ChannelMappings []*AudioChannelMapping `locationName:"channelMappings" type:"list" required:"true"`
17816
17817	// Number of input channels to be used.
17818	ChannelsIn *int64 `locationName:"channelsIn" min:"1" type:"integer"`
17819
17820	// Number of output channels to be produced.Valid values: 1, 2, 4, 6, 8
17821	ChannelsOut *int64 `locationName:"channelsOut" min:"1" type:"integer"`
17822}
17823
17824// String returns the string representation
17825func (s RemixSettings) String() string {
17826	return awsutil.Prettify(s)
17827}
17828
17829// GoString returns the string representation
17830func (s RemixSettings) GoString() string {
17831	return s.String()
17832}
17833
17834// Validate inspects the fields of the type to determine if they are valid.
17835func (s *RemixSettings) Validate() error {
17836	invalidParams := request.ErrInvalidParams{Context: "RemixSettings"}
17837	if s.ChannelMappings == nil {
17838		invalidParams.Add(request.NewErrParamRequired("ChannelMappings"))
17839	}
17840	if s.ChannelsIn != nil && *s.ChannelsIn < 1 {
17841		invalidParams.Add(request.NewErrParamMinValue("ChannelsIn", 1))
17842	}
17843	if s.ChannelsOut != nil && *s.ChannelsOut < 1 {
17844		invalidParams.Add(request.NewErrParamMinValue("ChannelsOut", 1))
17845	}
17846	if s.ChannelMappings != nil {
17847		for i, v := range s.ChannelMappings {
17848			if v == nil {
17849				continue
17850			}
17851			if err := v.Validate(); err != nil {
17852				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ChannelMappings", i), err.(request.ErrInvalidParams))
17853			}
17854		}
17855	}
17856
17857	if invalidParams.Len() > 0 {
17858		return invalidParams
17859	}
17860	return nil
17861}
17862
17863// SetChannelMappings sets the ChannelMappings field's value.
17864func (s *RemixSettings) SetChannelMappings(v []*AudioChannelMapping) *RemixSettings {
17865	s.ChannelMappings = v
17866	return s
17867}
17868
17869// SetChannelsIn sets the ChannelsIn field's value.
17870func (s *RemixSettings) SetChannelsIn(v int64) *RemixSettings {
17871	s.ChannelsIn = &v
17872	return s
17873}
17874
17875// SetChannelsOut sets the ChannelsOut field's value.
17876func (s *RemixSettings) SetChannelsOut(v int64) *RemixSettings {
17877	s.ChannelsOut = &v
17878	return s
17879}
17880
17881// Reserved resources available to use
17882type Reservation struct {
17883	_ struct{} `type:"structure"`
17884
17885	// Unique reservation ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:reservation:1234567'
17886	Arn *string `locationName:"arn" type:"string"`
17887
17888	// Number of reserved resources
17889	Count *int64 `locationName:"count" type:"integer"`
17890
17891	// Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'
17892	CurrencyCode *string `locationName:"currencyCode" type:"string"`
17893
17894	// Lease duration, e.g. '12'
17895	Duration *int64 `locationName:"duration" type:"integer"`
17896
17897	// Units for duration, e.g. 'MONTHS'
17898	DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"`
17899
17900	// Reservation UTC end date and time in ISO-8601 format, e.g. '2019-03-01T00:00:00'
17901	End *string `locationName:"end" type:"string"`
17902
17903	// One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering
17904	FixedPrice *float64 `locationName:"fixedPrice" type:"double"`
17905
17906	// User specified reservation name
17907	Name *string `locationName:"name" type:"string"`
17908
17909	// Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard
17910	// VQ in US West (Oregon)'
17911	OfferingDescription *string `locationName:"offeringDescription" type:"string"`
17912
17913	// Unique offering ID, e.g. '87654321'
17914	OfferingId *string `locationName:"offeringId" type:"string"`
17915
17916	// Offering type, e.g. 'NO_UPFRONT'
17917	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"`
17918
17919	// AWS region, e.g. 'us-west-2'
17920	Region *string `locationName:"region" type:"string"`
17921
17922	// Unique reservation ID, e.g. '1234567'
17923	ReservationId *string `locationName:"reservationId" type:"string"`
17924
17925	// Resource configuration details
17926	ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"`
17927
17928	// Reservation UTC start date and time in ISO-8601 format, e.g. '2018-03-01T00:00:00'
17929	Start *string `locationName:"start" type:"string"`
17930
17931	// Current state of reservation, e.g. 'ACTIVE'
17932	State *string `locationName:"state" type:"string" enum:"ReservationState"`
17933
17934	// A collection of key-value pairs
17935	Tags map[string]*string `locationName:"tags" type:"map"`
17936
17937	// Recurring usage charge for each reserved resource, e.g. '157.0'
17938	UsagePrice *float64 `locationName:"usagePrice" type:"double"`
17939}
17940
17941// String returns the string representation
17942func (s Reservation) String() string {
17943	return awsutil.Prettify(s)
17944}
17945
17946// GoString returns the string representation
17947func (s Reservation) GoString() string {
17948	return s.String()
17949}
17950
17951// SetArn sets the Arn field's value.
17952func (s *Reservation) SetArn(v string) *Reservation {
17953	s.Arn = &v
17954	return s
17955}
17956
17957// SetCount sets the Count field's value.
17958func (s *Reservation) SetCount(v int64) *Reservation {
17959	s.Count = &v
17960	return s
17961}
17962
17963// SetCurrencyCode sets the CurrencyCode field's value.
17964func (s *Reservation) SetCurrencyCode(v string) *Reservation {
17965	s.CurrencyCode = &v
17966	return s
17967}
17968
17969// SetDuration sets the Duration field's value.
17970func (s *Reservation) SetDuration(v int64) *Reservation {
17971	s.Duration = &v
17972	return s
17973}
17974
17975// SetDurationUnits sets the DurationUnits field's value.
17976func (s *Reservation) SetDurationUnits(v string) *Reservation {
17977	s.DurationUnits = &v
17978	return s
17979}
17980
17981// SetEnd sets the End field's value.
17982func (s *Reservation) SetEnd(v string) *Reservation {
17983	s.End = &v
17984	return s
17985}
17986
17987// SetFixedPrice sets the FixedPrice field's value.
17988func (s *Reservation) SetFixedPrice(v float64) *Reservation {
17989	s.FixedPrice = &v
17990	return s
17991}
17992
17993// SetName sets the Name field's value.
17994func (s *Reservation) SetName(v string) *Reservation {
17995	s.Name = &v
17996	return s
17997}
17998
17999// SetOfferingDescription sets the OfferingDescription field's value.
18000func (s *Reservation) SetOfferingDescription(v string) *Reservation {
18001	s.OfferingDescription = &v
18002	return s
18003}
18004
18005// SetOfferingId sets the OfferingId field's value.
18006func (s *Reservation) SetOfferingId(v string) *Reservation {
18007	s.OfferingId = &v
18008	return s
18009}
18010
18011// SetOfferingType sets the OfferingType field's value.
18012func (s *Reservation) SetOfferingType(v string) *Reservation {
18013	s.OfferingType = &v
18014	return s
18015}
18016
18017// SetRegion sets the Region field's value.
18018func (s *Reservation) SetRegion(v string) *Reservation {
18019	s.Region = &v
18020	return s
18021}
18022
18023// SetReservationId sets the ReservationId field's value.
18024func (s *Reservation) SetReservationId(v string) *Reservation {
18025	s.ReservationId = &v
18026	return s
18027}
18028
18029// SetResourceSpecification sets the ResourceSpecification field's value.
18030func (s *Reservation) SetResourceSpecification(v *ReservationResourceSpecification) *Reservation {
18031	s.ResourceSpecification = v
18032	return s
18033}
18034
18035// SetStart sets the Start field's value.
18036func (s *Reservation) SetStart(v string) *Reservation {
18037	s.Start = &v
18038	return s
18039}
18040
18041// SetState sets the State field's value.
18042func (s *Reservation) SetState(v string) *Reservation {
18043	s.State = &v
18044	return s
18045}
18046
18047// SetTags sets the Tags field's value.
18048func (s *Reservation) SetTags(v map[string]*string) *Reservation {
18049	s.Tags = v
18050	return s
18051}
18052
18053// SetUsagePrice sets the UsagePrice field's value.
18054func (s *Reservation) SetUsagePrice(v float64) *Reservation {
18055	s.UsagePrice = &v
18056	return s
18057}
18058
18059// Resource configuration (codec, resolution, bitrate, ...)
18060type ReservationResourceSpecification struct {
18061	_ struct{} `type:"structure"`
18062
18063	// Channel class, e.g. 'STANDARD'
18064	ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"`
18065
18066	// Codec, e.g. 'AVC'
18067	Codec *string `locationName:"codec" type:"string" enum:"ReservationCodec"`
18068
18069	// Maximum bitrate, e.g. 'MAX_20_MBPS'
18070	MaximumBitrate *string `locationName:"maximumBitrate" type:"string" enum:"ReservationMaximumBitrate"`
18071
18072	// Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
18073	MaximumFramerate *string `locationName:"maximumFramerate" type:"string" enum:"ReservationMaximumFramerate"`
18074
18075	// Resolution, e.g. 'HD'
18076	Resolution *string `locationName:"resolution" type:"string" enum:"ReservationResolution"`
18077
18078	// Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'
18079	ResourceType *string `locationName:"resourceType" type:"string" enum:"ReservationResourceType"`
18080
18081	// Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only)
18082	SpecialFeature *string `locationName:"specialFeature" type:"string" enum:"ReservationSpecialFeature"`
18083
18084	// Video quality, e.g. 'STANDARD' (Outputs only)
18085	VideoQuality *string `locationName:"videoQuality" type:"string" enum:"ReservationVideoQuality"`
18086}
18087
18088// String returns the string representation
18089func (s ReservationResourceSpecification) String() string {
18090	return awsutil.Prettify(s)
18091}
18092
18093// GoString returns the string representation
18094func (s ReservationResourceSpecification) GoString() string {
18095	return s.String()
18096}
18097
18098// SetChannelClass sets the ChannelClass field's value.
18099func (s *ReservationResourceSpecification) SetChannelClass(v string) *ReservationResourceSpecification {
18100	s.ChannelClass = &v
18101	return s
18102}
18103
18104// SetCodec sets the Codec field's value.
18105func (s *ReservationResourceSpecification) SetCodec(v string) *ReservationResourceSpecification {
18106	s.Codec = &v
18107	return s
18108}
18109
18110// SetMaximumBitrate sets the MaximumBitrate field's value.
18111func (s *ReservationResourceSpecification) SetMaximumBitrate(v string) *ReservationResourceSpecification {
18112	s.MaximumBitrate = &v
18113	return s
18114}
18115
18116// SetMaximumFramerate sets the MaximumFramerate field's value.
18117func (s *ReservationResourceSpecification) SetMaximumFramerate(v string) *ReservationResourceSpecification {
18118	s.MaximumFramerate = &v
18119	return s
18120}
18121
18122// SetResolution sets the Resolution field's value.
18123func (s *ReservationResourceSpecification) SetResolution(v string) *ReservationResourceSpecification {
18124	s.Resolution = &v
18125	return s
18126}
18127
18128// SetResourceType sets the ResourceType field's value.
18129func (s *ReservationResourceSpecification) SetResourceType(v string) *ReservationResourceSpecification {
18130	s.ResourceType = &v
18131	return s
18132}
18133
18134// SetSpecialFeature sets the SpecialFeature field's value.
18135func (s *ReservationResourceSpecification) SetSpecialFeature(v string) *ReservationResourceSpecification {
18136	s.SpecialFeature = &v
18137	return s
18138}
18139
18140// SetVideoQuality sets the VideoQuality field's value.
18141func (s *ReservationResourceSpecification) SetVideoQuality(v string) *ReservationResourceSpecification {
18142	s.VideoQuality = &v
18143	return s
18144}
18145
18146// Rtmp Caption Info Destination Settings
18147type RtmpCaptionInfoDestinationSettings struct {
18148	_ struct{} `type:"structure"`
18149}
18150
18151// String returns the string representation
18152func (s RtmpCaptionInfoDestinationSettings) String() string {
18153	return awsutil.Prettify(s)
18154}
18155
18156// GoString returns the string representation
18157func (s RtmpCaptionInfoDestinationSettings) GoString() string {
18158	return s.String()
18159}
18160
18161// Rtmp Group Settings
18162type RtmpGroupSettings struct {
18163	_ struct{} `type:"structure"`
18164
18165	// Authentication scheme to use when connecting with CDN
18166	AuthenticationScheme *string `locationName:"authenticationScheme" type:"string" enum:"AuthenticationScheme"`
18167
18168	// Controls behavior when content cache fills up. If remote origin server stalls
18169	// the RTMP connection and does not accept content fast enough the 'Media Cache'
18170	// will fill up. When the cache reaches the duration specified by cacheLength
18171	// the cache will stop accepting new content. If set to disconnectImmediately,
18172	// the RTMP output will force a disconnect. Clear the media cache, and reconnect
18173	// after restartDelay seconds. If set to waitForServer, the RTMP output will
18174	// wait up to 5 minutes to allow the origin server to begin accepting data again.
18175	CacheFullBehavior *string `locationName:"cacheFullBehavior" type:"string" enum:"RtmpCacheFullBehavior"`
18176
18177	// Cache length, in seconds, is used to calculate buffer size.
18178	CacheLength *int64 `locationName:"cacheLength" min:"30" type:"integer"`
18179
18180	// Controls the types of data that passes to onCaptionInfo outputs. If set to
18181	// 'all' then 608 and 708 carried DTVCC data will be passed. If set to 'field1AndField2608'
18182	// then DTVCC data will be stripped out, but 608 data from both fields will
18183	// be passed. If set to 'field1608' then only the data carried in 608 from field
18184	// 1 video will be passed.
18185	CaptionData *string `locationName:"captionData" type:"string" enum:"RtmpCaptionData"`
18186
18187	// Controls the behavior of this RTMP group if input becomes unavailable.- emitOutput:
18188	// Emit a slate until input returns.- pauseOutput: Stop transmitting data until
18189	// input returns. This does not close the underlying RTMP connection.
18190	InputLossAction *string `locationName:"inputLossAction" type:"string" enum:"InputLossActionForRtmpOut"`
18191
18192	// If a streaming output fails, number of seconds to wait until a restart is
18193	// initiated. A value of 0 means never restart.
18194	RestartDelay *int64 `locationName:"restartDelay" type:"integer"`
18195}
18196
18197// String returns the string representation
18198func (s RtmpGroupSettings) String() string {
18199	return awsutil.Prettify(s)
18200}
18201
18202// GoString returns the string representation
18203func (s RtmpGroupSettings) GoString() string {
18204	return s.String()
18205}
18206
18207// Validate inspects the fields of the type to determine if they are valid.
18208func (s *RtmpGroupSettings) Validate() error {
18209	invalidParams := request.ErrInvalidParams{Context: "RtmpGroupSettings"}
18210	if s.CacheLength != nil && *s.CacheLength < 30 {
18211		invalidParams.Add(request.NewErrParamMinValue("CacheLength", 30))
18212	}
18213
18214	if invalidParams.Len() > 0 {
18215		return invalidParams
18216	}
18217	return nil
18218}
18219
18220// SetAuthenticationScheme sets the AuthenticationScheme field's value.
18221func (s *RtmpGroupSettings) SetAuthenticationScheme(v string) *RtmpGroupSettings {
18222	s.AuthenticationScheme = &v
18223	return s
18224}
18225
18226// SetCacheFullBehavior sets the CacheFullBehavior field's value.
18227func (s *RtmpGroupSettings) SetCacheFullBehavior(v string) *RtmpGroupSettings {
18228	s.CacheFullBehavior = &v
18229	return s
18230}
18231
18232// SetCacheLength sets the CacheLength field's value.
18233func (s *RtmpGroupSettings) SetCacheLength(v int64) *RtmpGroupSettings {
18234	s.CacheLength = &v
18235	return s
18236}
18237
18238// SetCaptionData sets the CaptionData field's value.
18239func (s *RtmpGroupSettings) SetCaptionData(v string) *RtmpGroupSettings {
18240	s.CaptionData = &v
18241	return s
18242}
18243
18244// SetInputLossAction sets the InputLossAction field's value.
18245func (s *RtmpGroupSettings) SetInputLossAction(v string) *RtmpGroupSettings {
18246	s.InputLossAction = &v
18247	return s
18248}
18249
18250// SetRestartDelay sets the RestartDelay field's value.
18251func (s *RtmpGroupSettings) SetRestartDelay(v int64) *RtmpGroupSettings {
18252	s.RestartDelay = &v
18253	return s
18254}
18255
18256// Rtmp Output Settings
18257type RtmpOutputSettings struct {
18258	_ struct{} `type:"structure"`
18259
18260	// If set to verifyAuthenticity, verify the tls certificate chain to a trusted
18261	// Certificate Authority (CA). This will cause rtmps outputs with self-signed
18262	// certificates to fail.
18263	CertificateMode *string `locationName:"certificateMode" type:"string" enum:"RtmpOutputCertificateMode"`
18264
18265	// Number of seconds to wait before retrying a connection to the Flash Media
18266	// server if the connection is lost.
18267	ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" min:"1" type:"integer"`
18268
18269	// The RTMP endpoint excluding the stream name (eg. rtmp://host/appname). For
18270	// connection to Akamai, a username and password must be supplied. URI fields
18271	// accept format identifiers.
18272	//
18273	// Destination is a required field
18274	Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"`
18275
18276	// Number of retry attempts.
18277	NumRetries *int64 `locationName:"numRetries" type:"integer"`
18278}
18279
18280// String returns the string representation
18281func (s RtmpOutputSettings) String() string {
18282	return awsutil.Prettify(s)
18283}
18284
18285// GoString returns the string representation
18286func (s RtmpOutputSettings) GoString() string {
18287	return s.String()
18288}
18289
18290// Validate inspects the fields of the type to determine if they are valid.
18291func (s *RtmpOutputSettings) Validate() error {
18292	invalidParams := request.ErrInvalidParams{Context: "RtmpOutputSettings"}
18293	if s.ConnectionRetryInterval != nil && *s.ConnectionRetryInterval < 1 {
18294		invalidParams.Add(request.NewErrParamMinValue("ConnectionRetryInterval", 1))
18295	}
18296	if s.Destination == nil {
18297		invalidParams.Add(request.NewErrParamRequired("Destination"))
18298	}
18299
18300	if invalidParams.Len() > 0 {
18301		return invalidParams
18302	}
18303	return nil
18304}
18305
18306// SetCertificateMode sets the CertificateMode field's value.
18307func (s *RtmpOutputSettings) SetCertificateMode(v string) *RtmpOutputSettings {
18308	s.CertificateMode = &v
18309	return s
18310}
18311
18312// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value.
18313func (s *RtmpOutputSettings) SetConnectionRetryInterval(v int64) *RtmpOutputSettings {
18314	s.ConnectionRetryInterval = &v
18315	return s
18316}
18317
18318// SetDestination sets the Destination field's value.
18319func (s *RtmpOutputSettings) SetDestination(v *OutputLocationRef) *RtmpOutputSettings {
18320	s.Destination = v
18321	return s
18322}
18323
18324// SetNumRetries sets the NumRetries field's value.
18325func (s *RtmpOutputSettings) SetNumRetries(v int64) *RtmpOutputSettings {
18326	s.NumRetries = &v
18327	return s
18328}
18329
18330// Contains information on a single schedule action.
18331type ScheduleAction struct {
18332	_ struct{} `type:"structure"`
18333
18334	// The name of the action, must be unique within the schedule. This name provides
18335	// the main reference to an action once it is added to the schedule. A name
18336	// is unique if it is no longer in the schedule. The schedule is automatically
18337	// cleaned up to remove actions with a start time of more than 1 hour ago (approximately)
18338	// so at that point a name can be reused.
18339	//
18340	// ActionName is a required field
18341	ActionName *string `locationName:"actionName" type:"string" required:"true"`
18342
18343	// Settings for this schedule action.
18344	//
18345	// ScheduleActionSettings is a required field
18346	ScheduleActionSettings *ScheduleActionSettings `locationName:"scheduleActionSettings" type:"structure" required:"true"`
18347
18348	// The time for the action to start in the channel.
18349	//
18350	// ScheduleActionStartSettings is a required field
18351	ScheduleActionStartSettings *ScheduleActionStartSettings `locationName:"scheduleActionStartSettings" type:"structure" required:"true"`
18352}
18353
18354// String returns the string representation
18355func (s ScheduleAction) String() string {
18356	return awsutil.Prettify(s)
18357}
18358
18359// GoString returns the string representation
18360func (s ScheduleAction) GoString() string {
18361	return s.String()
18362}
18363
18364// Validate inspects the fields of the type to determine if they are valid.
18365func (s *ScheduleAction) Validate() error {
18366	invalidParams := request.ErrInvalidParams{Context: "ScheduleAction"}
18367	if s.ActionName == nil {
18368		invalidParams.Add(request.NewErrParamRequired("ActionName"))
18369	}
18370	if s.ScheduleActionSettings == nil {
18371		invalidParams.Add(request.NewErrParamRequired("ScheduleActionSettings"))
18372	}
18373	if s.ScheduleActionStartSettings == nil {
18374		invalidParams.Add(request.NewErrParamRequired("ScheduleActionStartSettings"))
18375	}
18376	if s.ScheduleActionSettings != nil {
18377		if err := s.ScheduleActionSettings.Validate(); err != nil {
18378			invalidParams.AddNested("ScheduleActionSettings", err.(request.ErrInvalidParams))
18379		}
18380	}
18381	if s.ScheduleActionStartSettings != nil {
18382		if err := s.ScheduleActionStartSettings.Validate(); err != nil {
18383			invalidParams.AddNested("ScheduleActionStartSettings", err.(request.ErrInvalidParams))
18384		}
18385	}
18386
18387	if invalidParams.Len() > 0 {
18388		return invalidParams
18389	}
18390	return nil
18391}
18392
18393// SetActionName sets the ActionName field's value.
18394func (s *ScheduleAction) SetActionName(v string) *ScheduleAction {
18395	s.ActionName = &v
18396	return s
18397}
18398
18399// SetScheduleActionSettings sets the ScheduleActionSettings field's value.
18400func (s *ScheduleAction) SetScheduleActionSettings(v *ScheduleActionSettings) *ScheduleAction {
18401	s.ScheduleActionSettings = v
18402	return s
18403}
18404
18405// SetScheduleActionStartSettings sets the ScheduleActionStartSettings field's value.
18406func (s *ScheduleAction) SetScheduleActionStartSettings(v *ScheduleActionStartSettings) *ScheduleAction {
18407	s.ScheduleActionStartSettings = v
18408	return s
18409}
18410
18411// Holds the settings for a single schedule action.
18412type ScheduleActionSettings struct {
18413	_ struct{} `type:"structure"`
18414
18415	// Action to insert HLS ID3 segment tagging
18416	HlsId3SegmentTaggingSettings *HlsId3SegmentTaggingScheduleActionSettings `locationName:"hlsId3SegmentTaggingSettings" type:"structure"`
18417
18418	// Action to insert HLS metadata
18419	HlsTimedMetadataSettings *HlsTimedMetadataScheduleActionSettings `locationName:"hlsTimedMetadataSettings" type:"structure"`
18420
18421	// Action to switch the input
18422	InputSwitchSettings *InputSwitchScheduleActionSettings `locationName:"inputSwitchSettings" type:"structure"`
18423
18424	// Action to pause or unpause one or both channel pipelines
18425	PauseStateSettings *PauseStateScheduleActionSettings `locationName:"pauseStateSettings" type:"structure"`
18426
18427	// Action to insert SCTE-35 return_to_network message
18428	Scte35ReturnToNetworkSettings *Scte35ReturnToNetworkScheduleActionSettings `locationName:"scte35ReturnToNetworkSettings" type:"structure"`
18429
18430	// Action to insert SCTE-35 splice_insert message
18431	Scte35SpliceInsertSettings *Scte35SpliceInsertScheduleActionSettings `locationName:"scte35SpliceInsertSettings" type:"structure"`
18432
18433	// Action to insert SCTE-35 time_signal message
18434	Scte35TimeSignalSettings *Scte35TimeSignalScheduleActionSettings `locationName:"scte35TimeSignalSettings" type:"structure"`
18435
18436	// Action to activate a static image overlay
18437	StaticImageActivateSettings *StaticImageActivateScheduleActionSettings `locationName:"staticImageActivateSettings" type:"structure"`
18438
18439	// Action to deactivate a static image overlay
18440	StaticImageDeactivateSettings *StaticImageDeactivateScheduleActionSettings `locationName:"staticImageDeactivateSettings" type:"structure"`
18441}
18442
18443// String returns the string representation
18444func (s ScheduleActionSettings) String() string {
18445	return awsutil.Prettify(s)
18446}
18447
18448// GoString returns the string representation
18449func (s ScheduleActionSettings) GoString() string {
18450	return s.String()
18451}
18452
18453// Validate inspects the fields of the type to determine if they are valid.
18454func (s *ScheduleActionSettings) Validate() error {
18455	invalidParams := request.ErrInvalidParams{Context: "ScheduleActionSettings"}
18456	if s.HlsId3SegmentTaggingSettings != nil {
18457		if err := s.HlsId3SegmentTaggingSettings.Validate(); err != nil {
18458			invalidParams.AddNested("HlsId3SegmentTaggingSettings", err.(request.ErrInvalidParams))
18459		}
18460	}
18461	if s.HlsTimedMetadataSettings != nil {
18462		if err := s.HlsTimedMetadataSettings.Validate(); err != nil {
18463			invalidParams.AddNested("HlsTimedMetadataSettings", err.(request.ErrInvalidParams))
18464		}
18465	}
18466	if s.InputSwitchSettings != nil {
18467		if err := s.InputSwitchSettings.Validate(); err != nil {
18468			invalidParams.AddNested("InputSwitchSettings", err.(request.ErrInvalidParams))
18469		}
18470	}
18471	if s.PauseStateSettings != nil {
18472		if err := s.PauseStateSettings.Validate(); err != nil {
18473			invalidParams.AddNested("PauseStateSettings", err.(request.ErrInvalidParams))
18474		}
18475	}
18476	if s.Scte35ReturnToNetworkSettings != nil {
18477		if err := s.Scte35ReturnToNetworkSettings.Validate(); err != nil {
18478			invalidParams.AddNested("Scte35ReturnToNetworkSettings", err.(request.ErrInvalidParams))
18479		}
18480	}
18481	if s.Scte35SpliceInsertSettings != nil {
18482		if err := s.Scte35SpliceInsertSettings.Validate(); err != nil {
18483			invalidParams.AddNested("Scte35SpliceInsertSettings", err.(request.ErrInvalidParams))
18484		}
18485	}
18486	if s.Scte35TimeSignalSettings != nil {
18487		if err := s.Scte35TimeSignalSettings.Validate(); err != nil {
18488			invalidParams.AddNested("Scte35TimeSignalSettings", err.(request.ErrInvalidParams))
18489		}
18490	}
18491	if s.StaticImageActivateSettings != nil {
18492		if err := s.StaticImageActivateSettings.Validate(); err != nil {
18493			invalidParams.AddNested("StaticImageActivateSettings", err.(request.ErrInvalidParams))
18494		}
18495	}
18496
18497	if invalidParams.Len() > 0 {
18498		return invalidParams
18499	}
18500	return nil
18501}
18502
18503// SetHlsId3SegmentTaggingSettings sets the HlsId3SegmentTaggingSettings field's value.
18504func (s *ScheduleActionSettings) SetHlsId3SegmentTaggingSettings(v *HlsId3SegmentTaggingScheduleActionSettings) *ScheduleActionSettings {
18505	s.HlsId3SegmentTaggingSettings = v
18506	return s
18507}
18508
18509// SetHlsTimedMetadataSettings sets the HlsTimedMetadataSettings field's value.
18510func (s *ScheduleActionSettings) SetHlsTimedMetadataSettings(v *HlsTimedMetadataScheduleActionSettings) *ScheduleActionSettings {
18511	s.HlsTimedMetadataSettings = v
18512	return s
18513}
18514
18515// SetInputSwitchSettings sets the InputSwitchSettings field's value.
18516func (s *ScheduleActionSettings) SetInputSwitchSettings(v *InputSwitchScheduleActionSettings) *ScheduleActionSettings {
18517	s.InputSwitchSettings = v
18518	return s
18519}
18520
18521// SetPauseStateSettings sets the PauseStateSettings field's value.
18522func (s *ScheduleActionSettings) SetPauseStateSettings(v *PauseStateScheduleActionSettings) *ScheduleActionSettings {
18523	s.PauseStateSettings = v
18524	return s
18525}
18526
18527// SetScte35ReturnToNetworkSettings sets the Scte35ReturnToNetworkSettings field's value.
18528func (s *ScheduleActionSettings) SetScte35ReturnToNetworkSettings(v *Scte35ReturnToNetworkScheduleActionSettings) *ScheduleActionSettings {
18529	s.Scte35ReturnToNetworkSettings = v
18530	return s
18531}
18532
18533// SetScte35SpliceInsertSettings sets the Scte35SpliceInsertSettings field's value.
18534func (s *ScheduleActionSettings) SetScte35SpliceInsertSettings(v *Scte35SpliceInsertScheduleActionSettings) *ScheduleActionSettings {
18535	s.Scte35SpliceInsertSettings = v
18536	return s
18537}
18538
18539// SetScte35TimeSignalSettings sets the Scte35TimeSignalSettings field's value.
18540func (s *ScheduleActionSettings) SetScte35TimeSignalSettings(v *Scte35TimeSignalScheduleActionSettings) *ScheduleActionSettings {
18541	s.Scte35TimeSignalSettings = v
18542	return s
18543}
18544
18545// SetStaticImageActivateSettings sets the StaticImageActivateSettings field's value.
18546func (s *ScheduleActionSettings) SetStaticImageActivateSettings(v *StaticImageActivateScheduleActionSettings) *ScheduleActionSettings {
18547	s.StaticImageActivateSettings = v
18548	return s
18549}
18550
18551// SetStaticImageDeactivateSettings sets the StaticImageDeactivateSettings field's value.
18552func (s *ScheduleActionSettings) SetStaticImageDeactivateSettings(v *StaticImageDeactivateScheduleActionSettings) *ScheduleActionSettings {
18553	s.StaticImageDeactivateSettings = v
18554	return s
18555}
18556
18557// Settings to specify when an action should occur. Only one of the options
18558// must be selected.
18559type ScheduleActionStartSettings struct {
18560	_ struct{} `type:"structure"`
18561
18562	// Option for specifying the start time for an action.
18563	FixedModeScheduleActionStartSettings *FixedModeScheduleActionStartSettings `locationName:"fixedModeScheduleActionStartSettings" type:"structure"`
18564
18565	// Option for specifying an action as relative to another action.
18566	FollowModeScheduleActionStartSettings *FollowModeScheduleActionStartSettings `locationName:"followModeScheduleActionStartSettings" type:"structure"`
18567
18568	// Option for specifying an action that should be applied immediately.
18569	ImmediateModeScheduleActionStartSettings *ImmediateModeScheduleActionStartSettings `locationName:"immediateModeScheduleActionStartSettings" type:"structure"`
18570}
18571
18572// String returns the string representation
18573func (s ScheduleActionStartSettings) String() string {
18574	return awsutil.Prettify(s)
18575}
18576
18577// GoString returns the string representation
18578func (s ScheduleActionStartSettings) GoString() string {
18579	return s.String()
18580}
18581
18582// Validate inspects the fields of the type to determine if they are valid.
18583func (s *ScheduleActionStartSettings) Validate() error {
18584	invalidParams := request.ErrInvalidParams{Context: "ScheduleActionStartSettings"}
18585	if s.FixedModeScheduleActionStartSettings != nil {
18586		if err := s.FixedModeScheduleActionStartSettings.Validate(); err != nil {
18587			invalidParams.AddNested("FixedModeScheduleActionStartSettings", err.(request.ErrInvalidParams))
18588		}
18589	}
18590	if s.FollowModeScheduleActionStartSettings != nil {
18591		if err := s.FollowModeScheduleActionStartSettings.Validate(); err != nil {
18592			invalidParams.AddNested("FollowModeScheduleActionStartSettings", err.(request.ErrInvalidParams))
18593		}
18594	}
18595
18596	if invalidParams.Len() > 0 {
18597		return invalidParams
18598	}
18599	return nil
18600}
18601
18602// SetFixedModeScheduleActionStartSettings sets the FixedModeScheduleActionStartSettings field's value.
18603func (s *ScheduleActionStartSettings) SetFixedModeScheduleActionStartSettings(v *FixedModeScheduleActionStartSettings) *ScheduleActionStartSettings {
18604	s.FixedModeScheduleActionStartSettings = v
18605	return s
18606}
18607
18608// SetFollowModeScheduleActionStartSettings sets the FollowModeScheduleActionStartSettings field's value.
18609func (s *ScheduleActionStartSettings) SetFollowModeScheduleActionStartSettings(v *FollowModeScheduleActionStartSettings) *ScheduleActionStartSettings {
18610	s.FollowModeScheduleActionStartSettings = v
18611	return s
18612}
18613
18614// SetImmediateModeScheduleActionStartSettings sets the ImmediateModeScheduleActionStartSettings field's value.
18615func (s *ScheduleActionStartSettings) SetImmediateModeScheduleActionStartSettings(v *ImmediateModeScheduleActionStartSettings) *ScheduleActionStartSettings {
18616	s.ImmediateModeScheduleActionStartSettings = v
18617	return s
18618}
18619
18620// Scte20 Plus Embedded Destination Settings
18621type Scte20PlusEmbeddedDestinationSettings struct {
18622	_ struct{} `type:"structure"`
18623}
18624
18625// String returns the string representation
18626func (s Scte20PlusEmbeddedDestinationSettings) String() string {
18627	return awsutil.Prettify(s)
18628}
18629
18630// GoString returns the string representation
18631func (s Scte20PlusEmbeddedDestinationSettings) GoString() string {
18632	return s.String()
18633}
18634
18635// Scte20 Source Settings
18636type Scte20SourceSettings struct {
18637	_ struct{} `type:"structure"`
18638
18639	// If upconvert, 608 data is both passed through via the "608 compatibility
18640	// bytes" fields of the 708 wrapper as well as translated into 708. 708 data
18641	// present in the source content will be discarded.
18642	Convert608To708 *string `locationName:"convert608To708" type:"string" enum:"Scte20Convert608To708"`
18643
18644	// Specifies the 608/708 channel number within the video track from which to
18645	// extract captions. Unused for passthrough.
18646	Source608ChannelNumber *int64 `locationName:"source608ChannelNumber" min:"1" type:"integer"`
18647}
18648
18649// String returns the string representation
18650func (s Scte20SourceSettings) String() string {
18651	return awsutil.Prettify(s)
18652}
18653
18654// GoString returns the string representation
18655func (s Scte20SourceSettings) GoString() string {
18656	return s.String()
18657}
18658
18659// Validate inspects the fields of the type to determine if they are valid.
18660func (s *Scte20SourceSettings) Validate() error {
18661	invalidParams := request.ErrInvalidParams{Context: "Scte20SourceSettings"}
18662	if s.Source608ChannelNumber != nil && *s.Source608ChannelNumber < 1 {
18663		invalidParams.Add(request.NewErrParamMinValue("Source608ChannelNumber", 1))
18664	}
18665
18666	if invalidParams.Len() > 0 {
18667		return invalidParams
18668	}
18669	return nil
18670}
18671
18672// SetConvert608To708 sets the Convert608To708 field's value.
18673func (s *Scte20SourceSettings) SetConvert608To708(v string) *Scte20SourceSettings {
18674	s.Convert608To708 = &v
18675	return s
18676}
18677
18678// SetSource608ChannelNumber sets the Source608ChannelNumber field's value.
18679func (s *Scte20SourceSettings) SetSource608ChannelNumber(v int64) *Scte20SourceSettings {
18680	s.Source608ChannelNumber = &v
18681	return s
18682}
18683
18684// Scte27 Destination Settings
18685type Scte27DestinationSettings struct {
18686	_ struct{} `type:"structure"`
18687}
18688
18689// String returns the string representation
18690func (s Scte27DestinationSettings) String() string {
18691	return awsutil.Prettify(s)
18692}
18693
18694// GoString returns the string representation
18695func (s Scte27DestinationSettings) GoString() string {
18696	return s.String()
18697}
18698
18699// Scte27 Source Settings
18700type Scte27SourceSettings struct {
18701	_ struct{} `type:"structure"`
18702
18703	// The pid field is used in conjunction with the caption selector languageCode
18704	// field as follows: - Specify PID and Language: Extracts captions from that
18705	// PID; the language is "informational". - Specify PID and omit Language: Extracts
18706	// the specified PID. - Omit PID and specify Language: Extracts the specified
18707	// language, whichever PID that happens to be. - Omit PID and omit Language:
18708	// Valid only if source is DVB-Sub that is being passed through; all languages
18709	// will be passed through.
18710	Pid *int64 `locationName:"pid" min:"1" type:"integer"`
18711}
18712
18713// String returns the string representation
18714func (s Scte27SourceSettings) String() string {
18715	return awsutil.Prettify(s)
18716}
18717
18718// GoString returns the string representation
18719func (s Scte27SourceSettings) GoString() string {
18720	return s.String()
18721}
18722
18723// Validate inspects the fields of the type to determine if they are valid.
18724func (s *Scte27SourceSettings) Validate() error {
18725	invalidParams := request.ErrInvalidParams{Context: "Scte27SourceSettings"}
18726	if s.Pid != nil && *s.Pid < 1 {
18727		invalidParams.Add(request.NewErrParamMinValue("Pid", 1))
18728	}
18729
18730	if invalidParams.Len() > 0 {
18731		return invalidParams
18732	}
18733	return nil
18734}
18735
18736// SetPid sets the Pid field's value.
18737func (s *Scte27SourceSettings) SetPid(v int64) *Scte27SourceSettings {
18738	s.Pid = &v
18739	return s
18740}
18741
18742// Corresponds to SCTE-35 delivery_not_restricted_flag parameter. To declare
18743// delivery restrictions, include this element and its four "restriction" flags.
18744// To declare that there are no restrictions, omit this element.
18745type Scte35DeliveryRestrictions struct {
18746	_ struct{} `type:"structure"`
18747
18748	// Corresponds to SCTE-35 archive_allowed_flag.
18749	//
18750	// ArchiveAllowedFlag is a required field
18751	ArchiveAllowedFlag *string `locationName:"archiveAllowedFlag" type:"string" required:"true" enum:"Scte35ArchiveAllowedFlag"`
18752
18753	// Corresponds to SCTE-35 device_restrictions parameter.
18754	//
18755	// DeviceRestrictions is a required field
18756	DeviceRestrictions *string `locationName:"deviceRestrictions" type:"string" required:"true" enum:"Scte35DeviceRestrictions"`
18757
18758	// Corresponds to SCTE-35 no_regional_blackout_flag parameter.
18759	//
18760	// NoRegionalBlackoutFlag is a required field
18761	NoRegionalBlackoutFlag *string `locationName:"noRegionalBlackoutFlag" type:"string" required:"true" enum:"Scte35NoRegionalBlackoutFlag"`
18762
18763	// Corresponds to SCTE-35 web_delivery_allowed_flag parameter.
18764	//
18765	// WebDeliveryAllowedFlag is a required field
18766	WebDeliveryAllowedFlag *string `locationName:"webDeliveryAllowedFlag" type:"string" required:"true" enum:"Scte35WebDeliveryAllowedFlag"`
18767}
18768
18769// String returns the string representation
18770func (s Scte35DeliveryRestrictions) String() string {
18771	return awsutil.Prettify(s)
18772}
18773
18774// GoString returns the string representation
18775func (s Scte35DeliveryRestrictions) GoString() string {
18776	return s.String()
18777}
18778
18779// Validate inspects the fields of the type to determine if they are valid.
18780func (s *Scte35DeliveryRestrictions) Validate() error {
18781	invalidParams := request.ErrInvalidParams{Context: "Scte35DeliveryRestrictions"}
18782	if s.ArchiveAllowedFlag == nil {
18783		invalidParams.Add(request.NewErrParamRequired("ArchiveAllowedFlag"))
18784	}
18785	if s.DeviceRestrictions == nil {
18786		invalidParams.Add(request.NewErrParamRequired("DeviceRestrictions"))
18787	}
18788	if s.NoRegionalBlackoutFlag == nil {
18789		invalidParams.Add(request.NewErrParamRequired("NoRegionalBlackoutFlag"))
18790	}
18791	if s.WebDeliveryAllowedFlag == nil {
18792		invalidParams.Add(request.NewErrParamRequired("WebDeliveryAllowedFlag"))
18793	}
18794
18795	if invalidParams.Len() > 0 {
18796		return invalidParams
18797	}
18798	return nil
18799}
18800
18801// SetArchiveAllowedFlag sets the ArchiveAllowedFlag field's value.
18802func (s *Scte35DeliveryRestrictions) SetArchiveAllowedFlag(v string) *Scte35DeliveryRestrictions {
18803	s.ArchiveAllowedFlag = &v
18804	return s
18805}
18806
18807// SetDeviceRestrictions sets the DeviceRestrictions field's value.
18808func (s *Scte35DeliveryRestrictions) SetDeviceRestrictions(v string) *Scte35DeliveryRestrictions {
18809	s.DeviceRestrictions = &v
18810	return s
18811}
18812
18813// SetNoRegionalBlackoutFlag sets the NoRegionalBlackoutFlag field's value.
18814func (s *Scte35DeliveryRestrictions) SetNoRegionalBlackoutFlag(v string) *Scte35DeliveryRestrictions {
18815	s.NoRegionalBlackoutFlag = &v
18816	return s
18817}
18818
18819// SetWebDeliveryAllowedFlag sets the WebDeliveryAllowedFlag field's value.
18820func (s *Scte35DeliveryRestrictions) SetWebDeliveryAllowedFlag(v string) *Scte35DeliveryRestrictions {
18821	s.WebDeliveryAllowedFlag = &v
18822	return s
18823}
18824
18825// Holds one set of SCTE-35 Descriptor Settings.
18826type Scte35Descriptor struct {
18827	_ struct{} `type:"structure"`
18828
18829	// SCTE-35 Descriptor Settings.
18830	//
18831	// Scte35DescriptorSettings is a required field
18832	Scte35DescriptorSettings *Scte35DescriptorSettings `locationName:"scte35DescriptorSettings" type:"structure" required:"true"`
18833}
18834
18835// String returns the string representation
18836func (s Scte35Descriptor) String() string {
18837	return awsutil.Prettify(s)
18838}
18839
18840// GoString returns the string representation
18841func (s Scte35Descriptor) GoString() string {
18842	return s.String()
18843}
18844
18845// Validate inspects the fields of the type to determine if they are valid.
18846func (s *Scte35Descriptor) Validate() error {
18847	invalidParams := request.ErrInvalidParams{Context: "Scte35Descriptor"}
18848	if s.Scte35DescriptorSettings == nil {
18849		invalidParams.Add(request.NewErrParamRequired("Scte35DescriptorSettings"))
18850	}
18851	if s.Scte35DescriptorSettings != nil {
18852		if err := s.Scte35DescriptorSettings.Validate(); err != nil {
18853			invalidParams.AddNested("Scte35DescriptorSettings", err.(request.ErrInvalidParams))
18854		}
18855	}
18856
18857	if invalidParams.Len() > 0 {
18858		return invalidParams
18859	}
18860	return nil
18861}
18862
18863// SetScte35DescriptorSettings sets the Scte35DescriptorSettings field's value.
18864func (s *Scte35Descriptor) SetScte35DescriptorSettings(v *Scte35DescriptorSettings) *Scte35Descriptor {
18865	s.Scte35DescriptorSettings = v
18866	return s
18867}
18868
18869// SCTE-35 Descriptor settings.
18870type Scte35DescriptorSettings struct {
18871	_ struct{} `type:"structure"`
18872
18873	// SCTE-35 Segmentation Descriptor.
18874	//
18875	// SegmentationDescriptorScte35DescriptorSettings is a required field
18876	SegmentationDescriptorScte35DescriptorSettings *Scte35SegmentationDescriptor `locationName:"segmentationDescriptorScte35DescriptorSettings" type:"structure" required:"true"`
18877}
18878
18879// String returns the string representation
18880func (s Scte35DescriptorSettings) String() string {
18881	return awsutil.Prettify(s)
18882}
18883
18884// GoString returns the string representation
18885func (s Scte35DescriptorSettings) GoString() string {
18886	return s.String()
18887}
18888
18889// Validate inspects the fields of the type to determine if they are valid.
18890func (s *Scte35DescriptorSettings) Validate() error {
18891	invalidParams := request.ErrInvalidParams{Context: "Scte35DescriptorSettings"}
18892	if s.SegmentationDescriptorScte35DescriptorSettings == nil {
18893		invalidParams.Add(request.NewErrParamRequired("SegmentationDescriptorScte35DescriptorSettings"))
18894	}
18895	if s.SegmentationDescriptorScte35DescriptorSettings != nil {
18896		if err := s.SegmentationDescriptorScte35DescriptorSettings.Validate(); err != nil {
18897			invalidParams.AddNested("SegmentationDescriptorScte35DescriptorSettings", err.(request.ErrInvalidParams))
18898		}
18899	}
18900
18901	if invalidParams.Len() > 0 {
18902		return invalidParams
18903	}
18904	return nil
18905}
18906
18907// SetSegmentationDescriptorScte35DescriptorSettings sets the SegmentationDescriptorScte35DescriptorSettings field's value.
18908func (s *Scte35DescriptorSettings) SetSegmentationDescriptorScte35DescriptorSettings(v *Scte35SegmentationDescriptor) *Scte35DescriptorSettings {
18909	s.SegmentationDescriptorScte35DescriptorSettings = v
18910	return s
18911}
18912
18913// Settings for a SCTE-35 return_to_network message.
18914type Scte35ReturnToNetworkScheduleActionSettings struct {
18915	_ struct{} `type:"structure"`
18916
18917	// The splice_event_id for the SCTE-35 splice_insert, as defined in SCTE-35.
18918	//
18919	// SpliceEventId is a required field
18920	SpliceEventId *int64 `locationName:"spliceEventId" type:"long" required:"true"`
18921}
18922
18923// String returns the string representation
18924func (s Scte35ReturnToNetworkScheduleActionSettings) String() string {
18925	return awsutil.Prettify(s)
18926}
18927
18928// GoString returns the string representation
18929func (s Scte35ReturnToNetworkScheduleActionSettings) GoString() string {
18930	return s.String()
18931}
18932
18933// Validate inspects the fields of the type to determine if they are valid.
18934func (s *Scte35ReturnToNetworkScheduleActionSettings) Validate() error {
18935	invalidParams := request.ErrInvalidParams{Context: "Scte35ReturnToNetworkScheduleActionSettings"}
18936	if s.SpliceEventId == nil {
18937		invalidParams.Add(request.NewErrParamRequired("SpliceEventId"))
18938	}
18939
18940	if invalidParams.Len() > 0 {
18941		return invalidParams
18942	}
18943	return nil
18944}
18945
18946// SetSpliceEventId sets the SpliceEventId field's value.
18947func (s *Scte35ReturnToNetworkScheduleActionSettings) SetSpliceEventId(v int64) *Scte35ReturnToNetworkScheduleActionSettings {
18948	s.SpliceEventId = &v
18949	return s
18950}
18951
18952// Corresponds to SCTE-35 segmentation_descriptor.
18953type Scte35SegmentationDescriptor struct {
18954	_ struct{} `type:"structure"`
18955
18956	// Holds the four SCTE-35 delivery restriction parameters.
18957	DeliveryRestrictions *Scte35DeliveryRestrictions `locationName:"deliveryRestrictions" type:"structure"`
18958
18959	// Corresponds to SCTE-35 segment_num. A value that is valid for the specified
18960	// segmentation_type_id.
18961	SegmentNum *int64 `locationName:"segmentNum" type:"integer"`
18962
18963	// Corresponds to SCTE-35 segmentation_event_cancel_indicator.
18964	//
18965	// SegmentationCancelIndicator is a required field
18966	SegmentationCancelIndicator *string `locationName:"segmentationCancelIndicator" type:"string" required:"true" enum:"Scte35SegmentationCancelIndicator"`
18967
18968	// Corresponds to SCTE-35 segmentation_duration. Optional. The duration for
18969	// the time_signal, in 90 KHz ticks. To convert seconds to ticks, multiple the
18970	// seconds by 90,000. Enter time in 90 KHz clock ticks. If you do not enter
18971	// a duration, the time_signal will continue until you insert a cancellation
18972	// message.
18973	SegmentationDuration *int64 `locationName:"segmentationDuration" type:"long"`
18974
18975	// Corresponds to SCTE-35 segmentation_event_id.
18976	//
18977	// SegmentationEventId is a required field
18978	SegmentationEventId *int64 `locationName:"segmentationEventId" type:"long" required:"true"`
18979
18980	// Corresponds to SCTE-35 segmentation_type_id. One of the segmentation_type_id
18981	// values listed in the SCTE-35 specification. On the console, enter the ID
18982	// in decimal (for example, "52"). In the CLI, API, or an SDK, enter the ID
18983	// in hex (for example, "0x34") or decimal (for example, "52").
18984	SegmentationTypeId *int64 `locationName:"segmentationTypeId" type:"integer"`
18985
18986	// Corresponds to SCTE-35 segmentation_upid. Enter a string containing the hexadecimal
18987	// representation of the characters that make up the SCTE-35 segmentation_upid
18988	// value. Must contain an even number of hex characters. Do not include spaces
18989	// between each hex pair. For example, the ASCII "ADS Information" becomes hex
18990	// "41445320496e666f726d6174696f6e.
18991	SegmentationUpid *string `locationName:"segmentationUpid" type:"string"`
18992
18993	// Corresponds to SCTE-35 segmentation_upid_type. On the console, enter one
18994	// of the types listed in the SCTE-35 specification, converted to a decimal.
18995	// For example, "0x0C" hex from the specification is "12" in decimal. In the
18996	// CLI, API, or an SDK, enter one of the types listed in the SCTE-35 specification,
18997	// in either hex (for example, "0x0C" ) or in decimal (for example, "12").
18998	SegmentationUpidType *int64 `locationName:"segmentationUpidType" type:"integer"`
18999
19000	// Corresponds to SCTE-35 segments_expected. A value that is valid for the specified
19001	// segmentation_type_id.
19002	SegmentsExpected *int64 `locationName:"segmentsExpected" type:"integer"`
19003
19004	// Corresponds to SCTE-35 sub_segment_num. A value that is valid for the specified
19005	// segmentation_type_id.
19006	SubSegmentNum *int64 `locationName:"subSegmentNum" type:"integer"`
19007
19008	// Corresponds to SCTE-35 sub_segments_expected. A value that is valid for the
19009	// specified segmentation_type_id.
19010	SubSegmentsExpected *int64 `locationName:"subSegmentsExpected" type:"integer"`
19011}
19012
19013// String returns the string representation
19014func (s Scte35SegmentationDescriptor) String() string {
19015	return awsutil.Prettify(s)
19016}
19017
19018// GoString returns the string representation
19019func (s Scte35SegmentationDescriptor) GoString() string {
19020	return s.String()
19021}
19022
19023// Validate inspects the fields of the type to determine if they are valid.
19024func (s *Scte35SegmentationDescriptor) Validate() error {
19025	invalidParams := request.ErrInvalidParams{Context: "Scte35SegmentationDescriptor"}
19026	if s.SegmentationCancelIndicator == nil {
19027		invalidParams.Add(request.NewErrParamRequired("SegmentationCancelIndicator"))
19028	}
19029	if s.SegmentationEventId == nil {
19030		invalidParams.Add(request.NewErrParamRequired("SegmentationEventId"))
19031	}
19032	if s.DeliveryRestrictions != nil {
19033		if err := s.DeliveryRestrictions.Validate(); err != nil {
19034			invalidParams.AddNested("DeliveryRestrictions", err.(request.ErrInvalidParams))
19035		}
19036	}
19037
19038	if invalidParams.Len() > 0 {
19039		return invalidParams
19040	}
19041	return nil
19042}
19043
19044// SetDeliveryRestrictions sets the DeliveryRestrictions field's value.
19045func (s *Scte35SegmentationDescriptor) SetDeliveryRestrictions(v *Scte35DeliveryRestrictions) *Scte35SegmentationDescriptor {
19046	s.DeliveryRestrictions = v
19047	return s
19048}
19049
19050// SetSegmentNum sets the SegmentNum field's value.
19051func (s *Scte35SegmentationDescriptor) SetSegmentNum(v int64) *Scte35SegmentationDescriptor {
19052	s.SegmentNum = &v
19053	return s
19054}
19055
19056// SetSegmentationCancelIndicator sets the SegmentationCancelIndicator field's value.
19057func (s *Scte35SegmentationDescriptor) SetSegmentationCancelIndicator(v string) *Scte35SegmentationDescriptor {
19058	s.SegmentationCancelIndicator = &v
19059	return s
19060}
19061
19062// SetSegmentationDuration sets the SegmentationDuration field's value.
19063func (s *Scte35SegmentationDescriptor) SetSegmentationDuration(v int64) *Scte35SegmentationDescriptor {
19064	s.SegmentationDuration = &v
19065	return s
19066}
19067
19068// SetSegmentationEventId sets the SegmentationEventId field's value.
19069func (s *Scte35SegmentationDescriptor) SetSegmentationEventId(v int64) *Scte35SegmentationDescriptor {
19070	s.SegmentationEventId = &v
19071	return s
19072}
19073
19074// SetSegmentationTypeId sets the SegmentationTypeId field's value.
19075func (s *Scte35SegmentationDescriptor) SetSegmentationTypeId(v int64) *Scte35SegmentationDescriptor {
19076	s.SegmentationTypeId = &v
19077	return s
19078}
19079
19080// SetSegmentationUpid sets the SegmentationUpid field's value.
19081func (s *Scte35SegmentationDescriptor) SetSegmentationUpid(v string) *Scte35SegmentationDescriptor {
19082	s.SegmentationUpid = &v
19083	return s
19084}
19085
19086// SetSegmentationUpidType sets the SegmentationUpidType field's value.
19087func (s *Scte35SegmentationDescriptor) SetSegmentationUpidType(v int64) *Scte35SegmentationDescriptor {
19088	s.SegmentationUpidType = &v
19089	return s
19090}
19091
19092// SetSegmentsExpected sets the SegmentsExpected field's value.
19093func (s *Scte35SegmentationDescriptor) SetSegmentsExpected(v int64) *Scte35SegmentationDescriptor {
19094	s.SegmentsExpected = &v
19095	return s
19096}
19097
19098// SetSubSegmentNum sets the SubSegmentNum field's value.
19099func (s *Scte35SegmentationDescriptor) SetSubSegmentNum(v int64) *Scte35SegmentationDescriptor {
19100	s.SubSegmentNum = &v
19101	return s
19102}
19103
19104// SetSubSegmentsExpected sets the SubSegmentsExpected field's value.
19105func (s *Scte35SegmentationDescriptor) SetSubSegmentsExpected(v int64) *Scte35SegmentationDescriptor {
19106	s.SubSegmentsExpected = &v
19107	return s
19108}
19109
19110// Scte35 Splice Insert
19111type Scte35SpliceInsert struct {
19112	_ struct{} `type:"structure"`
19113
19114	// When specified, this offset (in milliseconds) is added to the input Ad Avail
19115	// PTS time. This only applies to embedded SCTE 104/35 messages and does not
19116	// apply to OOB messages.
19117	AdAvailOffset *int64 `locationName:"adAvailOffset" type:"integer"`
19118
19119	// When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to
19120	// 0 will no longer trigger blackouts or Ad Avail slates
19121	NoRegionalBlackoutFlag *string `locationName:"noRegionalBlackoutFlag" type:"string" enum:"Scte35SpliceInsertNoRegionalBlackoutBehavior"`
19122
19123	// When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to
19124	// 0 will no longer trigger blackouts or Ad Avail slates
19125	WebDeliveryAllowedFlag *string `locationName:"webDeliveryAllowedFlag" type:"string" enum:"Scte35SpliceInsertWebDeliveryAllowedBehavior"`
19126}
19127
19128// String returns the string representation
19129func (s Scte35SpliceInsert) String() string {
19130	return awsutil.Prettify(s)
19131}
19132
19133// GoString returns the string representation
19134func (s Scte35SpliceInsert) GoString() string {
19135	return s.String()
19136}
19137
19138// Validate inspects the fields of the type to determine if they are valid.
19139func (s *Scte35SpliceInsert) Validate() error {
19140	invalidParams := request.ErrInvalidParams{Context: "Scte35SpliceInsert"}
19141	if s.AdAvailOffset != nil && *s.AdAvailOffset < -1000 {
19142		invalidParams.Add(request.NewErrParamMinValue("AdAvailOffset", -1000))
19143	}
19144
19145	if invalidParams.Len() > 0 {
19146		return invalidParams
19147	}
19148	return nil
19149}
19150
19151// SetAdAvailOffset sets the AdAvailOffset field's value.
19152func (s *Scte35SpliceInsert) SetAdAvailOffset(v int64) *Scte35SpliceInsert {
19153	s.AdAvailOffset = &v
19154	return s
19155}
19156
19157// SetNoRegionalBlackoutFlag sets the NoRegionalBlackoutFlag field's value.
19158func (s *Scte35SpliceInsert) SetNoRegionalBlackoutFlag(v string) *Scte35SpliceInsert {
19159	s.NoRegionalBlackoutFlag = &v
19160	return s
19161}
19162
19163// SetWebDeliveryAllowedFlag sets the WebDeliveryAllowedFlag field's value.
19164func (s *Scte35SpliceInsert) SetWebDeliveryAllowedFlag(v string) *Scte35SpliceInsert {
19165	s.WebDeliveryAllowedFlag = &v
19166	return s
19167}
19168
19169// Settings for a SCTE-35 splice_insert message.
19170type Scte35SpliceInsertScheduleActionSettings struct {
19171	_ struct{} `type:"structure"`
19172
19173	// Optional, the duration for the splice_insert, in 90 KHz ticks. To convert
19174	// seconds to ticks, multiple the seconds by 90,000. If you enter a duration,
19175	// there is an expectation that the downstream system can read the duration
19176	// and cue in at that time. If you do not enter a duration, the splice_insert
19177	// will continue indefinitely and there is an expectation that you will enter
19178	// a return_to_network to end the splice_insert at the appropriate time.
19179	Duration *int64 `locationName:"duration" type:"long"`
19180
19181	// The splice_event_id for the SCTE-35 splice_insert, as defined in SCTE-35.
19182	//
19183	// SpliceEventId is a required field
19184	SpliceEventId *int64 `locationName:"spliceEventId" type:"long" required:"true"`
19185}
19186
19187// String returns the string representation
19188func (s Scte35SpliceInsertScheduleActionSettings) String() string {
19189	return awsutil.Prettify(s)
19190}
19191
19192// GoString returns the string representation
19193func (s Scte35SpliceInsertScheduleActionSettings) GoString() string {
19194	return s.String()
19195}
19196
19197// Validate inspects the fields of the type to determine if they are valid.
19198func (s *Scte35SpliceInsertScheduleActionSettings) Validate() error {
19199	invalidParams := request.ErrInvalidParams{Context: "Scte35SpliceInsertScheduleActionSettings"}
19200	if s.SpliceEventId == nil {
19201		invalidParams.Add(request.NewErrParamRequired("SpliceEventId"))
19202	}
19203
19204	if invalidParams.Len() > 0 {
19205		return invalidParams
19206	}
19207	return nil
19208}
19209
19210// SetDuration sets the Duration field's value.
19211func (s *Scte35SpliceInsertScheduleActionSettings) SetDuration(v int64) *Scte35SpliceInsertScheduleActionSettings {
19212	s.Duration = &v
19213	return s
19214}
19215
19216// SetSpliceEventId sets the SpliceEventId field's value.
19217func (s *Scte35SpliceInsertScheduleActionSettings) SetSpliceEventId(v int64) *Scte35SpliceInsertScheduleActionSettings {
19218	s.SpliceEventId = &v
19219	return s
19220}
19221
19222// Scte35 Time Signal Apos
19223type Scte35TimeSignalApos struct {
19224	_ struct{} `type:"structure"`
19225
19226	// When specified, this offset (in milliseconds) is added to the input Ad Avail
19227	// PTS time. This only applies to embedded SCTE 104/35 messages and does not
19228	// apply to OOB messages.
19229	AdAvailOffset *int64 `locationName:"adAvailOffset" type:"integer"`
19230
19231	// When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to
19232	// 0 will no longer trigger blackouts or Ad Avail slates
19233	NoRegionalBlackoutFlag *string `locationName:"noRegionalBlackoutFlag" type:"string" enum:"Scte35AposNoRegionalBlackoutBehavior"`
19234
19235	// When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to
19236	// 0 will no longer trigger blackouts or Ad Avail slates
19237	WebDeliveryAllowedFlag *string `locationName:"webDeliveryAllowedFlag" type:"string" enum:"Scte35AposWebDeliveryAllowedBehavior"`
19238}
19239
19240// String returns the string representation
19241func (s Scte35TimeSignalApos) String() string {
19242	return awsutil.Prettify(s)
19243}
19244
19245// GoString returns the string representation
19246func (s Scte35TimeSignalApos) GoString() string {
19247	return s.String()
19248}
19249
19250// Validate inspects the fields of the type to determine if they are valid.
19251func (s *Scte35TimeSignalApos) Validate() error {
19252	invalidParams := request.ErrInvalidParams{Context: "Scte35TimeSignalApos"}
19253	if s.AdAvailOffset != nil && *s.AdAvailOffset < -1000 {
19254		invalidParams.Add(request.NewErrParamMinValue("AdAvailOffset", -1000))
19255	}
19256
19257	if invalidParams.Len() > 0 {
19258		return invalidParams
19259	}
19260	return nil
19261}
19262
19263// SetAdAvailOffset sets the AdAvailOffset field's value.
19264func (s *Scte35TimeSignalApos) SetAdAvailOffset(v int64) *Scte35TimeSignalApos {
19265	s.AdAvailOffset = &v
19266	return s
19267}
19268
19269// SetNoRegionalBlackoutFlag sets the NoRegionalBlackoutFlag field's value.
19270func (s *Scte35TimeSignalApos) SetNoRegionalBlackoutFlag(v string) *Scte35TimeSignalApos {
19271	s.NoRegionalBlackoutFlag = &v
19272	return s
19273}
19274
19275// SetWebDeliveryAllowedFlag sets the WebDeliveryAllowedFlag field's value.
19276func (s *Scte35TimeSignalApos) SetWebDeliveryAllowedFlag(v string) *Scte35TimeSignalApos {
19277	s.WebDeliveryAllowedFlag = &v
19278	return s
19279}
19280
19281// Settings for a SCTE-35 time_signal.
19282type Scte35TimeSignalScheduleActionSettings struct {
19283	_ struct{} `type:"structure"`
19284
19285	// The list of SCTE-35 descriptors accompanying the SCTE-35 time_signal.
19286	//
19287	// Scte35Descriptors is a required field
19288	Scte35Descriptors []*Scte35Descriptor `locationName:"scte35Descriptors" type:"list" required:"true"`
19289}
19290
19291// String returns the string representation
19292func (s Scte35TimeSignalScheduleActionSettings) String() string {
19293	return awsutil.Prettify(s)
19294}
19295
19296// GoString returns the string representation
19297func (s Scte35TimeSignalScheduleActionSettings) GoString() string {
19298	return s.String()
19299}
19300
19301// Validate inspects the fields of the type to determine if they are valid.
19302func (s *Scte35TimeSignalScheduleActionSettings) Validate() error {
19303	invalidParams := request.ErrInvalidParams{Context: "Scte35TimeSignalScheduleActionSettings"}
19304	if s.Scte35Descriptors == nil {
19305		invalidParams.Add(request.NewErrParamRequired("Scte35Descriptors"))
19306	}
19307	if s.Scte35Descriptors != nil {
19308		for i, v := range s.Scte35Descriptors {
19309			if v == nil {
19310				continue
19311			}
19312			if err := v.Validate(); err != nil {
19313				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Scte35Descriptors", i), err.(request.ErrInvalidParams))
19314			}
19315		}
19316	}
19317
19318	if invalidParams.Len() > 0 {
19319		return invalidParams
19320	}
19321	return nil
19322}
19323
19324// SetScte35Descriptors sets the Scte35Descriptors field's value.
19325func (s *Scte35TimeSignalScheduleActionSettings) SetScte35Descriptors(v []*Scte35Descriptor) *Scte35TimeSignalScheduleActionSettings {
19326	s.Scte35Descriptors = v
19327	return s
19328}
19329
19330// Smpte Tt Destination Settings
19331type SmpteTtDestinationSettings struct {
19332	_ struct{} `type:"structure"`
19333}
19334
19335// String returns the string representation
19336func (s SmpteTtDestinationSettings) String() string {
19337	return awsutil.Prettify(s)
19338}
19339
19340// GoString returns the string representation
19341func (s SmpteTtDestinationSettings) GoString() string {
19342	return s.String()
19343}
19344
19345// Standard Hls Settings
19346type StandardHlsSettings struct {
19347	_ struct{} `type:"structure"`
19348
19349	// List all the audio groups that are used with the video output stream. Input
19350	// all the audio GROUP-IDs that are associated to the video, separate by ','.
19351	AudioRenditionSets *string `locationName:"audioRenditionSets" type:"string"`
19352
19353	// Settings information for the .m3u8 container
19354	//
19355	// M3u8Settings is a required field
19356	M3u8Settings *M3u8Settings `locationName:"m3u8Settings" type:"structure" required:"true"`
19357}
19358
19359// String returns the string representation
19360func (s StandardHlsSettings) String() string {
19361	return awsutil.Prettify(s)
19362}
19363
19364// GoString returns the string representation
19365func (s StandardHlsSettings) GoString() string {
19366	return s.String()
19367}
19368
19369// Validate inspects the fields of the type to determine if they are valid.
19370func (s *StandardHlsSettings) Validate() error {
19371	invalidParams := request.ErrInvalidParams{Context: "StandardHlsSettings"}
19372	if s.M3u8Settings == nil {
19373		invalidParams.Add(request.NewErrParamRequired("M3u8Settings"))
19374	}
19375
19376	if invalidParams.Len() > 0 {
19377		return invalidParams
19378	}
19379	return nil
19380}
19381
19382// SetAudioRenditionSets sets the AudioRenditionSets field's value.
19383func (s *StandardHlsSettings) SetAudioRenditionSets(v string) *StandardHlsSettings {
19384	s.AudioRenditionSets = &v
19385	return s
19386}
19387
19388// SetM3u8Settings sets the M3u8Settings field's value.
19389func (s *StandardHlsSettings) SetM3u8Settings(v *M3u8Settings) *StandardHlsSettings {
19390	s.M3u8Settings = v
19391	return s
19392}
19393
19394type StartChannelInput struct {
19395	_ struct{} `type:"structure"`
19396
19397	// ChannelId is a required field
19398	ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"`
19399}
19400
19401// String returns the string representation
19402func (s StartChannelInput) String() string {
19403	return awsutil.Prettify(s)
19404}
19405
19406// GoString returns the string representation
19407func (s StartChannelInput) GoString() string {
19408	return s.String()
19409}
19410
19411// Validate inspects the fields of the type to determine if they are valid.
19412func (s *StartChannelInput) Validate() error {
19413	invalidParams := request.ErrInvalidParams{Context: "StartChannelInput"}
19414	if s.ChannelId == nil {
19415		invalidParams.Add(request.NewErrParamRequired("ChannelId"))
19416	}
19417	if s.ChannelId != nil && len(*s.ChannelId) < 1 {
19418		invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1))
19419	}
19420
19421	if invalidParams.Len() > 0 {
19422		return invalidParams
19423	}
19424	return nil
19425}
19426
19427// SetChannelId sets the ChannelId field's value.
19428func (s *StartChannelInput) SetChannelId(v string) *StartChannelInput {
19429	s.ChannelId = &v
19430	return s
19431}
19432
19433type StartChannelOutput struct {
19434	_ struct{} `type:"structure"`
19435
19436	Arn *string `locationName:"arn" type:"string"`
19437
19438	// A standard channel has two encoding pipelines and a single pipeline channel
19439	// only has one.
19440	ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"`
19441
19442	Destinations []*OutputDestination `locationName:"destinations" type:"list"`
19443
19444	EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"`
19445
19446	// Encoder Settings
19447	EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"`
19448
19449	Id *string `locationName:"id" type:"string"`
19450
19451	InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"`
19452
19453	InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"`
19454
19455	// The log level the user wants for their channel.
19456	LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"`
19457
19458	Name *string `locationName:"name" type:"string"`
19459
19460	PipelineDetails []*PipelineDetail `locationName:"pipelineDetails" type:"list"`
19461
19462	PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"`
19463
19464	RoleArn *string `locationName:"roleArn" type:"string"`
19465
19466	State *string `locationName:"state" type:"string" enum:"ChannelState"`
19467
19468	Tags map[string]*string `locationName:"tags" type:"map"`
19469}
19470
19471// String returns the string representation
19472func (s StartChannelOutput) String() string {
19473	return awsutil.Prettify(s)
19474}
19475
19476// GoString returns the string representation
19477func (s StartChannelOutput) GoString() string {
19478	return s.String()
19479}
19480
19481// SetArn sets the Arn field's value.
19482func (s *StartChannelOutput) SetArn(v string) *StartChannelOutput {
19483	s.Arn = &v
19484	return s
19485}
19486
19487// SetChannelClass sets the ChannelClass field's value.
19488func (s *StartChannelOutput) SetChannelClass(v string) *StartChannelOutput {
19489	s.ChannelClass = &v
19490	return s
19491}
19492
19493// SetDestinations sets the Destinations field's value.
19494func (s *StartChannelOutput) SetDestinations(v []*OutputDestination) *StartChannelOutput {
19495	s.Destinations = v
19496	return s
19497}
19498
19499// SetEgressEndpoints sets the EgressEndpoints field's value.
19500func (s *StartChannelOutput) SetEgressEndpoints(v []*ChannelEgressEndpoint) *StartChannelOutput {
19501	s.EgressEndpoints = v
19502	return s
19503}
19504
19505// SetEncoderSettings sets the EncoderSettings field's value.
19506func (s *StartChannelOutput) SetEncoderSettings(v *EncoderSettings) *StartChannelOutput {
19507	s.EncoderSettings = v
19508	return s
19509}
19510
19511// SetId sets the Id field's value.
19512func (s *StartChannelOutput) SetId(v string) *StartChannelOutput {
19513	s.Id = &v
19514	return s
19515}
19516
19517// SetInputAttachments sets the InputAttachments field's value.
19518func (s *StartChannelOutput) SetInputAttachments(v []*InputAttachment) *StartChannelOutput {
19519	s.InputAttachments = v
19520	return s
19521}
19522
19523// SetInputSpecification sets the InputSpecification field's value.
19524func (s *StartChannelOutput) SetInputSpecification(v *InputSpecification) *StartChannelOutput {
19525	s.InputSpecification = v
19526	return s
19527}
19528
19529// SetLogLevel sets the LogLevel field's value.
19530func (s *StartChannelOutput) SetLogLevel(v string) *StartChannelOutput {
19531	s.LogLevel = &v
19532	return s
19533}
19534
19535// SetName sets the Name field's value.
19536func (s *StartChannelOutput) SetName(v string) *StartChannelOutput {
19537	s.Name = &v
19538	return s
19539}
19540
19541// SetPipelineDetails sets the PipelineDetails field's value.
19542func (s *StartChannelOutput) SetPipelineDetails(v []*PipelineDetail) *StartChannelOutput {
19543	s.PipelineDetails = v
19544	return s
19545}
19546
19547// SetPipelinesRunningCount sets the PipelinesRunningCount field's value.
19548func (s *StartChannelOutput) SetPipelinesRunningCount(v int64) *StartChannelOutput {
19549	s.PipelinesRunningCount = &v
19550	return s
19551}
19552
19553// SetRoleArn sets the RoleArn field's value.
19554func (s *StartChannelOutput) SetRoleArn(v string) *StartChannelOutput {
19555	s.RoleArn = &v
19556	return s
19557}
19558
19559// SetState sets the State field's value.
19560func (s *StartChannelOutput) SetState(v string) *StartChannelOutput {
19561	s.State = &v
19562	return s
19563}
19564
19565// SetTags sets the Tags field's value.
19566func (s *StartChannelOutput) SetTags(v map[string]*string) *StartChannelOutput {
19567	s.Tags = v
19568	return s
19569}
19570
19571type StartMultiplexInput struct {
19572	_ struct{} `type:"structure"`
19573
19574	// MultiplexId is a required field
19575	MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"`
19576}
19577
19578// String returns the string representation
19579func (s StartMultiplexInput) String() string {
19580	return awsutil.Prettify(s)
19581}
19582
19583// GoString returns the string representation
19584func (s StartMultiplexInput) GoString() string {
19585	return s.String()
19586}
19587
19588// Validate inspects the fields of the type to determine if they are valid.
19589func (s *StartMultiplexInput) Validate() error {
19590	invalidParams := request.ErrInvalidParams{Context: "StartMultiplexInput"}
19591	if s.MultiplexId == nil {
19592		invalidParams.Add(request.NewErrParamRequired("MultiplexId"))
19593	}
19594	if s.MultiplexId != nil && len(*s.MultiplexId) < 1 {
19595		invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1))
19596	}
19597
19598	if invalidParams.Len() > 0 {
19599		return invalidParams
19600	}
19601	return nil
19602}
19603
19604// SetMultiplexId sets the MultiplexId field's value.
19605func (s *StartMultiplexInput) SetMultiplexId(v string) *StartMultiplexInput {
19606	s.MultiplexId = &v
19607	return s
19608}
19609
19610type StartMultiplexOutput struct {
19611	_ struct{} `type:"structure"`
19612
19613	Arn *string `locationName:"arn" type:"string"`
19614
19615	AvailabilityZones []*string `locationName:"availabilityZones" type:"list"`
19616
19617	Destinations []*MultiplexOutputDestination `locationName:"destinations" type:"list"`
19618
19619	Id *string `locationName:"id" type:"string"`
19620
19621	// Contains configuration for a Multiplex event
19622	MultiplexSettings *MultiplexSettings `locationName:"multiplexSettings" type:"structure"`
19623
19624	Name *string `locationName:"name" type:"string"`
19625
19626	PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"`
19627
19628	ProgramCount *int64 `locationName:"programCount" type:"integer"`
19629
19630	// The current state of the multiplex.
19631	State *string `locationName:"state" type:"string" enum:"MultiplexState"`
19632
19633	Tags map[string]*string `locationName:"tags" type:"map"`
19634}
19635
19636// String returns the string representation
19637func (s StartMultiplexOutput) String() string {
19638	return awsutil.Prettify(s)
19639}
19640
19641// GoString returns the string representation
19642func (s StartMultiplexOutput) GoString() string {
19643	return s.String()
19644}
19645
19646// SetArn sets the Arn field's value.
19647func (s *StartMultiplexOutput) SetArn(v string) *StartMultiplexOutput {
19648	s.Arn = &v
19649	return s
19650}
19651
19652// SetAvailabilityZones sets the AvailabilityZones field's value.
19653func (s *StartMultiplexOutput) SetAvailabilityZones(v []*string) *StartMultiplexOutput {
19654	s.AvailabilityZones = v
19655	return s
19656}
19657
19658// SetDestinations sets the Destinations field's value.
19659func (s *StartMultiplexOutput) SetDestinations(v []*MultiplexOutputDestination) *StartMultiplexOutput {
19660	s.Destinations = v
19661	return s
19662}
19663
19664// SetId sets the Id field's value.
19665func (s *StartMultiplexOutput) SetId(v string) *StartMultiplexOutput {
19666	s.Id = &v
19667	return s
19668}
19669
19670// SetMultiplexSettings sets the MultiplexSettings field's value.
19671func (s *StartMultiplexOutput) SetMultiplexSettings(v *MultiplexSettings) *StartMultiplexOutput {
19672	s.MultiplexSettings = v
19673	return s
19674}
19675
19676// SetName sets the Name field's value.
19677func (s *StartMultiplexOutput) SetName(v string) *StartMultiplexOutput {
19678	s.Name = &v
19679	return s
19680}
19681
19682// SetPipelinesRunningCount sets the PipelinesRunningCount field's value.
19683func (s *StartMultiplexOutput) SetPipelinesRunningCount(v int64) *StartMultiplexOutput {
19684	s.PipelinesRunningCount = &v
19685	return s
19686}
19687
19688// SetProgramCount sets the ProgramCount field's value.
19689func (s *StartMultiplexOutput) SetProgramCount(v int64) *StartMultiplexOutput {
19690	s.ProgramCount = &v
19691	return s
19692}
19693
19694// SetState sets the State field's value.
19695func (s *StartMultiplexOutput) SetState(v string) *StartMultiplexOutput {
19696	s.State = &v
19697	return s
19698}
19699
19700// SetTags sets the Tags field's value.
19701func (s *StartMultiplexOutput) SetTags(v map[string]*string) *StartMultiplexOutput {
19702	s.Tags = v
19703	return s
19704}
19705
19706// Settings to identify the start of the clip.
19707type StartTimecode struct {
19708	_ struct{} `type:"structure"`
19709
19710	// The timecode for the frame where you want to start the clip. Optional; if
19711	// not specified, the clip starts at first frame in the file. Enter the timecode
19712	// as HH:MM:SS:FF or HH:MM:SS;FF.
19713	Timecode *string `locationName:"timecode" type:"string"`
19714}
19715
19716// String returns the string representation
19717func (s StartTimecode) String() string {
19718	return awsutil.Prettify(s)
19719}
19720
19721// GoString returns the string representation
19722func (s StartTimecode) GoString() string {
19723	return s.String()
19724}
19725
19726// SetTimecode sets the Timecode field's value.
19727func (s *StartTimecode) SetTimecode(v string) *StartTimecode {
19728	s.Timecode = &v
19729	return s
19730}
19731
19732// Settings for the action to activate a static image.
19733type StaticImageActivateScheduleActionSettings struct {
19734	_ struct{} `type:"structure"`
19735
19736	// The duration in milliseconds for the image to remain on the video. If omitted
19737	// or set to 0 the duration is unlimited and the image will remain until it
19738	// is explicitly deactivated.
19739	Duration *int64 `locationName:"duration" type:"integer"`
19740
19741	// The time in milliseconds for the image to fade in. The fade-in starts at
19742	// the start time of the overlay. Default is 0 (no fade-in).
19743	FadeIn *int64 `locationName:"fadeIn" type:"integer"`
19744
19745	// Applies only if a duration is specified. The time in milliseconds for the
19746	// image to fade out. The fade-out starts when the duration time is hit, so
19747	// it effectively extends the duration. Default is 0 (no fade-out).
19748	FadeOut *int64 `locationName:"fadeOut" type:"integer"`
19749
19750	// The height of the image when inserted into the video, in pixels. The overlay
19751	// will be scaled up or down to the specified height. Leave blank to use the
19752	// native height of the overlay.
19753	Height *int64 `locationName:"height" min:"1" type:"integer"`
19754
19755	// The location and filename of the image file to overlay on the video. The
19756	// file must be a 32-bit BMP, PNG, or TGA file, and must not be larger (in pixels)
19757	// than the input video.
19758	//
19759	// Image is a required field
19760	Image *InputLocation `locationName:"image" type:"structure" required:"true"`
19761
19762	// Placement of the left edge of the overlay relative to the left edge of the
19763	// video frame, in pixels. 0 (the default) is the left edge of the frame. If
19764	// the placement causes the overlay to extend beyond the right edge of the underlying
19765	// video, then the overlay is cropped on the right.
19766	ImageX *int64 `locationName:"imageX" type:"integer"`
19767
19768	// Placement of the top edge of the overlay relative to the top edge of the
19769	// video frame, in pixels. 0 (the default) is the top edge of the frame. If
19770	// the placement causes the overlay to extend beyond the bottom edge of the
19771	// underlying video, then the overlay is cropped on the bottom.
19772	ImageY *int64 `locationName:"imageY" type:"integer"`
19773
19774	// The number of the layer, 0 to 7. There are 8 layers that can be overlaid
19775	// on the video, each layer with a different image. The layers are in Z order,
19776	// which means that overlays with higher values of layer are inserted on top
19777	// of overlays with lower values of layer. Default is 0.
19778	Layer *int64 `locationName:"layer" type:"integer"`
19779
19780	// Opacity of image where 0 is transparent and 100 is fully opaque. Default
19781	// is 100.
19782	Opacity *int64 `locationName:"opacity" type:"integer"`
19783
19784	// The width of the image when inserted into the video, in pixels. The overlay
19785	// will be scaled up or down to the specified width. Leave blank to use the
19786	// native width of the overlay.
19787	Width *int64 `locationName:"width" min:"1" type:"integer"`
19788}
19789
19790// String returns the string representation
19791func (s StaticImageActivateScheduleActionSettings) String() string {
19792	return awsutil.Prettify(s)
19793}
19794
19795// GoString returns the string representation
19796func (s StaticImageActivateScheduleActionSettings) GoString() string {
19797	return s.String()
19798}
19799
19800// Validate inspects the fields of the type to determine if they are valid.
19801func (s *StaticImageActivateScheduleActionSettings) Validate() error {
19802	invalidParams := request.ErrInvalidParams{Context: "StaticImageActivateScheduleActionSettings"}
19803	if s.Height != nil && *s.Height < 1 {
19804		invalidParams.Add(request.NewErrParamMinValue("Height", 1))
19805	}
19806	if s.Image == nil {
19807		invalidParams.Add(request.NewErrParamRequired("Image"))
19808	}
19809	if s.Width != nil && *s.Width < 1 {
19810		invalidParams.Add(request.NewErrParamMinValue("Width", 1))
19811	}
19812	if s.Image != nil {
19813		if err := s.Image.Validate(); err != nil {
19814			invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
19815		}
19816	}
19817
19818	if invalidParams.Len() > 0 {
19819		return invalidParams
19820	}
19821	return nil
19822}
19823
19824// SetDuration sets the Duration field's value.
19825func (s *StaticImageActivateScheduleActionSettings) SetDuration(v int64) *StaticImageActivateScheduleActionSettings {
19826	s.Duration = &v
19827	return s
19828}
19829
19830// SetFadeIn sets the FadeIn field's value.
19831func (s *StaticImageActivateScheduleActionSettings) SetFadeIn(v int64) *StaticImageActivateScheduleActionSettings {
19832	s.FadeIn = &v
19833	return s
19834}
19835
19836// SetFadeOut sets the FadeOut field's value.
19837func (s *StaticImageActivateScheduleActionSettings) SetFadeOut(v int64) *StaticImageActivateScheduleActionSettings {
19838	s.FadeOut = &v
19839	return s
19840}
19841
19842// SetHeight sets the Height field's value.
19843func (s *StaticImageActivateScheduleActionSettings) SetHeight(v int64) *StaticImageActivateScheduleActionSettings {
19844	s.Height = &v
19845	return s
19846}
19847
19848// SetImage sets the Image field's value.
19849func (s *StaticImageActivateScheduleActionSettings) SetImage(v *InputLocation) *StaticImageActivateScheduleActionSettings {
19850	s.Image = v
19851	return s
19852}
19853
19854// SetImageX sets the ImageX field's value.
19855func (s *StaticImageActivateScheduleActionSettings) SetImageX(v int64) *StaticImageActivateScheduleActionSettings {
19856	s.ImageX = &v
19857	return s
19858}
19859
19860// SetImageY sets the ImageY field's value.
19861func (s *StaticImageActivateScheduleActionSettings) SetImageY(v int64) *StaticImageActivateScheduleActionSettings {
19862	s.ImageY = &v
19863	return s
19864}
19865
19866// SetLayer sets the Layer field's value.
19867func (s *StaticImageActivateScheduleActionSettings) SetLayer(v int64) *StaticImageActivateScheduleActionSettings {
19868	s.Layer = &v
19869	return s
19870}
19871
19872// SetOpacity sets the Opacity field's value.
19873func (s *StaticImageActivateScheduleActionSettings) SetOpacity(v int64) *StaticImageActivateScheduleActionSettings {
19874	s.Opacity = &v
19875	return s
19876}
19877
19878// SetWidth sets the Width field's value.
19879func (s *StaticImageActivateScheduleActionSettings) SetWidth(v int64) *StaticImageActivateScheduleActionSettings {
19880	s.Width = &v
19881	return s
19882}
19883
19884// Settings for the action to deactivate the image in a specific layer.
19885type StaticImageDeactivateScheduleActionSettings struct {
19886	_ struct{} `type:"structure"`
19887
19888	// The time in milliseconds for the image to fade out. Default is 0 (no fade-out).
19889	FadeOut *int64 `locationName:"fadeOut" type:"integer"`
19890
19891	// The image overlay layer to deactivate, 0 to 7. Default is 0.
19892	Layer *int64 `locationName:"layer" type:"integer"`
19893}
19894
19895// String returns the string representation
19896func (s StaticImageDeactivateScheduleActionSettings) String() string {
19897	return awsutil.Prettify(s)
19898}
19899
19900// GoString returns the string representation
19901func (s StaticImageDeactivateScheduleActionSettings) GoString() string {
19902	return s.String()
19903}
19904
19905// SetFadeOut sets the FadeOut field's value.
19906func (s *StaticImageDeactivateScheduleActionSettings) SetFadeOut(v int64) *StaticImageDeactivateScheduleActionSettings {
19907	s.FadeOut = &v
19908	return s
19909}
19910
19911// SetLayer sets the Layer field's value.
19912func (s *StaticImageDeactivateScheduleActionSettings) SetLayer(v int64) *StaticImageDeactivateScheduleActionSettings {
19913	s.Layer = &v
19914	return s
19915}
19916
19917// Static Key Settings
19918type StaticKeySettings struct {
19919	_ struct{} `type:"structure"`
19920
19921	// The URL of the license server used for protecting content.
19922	KeyProviderServer *InputLocation `locationName:"keyProviderServer" type:"structure"`
19923
19924	// Static key value as a 32 character hexadecimal string.
19925	//
19926	// StaticKeyValue is a required field
19927	StaticKeyValue *string `locationName:"staticKeyValue" min:"32" type:"string" required:"true"`
19928}
19929
19930// String returns the string representation
19931func (s StaticKeySettings) String() string {
19932	return awsutil.Prettify(s)
19933}
19934
19935// GoString returns the string representation
19936func (s StaticKeySettings) GoString() string {
19937	return s.String()
19938}
19939
19940// Validate inspects the fields of the type to determine if they are valid.
19941func (s *StaticKeySettings) Validate() error {
19942	invalidParams := request.ErrInvalidParams{Context: "StaticKeySettings"}
19943	if s.StaticKeyValue == nil {
19944		invalidParams.Add(request.NewErrParamRequired("StaticKeyValue"))
19945	}
19946	if s.StaticKeyValue != nil && len(*s.StaticKeyValue) < 32 {
19947		invalidParams.Add(request.NewErrParamMinLen("StaticKeyValue", 32))
19948	}
19949	if s.KeyProviderServer != nil {
19950		if err := s.KeyProviderServer.Validate(); err != nil {
19951			invalidParams.AddNested("KeyProviderServer", err.(request.ErrInvalidParams))
19952		}
19953	}
19954
19955	if invalidParams.Len() > 0 {
19956		return invalidParams
19957	}
19958	return nil
19959}
19960
19961// SetKeyProviderServer sets the KeyProviderServer field's value.
19962func (s *StaticKeySettings) SetKeyProviderServer(v *InputLocation) *StaticKeySettings {
19963	s.KeyProviderServer = v
19964	return s
19965}
19966
19967// SetStaticKeyValue sets the StaticKeyValue field's value.
19968func (s *StaticKeySettings) SetStaticKeyValue(v string) *StaticKeySettings {
19969	s.StaticKeyValue = &v
19970	return s
19971}
19972
19973type StopChannelInput struct {
19974	_ struct{} `type:"structure"`
19975
19976	// ChannelId is a required field
19977	ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"`
19978}
19979
19980// String returns the string representation
19981func (s StopChannelInput) String() string {
19982	return awsutil.Prettify(s)
19983}
19984
19985// GoString returns the string representation
19986func (s StopChannelInput) GoString() string {
19987	return s.String()
19988}
19989
19990// Validate inspects the fields of the type to determine if they are valid.
19991func (s *StopChannelInput) Validate() error {
19992	invalidParams := request.ErrInvalidParams{Context: "StopChannelInput"}
19993	if s.ChannelId == nil {
19994		invalidParams.Add(request.NewErrParamRequired("ChannelId"))
19995	}
19996	if s.ChannelId != nil && len(*s.ChannelId) < 1 {
19997		invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1))
19998	}
19999
20000	if invalidParams.Len() > 0 {
20001		return invalidParams
20002	}
20003	return nil
20004}
20005
20006// SetChannelId sets the ChannelId field's value.
20007func (s *StopChannelInput) SetChannelId(v string) *StopChannelInput {
20008	s.ChannelId = &v
20009	return s
20010}
20011
20012type StopChannelOutput struct {
20013	_ struct{} `type:"structure"`
20014
20015	Arn *string `locationName:"arn" type:"string"`
20016
20017	// A standard channel has two encoding pipelines and a single pipeline channel
20018	// only has one.
20019	ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"`
20020
20021	Destinations []*OutputDestination `locationName:"destinations" type:"list"`
20022
20023	EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"`
20024
20025	// Encoder Settings
20026	EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"`
20027
20028	Id *string `locationName:"id" type:"string"`
20029
20030	InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"`
20031
20032	InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"`
20033
20034	// The log level the user wants for their channel.
20035	LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"`
20036
20037	Name *string `locationName:"name" type:"string"`
20038
20039	PipelineDetails []*PipelineDetail `locationName:"pipelineDetails" type:"list"`
20040
20041	PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"`
20042
20043	RoleArn *string `locationName:"roleArn" type:"string"`
20044
20045	State *string `locationName:"state" type:"string" enum:"ChannelState"`
20046
20047	Tags map[string]*string `locationName:"tags" type:"map"`
20048}
20049
20050// String returns the string representation
20051func (s StopChannelOutput) String() string {
20052	return awsutil.Prettify(s)
20053}
20054
20055// GoString returns the string representation
20056func (s StopChannelOutput) GoString() string {
20057	return s.String()
20058}
20059
20060// SetArn sets the Arn field's value.
20061func (s *StopChannelOutput) SetArn(v string) *StopChannelOutput {
20062	s.Arn = &v
20063	return s
20064}
20065
20066// SetChannelClass sets the ChannelClass field's value.
20067func (s *StopChannelOutput) SetChannelClass(v string) *StopChannelOutput {
20068	s.ChannelClass = &v
20069	return s
20070}
20071
20072// SetDestinations sets the Destinations field's value.
20073func (s *StopChannelOutput) SetDestinations(v []*OutputDestination) *StopChannelOutput {
20074	s.Destinations = v
20075	return s
20076}
20077
20078// SetEgressEndpoints sets the EgressEndpoints field's value.
20079func (s *StopChannelOutput) SetEgressEndpoints(v []*ChannelEgressEndpoint) *StopChannelOutput {
20080	s.EgressEndpoints = v
20081	return s
20082}
20083
20084// SetEncoderSettings sets the EncoderSettings field's value.
20085func (s *StopChannelOutput) SetEncoderSettings(v *EncoderSettings) *StopChannelOutput {
20086	s.EncoderSettings = v
20087	return s
20088}
20089
20090// SetId sets the Id field's value.
20091func (s *StopChannelOutput) SetId(v string) *StopChannelOutput {
20092	s.Id = &v
20093	return s
20094}
20095
20096// SetInputAttachments sets the InputAttachments field's value.
20097func (s *StopChannelOutput) SetInputAttachments(v []*InputAttachment) *StopChannelOutput {
20098	s.InputAttachments = v
20099	return s
20100}
20101
20102// SetInputSpecification sets the InputSpecification field's value.
20103func (s *StopChannelOutput) SetInputSpecification(v *InputSpecification) *StopChannelOutput {
20104	s.InputSpecification = v
20105	return s
20106}
20107
20108// SetLogLevel sets the LogLevel field's value.
20109func (s *StopChannelOutput) SetLogLevel(v string) *StopChannelOutput {
20110	s.LogLevel = &v
20111	return s
20112}
20113
20114// SetName sets the Name field's value.
20115func (s *StopChannelOutput) SetName(v string) *StopChannelOutput {
20116	s.Name = &v
20117	return s
20118}
20119
20120// SetPipelineDetails sets the PipelineDetails field's value.
20121func (s *StopChannelOutput) SetPipelineDetails(v []*PipelineDetail) *StopChannelOutput {
20122	s.PipelineDetails = v
20123	return s
20124}
20125
20126// SetPipelinesRunningCount sets the PipelinesRunningCount field's value.
20127func (s *StopChannelOutput) SetPipelinesRunningCount(v int64) *StopChannelOutput {
20128	s.PipelinesRunningCount = &v
20129	return s
20130}
20131
20132// SetRoleArn sets the RoleArn field's value.
20133func (s *StopChannelOutput) SetRoleArn(v string) *StopChannelOutput {
20134	s.RoleArn = &v
20135	return s
20136}
20137
20138// SetState sets the State field's value.
20139func (s *StopChannelOutput) SetState(v string) *StopChannelOutput {
20140	s.State = &v
20141	return s
20142}
20143
20144// SetTags sets the Tags field's value.
20145func (s *StopChannelOutput) SetTags(v map[string]*string) *StopChannelOutput {
20146	s.Tags = v
20147	return s
20148}
20149
20150type StopMultiplexInput struct {
20151	_ struct{} `type:"structure"`
20152
20153	// MultiplexId is a required field
20154	MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"`
20155}
20156
20157// String returns the string representation
20158func (s StopMultiplexInput) String() string {
20159	return awsutil.Prettify(s)
20160}
20161
20162// GoString returns the string representation
20163func (s StopMultiplexInput) GoString() string {
20164	return s.String()
20165}
20166
20167// Validate inspects the fields of the type to determine if they are valid.
20168func (s *StopMultiplexInput) Validate() error {
20169	invalidParams := request.ErrInvalidParams{Context: "StopMultiplexInput"}
20170	if s.MultiplexId == nil {
20171		invalidParams.Add(request.NewErrParamRequired("MultiplexId"))
20172	}
20173	if s.MultiplexId != nil && len(*s.MultiplexId) < 1 {
20174		invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1))
20175	}
20176
20177	if invalidParams.Len() > 0 {
20178		return invalidParams
20179	}
20180	return nil
20181}
20182
20183// SetMultiplexId sets the MultiplexId field's value.
20184func (s *StopMultiplexInput) SetMultiplexId(v string) *StopMultiplexInput {
20185	s.MultiplexId = &v
20186	return s
20187}
20188
20189type StopMultiplexOutput struct {
20190	_ struct{} `type:"structure"`
20191
20192	Arn *string `locationName:"arn" type:"string"`
20193
20194	AvailabilityZones []*string `locationName:"availabilityZones" type:"list"`
20195
20196	Destinations []*MultiplexOutputDestination `locationName:"destinations" type:"list"`
20197
20198	Id *string `locationName:"id" type:"string"`
20199
20200	// Contains configuration for a Multiplex event
20201	MultiplexSettings *MultiplexSettings `locationName:"multiplexSettings" type:"structure"`
20202
20203	Name *string `locationName:"name" type:"string"`
20204
20205	PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"`
20206
20207	ProgramCount *int64 `locationName:"programCount" type:"integer"`
20208
20209	// The current state of the multiplex.
20210	State *string `locationName:"state" type:"string" enum:"MultiplexState"`
20211
20212	Tags map[string]*string `locationName:"tags" type:"map"`
20213}
20214
20215// String returns the string representation
20216func (s StopMultiplexOutput) String() string {
20217	return awsutil.Prettify(s)
20218}
20219
20220// GoString returns the string representation
20221func (s StopMultiplexOutput) GoString() string {
20222	return s.String()
20223}
20224
20225// SetArn sets the Arn field's value.
20226func (s *StopMultiplexOutput) SetArn(v string) *StopMultiplexOutput {
20227	s.Arn = &v
20228	return s
20229}
20230
20231// SetAvailabilityZones sets the AvailabilityZones field's value.
20232func (s *StopMultiplexOutput) SetAvailabilityZones(v []*string) *StopMultiplexOutput {
20233	s.AvailabilityZones = v
20234	return s
20235}
20236
20237// SetDestinations sets the Destinations field's value.
20238func (s *StopMultiplexOutput) SetDestinations(v []*MultiplexOutputDestination) *StopMultiplexOutput {
20239	s.Destinations = v
20240	return s
20241}
20242
20243// SetId sets the Id field's value.
20244func (s *StopMultiplexOutput) SetId(v string) *StopMultiplexOutput {
20245	s.Id = &v
20246	return s
20247}
20248
20249// SetMultiplexSettings sets the MultiplexSettings field's value.
20250func (s *StopMultiplexOutput) SetMultiplexSettings(v *MultiplexSettings) *StopMultiplexOutput {
20251	s.MultiplexSettings = v
20252	return s
20253}
20254
20255// SetName sets the Name field's value.
20256func (s *StopMultiplexOutput) SetName(v string) *StopMultiplexOutput {
20257	s.Name = &v
20258	return s
20259}
20260
20261// SetPipelinesRunningCount sets the PipelinesRunningCount field's value.
20262func (s *StopMultiplexOutput) SetPipelinesRunningCount(v int64) *StopMultiplexOutput {
20263	s.PipelinesRunningCount = &v
20264	return s
20265}
20266
20267// SetProgramCount sets the ProgramCount field's value.
20268func (s *StopMultiplexOutput) SetProgramCount(v int64) *StopMultiplexOutput {
20269	s.ProgramCount = &v
20270	return s
20271}
20272
20273// SetState sets the State field's value.
20274func (s *StopMultiplexOutput) SetState(v string) *StopMultiplexOutput {
20275	s.State = &v
20276	return s
20277}
20278
20279// SetTags sets the Tags field's value.
20280func (s *StopMultiplexOutput) SetTags(v map[string]*string) *StopMultiplexOutput {
20281	s.Tags = v
20282	return s
20283}
20284
20285// Settings to identify the end of the clip.
20286type StopTimecode struct {
20287	_ struct{} `type:"structure"`
20288
20289	// If you specify a StopTimecode in an input (in order to clip the file), you
20290	// can specify if you want the clip to exclude (the default) or include the
20291	// frame specified by the timecode.
20292	LastFrameClippingBehavior *string `locationName:"lastFrameClippingBehavior" type:"string" enum:"LastFrameClippingBehavior"`
20293
20294	// The timecode for the frame where you want to stop the clip. Optional; if
20295	// not specified, the clip continues to the end of the file. Enter the timecode
20296	// as HH:MM:SS:FF or HH:MM:SS;FF.
20297	Timecode *string `locationName:"timecode" type:"string"`
20298}
20299
20300// String returns the string representation
20301func (s StopTimecode) String() string {
20302	return awsutil.Prettify(s)
20303}
20304
20305// GoString returns the string representation
20306func (s StopTimecode) GoString() string {
20307	return s.String()
20308}
20309
20310// SetLastFrameClippingBehavior sets the LastFrameClippingBehavior field's value.
20311func (s *StopTimecode) SetLastFrameClippingBehavior(v string) *StopTimecode {
20312	s.LastFrameClippingBehavior = &v
20313	return s
20314}
20315
20316// SetTimecode sets the Timecode field's value.
20317func (s *StopTimecode) SetTimecode(v string) *StopTimecode {
20318	s.Timecode = &v
20319	return s
20320}
20321
20322// Teletext Destination Settings
20323type TeletextDestinationSettings struct {
20324	_ struct{} `type:"structure"`
20325}
20326
20327// String returns the string representation
20328func (s TeletextDestinationSettings) String() string {
20329	return awsutil.Prettify(s)
20330}
20331
20332// GoString returns the string representation
20333func (s TeletextDestinationSettings) GoString() string {
20334	return s.String()
20335}
20336
20337// Teletext Source Settings
20338type TeletextSourceSettings struct {
20339	_ struct{} `type:"structure"`
20340
20341	// Specifies the teletext page number within the data stream from which to extract
20342	// captions. Range of 0x100 (256) to 0x8FF (2303). Unused for passthrough. Should
20343	// be specified as a hexadecimal string with no "0x" prefix.
20344	PageNumber *string `locationName:"pageNumber" type:"string"`
20345}
20346
20347// String returns the string representation
20348func (s TeletextSourceSettings) String() string {
20349	return awsutil.Prettify(s)
20350}
20351
20352// GoString returns the string representation
20353func (s TeletextSourceSettings) GoString() string {
20354	return s.String()
20355}
20356
20357// SetPageNumber sets the PageNumber field's value.
20358func (s *TeletextSourceSettings) SetPageNumber(v string) *TeletextSourceSettings {
20359	s.PageNumber = &v
20360	return s
20361}
20362
20363// Timecode Config
20364type TimecodeConfig struct {
20365	_ struct{} `type:"structure"`
20366
20367	// Identifies the source for the timecode that will be associated with the events
20368	// outputs.-Embedded (embedded): Initialize the output timecode with timecode
20369	// from the the source. If no embedded timecode is detected in the source, the
20370	// system falls back to using "Start at 0" (zerobased).-System Clock (systemclock):
20371	// Use the UTC time.-Start at 0 (zerobased): The time of the first frame of
20372	// the event will be 00:00:00:00.
20373	//
20374	// Source is a required field
20375	Source *string `locationName:"source" type:"string" required:"true" enum:"TimecodeConfigSource"`
20376
20377	// Threshold in frames beyond which output timecode is resynchronized to the
20378	// input timecode. Discrepancies below this threshold are permitted to avoid
20379	// unnecessary discontinuities in the output timecode. No timecode sync when
20380	// this is not specified.
20381	SyncThreshold *int64 `locationName:"syncThreshold" min:"1" type:"integer"`
20382}
20383
20384// String returns the string representation
20385func (s TimecodeConfig) String() string {
20386	return awsutil.Prettify(s)
20387}
20388
20389// GoString returns the string representation
20390func (s TimecodeConfig) GoString() string {
20391	return s.String()
20392}
20393
20394// Validate inspects the fields of the type to determine if they are valid.
20395func (s *TimecodeConfig) Validate() error {
20396	invalidParams := request.ErrInvalidParams{Context: "TimecodeConfig"}
20397	if s.Source == nil {
20398		invalidParams.Add(request.NewErrParamRequired("Source"))
20399	}
20400	if s.SyncThreshold != nil && *s.SyncThreshold < 1 {
20401		invalidParams.Add(request.NewErrParamMinValue("SyncThreshold", 1))
20402	}
20403
20404	if invalidParams.Len() > 0 {
20405		return invalidParams
20406	}
20407	return nil
20408}
20409
20410// SetSource sets the Source field's value.
20411func (s *TimecodeConfig) SetSource(v string) *TimecodeConfig {
20412	s.Source = &v
20413	return s
20414}
20415
20416// SetSyncThreshold sets the SyncThreshold field's value.
20417func (s *TimecodeConfig) SetSyncThreshold(v int64) *TimecodeConfig {
20418	s.SyncThreshold = &v
20419	return s
20420}
20421
20422// Ttml Destination Settings
20423type TtmlDestinationSettings struct {
20424	_ struct{} `type:"structure"`
20425
20426	// When set to passthrough, passes through style and position information from
20427	// a TTML-like input source (TTML, SMPTE-TT, CFF-TT) to the CFF-TT output or
20428	// TTML output.
20429	StyleControl *string `locationName:"styleControl" type:"string" enum:"TtmlDestinationStyleControl"`
20430}
20431
20432// String returns the string representation
20433func (s TtmlDestinationSettings) String() string {
20434	return awsutil.Prettify(s)
20435}
20436
20437// GoString returns the string representation
20438func (s TtmlDestinationSettings) GoString() string {
20439	return s.String()
20440}
20441
20442// SetStyleControl sets the StyleControl field's value.
20443func (s *TtmlDestinationSettings) SetStyleControl(v string) *TtmlDestinationSettings {
20444	s.StyleControl = &v
20445	return s
20446}
20447
20448// Udp Container Settings
20449type UdpContainerSettings struct {
20450	_ struct{} `type:"structure"`
20451
20452	// M2ts Settings
20453	M2tsSettings *M2tsSettings `locationName:"m2tsSettings" type:"structure"`
20454}
20455
20456// String returns the string representation
20457func (s UdpContainerSettings) String() string {
20458	return awsutil.Prettify(s)
20459}
20460
20461// GoString returns the string representation
20462func (s UdpContainerSettings) GoString() string {
20463	return s.String()
20464}
20465
20466// Validate inspects the fields of the type to determine if they are valid.
20467func (s *UdpContainerSettings) Validate() error {
20468	invalidParams := request.ErrInvalidParams{Context: "UdpContainerSettings"}
20469	if s.M2tsSettings != nil {
20470		if err := s.M2tsSettings.Validate(); err != nil {
20471			invalidParams.AddNested("M2tsSettings", err.(request.ErrInvalidParams))
20472		}
20473	}
20474
20475	if invalidParams.Len() > 0 {
20476		return invalidParams
20477	}
20478	return nil
20479}
20480
20481// SetM2tsSettings sets the M2tsSettings field's value.
20482func (s *UdpContainerSettings) SetM2tsSettings(v *M2tsSettings) *UdpContainerSettings {
20483	s.M2tsSettings = v
20484	return s
20485}
20486
20487// Udp Group Settings
20488type UdpGroupSettings struct {
20489	_ struct{} `type:"structure"`
20490
20491	// Specifies behavior of last resort when input video is lost, and no more backup
20492	// inputs are available. When dropTs is selected the entire transport stream
20493	// will stop being emitted. When dropProgram is selected the program can be
20494	// dropped from the transport stream (and replaced with null packets to meet
20495	// the TS bitrate requirement). Or, when emitProgram is chosen the transport
20496	// stream will continue to be produced normally with repeat frames, black frames,
20497	// or slate frames substituted for the absent input video.
20498	InputLossAction *string `locationName:"inputLossAction" type:"string" enum:"InputLossActionForUdpOut"`
20499
20500	// Indicates ID3 frame that has the timecode.
20501	TimedMetadataId3Frame *string `locationName:"timedMetadataId3Frame" type:"string" enum:"UdpTimedMetadataId3Frame"`
20502
20503	// Timed Metadata interval in seconds.
20504	TimedMetadataId3Period *int64 `locationName:"timedMetadataId3Period" type:"integer"`
20505}
20506
20507// String returns the string representation
20508func (s UdpGroupSettings) String() string {
20509	return awsutil.Prettify(s)
20510}
20511
20512// GoString returns the string representation
20513func (s UdpGroupSettings) GoString() string {
20514	return s.String()
20515}
20516
20517// SetInputLossAction sets the InputLossAction field's value.
20518func (s *UdpGroupSettings) SetInputLossAction(v string) *UdpGroupSettings {
20519	s.InputLossAction = &v
20520	return s
20521}
20522
20523// SetTimedMetadataId3Frame sets the TimedMetadataId3Frame field's value.
20524func (s *UdpGroupSettings) SetTimedMetadataId3Frame(v string) *UdpGroupSettings {
20525	s.TimedMetadataId3Frame = &v
20526	return s
20527}
20528
20529// SetTimedMetadataId3Period sets the TimedMetadataId3Period field's value.
20530func (s *UdpGroupSettings) SetTimedMetadataId3Period(v int64) *UdpGroupSettings {
20531	s.TimedMetadataId3Period = &v
20532	return s
20533}
20534
20535// Udp Output Settings
20536type UdpOutputSettings struct {
20537	_ struct{} `type:"structure"`
20538
20539	// UDP output buffering in milliseconds. Larger values increase latency through
20540	// the transcoder but simultaneously assist the transcoder in maintaining a
20541	// constant, low-jitter UDP/RTP output while accommodating clock recovery, input
20542	// switching, input disruptions, picture reordering, etc.
20543	BufferMsec *int64 `locationName:"bufferMsec" type:"integer"`
20544
20545	// Udp Container Settings
20546	//
20547	// ContainerSettings is a required field
20548	ContainerSettings *UdpContainerSettings `locationName:"containerSettings" type:"structure" required:"true"`
20549
20550	// Destination address and port number for RTP or UDP packets. Can be unicast
20551	// or multicast RTP or UDP (eg. rtp://239.10.10.10:5001 or udp://10.100.100.100:5002).
20552	//
20553	// Destination is a required field
20554	Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"`
20555
20556	// Settings for enabling and adjusting Forward Error Correction on UDP outputs.
20557	FecOutputSettings *FecOutputSettings `locationName:"fecOutputSettings" type:"structure"`
20558}
20559
20560// String returns the string representation
20561func (s UdpOutputSettings) String() string {
20562	return awsutil.Prettify(s)
20563}
20564
20565// GoString returns the string representation
20566func (s UdpOutputSettings) GoString() string {
20567	return s.String()
20568}
20569
20570// Validate inspects the fields of the type to determine if they are valid.
20571func (s *UdpOutputSettings) Validate() error {
20572	invalidParams := request.ErrInvalidParams{Context: "UdpOutputSettings"}
20573	if s.ContainerSettings == nil {
20574		invalidParams.Add(request.NewErrParamRequired("ContainerSettings"))
20575	}
20576	if s.Destination == nil {
20577		invalidParams.Add(request.NewErrParamRequired("Destination"))
20578	}
20579	if s.ContainerSettings != nil {
20580		if err := s.ContainerSettings.Validate(); err != nil {
20581			invalidParams.AddNested("ContainerSettings", err.(request.ErrInvalidParams))
20582		}
20583	}
20584	if s.FecOutputSettings != nil {
20585		if err := s.FecOutputSettings.Validate(); err != nil {
20586			invalidParams.AddNested("FecOutputSettings", err.(request.ErrInvalidParams))
20587		}
20588	}
20589
20590	if invalidParams.Len() > 0 {
20591		return invalidParams
20592	}
20593	return nil
20594}
20595
20596// SetBufferMsec sets the BufferMsec field's value.
20597func (s *UdpOutputSettings) SetBufferMsec(v int64) *UdpOutputSettings {
20598	s.BufferMsec = &v
20599	return s
20600}
20601
20602// SetContainerSettings sets the ContainerSettings field's value.
20603func (s *UdpOutputSettings) SetContainerSettings(v *UdpContainerSettings) *UdpOutputSettings {
20604	s.ContainerSettings = v
20605	return s
20606}
20607
20608// SetDestination sets the Destination field's value.
20609func (s *UdpOutputSettings) SetDestination(v *OutputLocationRef) *UdpOutputSettings {
20610	s.Destination = v
20611	return s
20612}
20613
20614// SetFecOutputSettings sets the FecOutputSettings field's value.
20615func (s *UdpOutputSettings) SetFecOutputSettings(v *FecOutputSettings) *UdpOutputSettings {
20616	s.FecOutputSettings = v
20617	return s
20618}
20619
20620type UpdateChannelClassInput struct {
20621	_ struct{} `type:"structure"`
20622
20623	// A standard channel has two encoding pipelines and a single pipeline channel
20624	// only has one.
20625	//
20626	// ChannelClass is a required field
20627	ChannelClass *string `locationName:"channelClass" type:"string" required:"true" enum:"ChannelClass"`
20628
20629	// ChannelId is a required field
20630	ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"`
20631
20632	Destinations []*OutputDestination `locationName:"destinations" type:"list"`
20633}
20634
20635// String returns the string representation
20636func (s UpdateChannelClassInput) String() string {
20637	return awsutil.Prettify(s)
20638}
20639
20640// GoString returns the string representation
20641func (s UpdateChannelClassInput) GoString() string {
20642	return s.String()
20643}
20644
20645// Validate inspects the fields of the type to determine if they are valid.
20646func (s *UpdateChannelClassInput) Validate() error {
20647	invalidParams := request.ErrInvalidParams{Context: "UpdateChannelClassInput"}
20648	if s.ChannelClass == nil {
20649		invalidParams.Add(request.NewErrParamRequired("ChannelClass"))
20650	}
20651	if s.ChannelId == nil {
20652		invalidParams.Add(request.NewErrParamRequired("ChannelId"))
20653	}
20654	if s.ChannelId != nil && len(*s.ChannelId) < 1 {
20655		invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1))
20656	}
20657	if s.Destinations != nil {
20658		for i, v := range s.Destinations {
20659			if v == nil {
20660				continue
20661			}
20662			if err := v.Validate(); err != nil {
20663				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Destinations", i), err.(request.ErrInvalidParams))
20664			}
20665		}
20666	}
20667
20668	if invalidParams.Len() > 0 {
20669		return invalidParams
20670	}
20671	return nil
20672}
20673
20674// SetChannelClass sets the ChannelClass field's value.
20675func (s *UpdateChannelClassInput) SetChannelClass(v string) *UpdateChannelClassInput {
20676	s.ChannelClass = &v
20677	return s
20678}
20679
20680// SetChannelId sets the ChannelId field's value.
20681func (s *UpdateChannelClassInput) SetChannelId(v string) *UpdateChannelClassInput {
20682	s.ChannelId = &v
20683	return s
20684}
20685
20686// SetDestinations sets the Destinations field's value.
20687func (s *UpdateChannelClassInput) SetDestinations(v []*OutputDestination) *UpdateChannelClassInput {
20688	s.Destinations = v
20689	return s
20690}
20691
20692type UpdateChannelClassOutput struct {
20693	_ struct{} `type:"structure"`
20694
20695	Channel *Channel `locationName:"channel" type:"structure"`
20696}
20697
20698// String returns the string representation
20699func (s UpdateChannelClassOutput) String() string {
20700	return awsutil.Prettify(s)
20701}
20702
20703// GoString returns the string representation
20704func (s UpdateChannelClassOutput) GoString() string {
20705	return s.String()
20706}
20707
20708// SetChannel sets the Channel field's value.
20709func (s *UpdateChannelClassOutput) SetChannel(v *Channel) *UpdateChannelClassOutput {
20710	s.Channel = v
20711	return s
20712}
20713
20714type UpdateChannelInput struct {
20715	_ struct{} `type:"structure"`
20716
20717	// ChannelId is a required field
20718	ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"`
20719
20720	Destinations []*OutputDestination `locationName:"destinations" type:"list"`
20721
20722	// Encoder Settings
20723	EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"`
20724
20725	InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"`
20726
20727	InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"`
20728
20729	// The log level the user wants for their channel.
20730	LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"`
20731
20732	Name *string `locationName:"name" type:"string"`
20733
20734	RoleArn *string `locationName:"roleArn" type:"string"`
20735}
20736
20737// String returns the string representation
20738func (s UpdateChannelInput) String() string {
20739	return awsutil.Prettify(s)
20740}
20741
20742// GoString returns the string representation
20743func (s UpdateChannelInput) GoString() string {
20744	return s.String()
20745}
20746
20747// Validate inspects the fields of the type to determine if they are valid.
20748func (s *UpdateChannelInput) Validate() error {
20749	invalidParams := request.ErrInvalidParams{Context: "UpdateChannelInput"}
20750	if s.ChannelId == nil {
20751		invalidParams.Add(request.NewErrParamRequired("ChannelId"))
20752	}
20753	if s.ChannelId != nil && len(*s.ChannelId) < 1 {
20754		invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1))
20755	}
20756	if s.Destinations != nil {
20757		for i, v := range s.Destinations {
20758			if v == nil {
20759				continue
20760			}
20761			if err := v.Validate(); err != nil {
20762				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Destinations", i), err.(request.ErrInvalidParams))
20763			}
20764		}
20765	}
20766	if s.EncoderSettings != nil {
20767		if err := s.EncoderSettings.Validate(); err != nil {
20768			invalidParams.AddNested("EncoderSettings", err.(request.ErrInvalidParams))
20769		}
20770	}
20771	if s.InputAttachments != nil {
20772		for i, v := range s.InputAttachments {
20773			if v == nil {
20774				continue
20775			}
20776			if err := v.Validate(); err != nil {
20777				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputAttachments", i), err.(request.ErrInvalidParams))
20778			}
20779		}
20780	}
20781
20782	if invalidParams.Len() > 0 {
20783		return invalidParams
20784	}
20785	return nil
20786}
20787
20788// SetChannelId sets the ChannelId field's value.
20789func (s *UpdateChannelInput) SetChannelId(v string) *UpdateChannelInput {
20790	s.ChannelId = &v
20791	return s
20792}
20793
20794// SetDestinations sets the Destinations field's value.
20795func (s *UpdateChannelInput) SetDestinations(v []*OutputDestination) *UpdateChannelInput {
20796	s.Destinations = v
20797	return s
20798}
20799
20800// SetEncoderSettings sets the EncoderSettings field's value.
20801func (s *UpdateChannelInput) SetEncoderSettings(v *EncoderSettings) *UpdateChannelInput {
20802	s.EncoderSettings = v
20803	return s
20804}
20805
20806// SetInputAttachments sets the InputAttachments field's value.
20807func (s *UpdateChannelInput) SetInputAttachments(v []*InputAttachment) *UpdateChannelInput {
20808	s.InputAttachments = v
20809	return s
20810}
20811
20812// SetInputSpecification sets the InputSpecification field's value.
20813func (s *UpdateChannelInput) SetInputSpecification(v *InputSpecification) *UpdateChannelInput {
20814	s.InputSpecification = v
20815	return s
20816}
20817
20818// SetLogLevel sets the LogLevel field's value.
20819func (s *UpdateChannelInput) SetLogLevel(v string) *UpdateChannelInput {
20820	s.LogLevel = &v
20821	return s
20822}
20823
20824// SetName sets the Name field's value.
20825func (s *UpdateChannelInput) SetName(v string) *UpdateChannelInput {
20826	s.Name = &v
20827	return s
20828}
20829
20830// SetRoleArn sets the RoleArn field's value.
20831func (s *UpdateChannelInput) SetRoleArn(v string) *UpdateChannelInput {
20832	s.RoleArn = &v
20833	return s
20834}
20835
20836type UpdateChannelOutput struct {
20837	_ struct{} `type:"structure"`
20838
20839	Channel *Channel `locationName:"channel" type:"structure"`
20840}
20841
20842// String returns the string representation
20843func (s UpdateChannelOutput) String() string {
20844	return awsutil.Prettify(s)
20845}
20846
20847// GoString returns the string representation
20848func (s UpdateChannelOutput) GoString() string {
20849	return s.String()
20850}
20851
20852// SetChannel sets the Channel field's value.
20853func (s *UpdateChannelOutput) SetChannel(v *Channel) *UpdateChannelOutput {
20854	s.Channel = v
20855	return s
20856}
20857
20858type UpdateInputInput struct {
20859	_ struct{} `type:"structure"`
20860
20861	Destinations []*InputDestinationRequest `locationName:"destinations" type:"list"`
20862
20863	// InputId is a required field
20864	InputId *string `location:"uri" locationName:"inputId" type:"string" required:"true"`
20865
20866	InputSecurityGroups []*string `locationName:"inputSecurityGroups" type:"list"`
20867
20868	MediaConnectFlows []*MediaConnectFlowRequest `locationName:"mediaConnectFlows" type:"list"`
20869
20870	Name *string `locationName:"name" type:"string"`
20871
20872	RoleArn *string `locationName:"roleArn" type:"string"`
20873
20874	Sources []*InputSourceRequest `locationName:"sources" type:"list"`
20875}
20876
20877// String returns the string representation
20878func (s UpdateInputInput) String() string {
20879	return awsutil.Prettify(s)
20880}
20881
20882// GoString returns the string representation
20883func (s UpdateInputInput) GoString() string {
20884	return s.String()
20885}
20886
20887// Validate inspects the fields of the type to determine if they are valid.
20888func (s *UpdateInputInput) Validate() error {
20889	invalidParams := request.ErrInvalidParams{Context: "UpdateInputInput"}
20890	if s.InputId == nil {
20891		invalidParams.Add(request.NewErrParamRequired("InputId"))
20892	}
20893	if s.InputId != nil && len(*s.InputId) < 1 {
20894		invalidParams.Add(request.NewErrParamMinLen("InputId", 1))
20895	}
20896
20897	if invalidParams.Len() > 0 {
20898		return invalidParams
20899	}
20900	return nil
20901}
20902
20903// SetDestinations sets the Destinations field's value.
20904func (s *UpdateInputInput) SetDestinations(v []*InputDestinationRequest) *UpdateInputInput {
20905	s.Destinations = v
20906	return s
20907}
20908
20909// SetInputId sets the InputId field's value.
20910func (s *UpdateInputInput) SetInputId(v string) *UpdateInputInput {
20911	s.InputId = &v
20912	return s
20913}
20914
20915// SetInputSecurityGroups sets the InputSecurityGroups field's value.
20916func (s *UpdateInputInput) SetInputSecurityGroups(v []*string) *UpdateInputInput {
20917	s.InputSecurityGroups = v
20918	return s
20919}
20920
20921// SetMediaConnectFlows sets the MediaConnectFlows field's value.
20922func (s *UpdateInputInput) SetMediaConnectFlows(v []*MediaConnectFlowRequest) *UpdateInputInput {
20923	s.MediaConnectFlows = v
20924	return s
20925}
20926
20927// SetName sets the Name field's value.
20928func (s *UpdateInputInput) SetName(v string) *UpdateInputInput {
20929	s.Name = &v
20930	return s
20931}
20932
20933// SetRoleArn sets the RoleArn field's value.
20934func (s *UpdateInputInput) SetRoleArn(v string) *UpdateInputInput {
20935	s.RoleArn = &v
20936	return s
20937}
20938
20939// SetSources sets the Sources field's value.
20940func (s *UpdateInputInput) SetSources(v []*InputSourceRequest) *UpdateInputInput {
20941	s.Sources = v
20942	return s
20943}
20944
20945type UpdateInputOutput struct {
20946	_ struct{} `type:"structure"`
20947
20948	Input *Input `locationName:"input" type:"structure"`
20949}
20950
20951// String returns the string representation
20952func (s UpdateInputOutput) String() string {
20953	return awsutil.Prettify(s)
20954}
20955
20956// GoString returns the string representation
20957func (s UpdateInputOutput) GoString() string {
20958	return s.String()
20959}
20960
20961// SetInput sets the Input field's value.
20962func (s *UpdateInputOutput) SetInput(v *Input) *UpdateInputOutput {
20963	s.Input = v
20964	return s
20965}
20966
20967type UpdateInputSecurityGroupInput struct {
20968	_ struct{} `type:"structure"`
20969
20970	// InputSecurityGroupId is a required field
20971	InputSecurityGroupId *string `location:"uri" locationName:"inputSecurityGroupId" type:"string" required:"true"`
20972
20973	Tags map[string]*string `locationName:"tags" type:"map"`
20974
20975	WhitelistRules []*InputWhitelistRuleCidr `locationName:"whitelistRules" type:"list"`
20976}
20977
20978// String returns the string representation
20979func (s UpdateInputSecurityGroupInput) String() string {
20980	return awsutil.Prettify(s)
20981}
20982
20983// GoString returns the string representation
20984func (s UpdateInputSecurityGroupInput) GoString() string {
20985	return s.String()
20986}
20987
20988// Validate inspects the fields of the type to determine if they are valid.
20989func (s *UpdateInputSecurityGroupInput) Validate() error {
20990	invalidParams := request.ErrInvalidParams{Context: "UpdateInputSecurityGroupInput"}
20991	if s.InputSecurityGroupId == nil {
20992		invalidParams.Add(request.NewErrParamRequired("InputSecurityGroupId"))
20993	}
20994	if s.InputSecurityGroupId != nil && len(*s.InputSecurityGroupId) < 1 {
20995		invalidParams.Add(request.NewErrParamMinLen("InputSecurityGroupId", 1))
20996	}
20997
20998	if invalidParams.Len() > 0 {
20999		return invalidParams
21000	}
21001	return nil
21002}
21003
21004// SetInputSecurityGroupId sets the InputSecurityGroupId field's value.
21005func (s *UpdateInputSecurityGroupInput) SetInputSecurityGroupId(v string) *UpdateInputSecurityGroupInput {
21006	s.InputSecurityGroupId = &v
21007	return s
21008}
21009
21010// SetTags sets the Tags field's value.
21011func (s *UpdateInputSecurityGroupInput) SetTags(v map[string]*string) *UpdateInputSecurityGroupInput {
21012	s.Tags = v
21013	return s
21014}
21015
21016// SetWhitelistRules sets the WhitelistRules field's value.
21017func (s *UpdateInputSecurityGroupInput) SetWhitelistRules(v []*InputWhitelistRuleCidr) *UpdateInputSecurityGroupInput {
21018	s.WhitelistRules = v
21019	return s
21020}
21021
21022type UpdateInputSecurityGroupOutput struct {
21023	_ struct{} `type:"structure"`
21024
21025	// An Input Security Group
21026	SecurityGroup *InputSecurityGroup `locationName:"securityGroup" type:"structure"`
21027}
21028
21029// String returns the string representation
21030func (s UpdateInputSecurityGroupOutput) String() string {
21031	return awsutil.Prettify(s)
21032}
21033
21034// GoString returns the string representation
21035func (s UpdateInputSecurityGroupOutput) GoString() string {
21036	return s.String()
21037}
21038
21039// SetSecurityGroup sets the SecurityGroup field's value.
21040func (s *UpdateInputSecurityGroupOutput) SetSecurityGroup(v *InputSecurityGroup) *UpdateInputSecurityGroupOutput {
21041	s.SecurityGroup = v
21042	return s
21043}
21044
21045type UpdateMultiplexInput struct {
21046	_ struct{} `type:"structure"`
21047
21048	// MultiplexId is a required field
21049	MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"`
21050
21051	// Contains configuration for a Multiplex event
21052	MultiplexSettings *MultiplexSettings `locationName:"multiplexSettings" type:"structure"`
21053
21054	Name *string `locationName:"name" type:"string"`
21055}
21056
21057// String returns the string representation
21058func (s UpdateMultiplexInput) String() string {
21059	return awsutil.Prettify(s)
21060}
21061
21062// GoString returns the string representation
21063func (s UpdateMultiplexInput) GoString() string {
21064	return s.String()
21065}
21066
21067// Validate inspects the fields of the type to determine if they are valid.
21068func (s *UpdateMultiplexInput) Validate() error {
21069	invalidParams := request.ErrInvalidParams{Context: "UpdateMultiplexInput"}
21070	if s.MultiplexId == nil {
21071		invalidParams.Add(request.NewErrParamRequired("MultiplexId"))
21072	}
21073	if s.MultiplexId != nil && len(*s.MultiplexId) < 1 {
21074		invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1))
21075	}
21076	if s.MultiplexSettings != nil {
21077		if err := s.MultiplexSettings.Validate(); err != nil {
21078			invalidParams.AddNested("MultiplexSettings", err.(request.ErrInvalidParams))
21079		}
21080	}
21081
21082	if invalidParams.Len() > 0 {
21083		return invalidParams
21084	}
21085	return nil
21086}
21087
21088// SetMultiplexId sets the MultiplexId field's value.
21089func (s *UpdateMultiplexInput) SetMultiplexId(v string) *UpdateMultiplexInput {
21090	s.MultiplexId = &v
21091	return s
21092}
21093
21094// SetMultiplexSettings sets the MultiplexSettings field's value.
21095func (s *UpdateMultiplexInput) SetMultiplexSettings(v *MultiplexSettings) *UpdateMultiplexInput {
21096	s.MultiplexSettings = v
21097	return s
21098}
21099
21100// SetName sets the Name field's value.
21101func (s *UpdateMultiplexInput) SetName(v string) *UpdateMultiplexInput {
21102	s.Name = &v
21103	return s
21104}
21105
21106type UpdateMultiplexOutput struct {
21107	_ struct{} `type:"structure"`
21108
21109	// The multiplex object.
21110	Multiplex *Multiplex `locationName:"multiplex" type:"structure"`
21111}
21112
21113// String returns the string representation
21114func (s UpdateMultiplexOutput) String() string {
21115	return awsutil.Prettify(s)
21116}
21117
21118// GoString returns the string representation
21119func (s UpdateMultiplexOutput) GoString() string {
21120	return s.String()
21121}
21122
21123// SetMultiplex sets the Multiplex field's value.
21124func (s *UpdateMultiplexOutput) SetMultiplex(v *Multiplex) *UpdateMultiplexOutput {
21125	s.Multiplex = v
21126	return s
21127}
21128
21129type UpdateMultiplexProgramInput struct {
21130	_ struct{} `type:"structure"`
21131
21132	// MultiplexId is a required field
21133	MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"`
21134
21135	// Multiplex Program settings configuration.
21136	MultiplexProgramSettings *MultiplexProgramSettings `locationName:"multiplexProgramSettings" type:"structure"`
21137
21138	// ProgramName is a required field
21139	ProgramName *string `location:"uri" locationName:"programName" type:"string" required:"true"`
21140}
21141
21142// String returns the string representation
21143func (s UpdateMultiplexProgramInput) String() string {
21144	return awsutil.Prettify(s)
21145}
21146
21147// GoString returns the string representation
21148func (s UpdateMultiplexProgramInput) GoString() string {
21149	return s.String()
21150}
21151
21152// Validate inspects the fields of the type to determine if they are valid.
21153func (s *UpdateMultiplexProgramInput) Validate() error {
21154	invalidParams := request.ErrInvalidParams{Context: "UpdateMultiplexProgramInput"}
21155	if s.MultiplexId == nil {
21156		invalidParams.Add(request.NewErrParamRequired("MultiplexId"))
21157	}
21158	if s.MultiplexId != nil && len(*s.MultiplexId) < 1 {
21159		invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1))
21160	}
21161	if s.ProgramName == nil {
21162		invalidParams.Add(request.NewErrParamRequired("ProgramName"))
21163	}
21164	if s.ProgramName != nil && len(*s.ProgramName) < 1 {
21165		invalidParams.Add(request.NewErrParamMinLen("ProgramName", 1))
21166	}
21167	if s.MultiplexProgramSettings != nil {
21168		if err := s.MultiplexProgramSettings.Validate(); err != nil {
21169			invalidParams.AddNested("MultiplexProgramSettings", err.(request.ErrInvalidParams))
21170		}
21171	}
21172
21173	if invalidParams.Len() > 0 {
21174		return invalidParams
21175	}
21176	return nil
21177}
21178
21179// SetMultiplexId sets the MultiplexId field's value.
21180func (s *UpdateMultiplexProgramInput) SetMultiplexId(v string) *UpdateMultiplexProgramInput {
21181	s.MultiplexId = &v
21182	return s
21183}
21184
21185// SetMultiplexProgramSettings sets the MultiplexProgramSettings field's value.
21186func (s *UpdateMultiplexProgramInput) SetMultiplexProgramSettings(v *MultiplexProgramSettings) *UpdateMultiplexProgramInput {
21187	s.MultiplexProgramSettings = v
21188	return s
21189}
21190
21191// SetProgramName sets the ProgramName field's value.
21192func (s *UpdateMultiplexProgramInput) SetProgramName(v string) *UpdateMultiplexProgramInput {
21193	s.ProgramName = &v
21194	return s
21195}
21196
21197type UpdateMultiplexProgramOutput struct {
21198	_ struct{} `type:"structure"`
21199
21200	// The multiplex program object.
21201	MultiplexProgram *MultiplexProgram `locationName:"multiplexProgram" type:"structure"`
21202}
21203
21204// String returns the string representation
21205func (s UpdateMultiplexProgramOutput) String() string {
21206	return awsutil.Prettify(s)
21207}
21208
21209// GoString returns the string representation
21210func (s UpdateMultiplexProgramOutput) GoString() string {
21211	return s.String()
21212}
21213
21214// SetMultiplexProgram sets the MultiplexProgram field's value.
21215func (s *UpdateMultiplexProgramOutput) SetMultiplexProgram(v *MultiplexProgram) *UpdateMultiplexProgramOutput {
21216	s.MultiplexProgram = v
21217	return s
21218}
21219
21220type UpdateReservationInput struct {
21221	_ struct{} `type:"structure"`
21222
21223	Name *string `locationName:"name" type:"string"`
21224
21225	// ReservationId is a required field
21226	ReservationId *string `location:"uri" locationName:"reservationId" type:"string" required:"true"`
21227}
21228
21229// String returns the string representation
21230func (s UpdateReservationInput) String() string {
21231	return awsutil.Prettify(s)
21232}
21233
21234// GoString returns the string representation
21235func (s UpdateReservationInput) GoString() string {
21236	return s.String()
21237}
21238
21239// Validate inspects the fields of the type to determine if they are valid.
21240func (s *UpdateReservationInput) Validate() error {
21241	invalidParams := request.ErrInvalidParams{Context: "UpdateReservationInput"}
21242	if s.ReservationId == nil {
21243		invalidParams.Add(request.NewErrParamRequired("ReservationId"))
21244	}
21245	if s.ReservationId != nil && len(*s.ReservationId) < 1 {
21246		invalidParams.Add(request.NewErrParamMinLen("ReservationId", 1))
21247	}
21248
21249	if invalidParams.Len() > 0 {
21250		return invalidParams
21251	}
21252	return nil
21253}
21254
21255// SetName sets the Name field's value.
21256func (s *UpdateReservationInput) SetName(v string) *UpdateReservationInput {
21257	s.Name = &v
21258	return s
21259}
21260
21261// SetReservationId sets the ReservationId field's value.
21262func (s *UpdateReservationInput) SetReservationId(v string) *UpdateReservationInput {
21263	s.ReservationId = &v
21264	return s
21265}
21266
21267type UpdateReservationOutput struct {
21268	_ struct{} `type:"structure"`
21269
21270	// Reserved resources available to use
21271	Reservation *Reservation `locationName:"reservation" type:"structure"`
21272}
21273
21274// String returns the string representation
21275func (s UpdateReservationOutput) String() string {
21276	return awsutil.Prettify(s)
21277}
21278
21279// GoString returns the string representation
21280func (s UpdateReservationOutput) GoString() string {
21281	return s.String()
21282}
21283
21284// SetReservation sets the Reservation field's value.
21285func (s *UpdateReservationOutput) SetReservation(v *Reservation) *UpdateReservationOutput {
21286	s.Reservation = v
21287	return s
21288}
21289
21290type ValidationError struct {
21291	_ struct{} `type:"structure"`
21292
21293	ElementPath *string `locationName:"elementPath" type:"string"`
21294
21295	ErrorMessage *string `locationName:"errorMessage" type:"string"`
21296}
21297
21298// String returns the string representation
21299func (s ValidationError) String() string {
21300	return awsutil.Prettify(s)
21301}
21302
21303// GoString returns the string representation
21304func (s ValidationError) GoString() string {
21305	return s.String()
21306}
21307
21308// SetElementPath sets the ElementPath field's value.
21309func (s *ValidationError) SetElementPath(v string) *ValidationError {
21310	s.ElementPath = &v
21311	return s
21312}
21313
21314// SetErrorMessage sets the ErrorMessage field's value.
21315func (s *ValidationError) SetErrorMessage(v string) *ValidationError {
21316	s.ErrorMessage = &v
21317	return s
21318}
21319
21320// Video Codec Settings
21321type VideoCodecSettings struct {
21322	_ struct{} `type:"structure"`
21323
21324	// Frame Capture Settings
21325	FrameCaptureSettings *FrameCaptureSettings `locationName:"frameCaptureSettings" type:"structure"`
21326
21327	// H264 Settings
21328	H264Settings *H264Settings `locationName:"h264Settings" type:"structure"`
21329
21330	// H265 Settings
21331	H265Settings *H265Settings `locationName:"h265Settings" type:"structure"`
21332}
21333
21334// String returns the string representation
21335func (s VideoCodecSettings) String() string {
21336	return awsutil.Prettify(s)
21337}
21338
21339// GoString returns the string representation
21340func (s VideoCodecSettings) GoString() string {
21341	return s.String()
21342}
21343
21344// Validate inspects the fields of the type to determine if they are valid.
21345func (s *VideoCodecSettings) Validate() error {
21346	invalidParams := request.ErrInvalidParams{Context: "VideoCodecSettings"}
21347	if s.FrameCaptureSettings != nil {
21348		if err := s.FrameCaptureSettings.Validate(); err != nil {
21349			invalidParams.AddNested("FrameCaptureSettings", err.(request.ErrInvalidParams))
21350		}
21351	}
21352	if s.H264Settings != nil {
21353		if err := s.H264Settings.Validate(); err != nil {
21354			invalidParams.AddNested("H264Settings", err.(request.ErrInvalidParams))
21355		}
21356	}
21357	if s.H265Settings != nil {
21358		if err := s.H265Settings.Validate(); err != nil {
21359			invalidParams.AddNested("H265Settings", err.(request.ErrInvalidParams))
21360		}
21361	}
21362
21363	if invalidParams.Len() > 0 {
21364		return invalidParams
21365	}
21366	return nil
21367}
21368
21369// SetFrameCaptureSettings sets the FrameCaptureSettings field's value.
21370func (s *VideoCodecSettings) SetFrameCaptureSettings(v *FrameCaptureSettings) *VideoCodecSettings {
21371	s.FrameCaptureSettings = v
21372	return s
21373}
21374
21375// SetH264Settings sets the H264Settings field's value.
21376func (s *VideoCodecSettings) SetH264Settings(v *H264Settings) *VideoCodecSettings {
21377	s.H264Settings = v
21378	return s
21379}
21380
21381// SetH265Settings sets the H265Settings field's value.
21382func (s *VideoCodecSettings) SetH265Settings(v *H265Settings) *VideoCodecSettings {
21383	s.H265Settings = v
21384	return s
21385}
21386
21387// Video settings for this stream.
21388type VideoDescription struct {
21389	_ struct{} `type:"structure"`
21390
21391	// Video codec settings.
21392	CodecSettings *VideoCodecSettings `locationName:"codecSettings" type:"structure"`
21393
21394	// Output video height, in pixels. Must be an even number. For most codecs,
21395	// you can leave this field and width blank in order to use the height and width
21396	// (resolution) from the source. Note, however, that leaving blank is not recommended.
21397	// For the Frame Capture codec, height and width are required.
21398	Height *int64 `locationName:"height" type:"integer"`
21399
21400	// The name of this VideoDescription. Outputs will use this name to uniquely
21401	// identify this Description. Description names should be unique within this
21402	// Live Event.
21403	//
21404	// Name is a required field
21405	Name *string `locationName:"name" type:"string" required:"true"`
21406
21407	// Indicates how to respond to the AFD values in the input stream. RESPOND causes
21408	// input video to be clipped, depending on the AFD value, input display aspect
21409	// ratio, and output display aspect ratio, and (except for FRAMECAPTURE codec)
21410	// includes the values in the output. PASSTHROUGH (does not apply to FRAMECAPTURE
21411	// codec) ignores the AFD values and includes the values in the output, so input
21412	// video is not clipped. NONE ignores the AFD values and does not include the
21413	// values through to the output, so input video is not clipped.
21414	RespondToAfd *string `locationName:"respondToAfd" type:"string" enum:"VideoDescriptionRespondToAfd"`
21415
21416	// STRETCHTOOUTPUT configures the output position to stretch the video to the
21417	// specified output resolution (height and width). This option will override
21418	// any position value. DEFAULT may insert black boxes (pillar boxes or letter
21419	// boxes) around the video to provide the specified output resolution.
21420	ScalingBehavior *string `locationName:"scalingBehavior" type:"string" enum:"VideoDescriptionScalingBehavior"`
21421
21422	// Changes the strength of the anti-alias filter used for scaling. 0 is the
21423	// softest setting, 100 is the sharpest. A setting of 50 is recommended for
21424	// most content.
21425	Sharpness *int64 `locationName:"sharpness" type:"integer"`
21426
21427	// Output video width, in pixels. Must be an even number. For most codecs, you
21428	// can leave this field and height blank in order to use the height and width
21429	// (resolution) from the source. Note, however, that leaving blank is not recommended.
21430	// For the Frame Capture codec, height and width are required.
21431	Width *int64 `locationName:"width" type:"integer"`
21432}
21433
21434// String returns the string representation
21435func (s VideoDescription) String() string {
21436	return awsutil.Prettify(s)
21437}
21438
21439// GoString returns the string representation
21440func (s VideoDescription) GoString() string {
21441	return s.String()
21442}
21443
21444// Validate inspects the fields of the type to determine if they are valid.
21445func (s *VideoDescription) Validate() error {
21446	invalidParams := request.ErrInvalidParams{Context: "VideoDescription"}
21447	if s.Name == nil {
21448		invalidParams.Add(request.NewErrParamRequired("Name"))
21449	}
21450	if s.CodecSettings != nil {
21451		if err := s.CodecSettings.Validate(); err != nil {
21452			invalidParams.AddNested("CodecSettings", err.(request.ErrInvalidParams))
21453		}
21454	}
21455
21456	if invalidParams.Len() > 0 {
21457		return invalidParams
21458	}
21459	return nil
21460}
21461
21462// SetCodecSettings sets the CodecSettings field's value.
21463func (s *VideoDescription) SetCodecSettings(v *VideoCodecSettings) *VideoDescription {
21464	s.CodecSettings = v
21465	return s
21466}
21467
21468// SetHeight sets the Height field's value.
21469func (s *VideoDescription) SetHeight(v int64) *VideoDescription {
21470	s.Height = &v
21471	return s
21472}
21473
21474// SetName sets the Name field's value.
21475func (s *VideoDescription) SetName(v string) *VideoDescription {
21476	s.Name = &v
21477	return s
21478}
21479
21480// SetRespondToAfd sets the RespondToAfd field's value.
21481func (s *VideoDescription) SetRespondToAfd(v string) *VideoDescription {
21482	s.RespondToAfd = &v
21483	return s
21484}
21485
21486// SetScalingBehavior sets the ScalingBehavior field's value.
21487func (s *VideoDescription) SetScalingBehavior(v string) *VideoDescription {
21488	s.ScalingBehavior = &v
21489	return s
21490}
21491
21492// SetSharpness sets the Sharpness field's value.
21493func (s *VideoDescription) SetSharpness(v int64) *VideoDescription {
21494	s.Sharpness = &v
21495	return s
21496}
21497
21498// SetWidth sets the Width field's value.
21499func (s *VideoDescription) SetWidth(v int64) *VideoDescription {
21500	s.Width = &v
21501	return s
21502}
21503
21504// Specifies a particular video stream within an input source. An input may
21505// have only a single video selector.
21506type VideoSelector struct {
21507	_ struct{} `type:"structure"`
21508
21509	// Specifies the color space of an input. This setting works in tandem with
21510	// colorSpaceUsage and a video description's colorSpaceSettingsChoice to determine
21511	// if any conversion will be performed.
21512	ColorSpace *string `locationName:"colorSpace" type:"string" enum:"VideoSelectorColorSpace"`
21513
21514	// Applies only if colorSpace is a value other than follow. This field controls
21515	// how the value in the colorSpace field will be used. fallback means that when
21516	// the input does include color space data, that data will be used, but when
21517	// the input has no color space data, the value in colorSpace will be used.
21518	// Choose fallback if your input is sometimes missing color space data, but
21519	// when it does have color space data, that data is correct. force means to
21520	// always use the value in colorSpace. Choose force if your input usually has
21521	// no color space data or might have unreliable color space data.
21522	ColorSpaceUsage *string `locationName:"colorSpaceUsage" type:"string" enum:"VideoSelectorColorSpaceUsage"`
21523
21524	// The video selector settings.
21525	SelectorSettings *VideoSelectorSettings `locationName:"selectorSettings" type:"structure"`
21526}
21527
21528// String returns the string representation
21529func (s VideoSelector) String() string {
21530	return awsutil.Prettify(s)
21531}
21532
21533// GoString returns the string representation
21534func (s VideoSelector) GoString() string {
21535	return s.String()
21536}
21537
21538// SetColorSpace sets the ColorSpace field's value.
21539func (s *VideoSelector) SetColorSpace(v string) *VideoSelector {
21540	s.ColorSpace = &v
21541	return s
21542}
21543
21544// SetColorSpaceUsage sets the ColorSpaceUsage field's value.
21545func (s *VideoSelector) SetColorSpaceUsage(v string) *VideoSelector {
21546	s.ColorSpaceUsage = &v
21547	return s
21548}
21549
21550// SetSelectorSettings sets the SelectorSettings field's value.
21551func (s *VideoSelector) SetSelectorSettings(v *VideoSelectorSettings) *VideoSelector {
21552	s.SelectorSettings = v
21553	return s
21554}
21555
21556// Video Selector Pid
21557type VideoSelectorPid struct {
21558	_ struct{} `type:"structure"`
21559
21560	// Selects a specific PID from within a video source.
21561	Pid *int64 `locationName:"pid" type:"integer"`
21562}
21563
21564// String returns the string representation
21565func (s VideoSelectorPid) String() string {
21566	return awsutil.Prettify(s)
21567}
21568
21569// GoString returns the string representation
21570func (s VideoSelectorPid) GoString() string {
21571	return s.String()
21572}
21573
21574// SetPid sets the Pid field's value.
21575func (s *VideoSelectorPid) SetPid(v int64) *VideoSelectorPid {
21576	s.Pid = &v
21577	return s
21578}
21579
21580// Video Selector Program Id
21581type VideoSelectorProgramId struct {
21582	_ struct{} `type:"structure"`
21583
21584	// Selects a specific program from within a multi-program transport stream.
21585	// If the program doesn't exist, the first program within the transport stream
21586	// will be selected by default.
21587	ProgramId *int64 `locationName:"programId" type:"integer"`
21588}
21589
21590// String returns the string representation
21591func (s VideoSelectorProgramId) String() string {
21592	return awsutil.Prettify(s)
21593}
21594
21595// GoString returns the string representation
21596func (s VideoSelectorProgramId) GoString() string {
21597	return s.String()
21598}
21599
21600// SetProgramId sets the ProgramId field's value.
21601func (s *VideoSelectorProgramId) SetProgramId(v int64) *VideoSelectorProgramId {
21602	s.ProgramId = &v
21603	return s
21604}
21605
21606// Video Selector Settings
21607type VideoSelectorSettings struct {
21608	_ struct{} `type:"structure"`
21609
21610	// Video Selector Pid
21611	VideoSelectorPid *VideoSelectorPid `locationName:"videoSelectorPid" type:"structure"`
21612
21613	// Video Selector Program Id
21614	VideoSelectorProgramId *VideoSelectorProgramId `locationName:"videoSelectorProgramId" type:"structure"`
21615}
21616
21617// String returns the string representation
21618func (s VideoSelectorSettings) String() string {
21619	return awsutil.Prettify(s)
21620}
21621
21622// GoString returns the string representation
21623func (s VideoSelectorSettings) GoString() string {
21624	return s.String()
21625}
21626
21627// SetVideoSelectorPid sets the VideoSelectorPid field's value.
21628func (s *VideoSelectorSettings) SetVideoSelectorPid(v *VideoSelectorPid) *VideoSelectorSettings {
21629	s.VideoSelectorPid = v
21630	return s
21631}
21632
21633// SetVideoSelectorProgramId sets the VideoSelectorProgramId field's value.
21634func (s *VideoSelectorSettings) SetVideoSelectorProgramId(v *VideoSelectorProgramId) *VideoSelectorSettings {
21635	s.VideoSelectorProgramId = v
21636	return s
21637}
21638
21639// Webvtt Destination Settings
21640type WebvttDestinationSettings struct {
21641	_ struct{} `type:"structure"`
21642}
21643
21644// String returns the string representation
21645func (s WebvttDestinationSettings) String() string {
21646	return awsutil.Prettify(s)
21647}
21648
21649// GoString returns the string representation
21650func (s WebvttDestinationSettings) GoString() string {
21651	return s.String()
21652}
21653
21654// Aac Coding Mode
21655const (
21656	// AacCodingModeAdReceiverMix is a AacCodingMode enum value
21657	AacCodingModeAdReceiverMix = "AD_RECEIVER_MIX"
21658
21659	// AacCodingModeCodingMode10 is a AacCodingMode enum value
21660	AacCodingModeCodingMode10 = "CODING_MODE_1_0"
21661
21662	// AacCodingModeCodingMode11 is a AacCodingMode enum value
21663	AacCodingModeCodingMode11 = "CODING_MODE_1_1"
21664
21665	// AacCodingModeCodingMode20 is a AacCodingMode enum value
21666	AacCodingModeCodingMode20 = "CODING_MODE_2_0"
21667
21668	// AacCodingModeCodingMode51 is a AacCodingMode enum value
21669	AacCodingModeCodingMode51 = "CODING_MODE_5_1"
21670)
21671
21672// Aac Input Type
21673const (
21674	// AacInputTypeBroadcasterMixedAd is a AacInputType enum value
21675	AacInputTypeBroadcasterMixedAd = "BROADCASTER_MIXED_AD"
21676
21677	// AacInputTypeNormal is a AacInputType enum value
21678	AacInputTypeNormal = "NORMAL"
21679)
21680
21681// Aac Profile
21682const (
21683	// AacProfileHev1 is a AacProfile enum value
21684	AacProfileHev1 = "HEV1"
21685
21686	// AacProfileHev2 is a AacProfile enum value
21687	AacProfileHev2 = "HEV2"
21688
21689	// AacProfileLc is a AacProfile enum value
21690	AacProfileLc = "LC"
21691)
21692
21693// Aac Rate Control Mode
21694const (
21695	// AacRateControlModeCbr is a AacRateControlMode enum value
21696	AacRateControlModeCbr = "CBR"
21697
21698	// AacRateControlModeVbr is a AacRateControlMode enum value
21699	AacRateControlModeVbr = "VBR"
21700)
21701
21702// Aac Raw Format
21703const (
21704	// AacRawFormatLatmLoas is a AacRawFormat enum value
21705	AacRawFormatLatmLoas = "LATM_LOAS"
21706
21707	// AacRawFormatNone is a AacRawFormat enum value
21708	AacRawFormatNone = "NONE"
21709)
21710
21711// Aac Spec
21712const (
21713	// AacSpecMpeg2 is a AacSpec enum value
21714	AacSpecMpeg2 = "MPEG2"
21715
21716	// AacSpecMpeg4 is a AacSpec enum value
21717	AacSpecMpeg4 = "MPEG4"
21718)
21719
21720// Aac Vbr Quality
21721const (
21722	// AacVbrQualityHigh is a AacVbrQuality enum value
21723	AacVbrQualityHigh = "HIGH"
21724
21725	// AacVbrQualityLow is a AacVbrQuality enum value
21726	AacVbrQualityLow = "LOW"
21727
21728	// AacVbrQualityMediumHigh is a AacVbrQuality enum value
21729	AacVbrQualityMediumHigh = "MEDIUM_HIGH"
21730
21731	// AacVbrQualityMediumLow is a AacVbrQuality enum value
21732	AacVbrQualityMediumLow = "MEDIUM_LOW"
21733)
21734
21735// Ac3 Bitstream Mode
21736const (
21737	// Ac3BitstreamModeCommentary is a Ac3BitstreamMode enum value
21738	Ac3BitstreamModeCommentary = "COMMENTARY"
21739
21740	// Ac3BitstreamModeCompleteMain is a Ac3BitstreamMode enum value
21741	Ac3BitstreamModeCompleteMain = "COMPLETE_MAIN"
21742
21743	// Ac3BitstreamModeDialogue is a Ac3BitstreamMode enum value
21744	Ac3BitstreamModeDialogue = "DIALOGUE"
21745
21746	// Ac3BitstreamModeEmergency is a Ac3BitstreamMode enum value
21747	Ac3BitstreamModeEmergency = "EMERGENCY"
21748
21749	// Ac3BitstreamModeHearingImpaired is a Ac3BitstreamMode enum value
21750	Ac3BitstreamModeHearingImpaired = "HEARING_IMPAIRED"
21751
21752	// Ac3BitstreamModeMusicAndEffects is a Ac3BitstreamMode enum value
21753	Ac3BitstreamModeMusicAndEffects = "MUSIC_AND_EFFECTS"
21754
21755	// Ac3BitstreamModeVisuallyImpaired is a Ac3BitstreamMode enum value
21756	Ac3BitstreamModeVisuallyImpaired = "VISUALLY_IMPAIRED"
21757
21758	// Ac3BitstreamModeVoiceOver is a Ac3BitstreamMode enum value
21759	Ac3BitstreamModeVoiceOver = "VOICE_OVER"
21760)
21761
21762// Ac3 Coding Mode
21763const (
21764	// Ac3CodingModeCodingMode10 is a Ac3CodingMode enum value
21765	Ac3CodingModeCodingMode10 = "CODING_MODE_1_0"
21766
21767	// Ac3CodingModeCodingMode11 is a Ac3CodingMode enum value
21768	Ac3CodingModeCodingMode11 = "CODING_MODE_1_1"
21769
21770	// Ac3CodingModeCodingMode20 is a Ac3CodingMode enum value
21771	Ac3CodingModeCodingMode20 = "CODING_MODE_2_0"
21772
21773	// Ac3CodingModeCodingMode32Lfe is a Ac3CodingMode enum value
21774	Ac3CodingModeCodingMode32Lfe = "CODING_MODE_3_2_LFE"
21775)
21776
21777// Ac3 Drc Profile
21778const (
21779	// Ac3DrcProfileFilmStandard is a Ac3DrcProfile enum value
21780	Ac3DrcProfileFilmStandard = "FILM_STANDARD"
21781
21782	// Ac3DrcProfileNone is a Ac3DrcProfile enum value
21783	Ac3DrcProfileNone = "NONE"
21784)
21785
21786// Ac3 Lfe Filter
21787const (
21788	// Ac3LfeFilterDisabled is a Ac3LfeFilter enum value
21789	Ac3LfeFilterDisabled = "DISABLED"
21790
21791	// Ac3LfeFilterEnabled is a Ac3LfeFilter enum value
21792	Ac3LfeFilterEnabled = "ENABLED"
21793)
21794
21795// Ac3 Metadata Control
21796const (
21797	// Ac3MetadataControlFollowInput is a Ac3MetadataControl enum value
21798	Ac3MetadataControlFollowInput = "FOLLOW_INPUT"
21799
21800	// Ac3MetadataControlUseConfigured is a Ac3MetadataControl enum value
21801	Ac3MetadataControlUseConfigured = "USE_CONFIGURED"
21802)
21803
21804// Afd Signaling
21805const (
21806	// AfdSignalingAuto is a AfdSignaling enum value
21807	AfdSignalingAuto = "AUTO"
21808
21809	// AfdSignalingFixed is a AfdSignaling enum value
21810	AfdSignalingFixed = "FIXED"
21811
21812	// AfdSignalingNone is a AfdSignaling enum value
21813	AfdSignalingNone = "NONE"
21814)
21815
21816// Audio Description Audio Type Control
21817const (
21818	// AudioDescriptionAudioTypeControlFollowInput is a AudioDescriptionAudioTypeControl enum value
21819	AudioDescriptionAudioTypeControlFollowInput = "FOLLOW_INPUT"
21820
21821	// AudioDescriptionAudioTypeControlUseConfigured is a AudioDescriptionAudioTypeControl enum value
21822	AudioDescriptionAudioTypeControlUseConfigured = "USE_CONFIGURED"
21823)
21824
21825// Audio Description Language Code Control
21826const (
21827	// AudioDescriptionLanguageCodeControlFollowInput is a AudioDescriptionLanguageCodeControl enum value
21828	AudioDescriptionLanguageCodeControlFollowInput = "FOLLOW_INPUT"
21829
21830	// AudioDescriptionLanguageCodeControlUseConfigured is a AudioDescriptionLanguageCodeControl enum value
21831	AudioDescriptionLanguageCodeControlUseConfigured = "USE_CONFIGURED"
21832)
21833
21834// Audio Language Selection Policy
21835const (
21836	// AudioLanguageSelectionPolicyLoose is a AudioLanguageSelectionPolicy enum value
21837	AudioLanguageSelectionPolicyLoose = "LOOSE"
21838
21839	// AudioLanguageSelectionPolicyStrict is a AudioLanguageSelectionPolicy enum value
21840	AudioLanguageSelectionPolicyStrict = "STRICT"
21841)
21842
21843// Audio Normalization Algorithm
21844const (
21845	// AudioNormalizationAlgorithmItu17701 is a AudioNormalizationAlgorithm enum value
21846	AudioNormalizationAlgorithmItu17701 = "ITU_1770_1"
21847
21848	// AudioNormalizationAlgorithmItu17702 is a AudioNormalizationAlgorithm enum value
21849	AudioNormalizationAlgorithmItu17702 = "ITU_1770_2"
21850)
21851
21852// Audio Normalization Algorithm Control
21853const (
21854	// AudioNormalizationAlgorithmControlCorrectAudio is a AudioNormalizationAlgorithmControl enum value
21855	AudioNormalizationAlgorithmControlCorrectAudio = "CORRECT_AUDIO"
21856)
21857
21858// Audio Only Hls Segment Type
21859const (
21860	// AudioOnlyHlsSegmentTypeAac is a AudioOnlyHlsSegmentType enum value
21861	AudioOnlyHlsSegmentTypeAac = "AAC"
21862
21863	// AudioOnlyHlsSegmentTypeFmp4 is a AudioOnlyHlsSegmentType enum value
21864	AudioOnlyHlsSegmentTypeFmp4 = "FMP4"
21865)
21866
21867// Audio Only Hls Track Type
21868const (
21869	// AudioOnlyHlsTrackTypeAlternateAudioAutoSelect is a AudioOnlyHlsTrackType enum value
21870	AudioOnlyHlsTrackTypeAlternateAudioAutoSelect = "ALTERNATE_AUDIO_AUTO_SELECT"
21871
21872	// AudioOnlyHlsTrackTypeAlternateAudioAutoSelectDefault is a AudioOnlyHlsTrackType enum value
21873	AudioOnlyHlsTrackTypeAlternateAudioAutoSelectDefault = "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT"
21874
21875	// AudioOnlyHlsTrackTypeAlternateAudioNotAutoSelect is a AudioOnlyHlsTrackType enum value
21876	AudioOnlyHlsTrackTypeAlternateAudioNotAutoSelect = "ALTERNATE_AUDIO_NOT_AUTO_SELECT"
21877
21878	// AudioOnlyHlsTrackTypeAudioOnlyVariantStream is a AudioOnlyHlsTrackType enum value
21879	AudioOnlyHlsTrackTypeAudioOnlyVariantStream = "AUDIO_ONLY_VARIANT_STREAM"
21880)
21881
21882// Audio Type
21883const (
21884	// AudioTypeCleanEffects is a AudioType enum value
21885	AudioTypeCleanEffects = "CLEAN_EFFECTS"
21886
21887	// AudioTypeHearingImpaired is a AudioType enum value
21888	AudioTypeHearingImpaired = "HEARING_IMPAIRED"
21889
21890	// AudioTypeUndefined is a AudioType enum value
21891	AudioTypeUndefined = "UNDEFINED"
21892
21893	// AudioTypeVisualImpairedCommentary is a AudioType enum value
21894	AudioTypeVisualImpairedCommentary = "VISUAL_IMPAIRED_COMMENTARY"
21895)
21896
21897// Authentication Scheme
21898const (
21899	// AuthenticationSchemeAkamai is a AuthenticationScheme enum value
21900	AuthenticationSchemeAkamai = "AKAMAI"
21901
21902	// AuthenticationSchemeCommon is a AuthenticationScheme enum value
21903	AuthenticationSchemeCommon = "COMMON"
21904)
21905
21906// Avail Blanking State
21907const (
21908	// AvailBlankingStateDisabled is a AvailBlankingState enum value
21909	AvailBlankingStateDisabled = "DISABLED"
21910
21911	// AvailBlankingStateEnabled is a AvailBlankingState enum value
21912	AvailBlankingStateEnabled = "ENABLED"
21913)
21914
21915// Blackout Slate Network End Blackout
21916const (
21917	// BlackoutSlateNetworkEndBlackoutDisabled is a BlackoutSlateNetworkEndBlackout enum value
21918	BlackoutSlateNetworkEndBlackoutDisabled = "DISABLED"
21919
21920	// BlackoutSlateNetworkEndBlackoutEnabled is a BlackoutSlateNetworkEndBlackout enum value
21921	BlackoutSlateNetworkEndBlackoutEnabled = "ENABLED"
21922)
21923
21924// Blackout Slate State
21925const (
21926	// BlackoutSlateStateDisabled is a BlackoutSlateState enum value
21927	BlackoutSlateStateDisabled = "DISABLED"
21928
21929	// BlackoutSlateStateEnabled is a BlackoutSlateState enum value
21930	BlackoutSlateStateEnabled = "ENABLED"
21931)
21932
21933// Burn In Alignment
21934const (
21935	// BurnInAlignmentCentered is a BurnInAlignment enum value
21936	BurnInAlignmentCentered = "CENTERED"
21937
21938	// BurnInAlignmentLeft is a BurnInAlignment enum value
21939	BurnInAlignmentLeft = "LEFT"
21940
21941	// BurnInAlignmentSmart is a BurnInAlignment enum value
21942	BurnInAlignmentSmart = "SMART"
21943)
21944
21945// Burn In Background Color
21946const (
21947	// BurnInBackgroundColorBlack is a BurnInBackgroundColor enum value
21948	BurnInBackgroundColorBlack = "BLACK"
21949
21950	// BurnInBackgroundColorNone is a BurnInBackgroundColor enum value
21951	BurnInBackgroundColorNone = "NONE"
21952
21953	// BurnInBackgroundColorWhite is a BurnInBackgroundColor enum value
21954	BurnInBackgroundColorWhite = "WHITE"
21955)
21956
21957// Burn In Font Color
21958const (
21959	// BurnInFontColorBlack is a BurnInFontColor enum value
21960	BurnInFontColorBlack = "BLACK"
21961
21962	// BurnInFontColorBlue is a BurnInFontColor enum value
21963	BurnInFontColorBlue = "BLUE"
21964
21965	// BurnInFontColorGreen is a BurnInFontColor enum value
21966	BurnInFontColorGreen = "GREEN"
21967
21968	// BurnInFontColorRed is a BurnInFontColor enum value
21969	BurnInFontColorRed = "RED"
21970
21971	// BurnInFontColorWhite is a BurnInFontColor enum value
21972	BurnInFontColorWhite = "WHITE"
21973
21974	// BurnInFontColorYellow is a BurnInFontColor enum value
21975	BurnInFontColorYellow = "YELLOW"
21976)
21977
21978// Burn In Outline Color
21979const (
21980	// BurnInOutlineColorBlack is a BurnInOutlineColor enum value
21981	BurnInOutlineColorBlack = "BLACK"
21982
21983	// BurnInOutlineColorBlue is a BurnInOutlineColor enum value
21984	BurnInOutlineColorBlue = "BLUE"
21985
21986	// BurnInOutlineColorGreen is a BurnInOutlineColor enum value
21987	BurnInOutlineColorGreen = "GREEN"
21988
21989	// BurnInOutlineColorRed is a BurnInOutlineColor enum value
21990	BurnInOutlineColorRed = "RED"
21991
21992	// BurnInOutlineColorWhite is a BurnInOutlineColor enum value
21993	BurnInOutlineColorWhite = "WHITE"
21994
21995	// BurnInOutlineColorYellow is a BurnInOutlineColor enum value
21996	BurnInOutlineColorYellow = "YELLOW"
21997)
21998
21999// Burn In Shadow Color
22000const (
22001	// BurnInShadowColorBlack is a BurnInShadowColor enum value
22002	BurnInShadowColorBlack = "BLACK"
22003
22004	// BurnInShadowColorNone is a BurnInShadowColor enum value
22005	BurnInShadowColorNone = "NONE"
22006
22007	// BurnInShadowColorWhite is a BurnInShadowColor enum value
22008	BurnInShadowColorWhite = "WHITE"
22009)
22010
22011// Burn In Teletext Grid Control
22012const (
22013	// BurnInTeletextGridControlFixed is a BurnInTeletextGridControl enum value
22014	BurnInTeletextGridControlFixed = "FIXED"
22015
22016	// BurnInTeletextGridControlScaled is a BurnInTeletextGridControl enum value
22017	BurnInTeletextGridControlScaled = "SCALED"
22018)
22019
22020// A standard channel has two encoding pipelines and a single pipeline channel
22021// only has one.
22022const (
22023	// ChannelClassStandard is a ChannelClass enum value
22024	ChannelClassStandard = "STANDARD"
22025
22026	// ChannelClassSinglePipeline is a ChannelClass enum value
22027	ChannelClassSinglePipeline = "SINGLE_PIPELINE"
22028)
22029
22030const (
22031	// ChannelStateCreating is a ChannelState enum value
22032	ChannelStateCreating = "CREATING"
22033
22034	// ChannelStateCreateFailed is a ChannelState enum value
22035	ChannelStateCreateFailed = "CREATE_FAILED"
22036
22037	// ChannelStateIdle is a ChannelState enum value
22038	ChannelStateIdle = "IDLE"
22039
22040	// ChannelStateStarting is a ChannelState enum value
22041	ChannelStateStarting = "STARTING"
22042
22043	// ChannelStateRunning is a ChannelState enum value
22044	ChannelStateRunning = "RUNNING"
22045
22046	// ChannelStateRecovering is a ChannelState enum value
22047	ChannelStateRecovering = "RECOVERING"
22048
22049	// ChannelStateStopping is a ChannelState enum value
22050	ChannelStateStopping = "STOPPING"
22051
22052	// ChannelStateDeleting is a ChannelState enum value
22053	ChannelStateDeleting = "DELETING"
22054
22055	// ChannelStateDeleted is a ChannelState enum value
22056	ChannelStateDeleted = "DELETED"
22057
22058	// ChannelStateUpdating is a ChannelState enum value
22059	ChannelStateUpdating = "UPDATING"
22060
22061	// ChannelStateUpdateFailed is a ChannelState enum value
22062	ChannelStateUpdateFailed = "UPDATE_FAILED"
22063)
22064
22065// Dvb Sdt Output Sdt
22066const (
22067	// DvbSdtOutputSdtSdtFollow is a DvbSdtOutputSdt enum value
22068	DvbSdtOutputSdtSdtFollow = "SDT_FOLLOW"
22069
22070	// DvbSdtOutputSdtSdtFollowIfPresent is a DvbSdtOutputSdt enum value
22071	DvbSdtOutputSdtSdtFollowIfPresent = "SDT_FOLLOW_IF_PRESENT"
22072
22073	// DvbSdtOutputSdtSdtManual is a DvbSdtOutputSdt enum value
22074	DvbSdtOutputSdtSdtManual = "SDT_MANUAL"
22075
22076	// DvbSdtOutputSdtSdtNone is a DvbSdtOutputSdt enum value
22077	DvbSdtOutputSdtSdtNone = "SDT_NONE"
22078)
22079
22080// Dvb Sub Destination Alignment
22081const (
22082	// DvbSubDestinationAlignmentCentered is a DvbSubDestinationAlignment enum value
22083	DvbSubDestinationAlignmentCentered = "CENTERED"
22084
22085	// DvbSubDestinationAlignmentLeft is a DvbSubDestinationAlignment enum value
22086	DvbSubDestinationAlignmentLeft = "LEFT"
22087
22088	// DvbSubDestinationAlignmentSmart is a DvbSubDestinationAlignment enum value
22089	DvbSubDestinationAlignmentSmart = "SMART"
22090)
22091
22092// Dvb Sub Destination Background Color
22093const (
22094	// DvbSubDestinationBackgroundColorBlack is a DvbSubDestinationBackgroundColor enum value
22095	DvbSubDestinationBackgroundColorBlack = "BLACK"
22096
22097	// DvbSubDestinationBackgroundColorNone is a DvbSubDestinationBackgroundColor enum value
22098	DvbSubDestinationBackgroundColorNone = "NONE"
22099
22100	// DvbSubDestinationBackgroundColorWhite is a DvbSubDestinationBackgroundColor enum value
22101	DvbSubDestinationBackgroundColorWhite = "WHITE"
22102)
22103
22104// Dvb Sub Destination Font Color
22105const (
22106	// DvbSubDestinationFontColorBlack is a DvbSubDestinationFontColor enum value
22107	DvbSubDestinationFontColorBlack = "BLACK"
22108
22109	// DvbSubDestinationFontColorBlue is a DvbSubDestinationFontColor enum value
22110	DvbSubDestinationFontColorBlue = "BLUE"
22111
22112	// DvbSubDestinationFontColorGreen is a DvbSubDestinationFontColor enum value
22113	DvbSubDestinationFontColorGreen = "GREEN"
22114
22115	// DvbSubDestinationFontColorRed is a DvbSubDestinationFontColor enum value
22116	DvbSubDestinationFontColorRed = "RED"
22117
22118	// DvbSubDestinationFontColorWhite is a DvbSubDestinationFontColor enum value
22119	DvbSubDestinationFontColorWhite = "WHITE"
22120
22121	// DvbSubDestinationFontColorYellow is a DvbSubDestinationFontColor enum value
22122	DvbSubDestinationFontColorYellow = "YELLOW"
22123)
22124
22125// Dvb Sub Destination Outline Color
22126const (
22127	// DvbSubDestinationOutlineColorBlack is a DvbSubDestinationOutlineColor enum value
22128	DvbSubDestinationOutlineColorBlack = "BLACK"
22129
22130	// DvbSubDestinationOutlineColorBlue is a DvbSubDestinationOutlineColor enum value
22131	DvbSubDestinationOutlineColorBlue = "BLUE"
22132
22133	// DvbSubDestinationOutlineColorGreen is a DvbSubDestinationOutlineColor enum value
22134	DvbSubDestinationOutlineColorGreen = "GREEN"
22135
22136	// DvbSubDestinationOutlineColorRed is a DvbSubDestinationOutlineColor enum value
22137	DvbSubDestinationOutlineColorRed = "RED"
22138
22139	// DvbSubDestinationOutlineColorWhite is a DvbSubDestinationOutlineColor enum value
22140	DvbSubDestinationOutlineColorWhite = "WHITE"
22141
22142	// DvbSubDestinationOutlineColorYellow is a DvbSubDestinationOutlineColor enum value
22143	DvbSubDestinationOutlineColorYellow = "YELLOW"
22144)
22145
22146// Dvb Sub Destination Shadow Color
22147const (
22148	// DvbSubDestinationShadowColorBlack is a DvbSubDestinationShadowColor enum value
22149	DvbSubDestinationShadowColorBlack = "BLACK"
22150
22151	// DvbSubDestinationShadowColorNone is a DvbSubDestinationShadowColor enum value
22152	DvbSubDestinationShadowColorNone = "NONE"
22153
22154	// DvbSubDestinationShadowColorWhite is a DvbSubDestinationShadowColor enum value
22155	DvbSubDestinationShadowColorWhite = "WHITE"
22156)
22157
22158// Dvb Sub Destination Teletext Grid Control
22159const (
22160	// DvbSubDestinationTeletextGridControlFixed is a DvbSubDestinationTeletextGridControl enum value
22161	DvbSubDestinationTeletextGridControlFixed = "FIXED"
22162
22163	// DvbSubDestinationTeletextGridControlScaled is a DvbSubDestinationTeletextGridControl enum value
22164	DvbSubDestinationTeletextGridControlScaled = "SCALED"
22165)
22166
22167// Eac3 Attenuation Control
22168const (
22169	// Eac3AttenuationControlAttenuate3Db is a Eac3AttenuationControl enum value
22170	Eac3AttenuationControlAttenuate3Db = "ATTENUATE_3_DB"
22171
22172	// Eac3AttenuationControlNone is a Eac3AttenuationControl enum value
22173	Eac3AttenuationControlNone = "NONE"
22174)
22175
22176// Eac3 Bitstream Mode
22177const (
22178	// Eac3BitstreamModeCommentary is a Eac3BitstreamMode enum value
22179	Eac3BitstreamModeCommentary = "COMMENTARY"
22180
22181	// Eac3BitstreamModeCompleteMain is a Eac3BitstreamMode enum value
22182	Eac3BitstreamModeCompleteMain = "COMPLETE_MAIN"
22183
22184	// Eac3BitstreamModeEmergency is a Eac3BitstreamMode enum value
22185	Eac3BitstreamModeEmergency = "EMERGENCY"
22186
22187	// Eac3BitstreamModeHearingImpaired is a Eac3BitstreamMode enum value
22188	Eac3BitstreamModeHearingImpaired = "HEARING_IMPAIRED"
22189
22190	// Eac3BitstreamModeVisuallyImpaired is a Eac3BitstreamMode enum value
22191	Eac3BitstreamModeVisuallyImpaired = "VISUALLY_IMPAIRED"
22192)
22193
22194// Eac3 Coding Mode
22195const (
22196	// Eac3CodingModeCodingMode10 is a Eac3CodingMode enum value
22197	Eac3CodingModeCodingMode10 = "CODING_MODE_1_0"
22198
22199	// Eac3CodingModeCodingMode20 is a Eac3CodingMode enum value
22200	Eac3CodingModeCodingMode20 = "CODING_MODE_2_0"
22201
22202	// Eac3CodingModeCodingMode32 is a Eac3CodingMode enum value
22203	Eac3CodingModeCodingMode32 = "CODING_MODE_3_2"
22204)
22205
22206// Eac3 Dc Filter
22207const (
22208	// Eac3DcFilterDisabled is a Eac3DcFilter enum value
22209	Eac3DcFilterDisabled = "DISABLED"
22210
22211	// Eac3DcFilterEnabled is a Eac3DcFilter enum value
22212	Eac3DcFilterEnabled = "ENABLED"
22213)
22214
22215// Eac3 Drc Line
22216const (
22217	// Eac3DrcLineFilmLight is a Eac3DrcLine enum value
22218	Eac3DrcLineFilmLight = "FILM_LIGHT"
22219
22220	// Eac3DrcLineFilmStandard is a Eac3DrcLine enum value
22221	Eac3DrcLineFilmStandard = "FILM_STANDARD"
22222
22223	// Eac3DrcLineMusicLight is a Eac3DrcLine enum value
22224	Eac3DrcLineMusicLight = "MUSIC_LIGHT"
22225
22226	// Eac3DrcLineMusicStandard is a Eac3DrcLine enum value
22227	Eac3DrcLineMusicStandard = "MUSIC_STANDARD"
22228
22229	// Eac3DrcLineNone is a Eac3DrcLine enum value
22230	Eac3DrcLineNone = "NONE"
22231
22232	// Eac3DrcLineSpeech is a Eac3DrcLine enum value
22233	Eac3DrcLineSpeech = "SPEECH"
22234)
22235
22236// Eac3 Drc Rf
22237const (
22238	// Eac3DrcRfFilmLight is a Eac3DrcRf enum value
22239	Eac3DrcRfFilmLight = "FILM_LIGHT"
22240
22241	// Eac3DrcRfFilmStandard is a Eac3DrcRf enum value
22242	Eac3DrcRfFilmStandard = "FILM_STANDARD"
22243
22244	// Eac3DrcRfMusicLight is a Eac3DrcRf enum value
22245	Eac3DrcRfMusicLight = "MUSIC_LIGHT"
22246
22247	// Eac3DrcRfMusicStandard is a Eac3DrcRf enum value
22248	Eac3DrcRfMusicStandard = "MUSIC_STANDARD"
22249
22250	// Eac3DrcRfNone is a Eac3DrcRf enum value
22251	Eac3DrcRfNone = "NONE"
22252
22253	// Eac3DrcRfSpeech is a Eac3DrcRf enum value
22254	Eac3DrcRfSpeech = "SPEECH"
22255)
22256
22257// Eac3 Lfe Control
22258const (
22259	// Eac3LfeControlLfe is a Eac3LfeControl enum value
22260	Eac3LfeControlLfe = "LFE"
22261
22262	// Eac3LfeControlNoLfe is a Eac3LfeControl enum value
22263	Eac3LfeControlNoLfe = "NO_LFE"
22264)
22265
22266// Eac3 Lfe Filter
22267const (
22268	// Eac3LfeFilterDisabled is a Eac3LfeFilter enum value
22269	Eac3LfeFilterDisabled = "DISABLED"
22270
22271	// Eac3LfeFilterEnabled is a Eac3LfeFilter enum value
22272	Eac3LfeFilterEnabled = "ENABLED"
22273)
22274
22275// Eac3 Metadata Control
22276const (
22277	// Eac3MetadataControlFollowInput is a Eac3MetadataControl enum value
22278	Eac3MetadataControlFollowInput = "FOLLOW_INPUT"
22279
22280	// Eac3MetadataControlUseConfigured is a Eac3MetadataControl enum value
22281	Eac3MetadataControlUseConfigured = "USE_CONFIGURED"
22282)
22283
22284// Eac3 Passthrough Control
22285const (
22286	// Eac3PassthroughControlNoPassthrough is a Eac3PassthroughControl enum value
22287	Eac3PassthroughControlNoPassthrough = "NO_PASSTHROUGH"
22288
22289	// Eac3PassthroughControlWhenPossible is a Eac3PassthroughControl enum value
22290	Eac3PassthroughControlWhenPossible = "WHEN_POSSIBLE"
22291)
22292
22293// Eac3 Phase Control
22294const (
22295	// Eac3PhaseControlNoShift is a Eac3PhaseControl enum value
22296	Eac3PhaseControlNoShift = "NO_SHIFT"
22297
22298	// Eac3PhaseControlShift90Degrees is a Eac3PhaseControl enum value
22299	Eac3PhaseControlShift90Degrees = "SHIFT_90_DEGREES"
22300)
22301
22302// Eac3 Stereo Downmix
22303const (
22304	// Eac3StereoDownmixDpl2 is a Eac3StereoDownmix enum value
22305	Eac3StereoDownmixDpl2 = "DPL2"
22306
22307	// Eac3StereoDownmixLoRo is a Eac3StereoDownmix enum value
22308	Eac3StereoDownmixLoRo = "LO_RO"
22309
22310	// Eac3StereoDownmixLtRt is a Eac3StereoDownmix enum value
22311	Eac3StereoDownmixLtRt = "LT_RT"
22312
22313	// Eac3StereoDownmixNotIndicated is a Eac3StereoDownmix enum value
22314	Eac3StereoDownmixNotIndicated = "NOT_INDICATED"
22315)
22316
22317// Eac3 Surround Ex Mode
22318const (
22319	// Eac3SurroundExModeDisabled is a Eac3SurroundExMode enum value
22320	Eac3SurroundExModeDisabled = "DISABLED"
22321
22322	// Eac3SurroundExModeEnabled is a Eac3SurroundExMode enum value
22323	Eac3SurroundExModeEnabled = "ENABLED"
22324
22325	// Eac3SurroundExModeNotIndicated is a Eac3SurroundExMode enum value
22326	Eac3SurroundExModeNotIndicated = "NOT_INDICATED"
22327)
22328
22329// Eac3 Surround Mode
22330const (
22331	// Eac3SurroundModeDisabled is a Eac3SurroundMode enum value
22332	Eac3SurroundModeDisabled = "DISABLED"
22333
22334	// Eac3SurroundModeEnabled is a Eac3SurroundMode enum value
22335	Eac3SurroundModeEnabled = "ENABLED"
22336
22337	// Eac3SurroundModeNotIndicated is a Eac3SurroundMode enum value
22338	Eac3SurroundModeNotIndicated = "NOT_INDICATED"
22339)
22340
22341// Embedded Convert608 To708
22342const (
22343	// EmbeddedConvert608To708Disabled is a EmbeddedConvert608To708 enum value
22344	EmbeddedConvert608To708Disabled = "DISABLED"
22345
22346	// EmbeddedConvert608To708Upconvert is a EmbeddedConvert608To708 enum value
22347	EmbeddedConvert608To708Upconvert = "UPCONVERT"
22348)
22349
22350// Embedded Scte20 Detection
22351const (
22352	// EmbeddedScte20DetectionAuto is a EmbeddedScte20Detection enum value
22353	EmbeddedScte20DetectionAuto = "AUTO"
22354
22355	// EmbeddedScte20DetectionOff is a EmbeddedScte20Detection enum value
22356	EmbeddedScte20DetectionOff = "OFF"
22357)
22358
22359// Fec Output Include Fec
22360const (
22361	// FecOutputIncludeFecColumn is a FecOutputIncludeFec enum value
22362	FecOutputIncludeFecColumn = "COLUMN"
22363
22364	// FecOutputIncludeFecColumnAndRow is a FecOutputIncludeFec enum value
22365	FecOutputIncludeFecColumnAndRow = "COLUMN_AND_ROW"
22366)
22367
22368// Fixed Afd
22369const (
22370	// FixedAfdAfd0000 is a FixedAfd enum value
22371	FixedAfdAfd0000 = "AFD_0000"
22372
22373	// FixedAfdAfd0010 is a FixedAfd enum value
22374	FixedAfdAfd0010 = "AFD_0010"
22375
22376	// FixedAfdAfd0011 is a FixedAfd enum value
22377	FixedAfdAfd0011 = "AFD_0011"
22378
22379	// FixedAfdAfd0100 is a FixedAfd enum value
22380	FixedAfdAfd0100 = "AFD_0100"
22381
22382	// FixedAfdAfd1000 is a FixedAfd enum value
22383	FixedAfdAfd1000 = "AFD_1000"
22384
22385	// FixedAfdAfd1001 is a FixedAfd enum value
22386	FixedAfdAfd1001 = "AFD_1001"
22387
22388	// FixedAfdAfd1010 is a FixedAfd enum value
22389	FixedAfdAfd1010 = "AFD_1010"
22390
22391	// FixedAfdAfd1011 is a FixedAfd enum value
22392	FixedAfdAfd1011 = "AFD_1011"
22393
22394	// FixedAfdAfd1101 is a FixedAfd enum value
22395	FixedAfdAfd1101 = "AFD_1101"
22396
22397	// FixedAfdAfd1110 is a FixedAfd enum value
22398	FixedAfdAfd1110 = "AFD_1110"
22399
22400	// FixedAfdAfd1111 is a FixedAfd enum value
22401	FixedAfdAfd1111 = "AFD_1111"
22402)
22403
22404// Follow reference point.
22405const (
22406	// FollowPointEnd is a FollowPoint enum value
22407	FollowPointEnd = "END"
22408
22409	// FollowPointStart is a FollowPoint enum value
22410	FollowPointStart = "START"
22411)
22412
22413// Frame Capture Interval Unit
22414const (
22415	// FrameCaptureIntervalUnitMilliseconds is a FrameCaptureIntervalUnit enum value
22416	FrameCaptureIntervalUnitMilliseconds = "MILLISECONDS"
22417
22418	// FrameCaptureIntervalUnitSeconds is a FrameCaptureIntervalUnit enum value
22419	FrameCaptureIntervalUnitSeconds = "SECONDS"
22420)
22421
22422// Global Configuration Input End Action
22423const (
22424	// GlobalConfigurationInputEndActionNone is a GlobalConfigurationInputEndAction enum value
22425	GlobalConfigurationInputEndActionNone = "NONE"
22426
22427	// GlobalConfigurationInputEndActionSwitchAndLoopInputs is a GlobalConfigurationInputEndAction enum value
22428	GlobalConfigurationInputEndActionSwitchAndLoopInputs = "SWITCH_AND_LOOP_INPUTS"
22429)
22430
22431// Global Configuration Low Framerate Inputs
22432const (
22433	// GlobalConfigurationLowFramerateInputsDisabled is a GlobalConfigurationLowFramerateInputs enum value
22434	GlobalConfigurationLowFramerateInputsDisabled = "DISABLED"
22435
22436	// GlobalConfigurationLowFramerateInputsEnabled is a GlobalConfigurationLowFramerateInputs enum value
22437	GlobalConfigurationLowFramerateInputsEnabled = "ENABLED"
22438)
22439
22440// Global Configuration Output Locking Mode
22441const (
22442	// GlobalConfigurationOutputLockingModeEpochLocking is a GlobalConfigurationOutputLockingMode enum value
22443	GlobalConfigurationOutputLockingModeEpochLocking = "EPOCH_LOCKING"
22444
22445	// GlobalConfigurationOutputLockingModePipelineLocking is a GlobalConfigurationOutputLockingMode enum value
22446	GlobalConfigurationOutputLockingModePipelineLocking = "PIPELINE_LOCKING"
22447)
22448
22449// Global Configuration Output Timing Source
22450const (
22451	// GlobalConfigurationOutputTimingSourceInputClock is a GlobalConfigurationOutputTimingSource enum value
22452	GlobalConfigurationOutputTimingSourceInputClock = "INPUT_CLOCK"
22453
22454	// GlobalConfigurationOutputTimingSourceSystemClock is a GlobalConfigurationOutputTimingSource enum value
22455	GlobalConfigurationOutputTimingSourceSystemClock = "SYSTEM_CLOCK"
22456)
22457
22458// H264 Adaptive Quantization
22459const (
22460	// H264AdaptiveQuantizationHigh is a H264AdaptiveQuantization enum value
22461	H264AdaptiveQuantizationHigh = "HIGH"
22462
22463	// H264AdaptiveQuantizationHigher is a H264AdaptiveQuantization enum value
22464	H264AdaptiveQuantizationHigher = "HIGHER"
22465
22466	// H264AdaptiveQuantizationLow is a H264AdaptiveQuantization enum value
22467	H264AdaptiveQuantizationLow = "LOW"
22468
22469	// H264AdaptiveQuantizationMax is a H264AdaptiveQuantization enum value
22470	H264AdaptiveQuantizationMax = "MAX"
22471
22472	// H264AdaptiveQuantizationMedium is a H264AdaptiveQuantization enum value
22473	H264AdaptiveQuantizationMedium = "MEDIUM"
22474
22475	// H264AdaptiveQuantizationOff is a H264AdaptiveQuantization enum value
22476	H264AdaptiveQuantizationOff = "OFF"
22477)
22478
22479// H264 Color Metadata
22480const (
22481	// H264ColorMetadataIgnore is a H264ColorMetadata enum value
22482	H264ColorMetadataIgnore = "IGNORE"
22483
22484	// H264ColorMetadataInsert is a H264ColorMetadata enum value
22485	H264ColorMetadataInsert = "INSERT"
22486)
22487
22488// H264 Entropy Encoding
22489const (
22490	// H264EntropyEncodingCabac is a H264EntropyEncoding enum value
22491	H264EntropyEncodingCabac = "CABAC"
22492
22493	// H264EntropyEncodingCavlc is a H264EntropyEncoding enum value
22494	H264EntropyEncodingCavlc = "CAVLC"
22495)
22496
22497// H264 Flicker Aq
22498const (
22499	// H264FlickerAqDisabled is a H264FlickerAq enum value
22500	H264FlickerAqDisabled = "DISABLED"
22501
22502	// H264FlickerAqEnabled is a H264FlickerAq enum value
22503	H264FlickerAqEnabled = "ENABLED"
22504)
22505
22506// H264 Framerate Control
22507const (
22508	// H264FramerateControlInitializeFromSource is a H264FramerateControl enum value
22509	H264FramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
22510
22511	// H264FramerateControlSpecified is a H264FramerateControl enum value
22512	H264FramerateControlSpecified = "SPECIFIED"
22513)
22514
22515// H264 Gop BReference
22516const (
22517	// H264GopBReferenceDisabled is a H264GopBReference enum value
22518	H264GopBReferenceDisabled = "DISABLED"
22519
22520	// H264GopBReferenceEnabled is a H264GopBReference enum value
22521	H264GopBReferenceEnabled = "ENABLED"
22522)
22523
22524// H264 Gop Size Units
22525const (
22526	// H264GopSizeUnitsFrames is a H264GopSizeUnits enum value
22527	H264GopSizeUnitsFrames = "FRAMES"
22528
22529	// H264GopSizeUnitsSeconds is a H264GopSizeUnits enum value
22530	H264GopSizeUnitsSeconds = "SECONDS"
22531)
22532
22533// H264 Level
22534const (
22535	// H264LevelH264Level1 is a H264Level enum value
22536	H264LevelH264Level1 = "H264_LEVEL_1"
22537
22538	// H264LevelH264Level11 is a H264Level enum value
22539	H264LevelH264Level11 = "H264_LEVEL_1_1"
22540
22541	// H264LevelH264Level12 is a H264Level enum value
22542	H264LevelH264Level12 = "H264_LEVEL_1_2"
22543
22544	// H264LevelH264Level13 is a H264Level enum value
22545	H264LevelH264Level13 = "H264_LEVEL_1_3"
22546
22547	// H264LevelH264Level2 is a H264Level enum value
22548	H264LevelH264Level2 = "H264_LEVEL_2"
22549
22550	// H264LevelH264Level21 is a H264Level enum value
22551	H264LevelH264Level21 = "H264_LEVEL_2_1"
22552
22553	// H264LevelH264Level22 is a H264Level enum value
22554	H264LevelH264Level22 = "H264_LEVEL_2_2"
22555
22556	// H264LevelH264Level3 is a H264Level enum value
22557	H264LevelH264Level3 = "H264_LEVEL_3"
22558
22559	// H264LevelH264Level31 is a H264Level enum value
22560	H264LevelH264Level31 = "H264_LEVEL_3_1"
22561
22562	// H264LevelH264Level32 is a H264Level enum value
22563	H264LevelH264Level32 = "H264_LEVEL_3_2"
22564
22565	// H264LevelH264Level4 is a H264Level enum value
22566	H264LevelH264Level4 = "H264_LEVEL_4"
22567
22568	// H264LevelH264Level41 is a H264Level enum value
22569	H264LevelH264Level41 = "H264_LEVEL_4_1"
22570
22571	// H264LevelH264Level42 is a H264Level enum value
22572	H264LevelH264Level42 = "H264_LEVEL_4_2"
22573
22574	// H264LevelH264Level5 is a H264Level enum value
22575	H264LevelH264Level5 = "H264_LEVEL_5"
22576
22577	// H264LevelH264Level51 is a H264Level enum value
22578	H264LevelH264Level51 = "H264_LEVEL_5_1"
22579
22580	// H264LevelH264Level52 is a H264Level enum value
22581	H264LevelH264Level52 = "H264_LEVEL_5_2"
22582
22583	// H264LevelH264LevelAuto is a H264Level enum value
22584	H264LevelH264LevelAuto = "H264_LEVEL_AUTO"
22585)
22586
22587// H264 Look Ahead Rate Control
22588const (
22589	// H264LookAheadRateControlHigh is a H264LookAheadRateControl enum value
22590	H264LookAheadRateControlHigh = "HIGH"
22591
22592	// H264LookAheadRateControlLow is a H264LookAheadRateControl enum value
22593	H264LookAheadRateControlLow = "LOW"
22594
22595	// H264LookAheadRateControlMedium is a H264LookAheadRateControl enum value
22596	H264LookAheadRateControlMedium = "MEDIUM"
22597)
22598
22599// H264 Par Control
22600const (
22601	// H264ParControlInitializeFromSource is a H264ParControl enum value
22602	H264ParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
22603
22604	// H264ParControlSpecified is a H264ParControl enum value
22605	H264ParControlSpecified = "SPECIFIED"
22606)
22607
22608// H264 Profile
22609const (
22610	// H264ProfileBaseline is a H264Profile enum value
22611	H264ProfileBaseline = "BASELINE"
22612
22613	// H264ProfileHigh is a H264Profile enum value
22614	H264ProfileHigh = "HIGH"
22615
22616	// H264ProfileHigh10bit is a H264Profile enum value
22617	H264ProfileHigh10bit = "HIGH_10BIT"
22618
22619	// H264ProfileHigh422 is a H264Profile enum value
22620	H264ProfileHigh422 = "HIGH_422"
22621
22622	// H264ProfileHigh42210bit is a H264Profile enum value
22623	H264ProfileHigh42210bit = "HIGH_422_10BIT"
22624
22625	// H264ProfileMain is a H264Profile enum value
22626	H264ProfileMain = "MAIN"
22627)
22628
22629// H264 Rate Control Mode
22630const (
22631	// H264RateControlModeCbr is a H264RateControlMode enum value
22632	H264RateControlModeCbr = "CBR"
22633
22634	// H264RateControlModeMultiplex is a H264RateControlMode enum value
22635	H264RateControlModeMultiplex = "MULTIPLEX"
22636
22637	// H264RateControlModeQvbr is a H264RateControlMode enum value
22638	H264RateControlModeQvbr = "QVBR"
22639
22640	// H264RateControlModeVbr is a H264RateControlMode enum value
22641	H264RateControlModeVbr = "VBR"
22642)
22643
22644// H264 Scan Type
22645const (
22646	// H264ScanTypeInterlaced is a H264ScanType enum value
22647	H264ScanTypeInterlaced = "INTERLACED"
22648
22649	// H264ScanTypeProgressive is a H264ScanType enum value
22650	H264ScanTypeProgressive = "PROGRESSIVE"
22651)
22652
22653// H264 Scene Change Detect
22654const (
22655	// H264SceneChangeDetectDisabled is a H264SceneChangeDetect enum value
22656	H264SceneChangeDetectDisabled = "DISABLED"
22657
22658	// H264SceneChangeDetectEnabled is a H264SceneChangeDetect enum value
22659	H264SceneChangeDetectEnabled = "ENABLED"
22660)
22661
22662// H264 Spatial Aq
22663const (
22664	// H264SpatialAqDisabled is a H264SpatialAq enum value
22665	H264SpatialAqDisabled = "DISABLED"
22666
22667	// H264SpatialAqEnabled is a H264SpatialAq enum value
22668	H264SpatialAqEnabled = "ENABLED"
22669)
22670
22671// H264 Sub Gop Length
22672const (
22673	// H264SubGopLengthDynamic is a H264SubGopLength enum value
22674	H264SubGopLengthDynamic = "DYNAMIC"
22675
22676	// H264SubGopLengthFixed is a H264SubGopLength enum value
22677	H264SubGopLengthFixed = "FIXED"
22678)
22679
22680// H264 Syntax
22681const (
22682	// H264SyntaxDefault is a H264Syntax enum value
22683	H264SyntaxDefault = "DEFAULT"
22684
22685	// H264SyntaxRp2027 is a H264Syntax enum value
22686	H264SyntaxRp2027 = "RP2027"
22687)
22688
22689// H264 Temporal Aq
22690const (
22691	// H264TemporalAqDisabled is a H264TemporalAq enum value
22692	H264TemporalAqDisabled = "DISABLED"
22693
22694	// H264TemporalAqEnabled is a H264TemporalAq enum value
22695	H264TemporalAqEnabled = "ENABLED"
22696)
22697
22698// H264 Timecode Insertion Behavior
22699const (
22700	// H264TimecodeInsertionBehaviorDisabled is a H264TimecodeInsertionBehavior enum value
22701	H264TimecodeInsertionBehaviorDisabled = "DISABLED"
22702
22703	// H264TimecodeInsertionBehaviorPicTimingSei is a H264TimecodeInsertionBehavior enum value
22704	H264TimecodeInsertionBehaviorPicTimingSei = "PIC_TIMING_SEI"
22705)
22706
22707// H265 Adaptive Quantization
22708const (
22709	// H265AdaptiveQuantizationHigh is a H265AdaptiveQuantization enum value
22710	H265AdaptiveQuantizationHigh = "HIGH"
22711
22712	// H265AdaptiveQuantizationHigher is a H265AdaptiveQuantization enum value
22713	H265AdaptiveQuantizationHigher = "HIGHER"
22714
22715	// H265AdaptiveQuantizationLow is a H265AdaptiveQuantization enum value
22716	H265AdaptiveQuantizationLow = "LOW"
22717
22718	// H265AdaptiveQuantizationMax is a H265AdaptiveQuantization enum value
22719	H265AdaptiveQuantizationMax = "MAX"
22720
22721	// H265AdaptiveQuantizationMedium is a H265AdaptiveQuantization enum value
22722	H265AdaptiveQuantizationMedium = "MEDIUM"
22723
22724	// H265AdaptiveQuantizationOff is a H265AdaptiveQuantization enum value
22725	H265AdaptiveQuantizationOff = "OFF"
22726)
22727
22728// H265 Alternative Transfer Function
22729const (
22730	// H265AlternativeTransferFunctionInsert is a H265AlternativeTransferFunction enum value
22731	H265AlternativeTransferFunctionInsert = "INSERT"
22732
22733	// H265AlternativeTransferFunctionOmit is a H265AlternativeTransferFunction enum value
22734	H265AlternativeTransferFunctionOmit = "OMIT"
22735)
22736
22737// H265 Color Metadata
22738const (
22739	// H265ColorMetadataIgnore is a H265ColorMetadata enum value
22740	H265ColorMetadataIgnore = "IGNORE"
22741
22742	// H265ColorMetadataInsert is a H265ColorMetadata enum value
22743	H265ColorMetadataInsert = "INSERT"
22744)
22745
22746// H265 Flicker Aq
22747const (
22748	// H265FlickerAqDisabled is a H265FlickerAq enum value
22749	H265FlickerAqDisabled = "DISABLED"
22750
22751	// H265FlickerAqEnabled is a H265FlickerAq enum value
22752	H265FlickerAqEnabled = "ENABLED"
22753)
22754
22755// H265 Gop Size Units
22756const (
22757	// H265GopSizeUnitsFrames is a H265GopSizeUnits enum value
22758	H265GopSizeUnitsFrames = "FRAMES"
22759
22760	// H265GopSizeUnitsSeconds is a H265GopSizeUnits enum value
22761	H265GopSizeUnitsSeconds = "SECONDS"
22762)
22763
22764// H265 Level
22765const (
22766	// H265LevelH265Level1 is a H265Level enum value
22767	H265LevelH265Level1 = "H265_LEVEL_1"
22768
22769	// H265LevelH265Level2 is a H265Level enum value
22770	H265LevelH265Level2 = "H265_LEVEL_2"
22771
22772	// H265LevelH265Level21 is a H265Level enum value
22773	H265LevelH265Level21 = "H265_LEVEL_2_1"
22774
22775	// H265LevelH265Level3 is a H265Level enum value
22776	H265LevelH265Level3 = "H265_LEVEL_3"
22777
22778	// H265LevelH265Level31 is a H265Level enum value
22779	H265LevelH265Level31 = "H265_LEVEL_3_1"
22780
22781	// H265LevelH265Level4 is a H265Level enum value
22782	H265LevelH265Level4 = "H265_LEVEL_4"
22783
22784	// H265LevelH265Level41 is a H265Level enum value
22785	H265LevelH265Level41 = "H265_LEVEL_4_1"
22786
22787	// H265LevelH265Level5 is a H265Level enum value
22788	H265LevelH265Level5 = "H265_LEVEL_5"
22789
22790	// H265LevelH265Level51 is a H265Level enum value
22791	H265LevelH265Level51 = "H265_LEVEL_5_1"
22792
22793	// H265LevelH265Level52 is a H265Level enum value
22794	H265LevelH265Level52 = "H265_LEVEL_5_2"
22795
22796	// H265LevelH265Level6 is a H265Level enum value
22797	H265LevelH265Level6 = "H265_LEVEL_6"
22798
22799	// H265LevelH265Level61 is a H265Level enum value
22800	H265LevelH265Level61 = "H265_LEVEL_6_1"
22801
22802	// H265LevelH265Level62 is a H265Level enum value
22803	H265LevelH265Level62 = "H265_LEVEL_6_2"
22804
22805	// H265LevelH265LevelAuto is a H265Level enum value
22806	H265LevelH265LevelAuto = "H265_LEVEL_AUTO"
22807)
22808
22809// H265 Look Ahead Rate Control
22810const (
22811	// H265LookAheadRateControlHigh is a H265LookAheadRateControl enum value
22812	H265LookAheadRateControlHigh = "HIGH"
22813
22814	// H265LookAheadRateControlLow is a H265LookAheadRateControl enum value
22815	H265LookAheadRateControlLow = "LOW"
22816
22817	// H265LookAheadRateControlMedium is a H265LookAheadRateControl enum value
22818	H265LookAheadRateControlMedium = "MEDIUM"
22819)
22820
22821// H265 Profile
22822const (
22823	// H265ProfileMain is a H265Profile enum value
22824	H265ProfileMain = "MAIN"
22825
22826	// H265ProfileMain10bit is a H265Profile enum value
22827	H265ProfileMain10bit = "MAIN_10BIT"
22828)
22829
22830// H265 Rate Control Mode
22831const (
22832	// H265RateControlModeCbr is a H265RateControlMode enum value
22833	H265RateControlModeCbr = "CBR"
22834
22835	// H265RateControlModeMultiplex is a H265RateControlMode enum value
22836	H265RateControlModeMultiplex = "MULTIPLEX"
22837
22838	// H265RateControlModeQvbr is a H265RateControlMode enum value
22839	H265RateControlModeQvbr = "QVBR"
22840)
22841
22842// H265 Scan Type
22843const (
22844	// H265ScanTypeProgressive is a H265ScanType enum value
22845	H265ScanTypeProgressive = "PROGRESSIVE"
22846)
22847
22848// H265 Scene Change Detect
22849const (
22850	// H265SceneChangeDetectDisabled is a H265SceneChangeDetect enum value
22851	H265SceneChangeDetectDisabled = "DISABLED"
22852
22853	// H265SceneChangeDetectEnabled is a H265SceneChangeDetect enum value
22854	H265SceneChangeDetectEnabled = "ENABLED"
22855)
22856
22857// H265 Tier
22858const (
22859	// H265TierHigh is a H265Tier enum value
22860	H265TierHigh = "HIGH"
22861
22862	// H265TierMain is a H265Tier enum value
22863	H265TierMain = "MAIN"
22864)
22865
22866// H265 Timecode Insertion Behavior
22867const (
22868	// H265TimecodeInsertionBehaviorDisabled is a H265TimecodeInsertionBehavior enum value
22869	H265TimecodeInsertionBehaviorDisabled = "DISABLED"
22870
22871	// H265TimecodeInsertionBehaviorPicTimingSei is a H265TimecodeInsertionBehavior enum value
22872	H265TimecodeInsertionBehaviorPicTimingSei = "PIC_TIMING_SEI"
22873)
22874
22875// Hls Ad Markers
22876const (
22877	// HlsAdMarkersAdobe is a HlsAdMarkers enum value
22878	HlsAdMarkersAdobe = "ADOBE"
22879
22880	// HlsAdMarkersElemental is a HlsAdMarkers enum value
22881	HlsAdMarkersElemental = "ELEMENTAL"
22882
22883	// HlsAdMarkersElementalScte35 is a HlsAdMarkers enum value
22884	HlsAdMarkersElementalScte35 = "ELEMENTAL_SCTE35"
22885)
22886
22887// Hls Akamai Http Transfer Mode
22888const (
22889	// HlsAkamaiHttpTransferModeChunked is a HlsAkamaiHttpTransferMode enum value
22890	HlsAkamaiHttpTransferModeChunked = "CHUNKED"
22891
22892	// HlsAkamaiHttpTransferModeNonChunked is a HlsAkamaiHttpTransferMode enum value
22893	HlsAkamaiHttpTransferModeNonChunked = "NON_CHUNKED"
22894)
22895
22896// Hls Caption Language Setting
22897const (
22898	// HlsCaptionLanguageSettingInsert is a HlsCaptionLanguageSetting enum value
22899	HlsCaptionLanguageSettingInsert = "INSERT"
22900
22901	// HlsCaptionLanguageSettingNone is a HlsCaptionLanguageSetting enum value
22902	HlsCaptionLanguageSettingNone = "NONE"
22903
22904	// HlsCaptionLanguageSettingOmit is a HlsCaptionLanguageSetting enum value
22905	HlsCaptionLanguageSettingOmit = "OMIT"
22906)
22907
22908// Hls Client Cache
22909const (
22910	// HlsClientCacheDisabled is a HlsClientCache enum value
22911	HlsClientCacheDisabled = "DISABLED"
22912
22913	// HlsClientCacheEnabled is a HlsClientCache enum value
22914	HlsClientCacheEnabled = "ENABLED"
22915)
22916
22917// Hls Codec Specification
22918const (
22919	// HlsCodecSpecificationRfc4281 is a HlsCodecSpecification enum value
22920	HlsCodecSpecificationRfc4281 = "RFC_4281"
22921
22922	// HlsCodecSpecificationRfc6381 is a HlsCodecSpecification enum value
22923	HlsCodecSpecificationRfc6381 = "RFC_6381"
22924)
22925
22926// Hls Directory Structure
22927const (
22928	// HlsDirectoryStructureSingleDirectory is a HlsDirectoryStructure enum value
22929	HlsDirectoryStructureSingleDirectory = "SINGLE_DIRECTORY"
22930
22931	// HlsDirectoryStructureSubdirectoryPerStream is a HlsDirectoryStructure enum value
22932	HlsDirectoryStructureSubdirectoryPerStream = "SUBDIRECTORY_PER_STREAM"
22933)
22934
22935// Hls Encryption Type
22936const (
22937	// HlsEncryptionTypeAes128 is a HlsEncryptionType enum value
22938	HlsEncryptionTypeAes128 = "AES128"
22939
22940	// HlsEncryptionTypeSampleAes is a HlsEncryptionType enum value
22941	HlsEncryptionTypeSampleAes = "SAMPLE_AES"
22942)
22943
22944// Hls H265 Packaging Type
22945const (
22946	// HlsH265PackagingTypeHev1 is a HlsH265PackagingType enum value
22947	HlsH265PackagingTypeHev1 = "HEV1"
22948
22949	// HlsH265PackagingTypeHvc1 is a HlsH265PackagingType enum value
22950	HlsH265PackagingTypeHvc1 = "HVC1"
22951)
22952
22953// State of HLS ID3 Segment Tagging
22954const (
22955	// HlsId3SegmentTaggingStateDisabled is a HlsId3SegmentTaggingState enum value
22956	HlsId3SegmentTaggingStateDisabled = "DISABLED"
22957
22958	// HlsId3SegmentTaggingStateEnabled is a HlsId3SegmentTaggingState enum value
22959	HlsId3SegmentTaggingStateEnabled = "ENABLED"
22960)
22961
22962// Hls Iv In Manifest
22963const (
22964	// HlsIvInManifestExclude is a HlsIvInManifest enum value
22965	HlsIvInManifestExclude = "EXCLUDE"
22966
22967	// HlsIvInManifestInclude is a HlsIvInManifest enum value
22968	HlsIvInManifestInclude = "INCLUDE"
22969)
22970
22971// Hls Iv Source
22972const (
22973	// HlsIvSourceExplicit is a HlsIvSource enum value
22974	HlsIvSourceExplicit = "EXPLICIT"
22975
22976	// HlsIvSourceFollowsSegmentNumber is a HlsIvSource enum value
22977	HlsIvSourceFollowsSegmentNumber = "FOLLOWS_SEGMENT_NUMBER"
22978)
22979
22980// Hls Manifest Compression
22981const (
22982	// HlsManifestCompressionGzip is a HlsManifestCompression enum value
22983	HlsManifestCompressionGzip = "GZIP"
22984
22985	// HlsManifestCompressionNone is a HlsManifestCompression enum value
22986	HlsManifestCompressionNone = "NONE"
22987)
22988
22989// Hls Manifest Duration Format
22990const (
22991	// HlsManifestDurationFormatFloatingPoint is a HlsManifestDurationFormat enum value
22992	HlsManifestDurationFormatFloatingPoint = "FLOATING_POINT"
22993
22994	// HlsManifestDurationFormatInteger is a HlsManifestDurationFormat enum value
22995	HlsManifestDurationFormatInteger = "INTEGER"
22996)
22997
22998// Hls Media Store Storage Class
22999const (
23000	// HlsMediaStoreStorageClassTemporal is a HlsMediaStoreStorageClass enum value
23001	HlsMediaStoreStorageClassTemporal = "TEMPORAL"
23002)
23003
23004// Hls Mode
23005const (
23006	// HlsModeLive is a HlsMode enum value
23007	HlsModeLive = "LIVE"
23008
23009	// HlsModeVod is a HlsMode enum value
23010	HlsModeVod = "VOD"
23011)
23012
23013// Hls Output Selection
23014const (
23015	// HlsOutputSelectionManifestsAndSegments is a HlsOutputSelection enum value
23016	HlsOutputSelectionManifestsAndSegments = "MANIFESTS_AND_SEGMENTS"
23017
23018	// HlsOutputSelectionSegmentsOnly is a HlsOutputSelection enum value
23019	HlsOutputSelectionSegmentsOnly = "SEGMENTS_ONLY"
23020)
23021
23022// Hls Program Date Time
23023const (
23024	// HlsProgramDateTimeExclude is a HlsProgramDateTime enum value
23025	HlsProgramDateTimeExclude = "EXCLUDE"
23026
23027	// HlsProgramDateTimeInclude is a HlsProgramDateTime enum value
23028	HlsProgramDateTimeInclude = "INCLUDE"
23029)
23030
23031// Hls Redundant Manifest
23032const (
23033	// HlsRedundantManifestDisabled is a HlsRedundantManifest enum value
23034	HlsRedundantManifestDisabled = "DISABLED"
23035
23036	// HlsRedundantManifestEnabled is a HlsRedundantManifest enum value
23037	HlsRedundantManifestEnabled = "ENABLED"
23038)
23039
23040// Hls Segmentation Mode
23041const (
23042	// HlsSegmentationModeUseInputSegmentation is a HlsSegmentationMode enum value
23043	HlsSegmentationModeUseInputSegmentation = "USE_INPUT_SEGMENTATION"
23044
23045	// HlsSegmentationModeUseSegmentDuration is a HlsSegmentationMode enum value
23046	HlsSegmentationModeUseSegmentDuration = "USE_SEGMENT_DURATION"
23047)
23048
23049// Hls Stream Inf Resolution
23050const (
23051	// HlsStreamInfResolutionExclude is a HlsStreamInfResolution enum value
23052	HlsStreamInfResolutionExclude = "EXCLUDE"
23053
23054	// HlsStreamInfResolutionInclude is a HlsStreamInfResolution enum value
23055	HlsStreamInfResolutionInclude = "INCLUDE"
23056)
23057
23058// Hls Timed Metadata Id3 Frame
23059const (
23060	// HlsTimedMetadataId3FrameNone is a HlsTimedMetadataId3Frame enum value
23061	HlsTimedMetadataId3FrameNone = "NONE"
23062
23063	// HlsTimedMetadataId3FramePriv is a HlsTimedMetadataId3Frame enum value
23064	HlsTimedMetadataId3FramePriv = "PRIV"
23065
23066	// HlsTimedMetadataId3FrameTdrl is a HlsTimedMetadataId3Frame enum value
23067	HlsTimedMetadataId3FrameTdrl = "TDRL"
23068)
23069
23070// Hls Ts File Mode
23071const (
23072	// HlsTsFileModeSegmentedFiles is a HlsTsFileMode enum value
23073	HlsTsFileModeSegmentedFiles = "SEGMENTED_FILES"
23074
23075	// HlsTsFileModeSingleFile is a HlsTsFileMode enum value
23076	HlsTsFileModeSingleFile = "SINGLE_FILE"
23077)
23078
23079// Hls Webdav Http Transfer Mode
23080const (
23081	// HlsWebdavHttpTransferModeChunked is a HlsWebdavHttpTransferMode enum value
23082	HlsWebdavHttpTransferModeChunked = "CHUNKED"
23083
23084	// HlsWebdavHttpTransferModeNonChunked is a HlsWebdavHttpTransferMode enum value
23085	HlsWebdavHttpTransferModeNonChunked = "NON_CHUNKED"
23086)
23087
23088// When set to "standard", an I-Frame only playlist will be written out for
23089// each video output in the output group. This I-Frame only playlist will contain
23090// byte range offsets pointing to the I-frame(s) in each segment.
23091const (
23092	// IFrameOnlyPlaylistTypeDisabled is a IFrameOnlyPlaylistType enum value
23093	IFrameOnlyPlaylistTypeDisabled = "DISABLED"
23094
23095	// IFrameOnlyPlaylistTypeStandard is a IFrameOnlyPlaylistType enum value
23096	IFrameOnlyPlaylistTypeStandard = "STANDARD"
23097)
23098
23099// A standard input has two sources and a single pipeline input only has one.
23100const (
23101	// InputClassStandard is a InputClass enum value
23102	InputClassStandard = "STANDARD"
23103
23104	// InputClassSinglePipeline is a InputClass enum value
23105	InputClassSinglePipeline = "SINGLE_PIPELINE"
23106)
23107
23108// codec in increasing order of complexity
23109const (
23110	// InputCodecMpeg2 is a InputCodec enum value
23111	InputCodecMpeg2 = "MPEG2"
23112
23113	// InputCodecAvc is a InputCodec enum value
23114	InputCodecAvc = "AVC"
23115
23116	// InputCodecHevc is a InputCodec enum value
23117	InputCodecHevc = "HEVC"
23118)
23119
23120// Input Deblock Filter
23121const (
23122	// InputDeblockFilterDisabled is a InputDeblockFilter enum value
23123	InputDeblockFilterDisabled = "DISABLED"
23124
23125	// InputDeblockFilterEnabled is a InputDeblockFilter enum value
23126	InputDeblockFilterEnabled = "ENABLED"
23127)
23128
23129// Input Denoise Filter
23130const (
23131	// InputDenoiseFilterDisabled is a InputDenoiseFilter enum value
23132	InputDenoiseFilterDisabled = "DISABLED"
23133
23134	// InputDenoiseFilterEnabled is a InputDenoiseFilter enum value
23135	InputDenoiseFilterEnabled = "ENABLED"
23136)
23137
23138// Input Filter
23139const (
23140	// InputFilterAuto is a InputFilter enum value
23141	InputFilterAuto = "AUTO"
23142
23143	// InputFilterDisabled is a InputFilter enum value
23144	InputFilterDisabled = "DISABLED"
23145
23146	// InputFilterForced is a InputFilter enum value
23147	InputFilterForced = "FORCED"
23148)
23149
23150// Input Loss Action For Hls Out
23151const (
23152	// InputLossActionForHlsOutEmitOutput is a InputLossActionForHlsOut enum value
23153	InputLossActionForHlsOutEmitOutput = "EMIT_OUTPUT"
23154
23155	// InputLossActionForHlsOutPauseOutput is a InputLossActionForHlsOut enum value
23156	InputLossActionForHlsOutPauseOutput = "PAUSE_OUTPUT"
23157)
23158
23159// Input Loss Action For Ms Smooth Out
23160const (
23161	// InputLossActionForMsSmoothOutEmitOutput is a InputLossActionForMsSmoothOut enum value
23162	InputLossActionForMsSmoothOutEmitOutput = "EMIT_OUTPUT"
23163
23164	// InputLossActionForMsSmoothOutPauseOutput is a InputLossActionForMsSmoothOut enum value
23165	InputLossActionForMsSmoothOutPauseOutput = "PAUSE_OUTPUT"
23166)
23167
23168// Input Loss Action For Rtmp Out
23169const (
23170	// InputLossActionForRtmpOutEmitOutput is a InputLossActionForRtmpOut enum value
23171	InputLossActionForRtmpOutEmitOutput = "EMIT_OUTPUT"
23172
23173	// InputLossActionForRtmpOutPauseOutput is a InputLossActionForRtmpOut enum value
23174	InputLossActionForRtmpOutPauseOutput = "PAUSE_OUTPUT"
23175)
23176
23177// Input Loss Action For Udp Out
23178const (
23179	// InputLossActionForUdpOutDropProgram is a InputLossActionForUdpOut enum value
23180	InputLossActionForUdpOutDropProgram = "DROP_PROGRAM"
23181
23182	// InputLossActionForUdpOutDropTs is a InputLossActionForUdpOut enum value
23183	InputLossActionForUdpOutDropTs = "DROP_TS"
23184
23185	// InputLossActionForUdpOutEmitProgram is a InputLossActionForUdpOut enum value
23186	InputLossActionForUdpOutEmitProgram = "EMIT_PROGRAM"
23187)
23188
23189// Input Loss Image Type
23190const (
23191	// InputLossImageTypeColor is a InputLossImageType enum value
23192	InputLossImageTypeColor = "COLOR"
23193
23194	// InputLossImageTypeSlate is a InputLossImageType enum value
23195	InputLossImageTypeSlate = "SLATE"
23196)
23197
23198// Maximum input bitrate in megabits per second. Bitrates up to 50 Mbps are
23199// supported currently.
23200const (
23201	// InputMaximumBitrateMax10Mbps is a InputMaximumBitrate enum value
23202	InputMaximumBitrateMax10Mbps = "MAX_10_MBPS"
23203
23204	// InputMaximumBitrateMax20Mbps is a InputMaximumBitrate enum value
23205	InputMaximumBitrateMax20Mbps = "MAX_20_MBPS"
23206
23207	// InputMaximumBitrateMax50Mbps is a InputMaximumBitrate enum value
23208	InputMaximumBitrateMax50Mbps = "MAX_50_MBPS"
23209)
23210
23211// Input resolution based on lines of vertical resolution in the input; SD is
23212// less than 720 lines, HD is 720 to 1080 lines, UHD is greater than 1080 lines
23213const (
23214	// InputResolutionSd is a InputResolution enum value
23215	InputResolutionSd = "SD"
23216
23217	// InputResolutionHd is a InputResolution enum value
23218	InputResolutionHd = "HD"
23219
23220	// InputResolutionUhd is a InputResolution enum value
23221	InputResolutionUhd = "UHD"
23222)
23223
23224const (
23225	// InputSecurityGroupStateIdle is a InputSecurityGroupState enum value
23226	InputSecurityGroupStateIdle = "IDLE"
23227
23228	// InputSecurityGroupStateInUse is a InputSecurityGroupState enum value
23229	InputSecurityGroupStateInUse = "IN_USE"
23230
23231	// InputSecurityGroupStateUpdating is a InputSecurityGroupState enum value
23232	InputSecurityGroupStateUpdating = "UPDATING"
23233
23234	// InputSecurityGroupStateDeleted is a InputSecurityGroupState enum value
23235	InputSecurityGroupStateDeleted = "DELETED"
23236)
23237
23238// Input Source End Behavior
23239const (
23240	// InputSourceEndBehaviorContinue is a InputSourceEndBehavior enum value
23241	InputSourceEndBehaviorContinue = "CONTINUE"
23242
23243	// InputSourceEndBehaviorLoop is a InputSourceEndBehavior enum value
23244	InputSourceEndBehaviorLoop = "LOOP"
23245)
23246
23247// There are two types of input sources, static and dynamic. If an input source
23248// is dynamic you canchange the source url of the input dynamically using an
23249// input switch action. However, the only input typeto support a dynamic url
23250// at this time is MP4_FILE. By default all input sources are static.
23251const (
23252	// InputSourceTypeStatic is a InputSourceType enum value
23253	InputSourceTypeStatic = "STATIC"
23254
23255	// InputSourceTypeDynamic is a InputSourceType enum value
23256	InputSourceTypeDynamic = "DYNAMIC"
23257)
23258
23259const (
23260	// InputStateCreating is a InputState enum value
23261	InputStateCreating = "CREATING"
23262
23263	// InputStateDetached is a InputState enum value
23264	InputStateDetached = "DETACHED"
23265
23266	// InputStateAttached is a InputState enum value
23267	InputStateAttached = "ATTACHED"
23268
23269	// InputStateDeleting is a InputState enum value
23270	InputStateDeleting = "DELETING"
23271
23272	// InputStateDeleted is a InputState enum value
23273	InputStateDeleted = "DELETED"
23274)
23275
23276// To clip the file, you must specify the timecode for the start and end of
23277// the clip. Specify EMBEDDED to use the timecode embedded in the source content.
23278// The embedded timecode must exist in the source content, otherwise MediaLive
23279// will output black frames until it reaches the end of the source. Specify
23280// ZEROBASED to use a timecode that assumes that the first frame in the file
23281// has the timestamp 00:00:00.00. There is no default for this field, you must
23282// specify a value.
23283const (
23284	// InputTimecodeSourceZerobased is a InputTimecodeSource enum value
23285	InputTimecodeSourceZerobased = "ZEROBASED"
23286
23287	// InputTimecodeSourceEmbedded is a InputTimecodeSource enum value
23288	InputTimecodeSourceEmbedded = "EMBEDDED"
23289)
23290
23291const (
23292	// InputTypeUdpPush is a InputType enum value
23293	InputTypeUdpPush = "UDP_PUSH"
23294
23295	// InputTypeRtpPush is a InputType enum value
23296	InputTypeRtpPush = "RTP_PUSH"
23297
23298	// InputTypeRtmpPush is a InputType enum value
23299	InputTypeRtmpPush = "RTMP_PUSH"
23300
23301	// InputTypeRtmpPull is a InputType enum value
23302	InputTypeRtmpPull = "RTMP_PULL"
23303
23304	// InputTypeUrlPull is a InputType enum value
23305	InputTypeUrlPull = "URL_PULL"
23306
23307	// InputTypeMp4File is a InputType enum value
23308	InputTypeMp4File = "MP4_FILE"
23309
23310	// InputTypeMediaconnect is a InputType enum value
23311	InputTypeMediaconnect = "MEDIACONNECT"
23312)
23313
23314// If you specify a StopTimecode in an input (in order to clip the file), you
23315// can specify if you want the clip to exclude (the default) or include the
23316// frame specified by the timecode.
23317const (
23318	// LastFrameClippingBehaviorExcludeLastFrame is a LastFrameClippingBehavior enum value
23319	LastFrameClippingBehaviorExcludeLastFrame = "EXCLUDE_LAST_FRAME"
23320
23321	// LastFrameClippingBehaviorIncludeLastFrame is a LastFrameClippingBehavior enum value
23322	LastFrameClippingBehaviorIncludeLastFrame = "INCLUDE_LAST_FRAME"
23323)
23324
23325// The log level the user wants for their channel.
23326const (
23327	// LogLevelError is a LogLevel enum value
23328	LogLevelError = "ERROR"
23329
23330	// LogLevelWarning is a LogLevel enum value
23331	LogLevelWarning = "WARNING"
23332
23333	// LogLevelInfo is a LogLevel enum value
23334	LogLevelInfo = "INFO"
23335
23336	// LogLevelDebug is a LogLevel enum value
23337	LogLevelDebug = "DEBUG"
23338
23339	// LogLevelDisabled is a LogLevel enum value
23340	LogLevelDisabled = "DISABLED"
23341)
23342
23343// M2ts Absent Input Audio Behavior
23344const (
23345	// M2tsAbsentInputAudioBehaviorDrop is a M2tsAbsentInputAudioBehavior enum value
23346	M2tsAbsentInputAudioBehaviorDrop = "DROP"
23347
23348	// M2tsAbsentInputAudioBehaviorEncodeSilence is a M2tsAbsentInputAudioBehavior enum value
23349	M2tsAbsentInputAudioBehaviorEncodeSilence = "ENCODE_SILENCE"
23350)
23351
23352// M2ts Arib
23353const (
23354	// M2tsAribDisabled is a M2tsArib enum value
23355	M2tsAribDisabled = "DISABLED"
23356
23357	// M2tsAribEnabled is a M2tsArib enum value
23358	M2tsAribEnabled = "ENABLED"
23359)
23360
23361// M2ts Arib Captions Pid Control
23362const (
23363	// M2tsAribCaptionsPidControlAuto is a M2tsAribCaptionsPidControl enum value
23364	M2tsAribCaptionsPidControlAuto = "AUTO"
23365
23366	// M2tsAribCaptionsPidControlUseConfigured is a M2tsAribCaptionsPidControl enum value
23367	M2tsAribCaptionsPidControlUseConfigured = "USE_CONFIGURED"
23368)
23369
23370// M2ts Audio Buffer Model
23371const (
23372	// M2tsAudioBufferModelAtsc is a M2tsAudioBufferModel enum value
23373	M2tsAudioBufferModelAtsc = "ATSC"
23374
23375	// M2tsAudioBufferModelDvb is a M2tsAudioBufferModel enum value
23376	M2tsAudioBufferModelDvb = "DVB"
23377)
23378
23379// M2ts Audio Interval
23380const (
23381	// M2tsAudioIntervalVideoAndFixedIntervals is a M2tsAudioInterval enum value
23382	M2tsAudioIntervalVideoAndFixedIntervals = "VIDEO_AND_FIXED_INTERVALS"
23383
23384	// M2tsAudioIntervalVideoInterval is a M2tsAudioInterval enum value
23385	M2tsAudioIntervalVideoInterval = "VIDEO_INTERVAL"
23386)
23387
23388// M2ts Audio Stream Type
23389const (
23390	// M2tsAudioStreamTypeAtsc is a M2tsAudioStreamType enum value
23391	M2tsAudioStreamTypeAtsc = "ATSC"
23392
23393	// M2tsAudioStreamTypeDvb is a M2tsAudioStreamType enum value
23394	M2tsAudioStreamTypeDvb = "DVB"
23395)
23396
23397// M2ts Buffer Model
23398const (
23399	// M2tsBufferModelMultiplex is a M2tsBufferModel enum value
23400	M2tsBufferModelMultiplex = "MULTIPLEX"
23401
23402	// M2tsBufferModelNone is a M2tsBufferModel enum value
23403	M2tsBufferModelNone = "NONE"
23404)
23405
23406// M2ts Cc Descriptor
23407const (
23408	// M2tsCcDescriptorDisabled is a M2tsCcDescriptor enum value
23409	M2tsCcDescriptorDisabled = "DISABLED"
23410
23411	// M2tsCcDescriptorEnabled is a M2tsCcDescriptor enum value
23412	M2tsCcDescriptorEnabled = "ENABLED"
23413)
23414
23415// M2ts Ebif Control
23416const (
23417	// M2tsEbifControlNone is a M2tsEbifControl enum value
23418	M2tsEbifControlNone = "NONE"
23419
23420	// M2tsEbifControlPassthrough is a M2tsEbifControl enum value
23421	M2tsEbifControlPassthrough = "PASSTHROUGH"
23422)
23423
23424// M2ts Ebp Placement
23425const (
23426	// M2tsEbpPlacementVideoAndAudioPids is a M2tsEbpPlacement enum value
23427	M2tsEbpPlacementVideoAndAudioPids = "VIDEO_AND_AUDIO_PIDS"
23428
23429	// M2tsEbpPlacementVideoPid is a M2tsEbpPlacement enum value
23430	M2tsEbpPlacementVideoPid = "VIDEO_PID"
23431)
23432
23433// M2ts Es Rate In Pes
23434const (
23435	// M2tsEsRateInPesExclude is a M2tsEsRateInPes enum value
23436	M2tsEsRateInPesExclude = "EXCLUDE"
23437
23438	// M2tsEsRateInPesInclude is a M2tsEsRateInPes enum value
23439	M2tsEsRateInPesInclude = "INCLUDE"
23440)
23441
23442// M2ts Klv
23443const (
23444	// M2tsKlvNone is a M2tsKlv enum value
23445	M2tsKlvNone = "NONE"
23446
23447	// M2tsKlvPassthrough is a M2tsKlv enum value
23448	M2tsKlvPassthrough = "PASSTHROUGH"
23449)
23450
23451// M2ts Nielsen Id3 Behavior
23452const (
23453	// M2tsNielsenId3BehaviorNoPassthrough is a M2tsNielsenId3Behavior enum value
23454	M2tsNielsenId3BehaviorNoPassthrough = "NO_PASSTHROUGH"
23455
23456	// M2tsNielsenId3BehaviorPassthrough is a M2tsNielsenId3Behavior enum value
23457	M2tsNielsenId3BehaviorPassthrough = "PASSTHROUGH"
23458)
23459
23460// M2ts Pcr Control
23461const (
23462	// M2tsPcrControlConfiguredPcrPeriod is a M2tsPcrControl enum value
23463	M2tsPcrControlConfiguredPcrPeriod = "CONFIGURED_PCR_PERIOD"
23464
23465	// M2tsPcrControlPcrEveryPesPacket is a M2tsPcrControl enum value
23466	M2tsPcrControlPcrEveryPesPacket = "PCR_EVERY_PES_PACKET"
23467)
23468
23469// M2ts Rate Mode
23470const (
23471	// M2tsRateModeCbr is a M2tsRateMode enum value
23472	M2tsRateModeCbr = "CBR"
23473
23474	// M2tsRateModeVbr is a M2tsRateMode enum value
23475	M2tsRateModeVbr = "VBR"
23476)
23477
23478// M2ts Scte35 Control
23479const (
23480	// M2tsScte35ControlNone is a M2tsScte35Control enum value
23481	M2tsScte35ControlNone = "NONE"
23482
23483	// M2tsScte35ControlPassthrough is a M2tsScte35Control enum value
23484	M2tsScte35ControlPassthrough = "PASSTHROUGH"
23485)
23486
23487// M2ts Segmentation Markers
23488const (
23489	// M2tsSegmentationMarkersEbp is a M2tsSegmentationMarkers enum value
23490	M2tsSegmentationMarkersEbp = "EBP"
23491
23492	// M2tsSegmentationMarkersEbpLegacy is a M2tsSegmentationMarkers enum value
23493	M2tsSegmentationMarkersEbpLegacy = "EBP_LEGACY"
23494
23495	// M2tsSegmentationMarkersNone is a M2tsSegmentationMarkers enum value
23496	M2tsSegmentationMarkersNone = "NONE"
23497
23498	// M2tsSegmentationMarkersPsiSegstart is a M2tsSegmentationMarkers enum value
23499	M2tsSegmentationMarkersPsiSegstart = "PSI_SEGSTART"
23500
23501	// M2tsSegmentationMarkersRaiAdapt is a M2tsSegmentationMarkers enum value
23502	M2tsSegmentationMarkersRaiAdapt = "RAI_ADAPT"
23503
23504	// M2tsSegmentationMarkersRaiSegstart is a M2tsSegmentationMarkers enum value
23505	M2tsSegmentationMarkersRaiSegstart = "RAI_SEGSTART"
23506)
23507
23508// M2ts Segmentation Style
23509const (
23510	// M2tsSegmentationStyleMaintainCadence is a M2tsSegmentationStyle enum value
23511	M2tsSegmentationStyleMaintainCadence = "MAINTAIN_CADENCE"
23512
23513	// M2tsSegmentationStyleResetCadence is a M2tsSegmentationStyle enum value
23514	M2tsSegmentationStyleResetCadence = "RESET_CADENCE"
23515)
23516
23517// M2ts Timed Metadata Behavior
23518const (
23519	// M2tsTimedMetadataBehaviorNoPassthrough is a M2tsTimedMetadataBehavior enum value
23520	M2tsTimedMetadataBehaviorNoPassthrough = "NO_PASSTHROUGH"
23521
23522	// M2tsTimedMetadataBehaviorPassthrough is a M2tsTimedMetadataBehavior enum value
23523	M2tsTimedMetadataBehaviorPassthrough = "PASSTHROUGH"
23524)
23525
23526// M3u8 Nielsen Id3 Behavior
23527const (
23528	// M3u8NielsenId3BehaviorNoPassthrough is a M3u8NielsenId3Behavior enum value
23529	M3u8NielsenId3BehaviorNoPassthrough = "NO_PASSTHROUGH"
23530
23531	// M3u8NielsenId3BehaviorPassthrough is a M3u8NielsenId3Behavior enum value
23532	M3u8NielsenId3BehaviorPassthrough = "PASSTHROUGH"
23533)
23534
23535// M3u8 Pcr Control
23536const (
23537	// M3u8PcrControlConfiguredPcrPeriod is a M3u8PcrControl enum value
23538	M3u8PcrControlConfiguredPcrPeriod = "CONFIGURED_PCR_PERIOD"
23539
23540	// M3u8PcrControlPcrEveryPesPacket is a M3u8PcrControl enum value
23541	M3u8PcrControlPcrEveryPesPacket = "PCR_EVERY_PES_PACKET"
23542)
23543
23544// M3u8 Scte35 Behavior
23545const (
23546	// M3u8Scte35BehaviorNoPassthrough is a M3u8Scte35Behavior enum value
23547	M3u8Scte35BehaviorNoPassthrough = "NO_PASSTHROUGH"
23548
23549	// M3u8Scte35BehaviorPassthrough is a M3u8Scte35Behavior enum value
23550	M3u8Scte35BehaviorPassthrough = "PASSTHROUGH"
23551)
23552
23553// M3u8 Timed Metadata Behavior
23554const (
23555	// M3u8TimedMetadataBehaviorNoPassthrough is a M3u8TimedMetadataBehavior enum value
23556	M3u8TimedMetadataBehaviorNoPassthrough = "NO_PASSTHROUGH"
23557
23558	// M3u8TimedMetadataBehaviorPassthrough is a M3u8TimedMetadataBehavior enum value
23559	M3u8TimedMetadataBehaviorPassthrough = "PASSTHROUGH"
23560)
23561
23562// Mp2 Coding Mode
23563const (
23564	// Mp2CodingModeCodingMode10 is a Mp2CodingMode enum value
23565	Mp2CodingModeCodingMode10 = "CODING_MODE_1_0"
23566
23567	// Mp2CodingModeCodingMode20 is a Mp2CodingMode enum value
23568	Mp2CodingModeCodingMode20 = "CODING_MODE_2_0"
23569)
23570
23571// Ms Smooth H265 Packaging Type
23572const (
23573	// MsSmoothH265PackagingTypeHev1 is a MsSmoothH265PackagingType enum value
23574	MsSmoothH265PackagingTypeHev1 = "HEV1"
23575
23576	// MsSmoothH265PackagingTypeHvc1 is a MsSmoothH265PackagingType enum value
23577	MsSmoothH265PackagingTypeHvc1 = "HVC1"
23578)
23579
23580// The current state of the multiplex.
23581const (
23582	// MultiplexStateCreating is a MultiplexState enum value
23583	MultiplexStateCreating = "CREATING"
23584
23585	// MultiplexStateCreateFailed is a MultiplexState enum value
23586	MultiplexStateCreateFailed = "CREATE_FAILED"
23587
23588	// MultiplexStateIdle is a MultiplexState enum value
23589	MultiplexStateIdle = "IDLE"
23590
23591	// MultiplexStateStarting is a MultiplexState enum value
23592	MultiplexStateStarting = "STARTING"
23593
23594	// MultiplexStateRunning is a MultiplexState enum value
23595	MultiplexStateRunning = "RUNNING"
23596
23597	// MultiplexStateRecovering is a MultiplexState enum value
23598	MultiplexStateRecovering = "RECOVERING"
23599
23600	// MultiplexStateStopping is a MultiplexState enum value
23601	MultiplexStateStopping = "STOPPING"
23602
23603	// MultiplexStateDeleting is a MultiplexState enum value
23604	MultiplexStateDeleting = "DELETING"
23605
23606	// MultiplexStateDeleted is a MultiplexState enum value
23607	MultiplexStateDeleted = "DELETED"
23608)
23609
23610// Network Input Server Validation
23611const (
23612	// NetworkInputServerValidationCheckCryptographyAndValidateName is a NetworkInputServerValidation enum value
23613	NetworkInputServerValidationCheckCryptographyAndValidateName = "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME"
23614
23615	// NetworkInputServerValidationCheckCryptographyOnly is a NetworkInputServerValidation enum value
23616	NetworkInputServerValidationCheckCryptographyOnly = "CHECK_CRYPTOGRAPHY_ONLY"
23617)
23618
23619// State of Nielsen PCM to ID3 tagging
23620const (
23621	// NielsenPcmToId3TaggingStateDisabled is a NielsenPcmToId3TaggingState enum value
23622	NielsenPcmToId3TaggingStateDisabled = "DISABLED"
23623
23624	// NielsenPcmToId3TaggingStateEnabled is a NielsenPcmToId3TaggingState enum value
23625	NielsenPcmToId3TaggingStateEnabled = "ENABLED"
23626)
23627
23628// Units for duration, e.g. 'MONTHS'
23629const (
23630	// OfferingDurationUnitsMonths is a OfferingDurationUnits enum value
23631	OfferingDurationUnitsMonths = "MONTHS"
23632)
23633
23634// Offering type, e.g. 'NO_UPFRONT'
23635const (
23636	// OfferingTypeNoUpfront is a OfferingType enum value
23637	OfferingTypeNoUpfront = "NO_UPFRONT"
23638)
23639
23640// Pipeline ID
23641const (
23642	// PipelineIdPipeline0 is a PipelineId enum value
23643	PipelineIdPipeline0 = "PIPELINE_0"
23644
23645	// PipelineIdPipeline1 is a PipelineId enum value
23646	PipelineIdPipeline1 = "PIPELINE_1"
23647)
23648
23649// Codec, 'MPEG2', 'AVC', 'HEVC', or 'AUDIO'
23650const (
23651	// ReservationCodecMpeg2 is a ReservationCodec enum value
23652	ReservationCodecMpeg2 = "MPEG2"
23653
23654	// ReservationCodecAvc is a ReservationCodec enum value
23655	ReservationCodecAvc = "AVC"
23656
23657	// ReservationCodecHevc is a ReservationCodec enum value
23658	ReservationCodecHevc = "HEVC"
23659
23660	// ReservationCodecAudio is a ReservationCodec enum value
23661	ReservationCodecAudio = "AUDIO"
23662)
23663
23664// Maximum bitrate in megabits per second
23665const (
23666	// ReservationMaximumBitrateMax10Mbps is a ReservationMaximumBitrate enum value
23667	ReservationMaximumBitrateMax10Mbps = "MAX_10_MBPS"
23668
23669	// ReservationMaximumBitrateMax20Mbps is a ReservationMaximumBitrate enum value
23670	ReservationMaximumBitrateMax20Mbps = "MAX_20_MBPS"
23671
23672	// ReservationMaximumBitrateMax50Mbps is a ReservationMaximumBitrate enum value
23673	ReservationMaximumBitrateMax50Mbps = "MAX_50_MBPS"
23674)
23675
23676// Maximum framerate in frames per second (Outputs only)
23677const (
23678	// ReservationMaximumFramerateMax30Fps is a ReservationMaximumFramerate enum value
23679	ReservationMaximumFramerateMax30Fps = "MAX_30_FPS"
23680
23681	// ReservationMaximumFramerateMax60Fps is a ReservationMaximumFramerate enum value
23682	ReservationMaximumFramerateMax60Fps = "MAX_60_FPS"
23683)
23684
23685// Resolution based on lines of vertical resolution; SD is less than 720 lines,
23686// HD is 720 to 1080 lines, FHD is 1080 lines, UHD is greater than 1080 lines
23687const (
23688	// ReservationResolutionSd is a ReservationResolution enum value
23689	ReservationResolutionSd = "SD"
23690
23691	// ReservationResolutionHd is a ReservationResolution enum value
23692	ReservationResolutionHd = "HD"
23693
23694	// ReservationResolutionFhd is a ReservationResolution enum value
23695	ReservationResolutionFhd = "FHD"
23696
23697	// ReservationResolutionUhd is a ReservationResolution enum value
23698	ReservationResolutionUhd = "UHD"
23699)
23700
23701// Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'
23702const (
23703	// ReservationResourceTypeInput is a ReservationResourceType enum value
23704	ReservationResourceTypeInput = "INPUT"
23705
23706	// ReservationResourceTypeOutput is a ReservationResourceType enum value
23707	ReservationResourceTypeOutput = "OUTPUT"
23708
23709	// ReservationResourceTypeMultiplex is a ReservationResourceType enum value
23710	ReservationResourceTypeMultiplex = "MULTIPLEX"
23711
23712	// ReservationResourceTypeChannel is a ReservationResourceType enum value
23713	ReservationResourceTypeChannel = "CHANNEL"
23714)
23715
23716// Special features, 'ADVANCED_AUDIO' or 'AUDIO_NORMALIZATION'
23717const (
23718	// ReservationSpecialFeatureAdvancedAudio is a ReservationSpecialFeature enum value
23719	ReservationSpecialFeatureAdvancedAudio = "ADVANCED_AUDIO"
23720
23721	// ReservationSpecialFeatureAudioNormalization is a ReservationSpecialFeature enum value
23722	ReservationSpecialFeatureAudioNormalization = "AUDIO_NORMALIZATION"
23723)
23724
23725// Current reservation state
23726const (
23727	// ReservationStateActive is a ReservationState enum value
23728	ReservationStateActive = "ACTIVE"
23729
23730	// ReservationStateExpired is a ReservationState enum value
23731	ReservationStateExpired = "EXPIRED"
23732
23733	// ReservationStateCanceled is a ReservationState enum value
23734	ReservationStateCanceled = "CANCELED"
23735
23736	// ReservationStateDeleted is a ReservationState enum value
23737	ReservationStateDeleted = "DELETED"
23738)
23739
23740// Video quality, e.g. 'STANDARD' (Outputs only)
23741const (
23742	// ReservationVideoQualityStandard is a ReservationVideoQuality enum value
23743	ReservationVideoQualityStandard = "STANDARD"
23744
23745	// ReservationVideoQualityEnhanced is a ReservationVideoQuality enum value
23746	ReservationVideoQualityEnhanced = "ENHANCED"
23747
23748	// ReservationVideoQualityPremium is a ReservationVideoQuality enum value
23749	ReservationVideoQualityPremium = "PREMIUM"
23750)
23751
23752// Rtmp Cache Full Behavior
23753const (
23754	// RtmpCacheFullBehaviorDisconnectImmediately is a RtmpCacheFullBehavior enum value
23755	RtmpCacheFullBehaviorDisconnectImmediately = "DISCONNECT_IMMEDIATELY"
23756
23757	// RtmpCacheFullBehaviorWaitForServer is a RtmpCacheFullBehavior enum value
23758	RtmpCacheFullBehaviorWaitForServer = "WAIT_FOR_SERVER"
23759)
23760
23761// Rtmp Caption Data
23762const (
23763	// RtmpCaptionDataAll is a RtmpCaptionData enum value
23764	RtmpCaptionDataAll = "ALL"
23765
23766	// RtmpCaptionDataField1608 is a RtmpCaptionData enum value
23767	RtmpCaptionDataField1608 = "FIELD1_608"
23768
23769	// RtmpCaptionDataField1AndField2608 is a RtmpCaptionData enum value
23770	RtmpCaptionDataField1AndField2608 = "FIELD1_AND_FIELD2_608"
23771)
23772
23773// Rtmp Output Certificate Mode
23774const (
23775	// RtmpOutputCertificateModeSelfSigned is a RtmpOutputCertificateMode enum value
23776	RtmpOutputCertificateModeSelfSigned = "SELF_SIGNED"
23777
23778	// RtmpOutputCertificateModeVerifyAuthenticity is a RtmpOutputCertificateMode enum value
23779	RtmpOutputCertificateModeVerifyAuthenticity = "VERIFY_AUTHENTICITY"
23780)
23781
23782// Scte20 Convert608 To708
23783const (
23784	// Scte20Convert608To708Disabled is a Scte20Convert608To708 enum value
23785	Scte20Convert608To708Disabled = "DISABLED"
23786
23787	// Scte20Convert608To708Upconvert is a Scte20Convert608To708 enum value
23788	Scte20Convert608To708Upconvert = "UPCONVERT"
23789)
23790
23791// Scte35 Apos No Regional Blackout Behavior
23792const (
23793	// Scte35AposNoRegionalBlackoutBehaviorFollow is a Scte35AposNoRegionalBlackoutBehavior enum value
23794	Scte35AposNoRegionalBlackoutBehaviorFollow = "FOLLOW"
23795
23796	// Scte35AposNoRegionalBlackoutBehaviorIgnore is a Scte35AposNoRegionalBlackoutBehavior enum value
23797	Scte35AposNoRegionalBlackoutBehaviorIgnore = "IGNORE"
23798)
23799
23800// Scte35 Apos Web Delivery Allowed Behavior
23801const (
23802	// Scte35AposWebDeliveryAllowedBehaviorFollow is a Scte35AposWebDeliveryAllowedBehavior enum value
23803	Scte35AposWebDeliveryAllowedBehaviorFollow = "FOLLOW"
23804
23805	// Scte35AposWebDeliveryAllowedBehaviorIgnore is a Scte35AposWebDeliveryAllowedBehavior enum value
23806	Scte35AposWebDeliveryAllowedBehaviorIgnore = "IGNORE"
23807)
23808
23809// Corresponds to the archive_allowed parameter. A value of ARCHIVE_NOT_ALLOWED
23810// corresponds to 0 (false) in the SCTE-35 specification. If you include one
23811// of the "restriction" flags then you must include all four of them.
23812const (
23813	// Scte35ArchiveAllowedFlagArchiveNotAllowed is a Scte35ArchiveAllowedFlag enum value
23814	Scte35ArchiveAllowedFlagArchiveNotAllowed = "ARCHIVE_NOT_ALLOWED"
23815
23816	// Scte35ArchiveAllowedFlagArchiveAllowed is a Scte35ArchiveAllowedFlag enum value
23817	Scte35ArchiveAllowedFlagArchiveAllowed = "ARCHIVE_ALLOWED"
23818)
23819
23820// Corresponds to the device_restrictions parameter in a segmentation_descriptor.
23821// If you include one of the "restriction" flags then you must include all four
23822// of them.
23823const (
23824	// Scte35DeviceRestrictionsNone is a Scte35DeviceRestrictions enum value
23825	Scte35DeviceRestrictionsNone = "NONE"
23826
23827	// Scte35DeviceRestrictionsRestrictGroup0 is a Scte35DeviceRestrictions enum value
23828	Scte35DeviceRestrictionsRestrictGroup0 = "RESTRICT_GROUP0"
23829
23830	// Scte35DeviceRestrictionsRestrictGroup1 is a Scte35DeviceRestrictions enum value
23831	Scte35DeviceRestrictionsRestrictGroup1 = "RESTRICT_GROUP1"
23832
23833	// Scte35DeviceRestrictionsRestrictGroup2 is a Scte35DeviceRestrictions enum value
23834	Scte35DeviceRestrictionsRestrictGroup2 = "RESTRICT_GROUP2"
23835)
23836
23837// Corresponds to the no_regional_blackout_flag parameter. A value of REGIONAL_BLACKOUT
23838// corresponds to 0 (false) in the SCTE-35 specification. If you include one
23839// of the "restriction" flags then you must include all four of them.
23840const (
23841	// Scte35NoRegionalBlackoutFlagRegionalBlackout is a Scte35NoRegionalBlackoutFlag enum value
23842	Scte35NoRegionalBlackoutFlagRegionalBlackout = "REGIONAL_BLACKOUT"
23843
23844	// Scte35NoRegionalBlackoutFlagNoRegionalBlackout is a Scte35NoRegionalBlackoutFlag enum value
23845	Scte35NoRegionalBlackoutFlagNoRegionalBlackout = "NO_REGIONAL_BLACKOUT"
23846)
23847
23848// Corresponds to SCTE-35 segmentation_event_cancel_indicator. SEGMENTATION_EVENT_NOT_CANCELED
23849// corresponds to 0 in the SCTE-35 specification and indicates that this is
23850// an insertion request. SEGMENTATION_EVENT_CANCELED corresponds to 1 in the
23851// SCTE-35 specification and indicates that this is a cancelation request, in
23852// which case complete this field and the existing event ID to cancel.
23853const (
23854	// Scte35SegmentationCancelIndicatorSegmentationEventNotCanceled is a Scte35SegmentationCancelIndicator enum value
23855	Scte35SegmentationCancelIndicatorSegmentationEventNotCanceled = "SEGMENTATION_EVENT_NOT_CANCELED"
23856
23857	// Scte35SegmentationCancelIndicatorSegmentationEventCanceled is a Scte35SegmentationCancelIndicator enum value
23858	Scte35SegmentationCancelIndicatorSegmentationEventCanceled = "SEGMENTATION_EVENT_CANCELED"
23859)
23860
23861// Scte35 Splice Insert No Regional Blackout Behavior
23862const (
23863	// Scte35SpliceInsertNoRegionalBlackoutBehaviorFollow is a Scte35SpliceInsertNoRegionalBlackoutBehavior enum value
23864	Scte35SpliceInsertNoRegionalBlackoutBehaviorFollow = "FOLLOW"
23865
23866	// Scte35SpliceInsertNoRegionalBlackoutBehaviorIgnore is a Scte35SpliceInsertNoRegionalBlackoutBehavior enum value
23867	Scte35SpliceInsertNoRegionalBlackoutBehaviorIgnore = "IGNORE"
23868)
23869
23870// Scte35 Splice Insert Web Delivery Allowed Behavior
23871const (
23872	// Scte35SpliceInsertWebDeliveryAllowedBehaviorFollow is a Scte35SpliceInsertWebDeliveryAllowedBehavior enum value
23873	Scte35SpliceInsertWebDeliveryAllowedBehaviorFollow = "FOLLOW"
23874
23875	// Scte35SpliceInsertWebDeliveryAllowedBehaviorIgnore is a Scte35SpliceInsertWebDeliveryAllowedBehavior enum value
23876	Scte35SpliceInsertWebDeliveryAllowedBehaviorIgnore = "IGNORE"
23877)
23878
23879// Corresponds to the web_delivery_allowed_flag parameter. A value of WEB_DELIVERY_NOT_ALLOWED
23880// corresponds to 0 (false) in the SCTE-35 specification. If you include one
23881// of the "restriction" flags then you must include all four of them.
23882const (
23883	// Scte35WebDeliveryAllowedFlagWebDeliveryNotAllowed is a Scte35WebDeliveryAllowedFlag enum value
23884	Scte35WebDeliveryAllowedFlagWebDeliveryNotAllowed = "WEB_DELIVERY_NOT_ALLOWED"
23885
23886	// Scte35WebDeliveryAllowedFlagWebDeliveryAllowed is a Scte35WebDeliveryAllowedFlag enum value
23887	Scte35WebDeliveryAllowedFlagWebDeliveryAllowed = "WEB_DELIVERY_ALLOWED"
23888)
23889
23890// Smooth Group Audio Only Timecode Control
23891const (
23892	// SmoothGroupAudioOnlyTimecodeControlPassthrough is a SmoothGroupAudioOnlyTimecodeControl enum value
23893	SmoothGroupAudioOnlyTimecodeControlPassthrough = "PASSTHROUGH"
23894
23895	// SmoothGroupAudioOnlyTimecodeControlUseConfiguredClock is a SmoothGroupAudioOnlyTimecodeControl enum value
23896	SmoothGroupAudioOnlyTimecodeControlUseConfiguredClock = "USE_CONFIGURED_CLOCK"
23897)
23898
23899// Smooth Group Certificate Mode
23900const (
23901	// SmoothGroupCertificateModeSelfSigned is a SmoothGroupCertificateMode enum value
23902	SmoothGroupCertificateModeSelfSigned = "SELF_SIGNED"
23903
23904	// SmoothGroupCertificateModeVerifyAuthenticity is a SmoothGroupCertificateMode enum value
23905	SmoothGroupCertificateModeVerifyAuthenticity = "VERIFY_AUTHENTICITY"
23906)
23907
23908// Smooth Group Event Id Mode
23909const (
23910	// SmoothGroupEventIdModeNoEventId is a SmoothGroupEventIdMode enum value
23911	SmoothGroupEventIdModeNoEventId = "NO_EVENT_ID"
23912
23913	// SmoothGroupEventIdModeUseConfigured is a SmoothGroupEventIdMode enum value
23914	SmoothGroupEventIdModeUseConfigured = "USE_CONFIGURED"
23915
23916	// SmoothGroupEventIdModeUseTimestamp is a SmoothGroupEventIdMode enum value
23917	SmoothGroupEventIdModeUseTimestamp = "USE_TIMESTAMP"
23918)
23919
23920// Smooth Group Event Stop Behavior
23921const (
23922	// SmoothGroupEventStopBehaviorNone is a SmoothGroupEventStopBehavior enum value
23923	SmoothGroupEventStopBehaviorNone = "NONE"
23924
23925	// SmoothGroupEventStopBehaviorSendEos is a SmoothGroupEventStopBehavior enum value
23926	SmoothGroupEventStopBehaviorSendEos = "SEND_EOS"
23927)
23928
23929// Smooth Group Segmentation Mode
23930const (
23931	// SmoothGroupSegmentationModeUseInputSegmentation is a SmoothGroupSegmentationMode enum value
23932	SmoothGroupSegmentationModeUseInputSegmentation = "USE_INPUT_SEGMENTATION"
23933
23934	// SmoothGroupSegmentationModeUseSegmentDuration is a SmoothGroupSegmentationMode enum value
23935	SmoothGroupSegmentationModeUseSegmentDuration = "USE_SEGMENT_DURATION"
23936)
23937
23938// Smooth Group Sparse Track Type
23939const (
23940	// SmoothGroupSparseTrackTypeNone is a SmoothGroupSparseTrackType enum value
23941	SmoothGroupSparseTrackTypeNone = "NONE"
23942
23943	// SmoothGroupSparseTrackTypeScte35 is a SmoothGroupSparseTrackType enum value
23944	SmoothGroupSparseTrackTypeScte35 = "SCTE_35"
23945)
23946
23947// Smooth Group Stream Manifest Behavior
23948const (
23949	// SmoothGroupStreamManifestBehaviorDoNotSend is a SmoothGroupStreamManifestBehavior enum value
23950	SmoothGroupStreamManifestBehaviorDoNotSend = "DO_NOT_SEND"
23951
23952	// SmoothGroupStreamManifestBehaviorSend is a SmoothGroupStreamManifestBehavior enum value
23953	SmoothGroupStreamManifestBehaviorSend = "SEND"
23954)
23955
23956// Smooth Group Timestamp Offset Mode
23957const (
23958	// SmoothGroupTimestampOffsetModeUseConfiguredOffset is a SmoothGroupTimestampOffsetMode enum value
23959	SmoothGroupTimestampOffsetModeUseConfiguredOffset = "USE_CONFIGURED_OFFSET"
23960
23961	// SmoothGroupTimestampOffsetModeUseEventStartDate is a SmoothGroupTimestampOffsetMode enum value
23962	SmoothGroupTimestampOffsetModeUseEventStartDate = "USE_EVENT_START_DATE"
23963)
23964
23965// Timecode Config Source
23966const (
23967	// TimecodeConfigSourceEmbedded is a TimecodeConfigSource enum value
23968	TimecodeConfigSourceEmbedded = "EMBEDDED"
23969
23970	// TimecodeConfigSourceSystemclock is a TimecodeConfigSource enum value
23971	TimecodeConfigSourceSystemclock = "SYSTEMCLOCK"
23972
23973	// TimecodeConfigSourceZerobased is a TimecodeConfigSource enum value
23974	TimecodeConfigSourceZerobased = "ZEROBASED"
23975)
23976
23977// Ttml Destination Style Control
23978const (
23979	// TtmlDestinationStyleControlPassthrough is a TtmlDestinationStyleControl enum value
23980	TtmlDestinationStyleControlPassthrough = "PASSTHROUGH"
23981
23982	// TtmlDestinationStyleControlUseConfigured is a TtmlDestinationStyleControl enum value
23983	TtmlDestinationStyleControlUseConfigured = "USE_CONFIGURED"
23984)
23985
23986// Udp Timed Metadata Id3 Frame
23987const (
23988	// UdpTimedMetadataId3FrameNone is a UdpTimedMetadataId3Frame enum value
23989	UdpTimedMetadataId3FrameNone = "NONE"
23990
23991	// UdpTimedMetadataId3FramePriv is a UdpTimedMetadataId3Frame enum value
23992	UdpTimedMetadataId3FramePriv = "PRIV"
23993
23994	// UdpTimedMetadataId3FrameTdrl is a UdpTimedMetadataId3Frame enum value
23995	UdpTimedMetadataId3FrameTdrl = "TDRL"
23996)
23997
23998// Video Description Respond To Afd
23999const (
24000	// VideoDescriptionRespondToAfdNone is a VideoDescriptionRespondToAfd enum value
24001	VideoDescriptionRespondToAfdNone = "NONE"
24002
24003	// VideoDescriptionRespondToAfdPassthrough is a VideoDescriptionRespondToAfd enum value
24004	VideoDescriptionRespondToAfdPassthrough = "PASSTHROUGH"
24005
24006	// VideoDescriptionRespondToAfdRespond is a VideoDescriptionRespondToAfd enum value
24007	VideoDescriptionRespondToAfdRespond = "RESPOND"
24008)
24009
24010// Video Description Scaling Behavior
24011const (
24012	// VideoDescriptionScalingBehaviorDefault is a VideoDescriptionScalingBehavior enum value
24013	VideoDescriptionScalingBehaviorDefault = "DEFAULT"
24014
24015	// VideoDescriptionScalingBehaviorStretchToOutput is a VideoDescriptionScalingBehavior enum value
24016	VideoDescriptionScalingBehaviorStretchToOutput = "STRETCH_TO_OUTPUT"
24017)
24018
24019// Video Selector Color Space
24020const (
24021	// VideoSelectorColorSpaceFollow is a VideoSelectorColorSpace enum value
24022	VideoSelectorColorSpaceFollow = "FOLLOW"
24023
24024	// VideoSelectorColorSpaceRec601 is a VideoSelectorColorSpace enum value
24025	VideoSelectorColorSpaceRec601 = "REC_601"
24026
24027	// VideoSelectorColorSpaceRec709 is a VideoSelectorColorSpace enum value
24028	VideoSelectorColorSpaceRec709 = "REC_709"
24029)
24030
24031// Video Selector Color Space Usage
24032const (
24033	// VideoSelectorColorSpaceUsageFallback is a VideoSelectorColorSpaceUsage enum value
24034	VideoSelectorColorSpaceUsageFallback = "FALLBACK"
24035
24036	// VideoSelectorColorSpaceUsageForce is a VideoSelectorColorSpaceUsage enum value
24037	VideoSelectorColorSpaceUsageForce = "FORCE"
24038)
24039