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 opCreateTags = "CreateTags"
376
377// CreateTagsRequest generates a "aws/request.Request" representing the
378// client's request for the CreateTags 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 CreateTags for more information on using the CreateTags
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 CreateTagsRequest method.
393//    req, resp := client.CreateTagsRequest(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/CreateTags
401func (c *MediaLive) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
402	op := &request.Operation{
403		Name:       opCreateTags,
404		HTTPMethod: "POST",
405		HTTPPath:   "/prod/tags/{resource-arn}",
406	}
407
408	if input == nil {
409		input = &CreateTagsInput{}
410	}
411
412	output = &CreateTagsOutput{}
413	req = c.newRequest(op, input, output)
414	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
415	return
416}
417
418// CreateTags API operation for AWS Elemental MediaLive.
419//
420// Create tags for a resource
421//
422// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
423// with awserr.Error's Code and Message methods to get detailed information about
424// the error.
425//
426// See the AWS API reference guide for AWS Elemental MediaLive's
427// API operation CreateTags for usage and error information.
428//
429// Returned Error Codes:
430//   * ErrCodeNotFoundException "NotFoundException"
431//
432//   * ErrCodeBadRequestException "BadRequestException"
433//
434//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
435//
436//   * ErrCodeForbiddenException "ForbiddenException"
437//
438// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateTags
439func (c *MediaLive) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
440	req, out := c.CreateTagsRequest(input)
441	return out, req.Send()
442}
443
444// CreateTagsWithContext is the same as CreateTags with the addition of
445// the ability to pass a context and additional request options.
446//
447// See CreateTags for details on how to use this API operation.
448//
449// The context must be non-nil and will be used for request cancellation. If
450// the context is nil a panic will occur. In the future the SDK may create
451// sub-contexts for http.Requests. See https://golang.org/pkg/context/
452// for more information on using Contexts.
453func (c *MediaLive) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opts ...request.Option) (*CreateTagsOutput, error) {
454	req, out := c.CreateTagsRequest(input)
455	req.SetContext(ctx)
456	req.ApplyOptions(opts...)
457	return out, req.Send()
458}
459
460const opDeleteChannel = "DeleteChannel"
461
462// DeleteChannelRequest generates a "aws/request.Request" representing the
463// client's request for the DeleteChannel operation. The "output" return
464// value will be populated with the request's response once the request completes
465// successfully.
466//
467// Use "Send" method on the returned Request to send the API call to the service.
468// the "output" return value is not valid until after Send returns without error.
469//
470// See DeleteChannel for more information on using the DeleteChannel
471// API call, and error handling.
472//
473// This method is useful when you want to inject custom logic or configuration
474// into the SDK's request lifecycle. Such as custom headers, or retry logic.
475//
476//
477//    // Example sending a request using the DeleteChannelRequest method.
478//    req, resp := client.DeleteChannelRequest(params)
479//
480//    err := req.Send()
481//    if err == nil { // resp is now filled
482//        fmt.Println(resp)
483//    }
484//
485// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteChannel
486func (c *MediaLive) DeleteChannelRequest(input *DeleteChannelInput) (req *request.Request, output *DeleteChannelOutput) {
487	op := &request.Operation{
488		Name:       opDeleteChannel,
489		HTTPMethod: "DELETE",
490		HTTPPath:   "/prod/channels/{channelId}",
491	}
492
493	if input == nil {
494		input = &DeleteChannelInput{}
495	}
496
497	output = &DeleteChannelOutput{}
498	req = c.newRequest(op, input, output)
499	return
500}
501
502// DeleteChannel API operation for AWS Elemental MediaLive.
503//
504// Starts deletion of channel. The associated outputs are also deleted.
505//
506// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
507// with awserr.Error's Code and Message methods to get detailed information about
508// the error.
509//
510// See the AWS API reference guide for AWS Elemental MediaLive's
511// API operation DeleteChannel for usage and error information.
512//
513// Returned Error Codes:
514//   * ErrCodeBadRequestException "BadRequestException"
515//
516//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
517//
518//   * ErrCodeForbiddenException "ForbiddenException"
519//
520//   * ErrCodeBadGatewayException "BadGatewayException"
521//
522//   * ErrCodeNotFoundException "NotFoundException"
523//
524//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
525//
526//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
527//
528//   * ErrCodeConflictException "ConflictException"
529//
530// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteChannel
531func (c *MediaLive) DeleteChannel(input *DeleteChannelInput) (*DeleteChannelOutput, error) {
532	req, out := c.DeleteChannelRequest(input)
533	return out, req.Send()
534}
535
536// DeleteChannelWithContext is the same as DeleteChannel with the addition of
537// the ability to pass a context and additional request options.
538//
539// See DeleteChannel for details on how to use this API operation.
540//
541// The context must be non-nil and will be used for request cancellation. If
542// the context is nil a panic will occur. In the future the SDK may create
543// sub-contexts for http.Requests. See https://golang.org/pkg/context/
544// for more information on using Contexts.
545func (c *MediaLive) DeleteChannelWithContext(ctx aws.Context, input *DeleteChannelInput, opts ...request.Option) (*DeleteChannelOutput, error) {
546	req, out := c.DeleteChannelRequest(input)
547	req.SetContext(ctx)
548	req.ApplyOptions(opts...)
549	return out, req.Send()
550}
551
552const opDeleteInput = "DeleteInput"
553
554// DeleteInputRequest generates a "aws/request.Request" representing the
555// client's request for the DeleteInput operation. The "output" return
556// value will be populated with the request's response once the request completes
557// successfully.
558//
559// Use "Send" method on the returned Request to send the API call to the service.
560// the "output" return value is not valid until after Send returns without error.
561//
562// See DeleteInput for more information on using the DeleteInput
563// API call, and error handling.
564//
565// This method is useful when you want to inject custom logic or configuration
566// into the SDK's request lifecycle. Such as custom headers, or retry logic.
567//
568//
569//    // Example sending a request using the DeleteInputRequest method.
570//    req, resp := client.DeleteInputRequest(params)
571//
572//    err := req.Send()
573//    if err == nil { // resp is now filled
574//        fmt.Println(resp)
575//    }
576//
577// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteInput
578func (c *MediaLive) DeleteInputRequest(input *DeleteInputInput) (req *request.Request, output *DeleteInputOutput) {
579	op := &request.Operation{
580		Name:       opDeleteInput,
581		HTTPMethod: "DELETE",
582		HTTPPath:   "/prod/inputs/{inputId}",
583	}
584
585	if input == nil {
586		input = &DeleteInputInput{}
587	}
588
589	output = &DeleteInputOutput{}
590	req = c.newRequest(op, input, output)
591	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
592	return
593}
594
595// DeleteInput API operation for AWS Elemental MediaLive.
596//
597// Deletes the input end point
598//
599// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
600// with awserr.Error's Code and Message methods to get detailed information about
601// the error.
602//
603// See the AWS API reference guide for AWS Elemental MediaLive's
604// API operation DeleteInput for usage and error information.
605//
606// Returned Error Codes:
607//   * ErrCodeBadRequestException "BadRequestException"
608//
609//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
610//
611//   * ErrCodeForbiddenException "ForbiddenException"
612//
613//   * ErrCodeBadGatewayException "BadGatewayException"
614//
615//   * ErrCodeNotFoundException "NotFoundException"
616//
617//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
618//
619//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
620//
621//   * ErrCodeConflictException "ConflictException"
622//
623// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteInput
624func (c *MediaLive) DeleteInput(input *DeleteInputInput) (*DeleteInputOutput, error) {
625	req, out := c.DeleteInputRequest(input)
626	return out, req.Send()
627}
628
629// DeleteInputWithContext is the same as DeleteInput with the addition of
630// the ability to pass a context and additional request options.
631//
632// See DeleteInput for details on how to use this API operation.
633//
634// The context must be non-nil and will be used for request cancellation. If
635// the context is nil a panic will occur. In the future the SDK may create
636// sub-contexts for http.Requests. See https://golang.org/pkg/context/
637// for more information on using Contexts.
638func (c *MediaLive) DeleteInputWithContext(ctx aws.Context, input *DeleteInputInput, opts ...request.Option) (*DeleteInputOutput, error) {
639	req, out := c.DeleteInputRequest(input)
640	req.SetContext(ctx)
641	req.ApplyOptions(opts...)
642	return out, req.Send()
643}
644
645const opDeleteInputSecurityGroup = "DeleteInputSecurityGroup"
646
647// DeleteInputSecurityGroupRequest generates a "aws/request.Request" representing the
648// client's request for the DeleteInputSecurityGroup operation. The "output" return
649// value will be populated with the request's response once the request completes
650// successfully.
651//
652// Use "Send" method on the returned Request to send the API call to the service.
653// the "output" return value is not valid until after Send returns without error.
654//
655// See DeleteInputSecurityGroup for more information on using the DeleteInputSecurityGroup
656// API call, and error handling.
657//
658// This method is useful when you want to inject custom logic or configuration
659// into the SDK's request lifecycle. Such as custom headers, or retry logic.
660//
661//
662//    // Example sending a request using the DeleteInputSecurityGroupRequest method.
663//    req, resp := client.DeleteInputSecurityGroupRequest(params)
664//
665//    err := req.Send()
666//    if err == nil { // resp is now filled
667//        fmt.Println(resp)
668//    }
669//
670// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteInputSecurityGroup
671func (c *MediaLive) DeleteInputSecurityGroupRequest(input *DeleteInputSecurityGroupInput) (req *request.Request, output *DeleteInputSecurityGroupOutput) {
672	op := &request.Operation{
673		Name:       opDeleteInputSecurityGroup,
674		HTTPMethod: "DELETE",
675		HTTPPath:   "/prod/inputSecurityGroups/{inputSecurityGroupId}",
676	}
677
678	if input == nil {
679		input = &DeleteInputSecurityGroupInput{}
680	}
681
682	output = &DeleteInputSecurityGroupOutput{}
683	req = c.newRequest(op, input, output)
684	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
685	return
686}
687
688// DeleteInputSecurityGroup API operation for AWS Elemental MediaLive.
689//
690// Deletes an Input Security Group
691//
692// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
693// with awserr.Error's Code and Message methods to get detailed information about
694// the error.
695//
696// See the AWS API reference guide for AWS Elemental MediaLive's
697// API operation DeleteInputSecurityGroup for usage and error information.
698//
699// Returned Error Codes:
700//   * ErrCodeBadRequestException "BadRequestException"
701//
702//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
703//
704//   * ErrCodeForbiddenException "ForbiddenException"
705//
706//   * ErrCodeBadGatewayException "BadGatewayException"
707//
708//   * ErrCodeNotFoundException "NotFoundException"
709//
710//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
711//
712//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
713//
714// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteInputSecurityGroup
715func (c *MediaLive) DeleteInputSecurityGroup(input *DeleteInputSecurityGroupInput) (*DeleteInputSecurityGroupOutput, error) {
716	req, out := c.DeleteInputSecurityGroupRequest(input)
717	return out, req.Send()
718}
719
720// DeleteInputSecurityGroupWithContext is the same as DeleteInputSecurityGroup with the addition of
721// the ability to pass a context and additional request options.
722//
723// See DeleteInputSecurityGroup 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) DeleteInputSecurityGroupWithContext(ctx aws.Context, input *DeleteInputSecurityGroupInput, opts ...request.Option) (*DeleteInputSecurityGroupOutput, error) {
730	req, out := c.DeleteInputSecurityGroupRequest(input)
731	req.SetContext(ctx)
732	req.ApplyOptions(opts...)
733	return out, req.Send()
734}
735
736const opDeleteReservation = "DeleteReservation"
737
738// DeleteReservationRequest generates a "aws/request.Request" representing the
739// client's request for the DeleteReservation 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 DeleteReservation for more information on using the DeleteReservation
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 DeleteReservationRequest method.
754//    req, resp := client.DeleteReservationRequest(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/DeleteReservation
762func (c *MediaLive) DeleteReservationRequest(input *DeleteReservationInput) (req *request.Request, output *DeleteReservationOutput) {
763	op := &request.Operation{
764		Name:       opDeleteReservation,
765		HTTPMethod: "DELETE",
766		HTTPPath:   "/prod/reservations/{reservationId}",
767	}
768
769	if input == nil {
770		input = &DeleteReservationInput{}
771	}
772
773	output = &DeleteReservationOutput{}
774	req = c.newRequest(op, input, output)
775	return
776}
777
778// DeleteReservation API operation for AWS Elemental MediaLive.
779//
780// Delete an expired reservation.
781//
782// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
783// with awserr.Error's Code and Message methods to get detailed information about
784// the error.
785//
786// See the AWS API reference guide for AWS Elemental MediaLive's
787// API operation DeleteReservation for usage and error information.
788//
789// Returned Error Codes:
790//   * ErrCodeBadRequestException "BadRequestException"
791//
792//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
793//
794//   * ErrCodeForbiddenException "ForbiddenException"
795//
796//   * ErrCodeBadGatewayException "BadGatewayException"
797//
798//   * ErrCodeNotFoundException "NotFoundException"
799//
800//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
801//
802//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
803//
804//   * ErrCodeConflictException "ConflictException"
805//
806// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteReservation
807func (c *MediaLive) DeleteReservation(input *DeleteReservationInput) (*DeleteReservationOutput, error) {
808	req, out := c.DeleteReservationRequest(input)
809	return out, req.Send()
810}
811
812// DeleteReservationWithContext is the same as DeleteReservation with the addition of
813// the ability to pass a context and additional request options.
814//
815// See DeleteReservation for details on how to use this API operation.
816//
817// The context must be non-nil and will be used for request cancellation. If
818// the context is nil a panic will occur. In the future the SDK may create
819// sub-contexts for http.Requests. See https://golang.org/pkg/context/
820// for more information on using Contexts.
821func (c *MediaLive) DeleteReservationWithContext(ctx aws.Context, input *DeleteReservationInput, opts ...request.Option) (*DeleteReservationOutput, error) {
822	req, out := c.DeleteReservationRequest(input)
823	req.SetContext(ctx)
824	req.ApplyOptions(opts...)
825	return out, req.Send()
826}
827
828const opDeleteSchedule = "DeleteSchedule"
829
830// DeleteScheduleRequest generates a "aws/request.Request" representing the
831// client's request for the DeleteSchedule operation. The "output" return
832// value will be populated with the request's response once the request completes
833// successfully.
834//
835// Use "Send" method on the returned Request to send the API call to the service.
836// the "output" return value is not valid until after Send returns without error.
837//
838// See DeleteSchedule for more information on using the DeleteSchedule
839// API call, and error handling.
840//
841// This method is useful when you want to inject custom logic or configuration
842// into the SDK's request lifecycle. Such as custom headers, or retry logic.
843//
844//
845//    // Example sending a request using the DeleteScheduleRequest method.
846//    req, resp := client.DeleteScheduleRequest(params)
847//
848//    err := req.Send()
849//    if err == nil { // resp is now filled
850//        fmt.Println(resp)
851//    }
852//
853// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteSchedule
854func (c *MediaLive) DeleteScheduleRequest(input *DeleteScheduleInput) (req *request.Request, output *DeleteScheduleOutput) {
855	op := &request.Operation{
856		Name:       opDeleteSchedule,
857		HTTPMethod: "DELETE",
858		HTTPPath:   "/prod/channels/{channelId}/schedule",
859	}
860
861	if input == nil {
862		input = &DeleteScheduleInput{}
863	}
864
865	output = &DeleteScheduleOutput{}
866	req = c.newRequest(op, input, output)
867	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
868	return
869}
870
871// DeleteSchedule API operation for AWS Elemental MediaLive.
872//
873// Delete all schedule actions on a channel.
874//
875// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
876// with awserr.Error's Code and Message methods to get detailed information about
877// the error.
878//
879// See the AWS API reference guide for AWS Elemental MediaLive's
880// API operation DeleteSchedule for usage and error information.
881//
882// Returned Error Codes:
883//   * ErrCodeBadRequestException "BadRequestException"
884//
885//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
886//
887//   * ErrCodeForbiddenException "ForbiddenException"
888//
889//   * ErrCodeBadGatewayException "BadGatewayException"
890//
891//   * ErrCodeNotFoundException "NotFoundException"
892//
893//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
894//
895//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
896//
897// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteSchedule
898func (c *MediaLive) DeleteSchedule(input *DeleteScheduleInput) (*DeleteScheduleOutput, error) {
899	req, out := c.DeleteScheduleRequest(input)
900	return out, req.Send()
901}
902
903// DeleteScheduleWithContext is the same as DeleteSchedule with the addition of
904// the ability to pass a context and additional request options.
905//
906// See DeleteSchedule for details on how to use this API operation.
907//
908// The context must be non-nil and will be used for request cancellation. If
909// the context is nil a panic will occur. In the future the SDK may create
910// sub-contexts for http.Requests. See https://golang.org/pkg/context/
911// for more information on using Contexts.
912func (c *MediaLive) DeleteScheduleWithContext(ctx aws.Context, input *DeleteScheduleInput, opts ...request.Option) (*DeleteScheduleOutput, error) {
913	req, out := c.DeleteScheduleRequest(input)
914	req.SetContext(ctx)
915	req.ApplyOptions(opts...)
916	return out, req.Send()
917}
918
919const opDeleteTags = "DeleteTags"
920
921// DeleteTagsRequest generates a "aws/request.Request" representing the
922// client's request for the DeleteTags operation. The "output" return
923// value will be populated with the request's response once the request completes
924// successfully.
925//
926// Use "Send" method on the returned Request to send the API call to the service.
927// the "output" return value is not valid until after Send returns without error.
928//
929// See DeleteTags for more information on using the DeleteTags
930// API call, and error handling.
931//
932// This method is useful when you want to inject custom logic or configuration
933// into the SDK's request lifecycle. Such as custom headers, or retry logic.
934//
935//
936//    // Example sending a request using the DeleteTagsRequest method.
937//    req, resp := client.DeleteTagsRequest(params)
938//
939//    err := req.Send()
940//    if err == nil { // resp is now filled
941//        fmt.Println(resp)
942//    }
943//
944// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteTags
945func (c *MediaLive) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
946	op := &request.Operation{
947		Name:       opDeleteTags,
948		HTTPMethod: "DELETE",
949		HTTPPath:   "/prod/tags/{resource-arn}",
950	}
951
952	if input == nil {
953		input = &DeleteTagsInput{}
954	}
955
956	output = &DeleteTagsOutput{}
957	req = c.newRequest(op, input, output)
958	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
959	return
960}
961
962// DeleteTags API operation for AWS Elemental MediaLive.
963//
964// Removes tags for a resource
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 DeleteTags for usage and error information.
972//
973// Returned Error Codes:
974//   * ErrCodeNotFoundException "NotFoundException"
975//
976//   * ErrCodeBadRequestException "BadRequestException"
977//
978//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
979//
980//   * ErrCodeForbiddenException "ForbiddenException"
981//
982// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteTags
983func (c *MediaLive) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
984	req, out := c.DeleteTagsRequest(input)
985	return out, req.Send()
986}
987
988// DeleteTagsWithContext is the same as DeleteTags with the addition of
989// the ability to pass a context and additional request options.
990//
991// See DeleteTags for details on how to use this API operation.
992//
993// The context must be non-nil and will be used for request cancellation. If
994// the context is nil a panic will occur. In the future the SDK may create
995// sub-contexts for http.Requests. See https://golang.org/pkg/context/
996// for more information on using Contexts.
997func (c *MediaLive) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) {
998	req, out := c.DeleteTagsRequest(input)
999	req.SetContext(ctx)
1000	req.ApplyOptions(opts...)
1001	return out, req.Send()
1002}
1003
1004const opDescribeChannel = "DescribeChannel"
1005
1006// DescribeChannelRequest generates a "aws/request.Request" representing the
1007// client's request for the DescribeChannel operation. The "output" return
1008// value will be populated with the request's response once the request completes
1009// successfully.
1010//
1011// Use "Send" method on the returned Request to send the API call to the service.
1012// the "output" return value is not valid until after Send returns without error.
1013//
1014// See DescribeChannel for more information on using the DescribeChannel
1015// API call, and error handling.
1016//
1017// This method is useful when you want to inject custom logic or configuration
1018// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1019//
1020//
1021//    // Example sending a request using the DescribeChannelRequest method.
1022//    req, resp := client.DescribeChannelRequest(params)
1023//
1024//    err := req.Send()
1025//    if err == nil { // resp is now filled
1026//        fmt.Println(resp)
1027//    }
1028//
1029// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeChannel
1030func (c *MediaLive) DescribeChannelRequest(input *DescribeChannelInput) (req *request.Request, output *DescribeChannelOutput) {
1031	op := &request.Operation{
1032		Name:       opDescribeChannel,
1033		HTTPMethod: "GET",
1034		HTTPPath:   "/prod/channels/{channelId}",
1035	}
1036
1037	if input == nil {
1038		input = &DescribeChannelInput{}
1039	}
1040
1041	output = &DescribeChannelOutput{}
1042	req = c.newRequest(op, input, output)
1043	return
1044}
1045
1046// DescribeChannel API operation for AWS Elemental MediaLive.
1047//
1048// Gets details about a channel
1049//
1050// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1051// with awserr.Error's Code and Message methods to get detailed information about
1052// the error.
1053//
1054// See the AWS API reference guide for AWS Elemental MediaLive's
1055// API operation DescribeChannel for usage and error information.
1056//
1057// Returned Error Codes:
1058//   * ErrCodeBadRequestException "BadRequestException"
1059//
1060//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1061//
1062//   * ErrCodeForbiddenException "ForbiddenException"
1063//
1064//   * ErrCodeBadGatewayException "BadGatewayException"
1065//
1066//   * ErrCodeNotFoundException "NotFoundException"
1067//
1068//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
1069//
1070//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1071//
1072// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeChannel
1073func (c *MediaLive) DescribeChannel(input *DescribeChannelInput) (*DescribeChannelOutput, error) {
1074	req, out := c.DescribeChannelRequest(input)
1075	return out, req.Send()
1076}
1077
1078// DescribeChannelWithContext is the same as DescribeChannel with the addition of
1079// the ability to pass a context and additional request options.
1080//
1081// See DescribeChannel for details on how to use this API operation.
1082//
1083// The context must be non-nil and will be used for request cancellation. If
1084// the context is nil a panic will occur. In the future the SDK may create
1085// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1086// for more information on using Contexts.
1087func (c *MediaLive) DescribeChannelWithContext(ctx aws.Context, input *DescribeChannelInput, opts ...request.Option) (*DescribeChannelOutput, error) {
1088	req, out := c.DescribeChannelRequest(input)
1089	req.SetContext(ctx)
1090	req.ApplyOptions(opts...)
1091	return out, req.Send()
1092}
1093
1094const opDescribeInput = "DescribeInput"
1095
1096// DescribeInputRequest generates a "aws/request.Request" representing the
1097// client's request for the DescribeInput operation. The "output" return
1098// value will be populated with the request's response once the request completes
1099// successfully.
1100//
1101// Use "Send" method on the returned Request to send the API call to the service.
1102// the "output" return value is not valid until after Send returns without error.
1103//
1104// See DescribeInput for more information on using the DescribeInput
1105// API call, and error handling.
1106//
1107// This method is useful when you want to inject custom logic or configuration
1108// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1109//
1110//
1111//    // Example sending a request using the DescribeInputRequest method.
1112//    req, resp := client.DescribeInputRequest(params)
1113//
1114//    err := req.Send()
1115//    if err == nil { // resp is now filled
1116//        fmt.Println(resp)
1117//    }
1118//
1119// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeInput
1120func (c *MediaLive) DescribeInputRequest(input *DescribeInputInput) (req *request.Request, output *DescribeInputOutput) {
1121	op := &request.Operation{
1122		Name:       opDescribeInput,
1123		HTTPMethod: "GET",
1124		HTTPPath:   "/prod/inputs/{inputId}",
1125	}
1126
1127	if input == nil {
1128		input = &DescribeInputInput{}
1129	}
1130
1131	output = &DescribeInputOutput{}
1132	req = c.newRequest(op, input, output)
1133	return
1134}
1135
1136// DescribeInput API operation for AWS Elemental MediaLive.
1137//
1138// Produces details about an input
1139//
1140// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1141// with awserr.Error's Code and Message methods to get detailed information about
1142// the error.
1143//
1144// See the AWS API reference guide for AWS Elemental MediaLive's
1145// API operation DescribeInput for usage and error information.
1146//
1147// Returned Error Codes:
1148//   * ErrCodeBadRequestException "BadRequestException"
1149//
1150//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1151//
1152//   * ErrCodeForbiddenException "ForbiddenException"
1153//
1154//   * ErrCodeBadGatewayException "BadGatewayException"
1155//
1156//   * ErrCodeNotFoundException "NotFoundException"
1157//
1158//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
1159//
1160//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1161//
1162// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeInput
1163func (c *MediaLive) DescribeInput(input *DescribeInputInput) (*DescribeInputOutput, error) {
1164	req, out := c.DescribeInputRequest(input)
1165	return out, req.Send()
1166}
1167
1168// DescribeInputWithContext is the same as DescribeInput with the addition of
1169// the ability to pass a context and additional request options.
1170//
1171// See DescribeInput for details on how to use this API operation.
1172//
1173// The context must be non-nil and will be used for request cancellation. If
1174// the context is nil a panic will occur. In the future the SDK may create
1175// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1176// for more information on using Contexts.
1177func (c *MediaLive) DescribeInputWithContext(ctx aws.Context, input *DescribeInputInput, opts ...request.Option) (*DescribeInputOutput, error) {
1178	req, out := c.DescribeInputRequest(input)
1179	req.SetContext(ctx)
1180	req.ApplyOptions(opts...)
1181	return out, req.Send()
1182}
1183
1184const opDescribeInputSecurityGroup = "DescribeInputSecurityGroup"
1185
1186// DescribeInputSecurityGroupRequest generates a "aws/request.Request" representing the
1187// client's request for the DescribeInputSecurityGroup operation. The "output" return
1188// value will be populated with the request's response once the request completes
1189// successfully.
1190//
1191// Use "Send" method on the returned Request to send the API call to the service.
1192// the "output" return value is not valid until after Send returns without error.
1193//
1194// See DescribeInputSecurityGroup for more information on using the DescribeInputSecurityGroup
1195// API call, and error handling.
1196//
1197// This method is useful when you want to inject custom logic or configuration
1198// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1199//
1200//
1201//    // Example sending a request using the DescribeInputSecurityGroupRequest method.
1202//    req, resp := client.DescribeInputSecurityGroupRequest(params)
1203//
1204//    err := req.Send()
1205//    if err == nil { // resp is now filled
1206//        fmt.Println(resp)
1207//    }
1208//
1209// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeInputSecurityGroup
1210func (c *MediaLive) DescribeInputSecurityGroupRequest(input *DescribeInputSecurityGroupInput) (req *request.Request, output *DescribeInputSecurityGroupOutput) {
1211	op := &request.Operation{
1212		Name:       opDescribeInputSecurityGroup,
1213		HTTPMethod: "GET",
1214		HTTPPath:   "/prod/inputSecurityGroups/{inputSecurityGroupId}",
1215	}
1216
1217	if input == nil {
1218		input = &DescribeInputSecurityGroupInput{}
1219	}
1220
1221	output = &DescribeInputSecurityGroupOutput{}
1222	req = c.newRequest(op, input, output)
1223	return
1224}
1225
1226// DescribeInputSecurityGroup API operation for AWS Elemental MediaLive.
1227//
1228// Produces a summary of an Input Security Group
1229//
1230// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1231// with awserr.Error's Code and Message methods to get detailed information about
1232// the error.
1233//
1234// See the AWS API reference guide for AWS Elemental MediaLive's
1235// API operation DescribeInputSecurityGroup for usage and error information.
1236//
1237// Returned Error Codes:
1238//   * ErrCodeBadRequestException "BadRequestException"
1239//
1240//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1241//
1242//   * ErrCodeForbiddenException "ForbiddenException"
1243//
1244//   * ErrCodeBadGatewayException "BadGatewayException"
1245//
1246//   * ErrCodeNotFoundException "NotFoundException"
1247//
1248//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
1249//
1250//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1251//
1252// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeInputSecurityGroup
1253func (c *MediaLive) DescribeInputSecurityGroup(input *DescribeInputSecurityGroupInput) (*DescribeInputSecurityGroupOutput, error) {
1254	req, out := c.DescribeInputSecurityGroupRequest(input)
1255	return out, req.Send()
1256}
1257
1258// DescribeInputSecurityGroupWithContext is the same as DescribeInputSecurityGroup with the addition of
1259// the ability to pass a context and additional request options.
1260//
1261// See DescribeInputSecurityGroup for details on how to use this API operation.
1262//
1263// The context must be non-nil and will be used for request cancellation. If
1264// the context is nil a panic will occur. In the future the SDK may create
1265// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1266// for more information on using Contexts.
1267func (c *MediaLive) DescribeInputSecurityGroupWithContext(ctx aws.Context, input *DescribeInputSecurityGroupInput, opts ...request.Option) (*DescribeInputSecurityGroupOutput, error) {
1268	req, out := c.DescribeInputSecurityGroupRequest(input)
1269	req.SetContext(ctx)
1270	req.ApplyOptions(opts...)
1271	return out, req.Send()
1272}
1273
1274const opDescribeOffering = "DescribeOffering"
1275
1276// DescribeOfferingRequest generates a "aws/request.Request" representing the
1277// client's request for the DescribeOffering operation. The "output" return
1278// value will be populated with the request's response once the request completes
1279// successfully.
1280//
1281// Use "Send" method on the returned Request to send the API call to the service.
1282// the "output" return value is not valid until after Send returns without error.
1283//
1284// See DescribeOffering for more information on using the DescribeOffering
1285// API call, and error handling.
1286//
1287// This method is useful when you want to inject custom logic or configuration
1288// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1289//
1290//
1291//    // Example sending a request using the DescribeOfferingRequest method.
1292//    req, resp := client.DescribeOfferingRequest(params)
1293//
1294//    err := req.Send()
1295//    if err == nil { // resp is now filled
1296//        fmt.Println(resp)
1297//    }
1298//
1299// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeOffering
1300func (c *MediaLive) DescribeOfferingRequest(input *DescribeOfferingInput) (req *request.Request, output *DescribeOfferingOutput) {
1301	op := &request.Operation{
1302		Name:       opDescribeOffering,
1303		HTTPMethod: "GET",
1304		HTTPPath:   "/prod/offerings/{offeringId}",
1305	}
1306
1307	if input == nil {
1308		input = &DescribeOfferingInput{}
1309	}
1310
1311	output = &DescribeOfferingOutput{}
1312	req = c.newRequest(op, input, output)
1313	return
1314}
1315
1316// DescribeOffering API operation for AWS Elemental MediaLive.
1317//
1318// Get details for an offering.
1319//
1320// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1321// with awserr.Error's Code and Message methods to get detailed information about
1322// the error.
1323//
1324// See the AWS API reference guide for AWS Elemental MediaLive's
1325// API operation DescribeOffering for usage and error information.
1326//
1327// Returned Error Codes:
1328//   * ErrCodeBadRequestException "BadRequestException"
1329//
1330//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1331//
1332//   * ErrCodeForbiddenException "ForbiddenException"
1333//
1334//   * ErrCodeBadGatewayException "BadGatewayException"
1335//
1336//   * ErrCodeNotFoundException "NotFoundException"
1337//
1338//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
1339//
1340//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1341//
1342// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeOffering
1343func (c *MediaLive) DescribeOffering(input *DescribeOfferingInput) (*DescribeOfferingOutput, error) {
1344	req, out := c.DescribeOfferingRequest(input)
1345	return out, req.Send()
1346}
1347
1348// DescribeOfferingWithContext is the same as DescribeOffering with the addition of
1349// the ability to pass a context and additional request options.
1350//
1351// See DescribeOffering for details on how to use this API operation.
1352//
1353// The context must be non-nil and will be used for request cancellation. If
1354// the context is nil a panic will occur. In the future the SDK may create
1355// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1356// for more information on using Contexts.
1357func (c *MediaLive) DescribeOfferingWithContext(ctx aws.Context, input *DescribeOfferingInput, opts ...request.Option) (*DescribeOfferingOutput, error) {
1358	req, out := c.DescribeOfferingRequest(input)
1359	req.SetContext(ctx)
1360	req.ApplyOptions(opts...)
1361	return out, req.Send()
1362}
1363
1364const opDescribeReservation = "DescribeReservation"
1365
1366// DescribeReservationRequest generates a "aws/request.Request" representing the
1367// client's request for the DescribeReservation operation. The "output" return
1368// value will be populated with the request's response once the request completes
1369// successfully.
1370//
1371// Use "Send" method on the returned Request to send the API call to the service.
1372// the "output" return value is not valid until after Send returns without error.
1373//
1374// See DescribeReservation for more information on using the DescribeReservation
1375// API call, and error handling.
1376//
1377// This method is useful when you want to inject custom logic or configuration
1378// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1379//
1380//
1381//    // Example sending a request using the DescribeReservationRequest method.
1382//    req, resp := client.DescribeReservationRequest(params)
1383//
1384//    err := req.Send()
1385//    if err == nil { // resp is now filled
1386//        fmt.Println(resp)
1387//    }
1388//
1389// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeReservation
1390func (c *MediaLive) DescribeReservationRequest(input *DescribeReservationInput) (req *request.Request, output *DescribeReservationOutput) {
1391	op := &request.Operation{
1392		Name:       opDescribeReservation,
1393		HTTPMethod: "GET",
1394		HTTPPath:   "/prod/reservations/{reservationId}",
1395	}
1396
1397	if input == nil {
1398		input = &DescribeReservationInput{}
1399	}
1400
1401	output = &DescribeReservationOutput{}
1402	req = c.newRequest(op, input, output)
1403	return
1404}
1405
1406// DescribeReservation API operation for AWS Elemental MediaLive.
1407//
1408// Get details for a reservation.
1409//
1410// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1411// with awserr.Error's Code and Message methods to get detailed information about
1412// the error.
1413//
1414// See the AWS API reference guide for AWS Elemental MediaLive's
1415// API operation DescribeReservation for usage and error information.
1416//
1417// Returned Error Codes:
1418//   * ErrCodeBadRequestException "BadRequestException"
1419//
1420//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1421//
1422//   * ErrCodeForbiddenException "ForbiddenException"
1423//
1424//   * ErrCodeBadGatewayException "BadGatewayException"
1425//
1426//   * ErrCodeNotFoundException "NotFoundException"
1427//
1428//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
1429//
1430//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1431//
1432// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeReservation
1433func (c *MediaLive) DescribeReservation(input *DescribeReservationInput) (*DescribeReservationOutput, error) {
1434	req, out := c.DescribeReservationRequest(input)
1435	return out, req.Send()
1436}
1437
1438// DescribeReservationWithContext is the same as DescribeReservation with the addition of
1439// the ability to pass a context and additional request options.
1440//
1441// See DescribeReservation for details on how to use this API operation.
1442//
1443// The context must be non-nil and will be used for request cancellation. If
1444// the context is nil a panic will occur. In the future the SDK may create
1445// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1446// for more information on using Contexts.
1447func (c *MediaLive) DescribeReservationWithContext(ctx aws.Context, input *DescribeReservationInput, opts ...request.Option) (*DescribeReservationOutput, error) {
1448	req, out := c.DescribeReservationRequest(input)
1449	req.SetContext(ctx)
1450	req.ApplyOptions(opts...)
1451	return out, req.Send()
1452}
1453
1454const opDescribeSchedule = "DescribeSchedule"
1455
1456// DescribeScheduleRequest generates a "aws/request.Request" representing the
1457// client's request for the DescribeSchedule operation. The "output" return
1458// value will be populated with the request's response once the request completes
1459// successfully.
1460//
1461// Use "Send" method on the returned Request to send the API call to the service.
1462// the "output" return value is not valid until after Send returns without error.
1463//
1464// See DescribeSchedule for more information on using the DescribeSchedule
1465// API call, and error handling.
1466//
1467// This method is useful when you want to inject custom logic or configuration
1468// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1469//
1470//
1471//    // Example sending a request using the DescribeScheduleRequest method.
1472//    req, resp := client.DescribeScheduleRequest(params)
1473//
1474//    err := req.Send()
1475//    if err == nil { // resp is now filled
1476//        fmt.Println(resp)
1477//    }
1478//
1479// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeSchedule
1480func (c *MediaLive) DescribeScheduleRequest(input *DescribeScheduleInput) (req *request.Request, output *DescribeScheduleOutput) {
1481	op := &request.Operation{
1482		Name:       opDescribeSchedule,
1483		HTTPMethod: "GET",
1484		HTTPPath:   "/prod/channels/{channelId}/schedule",
1485		Paginator: &request.Paginator{
1486			InputTokens:     []string{"NextToken"},
1487			OutputTokens:    []string{"NextToken"},
1488			LimitToken:      "MaxResults",
1489			TruncationToken: "",
1490		},
1491	}
1492
1493	if input == nil {
1494		input = &DescribeScheduleInput{}
1495	}
1496
1497	output = &DescribeScheduleOutput{}
1498	req = c.newRequest(op, input, output)
1499	return
1500}
1501
1502// DescribeSchedule API operation for AWS Elemental MediaLive.
1503//
1504// Get a channel schedule
1505//
1506// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1507// with awserr.Error's Code and Message methods to get detailed information about
1508// the error.
1509//
1510// See the AWS API reference guide for AWS Elemental MediaLive's
1511// API operation DescribeSchedule for usage and error information.
1512//
1513// Returned Error Codes:
1514//   * ErrCodeBadRequestException "BadRequestException"
1515//
1516//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1517//
1518//   * ErrCodeForbiddenException "ForbiddenException"
1519//
1520//   * ErrCodeBadGatewayException "BadGatewayException"
1521//
1522//   * ErrCodeNotFoundException "NotFoundException"
1523//
1524//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
1525//
1526//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1527//
1528// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeSchedule
1529func (c *MediaLive) DescribeSchedule(input *DescribeScheduleInput) (*DescribeScheduleOutput, error) {
1530	req, out := c.DescribeScheduleRequest(input)
1531	return out, req.Send()
1532}
1533
1534// DescribeScheduleWithContext is the same as DescribeSchedule with the addition of
1535// the ability to pass a context and additional request options.
1536//
1537// See DescribeSchedule for details on how to use this API operation.
1538//
1539// The context must be non-nil and will be used for request cancellation. If
1540// the context is nil a panic will occur. In the future the SDK may create
1541// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1542// for more information on using Contexts.
1543func (c *MediaLive) DescribeScheduleWithContext(ctx aws.Context, input *DescribeScheduleInput, opts ...request.Option) (*DescribeScheduleOutput, error) {
1544	req, out := c.DescribeScheduleRequest(input)
1545	req.SetContext(ctx)
1546	req.ApplyOptions(opts...)
1547	return out, req.Send()
1548}
1549
1550// DescribeSchedulePages iterates over the pages of a DescribeSchedule operation,
1551// calling the "fn" function with the response data for each page. To stop
1552// iterating, return false from the fn function.
1553//
1554// See DescribeSchedule method for more information on how to use this operation.
1555//
1556// Note: This operation can generate multiple requests to a service.
1557//
1558//    // Example iterating over at most 3 pages of a DescribeSchedule operation.
1559//    pageNum := 0
1560//    err := client.DescribeSchedulePages(params,
1561//        func(page *medialive.DescribeScheduleOutput, lastPage bool) bool {
1562//            pageNum++
1563//            fmt.Println(page)
1564//            return pageNum <= 3
1565//        })
1566//
1567func (c *MediaLive) DescribeSchedulePages(input *DescribeScheduleInput, fn func(*DescribeScheduleOutput, bool) bool) error {
1568	return c.DescribeSchedulePagesWithContext(aws.BackgroundContext(), input, fn)
1569}
1570
1571// DescribeSchedulePagesWithContext same as DescribeSchedulePages except
1572// it takes a Context and allows setting request options on the pages.
1573//
1574// The context must be non-nil and will be used for request cancellation. If
1575// the context is nil a panic will occur. In the future the SDK may create
1576// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1577// for more information on using Contexts.
1578func (c *MediaLive) DescribeSchedulePagesWithContext(ctx aws.Context, input *DescribeScheduleInput, fn func(*DescribeScheduleOutput, bool) bool, opts ...request.Option) error {
1579	p := request.Pagination{
1580		NewRequest: func() (*request.Request, error) {
1581			var inCpy *DescribeScheduleInput
1582			if input != nil {
1583				tmp := *input
1584				inCpy = &tmp
1585			}
1586			req, _ := c.DescribeScheduleRequest(inCpy)
1587			req.SetContext(ctx)
1588			req.ApplyOptions(opts...)
1589			return req, nil
1590		},
1591	}
1592
1593	cont := true
1594	for p.Next() && cont {
1595		cont = fn(p.Page().(*DescribeScheduleOutput), !p.HasNextPage())
1596	}
1597	return p.Err()
1598}
1599
1600const opListChannels = "ListChannels"
1601
1602// ListChannelsRequest generates a "aws/request.Request" representing the
1603// client's request for the ListChannels operation. The "output" return
1604// value will be populated with the request's response once the request completes
1605// successfully.
1606//
1607// Use "Send" method on the returned Request to send the API call to the service.
1608// the "output" return value is not valid until after Send returns without error.
1609//
1610// See ListChannels for more information on using the ListChannels
1611// API call, and error handling.
1612//
1613// This method is useful when you want to inject custom logic or configuration
1614// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1615//
1616//
1617//    // Example sending a request using the ListChannelsRequest method.
1618//    req, resp := client.ListChannelsRequest(params)
1619//
1620//    err := req.Send()
1621//    if err == nil { // resp is now filled
1622//        fmt.Println(resp)
1623//    }
1624//
1625// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListChannels
1626func (c *MediaLive) ListChannelsRequest(input *ListChannelsInput) (req *request.Request, output *ListChannelsOutput) {
1627	op := &request.Operation{
1628		Name:       opListChannels,
1629		HTTPMethod: "GET",
1630		HTTPPath:   "/prod/channels",
1631		Paginator: &request.Paginator{
1632			InputTokens:     []string{"NextToken"},
1633			OutputTokens:    []string{"NextToken"},
1634			LimitToken:      "MaxResults",
1635			TruncationToken: "",
1636		},
1637	}
1638
1639	if input == nil {
1640		input = &ListChannelsInput{}
1641	}
1642
1643	output = &ListChannelsOutput{}
1644	req = c.newRequest(op, input, output)
1645	return
1646}
1647
1648// ListChannels API operation for AWS Elemental MediaLive.
1649//
1650// Produces list of channels that have been created
1651//
1652// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1653// with awserr.Error's Code and Message methods to get detailed information about
1654// the error.
1655//
1656// See the AWS API reference guide for AWS Elemental MediaLive's
1657// API operation ListChannels for usage and error information.
1658//
1659// Returned Error Codes:
1660//   * ErrCodeBadRequestException "BadRequestException"
1661//
1662//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1663//
1664//   * ErrCodeForbiddenException "ForbiddenException"
1665//
1666//   * ErrCodeBadGatewayException "BadGatewayException"
1667//
1668//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
1669//
1670//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1671//
1672// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListChannels
1673func (c *MediaLive) ListChannels(input *ListChannelsInput) (*ListChannelsOutput, error) {
1674	req, out := c.ListChannelsRequest(input)
1675	return out, req.Send()
1676}
1677
1678// ListChannelsWithContext is the same as ListChannels with the addition of
1679// the ability to pass a context and additional request options.
1680//
1681// See ListChannels for details on how to use this API operation.
1682//
1683// The context must be non-nil and will be used for request cancellation. If
1684// the context is nil a panic will occur. In the future the SDK may create
1685// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1686// for more information on using Contexts.
1687func (c *MediaLive) ListChannelsWithContext(ctx aws.Context, input *ListChannelsInput, opts ...request.Option) (*ListChannelsOutput, error) {
1688	req, out := c.ListChannelsRequest(input)
1689	req.SetContext(ctx)
1690	req.ApplyOptions(opts...)
1691	return out, req.Send()
1692}
1693
1694// ListChannelsPages iterates over the pages of a ListChannels operation,
1695// calling the "fn" function with the response data for each page. To stop
1696// iterating, return false from the fn function.
1697//
1698// See ListChannels method for more information on how to use this operation.
1699//
1700// Note: This operation can generate multiple requests to a service.
1701//
1702//    // Example iterating over at most 3 pages of a ListChannels operation.
1703//    pageNum := 0
1704//    err := client.ListChannelsPages(params,
1705//        func(page *medialive.ListChannelsOutput, lastPage bool) bool {
1706//            pageNum++
1707//            fmt.Println(page)
1708//            return pageNum <= 3
1709//        })
1710//
1711func (c *MediaLive) ListChannelsPages(input *ListChannelsInput, fn func(*ListChannelsOutput, bool) bool) error {
1712	return c.ListChannelsPagesWithContext(aws.BackgroundContext(), input, fn)
1713}
1714
1715// ListChannelsPagesWithContext same as ListChannelsPages except
1716// it takes a Context and allows setting request options on the pages.
1717//
1718// The context must be non-nil and will be used for request cancellation. If
1719// the context is nil a panic will occur. In the future the SDK may create
1720// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1721// for more information on using Contexts.
1722func (c *MediaLive) ListChannelsPagesWithContext(ctx aws.Context, input *ListChannelsInput, fn func(*ListChannelsOutput, bool) bool, opts ...request.Option) error {
1723	p := request.Pagination{
1724		NewRequest: func() (*request.Request, error) {
1725			var inCpy *ListChannelsInput
1726			if input != nil {
1727				tmp := *input
1728				inCpy = &tmp
1729			}
1730			req, _ := c.ListChannelsRequest(inCpy)
1731			req.SetContext(ctx)
1732			req.ApplyOptions(opts...)
1733			return req, nil
1734		},
1735	}
1736
1737	cont := true
1738	for p.Next() && cont {
1739		cont = fn(p.Page().(*ListChannelsOutput), !p.HasNextPage())
1740	}
1741	return p.Err()
1742}
1743
1744const opListInputSecurityGroups = "ListInputSecurityGroups"
1745
1746// ListInputSecurityGroupsRequest generates a "aws/request.Request" representing the
1747// client's request for the ListInputSecurityGroups operation. The "output" return
1748// value will be populated with the request's response once the request completes
1749// successfully.
1750//
1751// Use "Send" method on the returned Request to send the API call to the service.
1752// the "output" return value is not valid until after Send returns without error.
1753//
1754// See ListInputSecurityGroups for more information on using the ListInputSecurityGroups
1755// API call, and error handling.
1756//
1757// This method is useful when you want to inject custom logic or configuration
1758// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1759//
1760//
1761//    // Example sending a request using the ListInputSecurityGroupsRequest method.
1762//    req, resp := client.ListInputSecurityGroupsRequest(params)
1763//
1764//    err := req.Send()
1765//    if err == nil { // resp is now filled
1766//        fmt.Println(resp)
1767//    }
1768//
1769// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListInputSecurityGroups
1770func (c *MediaLive) ListInputSecurityGroupsRequest(input *ListInputSecurityGroupsInput) (req *request.Request, output *ListInputSecurityGroupsOutput) {
1771	op := &request.Operation{
1772		Name:       opListInputSecurityGroups,
1773		HTTPMethod: "GET",
1774		HTTPPath:   "/prod/inputSecurityGroups",
1775		Paginator: &request.Paginator{
1776			InputTokens:     []string{"NextToken"},
1777			OutputTokens:    []string{"NextToken"},
1778			LimitToken:      "MaxResults",
1779			TruncationToken: "",
1780		},
1781	}
1782
1783	if input == nil {
1784		input = &ListInputSecurityGroupsInput{}
1785	}
1786
1787	output = &ListInputSecurityGroupsOutput{}
1788	req = c.newRequest(op, input, output)
1789	return
1790}
1791
1792// ListInputSecurityGroups API operation for AWS Elemental MediaLive.
1793//
1794// Produces a list of Input Security Groups for an account
1795//
1796// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1797// with awserr.Error's Code and Message methods to get detailed information about
1798// the error.
1799//
1800// See the AWS API reference guide for AWS Elemental MediaLive's
1801// API operation ListInputSecurityGroups for usage and error information.
1802//
1803// Returned Error Codes:
1804//   * ErrCodeBadRequestException "BadRequestException"
1805//
1806//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1807//
1808//   * ErrCodeForbiddenException "ForbiddenException"
1809//
1810//   * ErrCodeBadGatewayException "BadGatewayException"
1811//
1812//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
1813//
1814//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1815//
1816// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListInputSecurityGroups
1817func (c *MediaLive) ListInputSecurityGroups(input *ListInputSecurityGroupsInput) (*ListInputSecurityGroupsOutput, error) {
1818	req, out := c.ListInputSecurityGroupsRequest(input)
1819	return out, req.Send()
1820}
1821
1822// ListInputSecurityGroupsWithContext is the same as ListInputSecurityGroups with the addition of
1823// the ability to pass a context and additional request options.
1824//
1825// See ListInputSecurityGroups for details on how to use this API operation.
1826//
1827// The context must be non-nil and will be used for request cancellation. If
1828// the context is nil a panic will occur. In the future the SDK may create
1829// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1830// for more information on using Contexts.
1831func (c *MediaLive) ListInputSecurityGroupsWithContext(ctx aws.Context, input *ListInputSecurityGroupsInput, opts ...request.Option) (*ListInputSecurityGroupsOutput, error) {
1832	req, out := c.ListInputSecurityGroupsRequest(input)
1833	req.SetContext(ctx)
1834	req.ApplyOptions(opts...)
1835	return out, req.Send()
1836}
1837
1838// ListInputSecurityGroupsPages iterates over the pages of a ListInputSecurityGroups operation,
1839// calling the "fn" function with the response data for each page. To stop
1840// iterating, return false from the fn function.
1841//
1842// See ListInputSecurityGroups method for more information on how to use this operation.
1843//
1844// Note: This operation can generate multiple requests to a service.
1845//
1846//    // Example iterating over at most 3 pages of a ListInputSecurityGroups operation.
1847//    pageNum := 0
1848//    err := client.ListInputSecurityGroupsPages(params,
1849//        func(page *medialive.ListInputSecurityGroupsOutput, lastPage bool) bool {
1850//            pageNum++
1851//            fmt.Println(page)
1852//            return pageNum <= 3
1853//        })
1854//
1855func (c *MediaLive) ListInputSecurityGroupsPages(input *ListInputSecurityGroupsInput, fn func(*ListInputSecurityGroupsOutput, bool) bool) error {
1856	return c.ListInputSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
1857}
1858
1859// ListInputSecurityGroupsPagesWithContext same as ListInputSecurityGroupsPages except
1860// it takes a Context and allows setting request options on the pages.
1861//
1862// The context must be non-nil and will be used for request cancellation. If
1863// the context is nil a panic will occur. In the future the SDK may create
1864// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1865// for more information on using Contexts.
1866func (c *MediaLive) ListInputSecurityGroupsPagesWithContext(ctx aws.Context, input *ListInputSecurityGroupsInput, fn func(*ListInputSecurityGroupsOutput, bool) bool, opts ...request.Option) error {
1867	p := request.Pagination{
1868		NewRequest: func() (*request.Request, error) {
1869			var inCpy *ListInputSecurityGroupsInput
1870			if input != nil {
1871				tmp := *input
1872				inCpy = &tmp
1873			}
1874			req, _ := c.ListInputSecurityGroupsRequest(inCpy)
1875			req.SetContext(ctx)
1876			req.ApplyOptions(opts...)
1877			return req, nil
1878		},
1879	}
1880
1881	cont := true
1882	for p.Next() && cont {
1883		cont = fn(p.Page().(*ListInputSecurityGroupsOutput), !p.HasNextPage())
1884	}
1885	return p.Err()
1886}
1887
1888const opListInputs = "ListInputs"
1889
1890// ListInputsRequest generates a "aws/request.Request" representing the
1891// client's request for the ListInputs operation. The "output" return
1892// value will be populated with the request's response once the request completes
1893// successfully.
1894//
1895// Use "Send" method on the returned Request to send the API call to the service.
1896// the "output" return value is not valid until after Send returns without error.
1897//
1898// See ListInputs for more information on using the ListInputs
1899// API call, and error handling.
1900//
1901// This method is useful when you want to inject custom logic or configuration
1902// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1903//
1904//
1905//    // Example sending a request using the ListInputsRequest method.
1906//    req, resp := client.ListInputsRequest(params)
1907//
1908//    err := req.Send()
1909//    if err == nil { // resp is now filled
1910//        fmt.Println(resp)
1911//    }
1912//
1913// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListInputs
1914func (c *MediaLive) ListInputsRequest(input *ListInputsInput) (req *request.Request, output *ListInputsOutput) {
1915	op := &request.Operation{
1916		Name:       opListInputs,
1917		HTTPMethod: "GET",
1918		HTTPPath:   "/prod/inputs",
1919		Paginator: &request.Paginator{
1920			InputTokens:     []string{"NextToken"},
1921			OutputTokens:    []string{"NextToken"},
1922			LimitToken:      "MaxResults",
1923			TruncationToken: "",
1924		},
1925	}
1926
1927	if input == nil {
1928		input = &ListInputsInput{}
1929	}
1930
1931	output = &ListInputsOutput{}
1932	req = c.newRequest(op, input, output)
1933	return
1934}
1935
1936// ListInputs API operation for AWS Elemental MediaLive.
1937//
1938// Produces list of inputs that have been created
1939//
1940// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1941// with awserr.Error's Code and Message methods to get detailed information about
1942// the error.
1943//
1944// See the AWS API reference guide for AWS Elemental MediaLive's
1945// API operation ListInputs for usage and error information.
1946//
1947// Returned Error Codes:
1948//   * ErrCodeBadRequestException "BadRequestException"
1949//
1950//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1951//
1952//   * ErrCodeForbiddenException "ForbiddenException"
1953//
1954//   * ErrCodeBadGatewayException "BadGatewayException"
1955//
1956//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
1957//
1958//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1959//
1960// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListInputs
1961func (c *MediaLive) ListInputs(input *ListInputsInput) (*ListInputsOutput, error) {
1962	req, out := c.ListInputsRequest(input)
1963	return out, req.Send()
1964}
1965
1966// ListInputsWithContext is the same as ListInputs with the addition of
1967// the ability to pass a context and additional request options.
1968//
1969// See ListInputs for details on how to use this API operation.
1970//
1971// The context must be non-nil and will be used for request cancellation. If
1972// the context is nil a panic will occur. In the future the SDK may create
1973// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1974// for more information on using Contexts.
1975func (c *MediaLive) ListInputsWithContext(ctx aws.Context, input *ListInputsInput, opts ...request.Option) (*ListInputsOutput, error) {
1976	req, out := c.ListInputsRequest(input)
1977	req.SetContext(ctx)
1978	req.ApplyOptions(opts...)
1979	return out, req.Send()
1980}
1981
1982// ListInputsPages iterates over the pages of a ListInputs operation,
1983// calling the "fn" function with the response data for each page. To stop
1984// iterating, return false from the fn function.
1985//
1986// See ListInputs method for more information on how to use this operation.
1987//
1988// Note: This operation can generate multiple requests to a service.
1989//
1990//    // Example iterating over at most 3 pages of a ListInputs operation.
1991//    pageNum := 0
1992//    err := client.ListInputsPages(params,
1993//        func(page *medialive.ListInputsOutput, lastPage bool) bool {
1994//            pageNum++
1995//            fmt.Println(page)
1996//            return pageNum <= 3
1997//        })
1998//
1999func (c *MediaLive) ListInputsPages(input *ListInputsInput, fn func(*ListInputsOutput, bool) bool) error {
2000	return c.ListInputsPagesWithContext(aws.BackgroundContext(), input, fn)
2001}
2002
2003// ListInputsPagesWithContext same as ListInputsPages except
2004// it takes a Context and allows setting request options on the pages.
2005//
2006// The context must be non-nil and will be used for request cancellation. If
2007// the context is nil a panic will occur. In the future the SDK may create
2008// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2009// for more information on using Contexts.
2010func (c *MediaLive) ListInputsPagesWithContext(ctx aws.Context, input *ListInputsInput, fn func(*ListInputsOutput, bool) bool, opts ...request.Option) error {
2011	p := request.Pagination{
2012		NewRequest: func() (*request.Request, error) {
2013			var inCpy *ListInputsInput
2014			if input != nil {
2015				tmp := *input
2016				inCpy = &tmp
2017			}
2018			req, _ := c.ListInputsRequest(inCpy)
2019			req.SetContext(ctx)
2020			req.ApplyOptions(opts...)
2021			return req, nil
2022		},
2023	}
2024
2025	cont := true
2026	for p.Next() && cont {
2027		cont = fn(p.Page().(*ListInputsOutput), !p.HasNextPage())
2028	}
2029	return p.Err()
2030}
2031
2032const opListOfferings = "ListOfferings"
2033
2034// ListOfferingsRequest generates a "aws/request.Request" representing the
2035// client's request for the ListOfferings operation. The "output" return
2036// value will be populated with the request's response once the request completes
2037// successfully.
2038//
2039// Use "Send" method on the returned Request to send the API call to the service.
2040// the "output" return value is not valid until after Send returns without error.
2041//
2042// See ListOfferings for more information on using the ListOfferings
2043// API call, and error handling.
2044//
2045// This method is useful when you want to inject custom logic or configuration
2046// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2047//
2048//
2049//    // Example sending a request using the ListOfferingsRequest method.
2050//    req, resp := client.ListOfferingsRequest(params)
2051//
2052//    err := req.Send()
2053//    if err == nil { // resp is now filled
2054//        fmt.Println(resp)
2055//    }
2056//
2057// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListOfferings
2058func (c *MediaLive) ListOfferingsRequest(input *ListOfferingsInput) (req *request.Request, output *ListOfferingsOutput) {
2059	op := &request.Operation{
2060		Name:       opListOfferings,
2061		HTTPMethod: "GET",
2062		HTTPPath:   "/prod/offerings",
2063		Paginator: &request.Paginator{
2064			InputTokens:     []string{"NextToken"},
2065			OutputTokens:    []string{"NextToken"},
2066			LimitToken:      "MaxResults",
2067			TruncationToken: "",
2068		},
2069	}
2070
2071	if input == nil {
2072		input = &ListOfferingsInput{}
2073	}
2074
2075	output = &ListOfferingsOutput{}
2076	req = c.newRequest(op, input, output)
2077	return
2078}
2079
2080// ListOfferings API operation for AWS Elemental MediaLive.
2081//
2082// List offerings available for purchase.
2083//
2084// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2085// with awserr.Error's Code and Message methods to get detailed information about
2086// the error.
2087//
2088// See the AWS API reference guide for AWS Elemental MediaLive's
2089// API operation ListOfferings for usage and error information.
2090//
2091// Returned Error Codes:
2092//   * ErrCodeBadRequestException "BadRequestException"
2093//
2094//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2095//
2096//   * ErrCodeForbiddenException "ForbiddenException"
2097//
2098//   * ErrCodeBadGatewayException "BadGatewayException"
2099//
2100//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
2101//
2102//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2103//
2104// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListOfferings
2105func (c *MediaLive) ListOfferings(input *ListOfferingsInput) (*ListOfferingsOutput, error) {
2106	req, out := c.ListOfferingsRequest(input)
2107	return out, req.Send()
2108}
2109
2110// ListOfferingsWithContext is the same as ListOfferings with the addition of
2111// the ability to pass a context and additional request options.
2112//
2113// See ListOfferings for details on how to use this API operation.
2114//
2115// The context must be non-nil and will be used for request cancellation. If
2116// the context is nil a panic will occur. In the future the SDK may create
2117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2118// for more information on using Contexts.
2119func (c *MediaLive) ListOfferingsWithContext(ctx aws.Context, input *ListOfferingsInput, opts ...request.Option) (*ListOfferingsOutput, error) {
2120	req, out := c.ListOfferingsRequest(input)
2121	req.SetContext(ctx)
2122	req.ApplyOptions(opts...)
2123	return out, req.Send()
2124}
2125
2126// ListOfferingsPages iterates over the pages of a ListOfferings operation,
2127// calling the "fn" function with the response data for each page. To stop
2128// iterating, return false from the fn function.
2129//
2130// See ListOfferings method for more information on how to use this operation.
2131//
2132// Note: This operation can generate multiple requests to a service.
2133//
2134//    // Example iterating over at most 3 pages of a ListOfferings operation.
2135//    pageNum := 0
2136//    err := client.ListOfferingsPages(params,
2137//        func(page *medialive.ListOfferingsOutput, lastPage bool) bool {
2138//            pageNum++
2139//            fmt.Println(page)
2140//            return pageNum <= 3
2141//        })
2142//
2143func (c *MediaLive) ListOfferingsPages(input *ListOfferingsInput, fn func(*ListOfferingsOutput, bool) bool) error {
2144	return c.ListOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
2145}
2146
2147// ListOfferingsPagesWithContext same as ListOfferingsPages except
2148// it takes a Context and allows setting request options on the pages.
2149//
2150// The context must be non-nil and will be used for request cancellation. If
2151// the context is nil a panic will occur. In the future the SDK may create
2152// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2153// for more information on using Contexts.
2154func (c *MediaLive) ListOfferingsPagesWithContext(ctx aws.Context, input *ListOfferingsInput, fn func(*ListOfferingsOutput, bool) bool, opts ...request.Option) error {
2155	p := request.Pagination{
2156		NewRequest: func() (*request.Request, error) {
2157			var inCpy *ListOfferingsInput
2158			if input != nil {
2159				tmp := *input
2160				inCpy = &tmp
2161			}
2162			req, _ := c.ListOfferingsRequest(inCpy)
2163			req.SetContext(ctx)
2164			req.ApplyOptions(opts...)
2165			return req, nil
2166		},
2167	}
2168
2169	cont := true
2170	for p.Next() && cont {
2171		cont = fn(p.Page().(*ListOfferingsOutput), !p.HasNextPage())
2172	}
2173	return p.Err()
2174}
2175
2176const opListReservations = "ListReservations"
2177
2178// ListReservationsRequest generates a "aws/request.Request" representing the
2179// client's request for the ListReservations operation. The "output" return
2180// value will be populated with the request's response once the request completes
2181// successfully.
2182//
2183// Use "Send" method on the returned Request to send the API call to the service.
2184// the "output" return value is not valid until after Send returns without error.
2185//
2186// See ListReservations for more information on using the ListReservations
2187// API call, and error handling.
2188//
2189// This method is useful when you want to inject custom logic or configuration
2190// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2191//
2192//
2193//    // Example sending a request using the ListReservationsRequest method.
2194//    req, resp := client.ListReservationsRequest(params)
2195//
2196//    err := req.Send()
2197//    if err == nil { // resp is now filled
2198//        fmt.Println(resp)
2199//    }
2200//
2201// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListReservations
2202func (c *MediaLive) ListReservationsRequest(input *ListReservationsInput) (req *request.Request, output *ListReservationsOutput) {
2203	op := &request.Operation{
2204		Name:       opListReservations,
2205		HTTPMethod: "GET",
2206		HTTPPath:   "/prod/reservations",
2207		Paginator: &request.Paginator{
2208			InputTokens:     []string{"NextToken"},
2209			OutputTokens:    []string{"NextToken"},
2210			LimitToken:      "MaxResults",
2211			TruncationToken: "",
2212		},
2213	}
2214
2215	if input == nil {
2216		input = &ListReservationsInput{}
2217	}
2218
2219	output = &ListReservationsOutput{}
2220	req = c.newRequest(op, input, output)
2221	return
2222}
2223
2224// ListReservations API operation for AWS Elemental MediaLive.
2225//
2226// List purchased reservations.
2227//
2228// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2229// with awserr.Error's Code and Message methods to get detailed information about
2230// the error.
2231//
2232// See the AWS API reference guide for AWS Elemental MediaLive's
2233// API operation ListReservations for usage and error information.
2234//
2235// Returned Error Codes:
2236//   * ErrCodeBadRequestException "BadRequestException"
2237//
2238//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2239//
2240//   * ErrCodeForbiddenException "ForbiddenException"
2241//
2242//   * ErrCodeBadGatewayException "BadGatewayException"
2243//
2244//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
2245//
2246//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2247//
2248// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListReservations
2249func (c *MediaLive) ListReservations(input *ListReservationsInput) (*ListReservationsOutput, error) {
2250	req, out := c.ListReservationsRequest(input)
2251	return out, req.Send()
2252}
2253
2254// ListReservationsWithContext is the same as ListReservations with the addition of
2255// the ability to pass a context and additional request options.
2256//
2257// See ListReservations for details on how to use this API operation.
2258//
2259// The context must be non-nil and will be used for request cancellation. If
2260// the context is nil a panic will occur. In the future the SDK may create
2261// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2262// for more information on using Contexts.
2263func (c *MediaLive) ListReservationsWithContext(ctx aws.Context, input *ListReservationsInput, opts ...request.Option) (*ListReservationsOutput, error) {
2264	req, out := c.ListReservationsRequest(input)
2265	req.SetContext(ctx)
2266	req.ApplyOptions(opts...)
2267	return out, req.Send()
2268}
2269
2270// ListReservationsPages iterates over the pages of a ListReservations operation,
2271// calling the "fn" function with the response data for each page. To stop
2272// iterating, return false from the fn function.
2273//
2274// See ListReservations method for more information on how to use this operation.
2275//
2276// Note: This operation can generate multiple requests to a service.
2277//
2278//    // Example iterating over at most 3 pages of a ListReservations operation.
2279//    pageNum := 0
2280//    err := client.ListReservationsPages(params,
2281//        func(page *medialive.ListReservationsOutput, lastPage bool) bool {
2282//            pageNum++
2283//            fmt.Println(page)
2284//            return pageNum <= 3
2285//        })
2286//
2287func (c *MediaLive) ListReservationsPages(input *ListReservationsInput, fn func(*ListReservationsOutput, bool) bool) error {
2288	return c.ListReservationsPagesWithContext(aws.BackgroundContext(), input, fn)
2289}
2290
2291// ListReservationsPagesWithContext same as ListReservationsPages except
2292// it takes a Context and allows setting request options on the pages.
2293//
2294// The context must be non-nil and will be used for request cancellation. If
2295// the context is nil a panic will occur. In the future the SDK may create
2296// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2297// for more information on using Contexts.
2298func (c *MediaLive) ListReservationsPagesWithContext(ctx aws.Context, input *ListReservationsInput, fn func(*ListReservationsOutput, bool) bool, opts ...request.Option) error {
2299	p := request.Pagination{
2300		NewRequest: func() (*request.Request, error) {
2301			var inCpy *ListReservationsInput
2302			if input != nil {
2303				tmp := *input
2304				inCpy = &tmp
2305			}
2306			req, _ := c.ListReservationsRequest(inCpy)
2307			req.SetContext(ctx)
2308			req.ApplyOptions(opts...)
2309			return req, nil
2310		},
2311	}
2312
2313	cont := true
2314	for p.Next() && cont {
2315		cont = fn(p.Page().(*ListReservationsOutput), !p.HasNextPage())
2316	}
2317	return p.Err()
2318}
2319
2320const opListTagsForResource = "ListTagsForResource"
2321
2322// ListTagsForResourceRequest generates a "aws/request.Request" representing the
2323// client's request for the ListTagsForResource operation. The "output" return
2324// value will be populated with the request's response once the request completes
2325// successfully.
2326//
2327// Use "Send" method on the returned Request to send the API call to the service.
2328// the "output" return value is not valid until after Send returns without error.
2329//
2330// See ListTagsForResource for more information on using the ListTagsForResource
2331// API call, and error handling.
2332//
2333// This method is useful when you want to inject custom logic or configuration
2334// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2335//
2336//
2337//    // Example sending a request using the ListTagsForResourceRequest method.
2338//    req, resp := client.ListTagsForResourceRequest(params)
2339//
2340//    err := req.Send()
2341//    if err == nil { // resp is now filled
2342//        fmt.Println(resp)
2343//    }
2344//
2345// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListTagsForResource
2346func (c *MediaLive) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
2347	op := &request.Operation{
2348		Name:       opListTagsForResource,
2349		HTTPMethod: "GET",
2350		HTTPPath:   "/prod/tags/{resource-arn}",
2351	}
2352
2353	if input == nil {
2354		input = &ListTagsForResourceInput{}
2355	}
2356
2357	output = &ListTagsForResourceOutput{}
2358	req = c.newRequest(op, input, output)
2359	return
2360}
2361
2362// ListTagsForResource API operation for AWS Elemental MediaLive.
2363//
2364// Produces list of tags that have been created for a resource
2365//
2366// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2367// with awserr.Error's Code and Message methods to get detailed information about
2368// the error.
2369//
2370// See the AWS API reference guide for AWS Elemental MediaLive's
2371// API operation ListTagsForResource for usage and error information.
2372//
2373// Returned Error Codes:
2374//   * ErrCodeNotFoundException "NotFoundException"
2375//
2376//   * ErrCodeBadRequestException "BadRequestException"
2377//
2378//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2379//
2380//   * ErrCodeForbiddenException "ForbiddenException"
2381//
2382// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListTagsForResource
2383func (c *MediaLive) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
2384	req, out := c.ListTagsForResourceRequest(input)
2385	return out, req.Send()
2386}
2387
2388// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
2389// the ability to pass a context and additional request options.
2390//
2391// See ListTagsForResource for details on how to use this API operation.
2392//
2393// The context must be non-nil and will be used for request cancellation. If
2394// the context is nil a panic will occur. In the future the SDK may create
2395// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2396// for more information on using Contexts.
2397func (c *MediaLive) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
2398	req, out := c.ListTagsForResourceRequest(input)
2399	req.SetContext(ctx)
2400	req.ApplyOptions(opts...)
2401	return out, req.Send()
2402}
2403
2404const opPurchaseOffering = "PurchaseOffering"
2405
2406// PurchaseOfferingRequest generates a "aws/request.Request" representing the
2407// client's request for the PurchaseOffering operation. The "output" return
2408// value will be populated with the request's response once the request completes
2409// successfully.
2410//
2411// Use "Send" method on the returned Request to send the API call to the service.
2412// the "output" return value is not valid until after Send returns without error.
2413//
2414// See PurchaseOffering for more information on using the PurchaseOffering
2415// API call, and error handling.
2416//
2417// This method is useful when you want to inject custom logic or configuration
2418// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2419//
2420//
2421//    // Example sending a request using the PurchaseOfferingRequest method.
2422//    req, resp := client.PurchaseOfferingRequest(params)
2423//
2424//    err := req.Send()
2425//    if err == nil { // resp is now filled
2426//        fmt.Println(resp)
2427//    }
2428//
2429// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/PurchaseOffering
2430func (c *MediaLive) PurchaseOfferingRequest(input *PurchaseOfferingInput) (req *request.Request, output *PurchaseOfferingOutput) {
2431	op := &request.Operation{
2432		Name:       opPurchaseOffering,
2433		HTTPMethod: "POST",
2434		HTTPPath:   "/prod/offerings/{offeringId}/purchase",
2435	}
2436
2437	if input == nil {
2438		input = &PurchaseOfferingInput{}
2439	}
2440
2441	output = &PurchaseOfferingOutput{}
2442	req = c.newRequest(op, input, output)
2443	return
2444}
2445
2446// PurchaseOffering API operation for AWS Elemental MediaLive.
2447//
2448// Purchase an offering and create a reservation.
2449//
2450// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2451// with awserr.Error's Code and Message methods to get detailed information about
2452// the error.
2453//
2454// See the AWS API reference guide for AWS Elemental MediaLive's
2455// API operation PurchaseOffering for usage and error information.
2456//
2457// Returned Error Codes:
2458//   * ErrCodeBadRequestException "BadRequestException"
2459//
2460//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2461//
2462//   * ErrCodeForbiddenException "ForbiddenException"
2463//
2464//   * ErrCodeBadGatewayException "BadGatewayException"
2465//
2466//   * ErrCodeNotFoundException "NotFoundException"
2467//
2468//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
2469//
2470//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2471//
2472//   * ErrCodeConflictException "ConflictException"
2473//
2474// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/PurchaseOffering
2475func (c *MediaLive) PurchaseOffering(input *PurchaseOfferingInput) (*PurchaseOfferingOutput, error) {
2476	req, out := c.PurchaseOfferingRequest(input)
2477	return out, req.Send()
2478}
2479
2480// PurchaseOfferingWithContext is the same as PurchaseOffering with the addition of
2481// the ability to pass a context and additional request options.
2482//
2483// See PurchaseOffering for details on how to use this API operation.
2484//
2485// The context must be non-nil and will be used for request cancellation. If
2486// the context is nil a panic will occur. In the future the SDK may create
2487// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2488// for more information on using Contexts.
2489func (c *MediaLive) PurchaseOfferingWithContext(ctx aws.Context, input *PurchaseOfferingInput, opts ...request.Option) (*PurchaseOfferingOutput, error) {
2490	req, out := c.PurchaseOfferingRequest(input)
2491	req.SetContext(ctx)
2492	req.ApplyOptions(opts...)
2493	return out, req.Send()
2494}
2495
2496const opStartChannel = "StartChannel"
2497
2498// StartChannelRequest generates a "aws/request.Request" representing the
2499// client's request for the StartChannel operation. The "output" return
2500// value will be populated with the request's response once the request completes
2501// successfully.
2502//
2503// Use "Send" method on the returned Request to send the API call to the service.
2504// the "output" return value is not valid until after Send returns without error.
2505//
2506// See StartChannel for more information on using the StartChannel
2507// API call, and error handling.
2508//
2509// This method is useful when you want to inject custom logic or configuration
2510// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2511//
2512//
2513//    // Example sending a request using the StartChannelRequest method.
2514//    req, resp := client.StartChannelRequest(params)
2515//
2516//    err := req.Send()
2517//    if err == nil { // resp is now filled
2518//        fmt.Println(resp)
2519//    }
2520//
2521// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StartChannel
2522func (c *MediaLive) StartChannelRequest(input *StartChannelInput) (req *request.Request, output *StartChannelOutput) {
2523	op := &request.Operation{
2524		Name:       opStartChannel,
2525		HTTPMethod: "POST",
2526		HTTPPath:   "/prod/channels/{channelId}/start",
2527	}
2528
2529	if input == nil {
2530		input = &StartChannelInput{}
2531	}
2532
2533	output = &StartChannelOutput{}
2534	req = c.newRequest(op, input, output)
2535	return
2536}
2537
2538// StartChannel API operation for AWS Elemental MediaLive.
2539//
2540// Starts an existing channel
2541//
2542// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2543// with awserr.Error's Code and Message methods to get detailed information about
2544// the error.
2545//
2546// See the AWS API reference guide for AWS Elemental MediaLive's
2547// API operation StartChannel for usage and error information.
2548//
2549// Returned Error Codes:
2550//   * ErrCodeBadRequestException "BadRequestException"
2551//
2552//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2553//
2554//   * ErrCodeForbiddenException "ForbiddenException"
2555//
2556//   * ErrCodeBadGatewayException "BadGatewayException"
2557//
2558//   * ErrCodeNotFoundException "NotFoundException"
2559//
2560//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
2561//
2562//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2563//
2564//   * ErrCodeConflictException "ConflictException"
2565//
2566// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StartChannel
2567func (c *MediaLive) StartChannel(input *StartChannelInput) (*StartChannelOutput, error) {
2568	req, out := c.StartChannelRequest(input)
2569	return out, req.Send()
2570}
2571
2572// StartChannelWithContext is the same as StartChannel with the addition of
2573// the ability to pass a context and additional request options.
2574//
2575// See StartChannel for details on how to use this API operation.
2576//
2577// The context must be non-nil and will be used for request cancellation. If
2578// the context is nil a panic will occur. In the future the SDK may create
2579// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2580// for more information on using Contexts.
2581func (c *MediaLive) StartChannelWithContext(ctx aws.Context, input *StartChannelInput, opts ...request.Option) (*StartChannelOutput, error) {
2582	req, out := c.StartChannelRequest(input)
2583	req.SetContext(ctx)
2584	req.ApplyOptions(opts...)
2585	return out, req.Send()
2586}
2587
2588const opStopChannel = "StopChannel"
2589
2590// StopChannelRequest generates a "aws/request.Request" representing the
2591// client's request for the StopChannel 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 StopChannel for more information on using the StopChannel
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 StopChannelRequest method.
2606//    req, resp := client.StopChannelRequest(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/StopChannel
2614func (c *MediaLive) StopChannelRequest(input *StopChannelInput) (req *request.Request, output *StopChannelOutput) {
2615	op := &request.Operation{
2616		Name:       opStopChannel,
2617		HTTPMethod: "POST",
2618		HTTPPath:   "/prod/channels/{channelId}/stop",
2619	}
2620
2621	if input == nil {
2622		input = &StopChannelInput{}
2623	}
2624
2625	output = &StopChannelOutput{}
2626	req = c.newRequest(op, input, output)
2627	return
2628}
2629
2630// StopChannel API operation for AWS Elemental MediaLive.
2631//
2632// Stops a running channel
2633//
2634// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2635// with awserr.Error's Code and Message methods to get detailed information about
2636// the error.
2637//
2638// See the AWS API reference guide for AWS Elemental MediaLive's
2639// API operation StopChannel for usage and error information.
2640//
2641// Returned Error Codes:
2642//   * ErrCodeBadRequestException "BadRequestException"
2643//
2644//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2645//
2646//   * ErrCodeForbiddenException "ForbiddenException"
2647//
2648//   * ErrCodeBadGatewayException "BadGatewayException"
2649//
2650//   * ErrCodeNotFoundException "NotFoundException"
2651//
2652//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
2653//
2654//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2655//
2656//   * ErrCodeConflictException "ConflictException"
2657//
2658// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StopChannel
2659func (c *MediaLive) StopChannel(input *StopChannelInput) (*StopChannelOutput, error) {
2660	req, out := c.StopChannelRequest(input)
2661	return out, req.Send()
2662}
2663
2664// StopChannelWithContext is the same as StopChannel with the addition of
2665// the ability to pass a context and additional request options.
2666//
2667// See StopChannel for details on how to use this API operation.
2668//
2669// The context must be non-nil and will be used for request cancellation. If
2670// the context is nil a panic will occur. In the future the SDK may create
2671// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2672// for more information on using Contexts.
2673func (c *MediaLive) StopChannelWithContext(ctx aws.Context, input *StopChannelInput, opts ...request.Option) (*StopChannelOutput, error) {
2674	req, out := c.StopChannelRequest(input)
2675	req.SetContext(ctx)
2676	req.ApplyOptions(opts...)
2677	return out, req.Send()
2678}
2679
2680const opUpdateChannel = "UpdateChannel"
2681
2682// UpdateChannelRequest generates a "aws/request.Request" representing the
2683// client's request for the UpdateChannel operation. The "output" return
2684// value will be populated with the request's response once the request completes
2685// successfully.
2686//
2687// Use "Send" method on the returned Request to send the API call to the service.
2688// the "output" return value is not valid until after Send returns without error.
2689//
2690// See UpdateChannel for more information on using the UpdateChannel
2691// API call, and error handling.
2692//
2693// This method is useful when you want to inject custom logic or configuration
2694// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2695//
2696//
2697//    // Example sending a request using the UpdateChannelRequest method.
2698//    req, resp := client.UpdateChannelRequest(params)
2699//
2700//    err := req.Send()
2701//    if err == nil { // resp is now filled
2702//        fmt.Println(resp)
2703//    }
2704//
2705// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannel
2706func (c *MediaLive) UpdateChannelRequest(input *UpdateChannelInput) (req *request.Request, output *UpdateChannelOutput) {
2707	op := &request.Operation{
2708		Name:       opUpdateChannel,
2709		HTTPMethod: "PUT",
2710		HTTPPath:   "/prod/channels/{channelId}",
2711	}
2712
2713	if input == nil {
2714		input = &UpdateChannelInput{}
2715	}
2716
2717	output = &UpdateChannelOutput{}
2718	req = c.newRequest(op, input, output)
2719	return
2720}
2721
2722// UpdateChannel API operation for AWS Elemental MediaLive.
2723//
2724// Updates a channel.
2725//
2726// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2727// with awserr.Error's Code and Message methods to get detailed information about
2728// the error.
2729//
2730// See the AWS API reference guide for AWS Elemental MediaLive's
2731// API operation UpdateChannel for usage and error information.
2732//
2733// Returned Error Codes:
2734//   * ErrCodeBadRequestException "BadRequestException"
2735//
2736//   * ErrCodeUnprocessableEntityException "UnprocessableEntityException"
2737//
2738//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2739//
2740//   * ErrCodeForbiddenException "ForbiddenException"
2741//
2742//   * ErrCodeBadGatewayException "BadGatewayException"
2743//
2744//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
2745//
2746//   * ErrCodeConflictException "ConflictException"
2747//
2748// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannel
2749func (c *MediaLive) UpdateChannel(input *UpdateChannelInput) (*UpdateChannelOutput, error) {
2750	req, out := c.UpdateChannelRequest(input)
2751	return out, req.Send()
2752}
2753
2754// UpdateChannelWithContext is the same as UpdateChannel with the addition of
2755// the ability to pass a context and additional request options.
2756//
2757// See UpdateChannel for details on how to use this API operation.
2758//
2759// The context must be non-nil and will be used for request cancellation. If
2760// the context is nil a panic will occur. In the future the SDK may create
2761// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2762// for more information on using Contexts.
2763func (c *MediaLive) UpdateChannelWithContext(ctx aws.Context, input *UpdateChannelInput, opts ...request.Option) (*UpdateChannelOutput, error) {
2764	req, out := c.UpdateChannelRequest(input)
2765	req.SetContext(ctx)
2766	req.ApplyOptions(opts...)
2767	return out, req.Send()
2768}
2769
2770const opUpdateChannelClass = "UpdateChannelClass"
2771
2772// UpdateChannelClassRequest generates a "aws/request.Request" representing the
2773// client's request for the UpdateChannelClass operation. The "output" return
2774// value will be populated with the request's response once the request completes
2775// successfully.
2776//
2777// Use "Send" method on the returned Request to send the API call to the service.
2778// the "output" return value is not valid until after Send returns without error.
2779//
2780// See UpdateChannelClass for more information on using the UpdateChannelClass
2781// API call, and error handling.
2782//
2783// This method is useful when you want to inject custom logic or configuration
2784// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2785//
2786//
2787//    // Example sending a request using the UpdateChannelClassRequest method.
2788//    req, resp := client.UpdateChannelClassRequest(params)
2789//
2790//    err := req.Send()
2791//    if err == nil { // resp is now filled
2792//        fmt.Println(resp)
2793//    }
2794//
2795// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannelClass
2796func (c *MediaLive) UpdateChannelClassRequest(input *UpdateChannelClassInput) (req *request.Request, output *UpdateChannelClassOutput) {
2797	op := &request.Operation{
2798		Name:       opUpdateChannelClass,
2799		HTTPMethod: "PUT",
2800		HTTPPath:   "/prod/channels/{channelId}/channelClass",
2801	}
2802
2803	if input == nil {
2804		input = &UpdateChannelClassInput{}
2805	}
2806
2807	output = &UpdateChannelClassOutput{}
2808	req = c.newRequest(op, input, output)
2809	return
2810}
2811
2812// UpdateChannelClass API operation for AWS Elemental MediaLive.
2813//
2814// Changes the class of the channel.
2815//
2816// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2817// with awserr.Error's Code and Message methods to get detailed information about
2818// the error.
2819//
2820// See the AWS API reference guide for AWS Elemental MediaLive's
2821// API operation UpdateChannelClass for usage and error information.
2822//
2823// Returned Error Codes:
2824//   * ErrCodeBadRequestException "BadRequestException"
2825//
2826//   * ErrCodeUnprocessableEntityException "UnprocessableEntityException"
2827//
2828//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2829//
2830//   * ErrCodeForbiddenException "ForbiddenException"
2831//
2832//   * ErrCodeBadGatewayException "BadGatewayException"
2833//
2834//   * ErrCodeNotFoundException "NotFoundException"
2835//
2836//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
2837//
2838//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2839//
2840//   * ErrCodeConflictException "ConflictException"
2841//
2842// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannelClass
2843func (c *MediaLive) UpdateChannelClass(input *UpdateChannelClassInput) (*UpdateChannelClassOutput, error) {
2844	req, out := c.UpdateChannelClassRequest(input)
2845	return out, req.Send()
2846}
2847
2848// UpdateChannelClassWithContext is the same as UpdateChannelClass with the addition of
2849// the ability to pass a context and additional request options.
2850//
2851// See UpdateChannelClass for details on how to use this API operation.
2852//
2853// The context must be non-nil and will be used for request cancellation. If
2854// the context is nil a panic will occur. In the future the SDK may create
2855// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2856// for more information on using Contexts.
2857func (c *MediaLive) UpdateChannelClassWithContext(ctx aws.Context, input *UpdateChannelClassInput, opts ...request.Option) (*UpdateChannelClassOutput, error) {
2858	req, out := c.UpdateChannelClassRequest(input)
2859	req.SetContext(ctx)
2860	req.ApplyOptions(opts...)
2861	return out, req.Send()
2862}
2863
2864const opUpdateInput = "UpdateInput"
2865
2866// UpdateInputRequest generates a "aws/request.Request" representing the
2867// client's request for the UpdateInput operation. The "output" return
2868// value will be populated with the request's response once the request completes
2869// successfully.
2870//
2871// Use "Send" method on the returned Request to send the API call to the service.
2872// the "output" return value is not valid until after Send returns without error.
2873//
2874// See UpdateInput for more information on using the UpdateInput
2875// API call, and error handling.
2876//
2877// This method is useful when you want to inject custom logic or configuration
2878// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2879//
2880//
2881//    // Example sending a request using the UpdateInputRequest method.
2882//    req, resp := client.UpdateInputRequest(params)
2883//
2884//    err := req.Send()
2885//    if err == nil { // resp is now filled
2886//        fmt.Println(resp)
2887//    }
2888//
2889// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInput
2890func (c *MediaLive) UpdateInputRequest(input *UpdateInputInput) (req *request.Request, output *UpdateInputOutput) {
2891	op := &request.Operation{
2892		Name:       opUpdateInput,
2893		HTTPMethod: "PUT",
2894		HTTPPath:   "/prod/inputs/{inputId}",
2895	}
2896
2897	if input == nil {
2898		input = &UpdateInputInput{}
2899	}
2900
2901	output = &UpdateInputOutput{}
2902	req = c.newRequest(op, input, output)
2903	return
2904}
2905
2906// UpdateInput API operation for AWS Elemental MediaLive.
2907//
2908// Updates an input.
2909//
2910// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2911// with awserr.Error's Code and Message methods to get detailed information about
2912// the error.
2913//
2914// See the AWS API reference guide for AWS Elemental MediaLive's
2915// API operation UpdateInput for usage and error information.
2916//
2917// Returned Error Codes:
2918//   * ErrCodeBadRequestException "BadRequestException"
2919//
2920//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2921//
2922//   * ErrCodeForbiddenException "ForbiddenException"
2923//
2924//   * ErrCodeBadGatewayException "BadGatewayException"
2925//
2926//   * ErrCodeNotFoundException "NotFoundException"
2927//
2928//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
2929//
2930//   * ErrCodeConflictException "ConflictException"
2931//
2932// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInput
2933func (c *MediaLive) UpdateInput(input *UpdateInputInput) (*UpdateInputOutput, error) {
2934	req, out := c.UpdateInputRequest(input)
2935	return out, req.Send()
2936}
2937
2938// UpdateInputWithContext is the same as UpdateInput with the addition of
2939// the ability to pass a context and additional request options.
2940//
2941// See UpdateInput for details on how to use this API operation.
2942//
2943// The context must be non-nil and will be used for request cancellation. If
2944// the context is nil a panic will occur. In the future the SDK may create
2945// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2946// for more information on using Contexts.
2947func (c *MediaLive) UpdateInputWithContext(ctx aws.Context, input *UpdateInputInput, opts ...request.Option) (*UpdateInputOutput, error) {
2948	req, out := c.UpdateInputRequest(input)
2949	req.SetContext(ctx)
2950	req.ApplyOptions(opts...)
2951	return out, req.Send()
2952}
2953
2954const opUpdateInputSecurityGroup = "UpdateInputSecurityGroup"
2955
2956// UpdateInputSecurityGroupRequest generates a "aws/request.Request" representing the
2957// client's request for the UpdateInputSecurityGroup operation. The "output" return
2958// value will be populated with the request's response once the request completes
2959// successfully.
2960//
2961// Use "Send" method on the returned Request to send the API call to the service.
2962// the "output" return value is not valid until after Send returns without error.
2963//
2964// See UpdateInputSecurityGroup for more information on using the UpdateInputSecurityGroup
2965// API call, and error handling.
2966//
2967// This method is useful when you want to inject custom logic or configuration
2968// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2969//
2970//
2971//    // Example sending a request using the UpdateInputSecurityGroupRequest method.
2972//    req, resp := client.UpdateInputSecurityGroupRequest(params)
2973//
2974//    err := req.Send()
2975//    if err == nil { // resp is now filled
2976//        fmt.Println(resp)
2977//    }
2978//
2979// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInputSecurityGroup
2980func (c *MediaLive) UpdateInputSecurityGroupRequest(input *UpdateInputSecurityGroupInput) (req *request.Request, output *UpdateInputSecurityGroupOutput) {
2981	op := &request.Operation{
2982		Name:       opUpdateInputSecurityGroup,
2983		HTTPMethod: "PUT",
2984		HTTPPath:   "/prod/inputSecurityGroups/{inputSecurityGroupId}",
2985	}
2986
2987	if input == nil {
2988		input = &UpdateInputSecurityGroupInput{}
2989	}
2990
2991	output = &UpdateInputSecurityGroupOutput{}
2992	req = c.newRequest(op, input, output)
2993	return
2994}
2995
2996// UpdateInputSecurityGroup API operation for AWS Elemental MediaLive.
2997//
2998// Update an Input Security Group's Whilelists.
2999//
3000// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3001// with awserr.Error's Code and Message methods to get detailed information about
3002// the error.
3003//
3004// See the AWS API reference guide for AWS Elemental MediaLive's
3005// API operation UpdateInputSecurityGroup for usage and error information.
3006//
3007// Returned Error Codes:
3008//   * ErrCodeBadRequestException "BadRequestException"
3009//
3010//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3011//
3012//   * ErrCodeForbiddenException "ForbiddenException"
3013//
3014//   * ErrCodeBadGatewayException "BadGatewayException"
3015//
3016//   * ErrCodeNotFoundException "NotFoundException"
3017//
3018//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
3019//
3020//   * ErrCodeConflictException "ConflictException"
3021//
3022// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInputSecurityGroup
3023func (c *MediaLive) UpdateInputSecurityGroup(input *UpdateInputSecurityGroupInput) (*UpdateInputSecurityGroupOutput, error) {
3024	req, out := c.UpdateInputSecurityGroupRequest(input)
3025	return out, req.Send()
3026}
3027
3028// UpdateInputSecurityGroupWithContext is the same as UpdateInputSecurityGroup with the addition of
3029// the ability to pass a context and additional request options.
3030//
3031// See UpdateInputSecurityGroup for details on how to use this API operation.
3032//
3033// The context must be non-nil and will be used for request cancellation. If
3034// the context is nil a panic will occur. In the future the SDK may create
3035// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3036// for more information on using Contexts.
3037func (c *MediaLive) UpdateInputSecurityGroupWithContext(ctx aws.Context, input *UpdateInputSecurityGroupInput, opts ...request.Option) (*UpdateInputSecurityGroupOutput, error) {
3038	req, out := c.UpdateInputSecurityGroupRequest(input)
3039	req.SetContext(ctx)
3040	req.ApplyOptions(opts...)
3041	return out, req.Send()
3042}
3043
3044const opUpdateReservation = "UpdateReservation"
3045
3046// UpdateReservationRequest generates a "aws/request.Request" representing the
3047// client's request for the UpdateReservation operation. The "output" return
3048// value will be populated with the request's response once the request completes
3049// successfully.
3050//
3051// Use "Send" method on the returned Request to send the API call to the service.
3052// the "output" return value is not valid until after Send returns without error.
3053//
3054// See UpdateReservation for more information on using the UpdateReservation
3055// API call, and error handling.
3056//
3057// This method is useful when you want to inject custom logic or configuration
3058// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3059//
3060//
3061//    // Example sending a request using the UpdateReservationRequest method.
3062//    req, resp := client.UpdateReservationRequest(params)
3063//
3064//    err := req.Send()
3065//    if err == nil { // resp is now filled
3066//        fmt.Println(resp)
3067//    }
3068//
3069// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateReservation
3070func (c *MediaLive) UpdateReservationRequest(input *UpdateReservationInput) (req *request.Request, output *UpdateReservationOutput) {
3071	op := &request.Operation{
3072		Name:       opUpdateReservation,
3073		HTTPMethod: "PUT",
3074		HTTPPath:   "/prod/reservations/{reservationId}",
3075	}
3076
3077	if input == nil {
3078		input = &UpdateReservationInput{}
3079	}
3080
3081	output = &UpdateReservationOutput{}
3082	req = c.newRequest(op, input, output)
3083	return
3084}
3085
3086// UpdateReservation API operation for AWS Elemental MediaLive.
3087//
3088// Update reservation.
3089//
3090// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3091// with awserr.Error's Code and Message methods to get detailed information about
3092// the error.
3093//
3094// See the AWS API reference guide for AWS Elemental MediaLive's
3095// API operation UpdateReservation for usage and error information.
3096//
3097// Returned Error Codes:
3098//   * ErrCodeBadRequestException "BadRequestException"
3099//
3100//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3101//
3102//   * ErrCodeForbiddenException "ForbiddenException"
3103//
3104//   * ErrCodeBadGatewayException "BadGatewayException"
3105//
3106//   * ErrCodeNotFoundException "NotFoundException"
3107//
3108//   * ErrCodeGatewayTimeoutException "GatewayTimeoutException"
3109//
3110//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3111//
3112//   * ErrCodeConflictException "ConflictException"
3113//
3114// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateReservation
3115func (c *MediaLive) UpdateReservation(input *UpdateReservationInput) (*UpdateReservationOutput, error) {
3116	req, out := c.UpdateReservationRequest(input)
3117	return out, req.Send()
3118}
3119
3120// UpdateReservationWithContext is the same as UpdateReservation with the addition of
3121// the ability to pass a context and additional request options.
3122//
3123// See UpdateReservation for details on how to use this API operation.
3124//
3125// The context must be non-nil and will be used for request cancellation. If
3126// the context is nil a panic will occur. In the future the SDK may create
3127// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3128// for more information on using Contexts.
3129func (c *MediaLive) UpdateReservationWithContext(ctx aws.Context, input *UpdateReservationInput, opts ...request.Option) (*UpdateReservationOutput, error) {
3130	req, out := c.UpdateReservationRequest(input)
3131	req.SetContext(ctx)
3132	req.ApplyOptions(opts...)
3133	return out, req.Send()
3134}
3135
3136// Aac Settings
3137type AacSettings struct {
3138	_ struct{} `type:"structure"`
3139
3140	// Average bitrate in bits/second. Valid values depend on rate control mode
3141	// and profile.
3142	Bitrate *float64 `locationName:"bitrate" type:"double"`
3143
3144	// Mono, Stereo, or 5.1 channel layout. Valid values depend on rate control
3145	// mode and profile. The adReceiverMix setting receives a stereo description
3146	// plus control track and emits a mono AAC encode of the description track,
3147	// with control data emitted in the PES header as per ETSI TS 101 154 Annex
3148	// E.
3149	CodingMode *string `locationName:"codingMode" type:"string" enum:"AacCodingMode"`
3150
3151	// Set to "broadcasterMixedAd" when input contains pre-mixed main audio + AD
3152	// (narration) as a stereo pair. The Audio Type field (audioType) will be set
3153	// to 3, which signals to downstream systems that this stream contains "broadcaster
3154	// mixed AD". Note that the input received by the encoder must contain pre-mixed
3155	// audio; the encoder does not perform the mixing. The values in audioTypeControl
3156	// and audioType (in AudioDescription) are ignored when set to broadcasterMixedAd.Leave
3157	// set to "normal" when input does not contain pre-mixed audio + AD.
3158	InputType *string `locationName:"inputType" type:"string" enum:"AacInputType"`
3159
3160	// AAC Profile.
3161	Profile *string `locationName:"profile" type:"string" enum:"AacProfile"`
3162
3163	// Rate Control Mode.
3164	RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"AacRateControlMode"`
3165
3166	// Sets LATM / LOAS AAC output for raw containers.
3167	RawFormat *string `locationName:"rawFormat" type:"string" enum:"AacRawFormat"`
3168
3169	// Sample rate in Hz. Valid values depend on rate control mode and profile.
3170	SampleRate *float64 `locationName:"sampleRate" type:"double"`
3171
3172	// Use MPEG-2 AAC audio instead of MPEG-4 AAC audio for raw or MPEG-2 Transport
3173	// Stream containers.
3174	Spec *string `locationName:"spec" type:"string" enum:"AacSpec"`
3175
3176	// VBR Quality Level - Only used if rateControlMode is VBR.
3177	VbrQuality *string `locationName:"vbrQuality" type:"string" enum:"AacVbrQuality"`
3178}
3179
3180// String returns the string representation
3181func (s AacSettings) String() string {
3182	return awsutil.Prettify(s)
3183}
3184
3185// GoString returns the string representation
3186func (s AacSettings) GoString() string {
3187	return s.String()
3188}
3189
3190// SetBitrate sets the Bitrate field's value.
3191func (s *AacSettings) SetBitrate(v float64) *AacSettings {
3192	s.Bitrate = &v
3193	return s
3194}
3195
3196// SetCodingMode sets the CodingMode field's value.
3197func (s *AacSettings) SetCodingMode(v string) *AacSettings {
3198	s.CodingMode = &v
3199	return s
3200}
3201
3202// SetInputType sets the InputType field's value.
3203func (s *AacSettings) SetInputType(v string) *AacSettings {
3204	s.InputType = &v
3205	return s
3206}
3207
3208// SetProfile sets the Profile field's value.
3209func (s *AacSettings) SetProfile(v string) *AacSettings {
3210	s.Profile = &v
3211	return s
3212}
3213
3214// SetRateControlMode sets the RateControlMode field's value.
3215func (s *AacSettings) SetRateControlMode(v string) *AacSettings {
3216	s.RateControlMode = &v
3217	return s
3218}
3219
3220// SetRawFormat sets the RawFormat field's value.
3221func (s *AacSettings) SetRawFormat(v string) *AacSettings {
3222	s.RawFormat = &v
3223	return s
3224}
3225
3226// SetSampleRate sets the SampleRate field's value.
3227func (s *AacSettings) SetSampleRate(v float64) *AacSettings {
3228	s.SampleRate = &v
3229	return s
3230}
3231
3232// SetSpec sets the Spec field's value.
3233func (s *AacSettings) SetSpec(v string) *AacSettings {
3234	s.Spec = &v
3235	return s
3236}
3237
3238// SetVbrQuality sets the VbrQuality field's value.
3239func (s *AacSettings) SetVbrQuality(v string) *AacSettings {
3240	s.VbrQuality = &v
3241	return s
3242}
3243
3244// Ac3 Settings
3245type Ac3Settings struct {
3246	_ struct{} `type:"structure"`
3247
3248	// Average bitrate in bits/second. Valid bitrates depend on the coding mode.
3249	Bitrate *float64 `locationName:"bitrate" type:"double"`
3250
3251	// Specifies the bitstream mode (bsmod) for the emitted AC-3 stream. See ATSC
3252	// A/52-2012 for background on these values.
3253	BitstreamMode *string `locationName:"bitstreamMode" type:"string" enum:"Ac3BitstreamMode"`
3254
3255	// Dolby Digital coding mode. Determines number of channels.
3256	CodingMode *string `locationName:"codingMode" type:"string" enum:"Ac3CodingMode"`
3257
3258	// Sets the dialnorm for the output. If excluded and input audio is Dolby Digital,
3259	// dialnorm will be passed through.
3260	Dialnorm *int64 `locationName:"dialnorm" min:"1" type:"integer"`
3261
3262	// If set to filmStandard, adds dynamic range compression signaling to the output
3263	// bitstream as defined in the Dolby Digital specification.
3264	DrcProfile *string `locationName:"drcProfile" type:"string" enum:"Ac3DrcProfile"`
3265
3266	// When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior
3267	// to encoding. Only valid in codingMode32Lfe mode.
3268	LfeFilter *string `locationName:"lfeFilter" type:"string" enum:"Ac3LfeFilter"`
3269
3270	// When set to "followInput", encoder metadata will be sourced from the DD,
3271	// DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied
3272	// from one of these streams, then the static metadata settings will be used.
3273	MetadataControl *string `locationName:"metadataControl" type:"string" enum:"Ac3MetadataControl"`
3274}
3275
3276// String returns the string representation
3277func (s Ac3Settings) String() string {
3278	return awsutil.Prettify(s)
3279}
3280
3281// GoString returns the string representation
3282func (s Ac3Settings) GoString() string {
3283	return s.String()
3284}
3285
3286// Validate inspects the fields of the type to determine if they are valid.
3287func (s *Ac3Settings) Validate() error {
3288	invalidParams := request.ErrInvalidParams{Context: "Ac3Settings"}
3289	if s.Dialnorm != nil && *s.Dialnorm < 1 {
3290		invalidParams.Add(request.NewErrParamMinValue("Dialnorm", 1))
3291	}
3292
3293	if invalidParams.Len() > 0 {
3294		return invalidParams
3295	}
3296	return nil
3297}
3298
3299// SetBitrate sets the Bitrate field's value.
3300func (s *Ac3Settings) SetBitrate(v float64) *Ac3Settings {
3301	s.Bitrate = &v
3302	return s
3303}
3304
3305// SetBitstreamMode sets the BitstreamMode field's value.
3306func (s *Ac3Settings) SetBitstreamMode(v string) *Ac3Settings {
3307	s.BitstreamMode = &v
3308	return s
3309}
3310
3311// SetCodingMode sets the CodingMode field's value.
3312func (s *Ac3Settings) SetCodingMode(v string) *Ac3Settings {
3313	s.CodingMode = &v
3314	return s
3315}
3316
3317// SetDialnorm sets the Dialnorm field's value.
3318func (s *Ac3Settings) SetDialnorm(v int64) *Ac3Settings {
3319	s.Dialnorm = &v
3320	return s
3321}
3322
3323// SetDrcProfile sets the DrcProfile field's value.
3324func (s *Ac3Settings) SetDrcProfile(v string) *Ac3Settings {
3325	s.DrcProfile = &v
3326	return s
3327}
3328
3329// SetLfeFilter sets the LfeFilter field's value.
3330func (s *Ac3Settings) SetLfeFilter(v string) *Ac3Settings {
3331	s.LfeFilter = &v
3332	return s
3333}
3334
3335// SetMetadataControl sets the MetadataControl field's value.
3336func (s *Ac3Settings) SetMetadataControl(v string) *Ac3Settings {
3337	s.MetadataControl = &v
3338	return s
3339}
3340
3341// Archive Container Settings
3342type ArchiveContainerSettings struct {
3343	_ struct{} `type:"structure"`
3344
3345	// M2ts Settings
3346	M2tsSettings *M2tsSettings `locationName:"m2tsSettings" type:"structure"`
3347}
3348
3349// String returns the string representation
3350func (s ArchiveContainerSettings) String() string {
3351	return awsutil.Prettify(s)
3352}
3353
3354// GoString returns the string representation
3355func (s ArchiveContainerSettings) GoString() string {
3356	return s.String()
3357}
3358
3359// Validate inspects the fields of the type to determine if they are valid.
3360func (s *ArchiveContainerSettings) Validate() error {
3361	invalidParams := request.ErrInvalidParams{Context: "ArchiveContainerSettings"}
3362	if s.M2tsSettings != nil {
3363		if err := s.M2tsSettings.Validate(); err != nil {
3364			invalidParams.AddNested("M2tsSettings", err.(request.ErrInvalidParams))
3365		}
3366	}
3367
3368	if invalidParams.Len() > 0 {
3369		return invalidParams
3370	}
3371	return nil
3372}
3373
3374// SetM2tsSettings sets the M2tsSettings field's value.
3375func (s *ArchiveContainerSettings) SetM2tsSettings(v *M2tsSettings) *ArchiveContainerSettings {
3376	s.M2tsSettings = v
3377	return s
3378}
3379
3380// Archive Group Settings
3381type ArchiveGroupSettings struct {
3382	_ struct{} `type:"structure"`
3383
3384	// A directory and base filename where archive files should be written.
3385	//
3386	// Destination is a required field
3387	Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"`
3388
3389	// Number of seconds to write to archive file before closing and starting a
3390	// new one.
3391	RolloverInterval *int64 `locationName:"rolloverInterval" min:"1" type:"integer"`
3392}
3393
3394// String returns the string representation
3395func (s ArchiveGroupSettings) String() string {
3396	return awsutil.Prettify(s)
3397}
3398
3399// GoString returns the string representation
3400func (s ArchiveGroupSettings) GoString() string {
3401	return s.String()
3402}
3403
3404// Validate inspects the fields of the type to determine if they are valid.
3405func (s *ArchiveGroupSettings) Validate() error {
3406	invalidParams := request.ErrInvalidParams{Context: "ArchiveGroupSettings"}
3407	if s.Destination == nil {
3408		invalidParams.Add(request.NewErrParamRequired("Destination"))
3409	}
3410	if s.RolloverInterval != nil && *s.RolloverInterval < 1 {
3411		invalidParams.Add(request.NewErrParamMinValue("RolloverInterval", 1))
3412	}
3413
3414	if invalidParams.Len() > 0 {
3415		return invalidParams
3416	}
3417	return nil
3418}
3419
3420// SetDestination sets the Destination field's value.
3421func (s *ArchiveGroupSettings) SetDestination(v *OutputLocationRef) *ArchiveGroupSettings {
3422	s.Destination = v
3423	return s
3424}
3425
3426// SetRolloverInterval sets the RolloverInterval field's value.
3427func (s *ArchiveGroupSettings) SetRolloverInterval(v int64) *ArchiveGroupSettings {
3428	s.RolloverInterval = &v
3429	return s
3430}
3431
3432// Archive Output Settings
3433type ArchiveOutputSettings struct {
3434	_ struct{} `type:"structure"`
3435
3436	// Settings specific to the container type of the file.
3437	//
3438	// ContainerSettings is a required field
3439	ContainerSettings *ArchiveContainerSettings `locationName:"containerSettings" type:"structure" required:"true"`
3440
3441	// Output file extension. If excluded, this will be auto-selected from the container
3442	// type.
3443	Extension *string `locationName:"extension" type:"string"`
3444
3445	// String concatenated to the end of the destination filename. Required for
3446	// multiple outputs of the same type.
3447	NameModifier *string `locationName:"nameModifier" type:"string"`
3448}
3449
3450// String returns the string representation
3451func (s ArchiveOutputSettings) String() string {
3452	return awsutil.Prettify(s)
3453}
3454
3455// GoString returns the string representation
3456func (s ArchiveOutputSettings) GoString() string {
3457	return s.String()
3458}
3459
3460// Validate inspects the fields of the type to determine if they are valid.
3461func (s *ArchiveOutputSettings) Validate() error {
3462	invalidParams := request.ErrInvalidParams{Context: "ArchiveOutputSettings"}
3463	if s.ContainerSettings == nil {
3464		invalidParams.Add(request.NewErrParamRequired("ContainerSettings"))
3465	}
3466	if s.ContainerSettings != nil {
3467		if err := s.ContainerSettings.Validate(); err != nil {
3468			invalidParams.AddNested("ContainerSettings", err.(request.ErrInvalidParams))
3469		}
3470	}
3471
3472	if invalidParams.Len() > 0 {
3473		return invalidParams
3474	}
3475	return nil
3476}
3477
3478// SetContainerSettings sets the ContainerSettings field's value.
3479func (s *ArchiveOutputSettings) SetContainerSettings(v *ArchiveContainerSettings) *ArchiveOutputSettings {
3480	s.ContainerSettings = v
3481	return s
3482}
3483
3484// SetExtension sets the Extension field's value.
3485func (s *ArchiveOutputSettings) SetExtension(v string) *ArchiveOutputSettings {
3486	s.Extension = &v
3487	return s
3488}
3489
3490// SetNameModifier sets the NameModifier field's value.
3491func (s *ArchiveOutputSettings) SetNameModifier(v string) *ArchiveOutputSettings {
3492	s.NameModifier = &v
3493	return s
3494}
3495
3496// Arib Destination Settings
3497type AribDestinationSettings struct {
3498	_ struct{} `type:"structure"`
3499}
3500
3501// String returns the string representation
3502func (s AribDestinationSettings) String() string {
3503	return awsutil.Prettify(s)
3504}
3505
3506// GoString returns the string representation
3507func (s AribDestinationSettings) GoString() string {
3508	return s.String()
3509}
3510
3511// Arib Source Settings
3512type AribSourceSettings struct {
3513	_ struct{} `type:"structure"`
3514}
3515
3516// String returns the string representation
3517func (s AribSourceSettings) String() string {
3518	return awsutil.Prettify(s)
3519}
3520
3521// GoString returns the string representation
3522func (s AribSourceSettings) GoString() string {
3523	return s.String()
3524}
3525
3526// Audio Channel Mapping
3527type AudioChannelMapping struct {
3528	_ struct{} `type:"structure"`
3529
3530	// Indices and gain values for each input channel that should be remixed into
3531	// this output channel.
3532	//
3533	// InputChannelLevels is a required field
3534	InputChannelLevels []*InputChannelLevel `locationName:"inputChannelLevels" type:"list" required:"true"`
3535
3536	// The index of the output channel being produced.
3537	//
3538	// OutputChannel is a required field
3539	OutputChannel *int64 `locationName:"outputChannel" type:"integer" required:"true"`
3540}
3541
3542// String returns the string representation
3543func (s AudioChannelMapping) String() string {
3544	return awsutil.Prettify(s)
3545}
3546
3547// GoString returns the string representation
3548func (s AudioChannelMapping) GoString() string {
3549	return s.String()
3550}
3551
3552// Validate inspects the fields of the type to determine if they are valid.
3553func (s *AudioChannelMapping) Validate() error {
3554	invalidParams := request.ErrInvalidParams{Context: "AudioChannelMapping"}
3555	if s.InputChannelLevels == nil {
3556		invalidParams.Add(request.NewErrParamRequired("InputChannelLevels"))
3557	}
3558	if s.OutputChannel == nil {
3559		invalidParams.Add(request.NewErrParamRequired("OutputChannel"))
3560	}
3561	if s.InputChannelLevels != nil {
3562		for i, v := range s.InputChannelLevels {
3563			if v == nil {
3564				continue
3565			}
3566			if err := v.Validate(); err != nil {
3567				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputChannelLevels", i), err.(request.ErrInvalidParams))
3568			}
3569		}
3570	}
3571
3572	if invalidParams.Len() > 0 {
3573		return invalidParams
3574	}
3575	return nil
3576}
3577
3578// SetInputChannelLevels sets the InputChannelLevels field's value.
3579func (s *AudioChannelMapping) SetInputChannelLevels(v []*InputChannelLevel) *AudioChannelMapping {
3580	s.InputChannelLevels = v
3581	return s
3582}
3583
3584// SetOutputChannel sets the OutputChannel field's value.
3585func (s *AudioChannelMapping) SetOutputChannel(v int64) *AudioChannelMapping {
3586	s.OutputChannel = &v
3587	return s
3588}
3589
3590// Audio Codec Settings
3591type AudioCodecSettings struct {
3592	_ struct{} `type:"structure"`
3593
3594	// Aac Settings
3595	AacSettings *AacSettings `locationName:"aacSettings" type:"structure"`
3596
3597	// Ac3 Settings
3598	Ac3Settings *Ac3Settings `locationName:"ac3Settings" type:"structure"`
3599
3600	// Eac3 Settings
3601	Eac3Settings *Eac3Settings `locationName:"eac3Settings" type:"structure"`
3602
3603	// Mp2 Settings
3604	Mp2Settings *Mp2Settings `locationName:"mp2Settings" type:"structure"`
3605
3606	// Pass Through Settings
3607	PassThroughSettings *PassThroughSettings `locationName:"passThroughSettings" type:"structure"`
3608}
3609
3610// String returns the string representation
3611func (s AudioCodecSettings) String() string {
3612	return awsutil.Prettify(s)
3613}
3614
3615// GoString returns the string representation
3616func (s AudioCodecSettings) GoString() string {
3617	return s.String()
3618}
3619
3620// Validate inspects the fields of the type to determine if they are valid.
3621func (s *AudioCodecSettings) Validate() error {
3622	invalidParams := request.ErrInvalidParams{Context: "AudioCodecSettings"}
3623	if s.Ac3Settings != nil {
3624		if err := s.Ac3Settings.Validate(); err != nil {
3625			invalidParams.AddNested("Ac3Settings", err.(request.ErrInvalidParams))
3626		}
3627	}
3628	if s.Eac3Settings != nil {
3629		if err := s.Eac3Settings.Validate(); err != nil {
3630			invalidParams.AddNested("Eac3Settings", err.(request.ErrInvalidParams))
3631		}
3632	}
3633
3634	if invalidParams.Len() > 0 {
3635		return invalidParams
3636	}
3637	return nil
3638}
3639
3640// SetAacSettings sets the AacSettings field's value.
3641func (s *AudioCodecSettings) SetAacSettings(v *AacSettings) *AudioCodecSettings {
3642	s.AacSettings = v
3643	return s
3644}
3645
3646// SetAc3Settings sets the Ac3Settings field's value.
3647func (s *AudioCodecSettings) SetAc3Settings(v *Ac3Settings) *AudioCodecSettings {
3648	s.Ac3Settings = v
3649	return s
3650}
3651
3652// SetEac3Settings sets the Eac3Settings field's value.
3653func (s *AudioCodecSettings) SetEac3Settings(v *Eac3Settings) *AudioCodecSettings {
3654	s.Eac3Settings = v
3655	return s
3656}
3657
3658// SetMp2Settings sets the Mp2Settings field's value.
3659func (s *AudioCodecSettings) SetMp2Settings(v *Mp2Settings) *AudioCodecSettings {
3660	s.Mp2Settings = v
3661	return s
3662}
3663
3664// SetPassThroughSettings sets the PassThroughSettings field's value.
3665func (s *AudioCodecSettings) SetPassThroughSettings(v *PassThroughSettings) *AudioCodecSettings {
3666	s.PassThroughSettings = v
3667	return s
3668}
3669
3670// Audio Description
3671type AudioDescription struct {
3672	_ struct{} `type:"structure"`
3673
3674	// Advanced audio normalization settings.
3675	AudioNormalizationSettings *AudioNormalizationSettings `locationName:"audioNormalizationSettings" type:"structure"`
3676
3677	// The name of the AudioSelector used as the source for this AudioDescription.
3678	//
3679	// AudioSelectorName is a required field
3680	AudioSelectorName *string `locationName:"audioSelectorName" type:"string" required:"true"`
3681
3682	// Applies only if audioTypeControl is useConfigured. The values for audioType
3683	// are defined in ISO-IEC 13818-1.
3684	AudioType *string `locationName:"audioType" type:"string" enum:"AudioType"`
3685
3686	// Determines how audio type is determined. followInput: If the input contains
3687	// an ISO 639 audioType, then that value is passed through to the output. If
3688	// the input contains no ISO 639 audioType, the value in Audio Type is included
3689	// in the output. useConfigured: The value in Audio Type is included in the
3690	// output.Note that this field and audioType are both ignored if inputType is
3691	// broadcasterMixedAd.
3692	AudioTypeControl *string `locationName:"audioTypeControl" type:"string" enum:"AudioDescriptionAudioTypeControl"`
3693
3694	// Audio codec settings.
3695	CodecSettings *AudioCodecSettings `locationName:"codecSettings" type:"structure"`
3696
3697	// Indicates the language of the audio output track. Only used if languageControlMode
3698	// is useConfigured, or there is no ISO 639 language code specified in the input.
3699	LanguageCode *string `locationName:"languageCode" min:"3" type:"string"`
3700
3701	// Choosing followInput will cause the ISO 639 language code of the output to
3702	// follow the ISO 639 language code of the input. The languageCode will be used
3703	// when useConfigured is set, or when followInput is selected but there is no
3704	// ISO 639 language code specified by the input.
3705	LanguageCodeControl *string `locationName:"languageCodeControl" type:"string" enum:"AudioDescriptionLanguageCodeControl"`
3706
3707	// The name of this AudioDescription. Outputs will use this name to uniquely
3708	// identify this AudioDescription. Description names should be unique within
3709	// this Live Event.
3710	//
3711	// Name is a required field
3712	Name *string `locationName:"name" type:"string" required:"true"`
3713
3714	// Settings that control how input audio channels are remixed into the output
3715	// audio channels.
3716	RemixSettings *RemixSettings `locationName:"remixSettings" type:"structure"`
3717
3718	// Used for MS Smooth and Apple HLS outputs. Indicates the name displayed by
3719	// the player (eg. English, or Director Commentary).
3720	StreamName *string `locationName:"streamName" type:"string"`
3721}
3722
3723// String returns the string representation
3724func (s AudioDescription) String() string {
3725	return awsutil.Prettify(s)
3726}
3727
3728// GoString returns the string representation
3729func (s AudioDescription) GoString() string {
3730	return s.String()
3731}
3732
3733// Validate inspects the fields of the type to determine if they are valid.
3734func (s *AudioDescription) Validate() error {
3735	invalidParams := request.ErrInvalidParams{Context: "AudioDescription"}
3736	if s.AudioSelectorName == nil {
3737		invalidParams.Add(request.NewErrParamRequired("AudioSelectorName"))
3738	}
3739	if s.LanguageCode != nil && len(*s.LanguageCode) < 3 {
3740		invalidParams.Add(request.NewErrParamMinLen("LanguageCode", 3))
3741	}
3742	if s.Name == nil {
3743		invalidParams.Add(request.NewErrParamRequired("Name"))
3744	}
3745	if s.CodecSettings != nil {
3746		if err := s.CodecSettings.Validate(); err != nil {
3747			invalidParams.AddNested("CodecSettings", err.(request.ErrInvalidParams))
3748		}
3749	}
3750	if s.RemixSettings != nil {
3751		if err := s.RemixSettings.Validate(); err != nil {
3752			invalidParams.AddNested("RemixSettings", err.(request.ErrInvalidParams))
3753		}
3754	}
3755
3756	if invalidParams.Len() > 0 {
3757		return invalidParams
3758	}
3759	return nil
3760}
3761
3762// SetAudioNormalizationSettings sets the AudioNormalizationSettings field's value.
3763func (s *AudioDescription) SetAudioNormalizationSettings(v *AudioNormalizationSettings) *AudioDescription {
3764	s.AudioNormalizationSettings = v
3765	return s
3766}
3767
3768// SetAudioSelectorName sets the AudioSelectorName field's value.
3769func (s *AudioDescription) SetAudioSelectorName(v string) *AudioDescription {
3770	s.AudioSelectorName = &v
3771	return s
3772}
3773
3774// SetAudioType sets the AudioType field's value.
3775func (s *AudioDescription) SetAudioType(v string) *AudioDescription {
3776	s.AudioType = &v
3777	return s
3778}
3779
3780// SetAudioTypeControl sets the AudioTypeControl field's value.
3781func (s *AudioDescription) SetAudioTypeControl(v string) *AudioDescription {
3782	s.AudioTypeControl = &v
3783	return s
3784}
3785
3786// SetCodecSettings sets the CodecSettings field's value.
3787func (s *AudioDescription) SetCodecSettings(v *AudioCodecSettings) *AudioDescription {
3788	s.CodecSettings = v
3789	return s
3790}
3791
3792// SetLanguageCode sets the LanguageCode field's value.
3793func (s *AudioDescription) SetLanguageCode(v string) *AudioDescription {
3794	s.LanguageCode = &v
3795	return s
3796}
3797
3798// SetLanguageCodeControl sets the LanguageCodeControl field's value.
3799func (s *AudioDescription) SetLanguageCodeControl(v string) *AudioDescription {
3800	s.LanguageCodeControl = &v
3801	return s
3802}
3803
3804// SetName sets the Name field's value.
3805func (s *AudioDescription) SetName(v string) *AudioDescription {
3806	s.Name = &v
3807	return s
3808}
3809
3810// SetRemixSettings sets the RemixSettings field's value.
3811func (s *AudioDescription) SetRemixSettings(v *RemixSettings) *AudioDescription {
3812	s.RemixSettings = v
3813	return s
3814}
3815
3816// SetStreamName sets the StreamName field's value.
3817func (s *AudioDescription) SetStreamName(v string) *AudioDescription {
3818	s.StreamName = &v
3819	return s
3820}
3821
3822// Audio Language Selection
3823type AudioLanguageSelection struct {
3824	_ struct{} `type:"structure"`
3825
3826	// Selects a specific three-letter language code from within an audio source.
3827	//
3828	// LanguageCode is a required field
3829	LanguageCode *string `locationName:"languageCode" type:"string" required:"true"`
3830
3831	// When set to "strict", the transport stream demux strictly identifies audio
3832	// streams by their language descriptor. If a PMT update occurs such that an
3833	// audio stream matching the initially selected language is no longer present
3834	// then mute will be encoded until the language returns. If "loose", then on
3835	// a PMT update the demux will choose another audio stream in the program with
3836	// the same stream type if it can't find one with the same language.
3837	LanguageSelectionPolicy *string `locationName:"languageSelectionPolicy" type:"string" enum:"AudioLanguageSelectionPolicy"`
3838}
3839
3840// String returns the string representation
3841func (s AudioLanguageSelection) String() string {
3842	return awsutil.Prettify(s)
3843}
3844
3845// GoString returns the string representation
3846func (s AudioLanguageSelection) GoString() string {
3847	return s.String()
3848}
3849
3850// Validate inspects the fields of the type to determine if they are valid.
3851func (s *AudioLanguageSelection) Validate() error {
3852	invalidParams := request.ErrInvalidParams{Context: "AudioLanguageSelection"}
3853	if s.LanguageCode == nil {
3854		invalidParams.Add(request.NewErrParamRequired("LanguageCode"))
3855	}
3856
3857	if invalidParams.Len() > 0 {
3858		return invalidParams
3859	}
3860	return nil
3861}
3862
3863// SetLanguageCode sets the LanguageCode field's value.
3864func (s *AudioLanguageSelection) SetLanguageCode(v string) *AudioLanguageSelection {
3865	s.LanguageCode = &v
3866	return s
3867}
3868
3869// SetLanguageSelectionPolicy sets the LanguageSelectionPolicy field's value.
3870func (s *AudioLanguageSelection) SetLanguageSelectionPolicy(v string) *AudioLanguageSelection {
3871	s.LanguageSelectionPolicy = &v
3872	return s
3873}
3874
3875// Audio Normalization Settings
3876type AudioNormalizationSettings struct {
3877	_ struct{} `type:"structure"`
3878
3879	// Audio normalization algorithm to use. itu17701 conforms to the CALM Act specification,
3880	// itu17702 conforms to the EBU R-128 specification.
3881	Algorithm *string `locationName:"algorithm" type:"string" enum:"AudioNormalizationAlgorithm"`
3882
3883	// When set to correctAudio the output audio is corrected using the chosen algorithm.
3884	// If set to measureOnly, the audio will be measured but not adjusted.
3885	AlgorithmControl *string `locationName:"algorithmControl" type:"string" enum:"AudioNormalizationAlgorithmControl"`
3886
3887	// Target LKFS(loudness) to adjust volume to. If no value is entered, a default
3888	// value will be used according to the chosen algorithm. The CALM Act (1770-1)
3889	// recommends a target of -24 LKFS. The EBU R-128 specification (1770-2) recommends
3890	// a target of -23 LKFS.
3891	TargetLkfs *float64 `locationName:"targetLkfs" type:"double"`
3892}
3893
3894// String returns the string representation
3895func (s AudioNormalizationSettings) String() string {
3896	return awsutil.Prettify(s)
3897}
3898
3899// GoString returns the string representation
3900func (s AudioNormalizationSettings) GoString() string {
3901	return s.String()
3902}
3903
3904// SetAlgorithm sets the Algorithm field's value.
3905func (s *AudioNormalizationSettings) SetAlgorithm(v string) *AudioNormalizationSettings {
3906	s.Algorithm = &v
3907	return s
3908}
3909
3910// SetAlgorithmControl sets the AlgorithmControl field's value.
3911func (s *AudioNormalizationSettings) SetAlgorithmControl(v string) *AudioNormalizationSettings {
3912	s.AlgorithmControl = &v
3913	return s
3914}
3915
3916// SetTargetLkfs sets the TargetLkfs field's value.
3917func (s *AudioNormalizationSettings) SetTargetLkfs(v float64) *AudioNormalizationSettings {
3918	s.TargetLkfs = &v
3919	return s
3920}
3921
3922// Audio Only Hls Settings
3923type AudioOnlyHlsSettings struct {
3924	_ struct{} `type:"structure"`
3925
3926	// Specifies the group to which the audio Rendition belongs.
3927	AudioGroupId *string `locationName:"audioGroupId" type:"string"`
3928
3929	// For use with an audio only Stream. Must be a .jpg or .png file. If given,
3930	// this image will be used as the cover-art for the audio only output. Ideally,
3931	// it should be formatted for an iPhone screen for two reasons. The iPhone does
3932	// not resize the image, it crops a centered image on the top/bottom and left/right.
3933	// Additionally, this image file gets saved bit-for-bit into every 10-second
3934	// segment file, so will increase bandwidth by {image file size} * {segment
3935	// count} * {user count.}.
3936	AudioOnlyImage *InputLocation `locationName:"audioOnlyImage" type:"structure"`
3937
3938	// Four types of audio-only tracks are supported:Audio-Only Variant StreamThe
3939	// client can play back this audio-only stream instead of video in low-bandwidth
3940	// scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest.Alternate
3941	// Audio, Auto Select, DefaultAlternate rendition that the client should try
3942	// to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest
3943	// with DEFAULT=YES, AUTOSELECT=YESAlternate Audio, Auto Select, Not DefaultAlternate
3944	// rendition that the client may try to play back by default. Represented as
3945	// an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YESAlternate
3946	// Audio, not Auto SelectAlternate rendition that the client will not try to
3947	// play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with
3948	// DEFAULT=NO, AUTOSELECT=NO
3949	AudioTrackType *string `locationName:"audioTrackType" type:"string" enum:"AudioOnlyHlsTrackType"`
3950}
3951
3952// String returns the string representation
3953func (s AudioOnlyHlsSettings) String() string {
3954	return awsutil.Prettify(s)
3955}
3956
3957// GoString returns the string representation
3958func (s AudioOnlyHlsSettings) GoString() string {
3959	return s.String()
3960}
3961
3962// Validate inspects the fields of the type to determine if they are valid.
3963func (s *AudioOnlyHlsSettings) Validate() error {
3964	invalidParams := request.ErrInvalidParams{Context: "AudioOnlyHlsSettings"}
3965	if s.AudioOnlyImage != nil {
3966		if err := s.AudioOnlyImage.Validate(); err != nil {
3967			invalidParams.AddNested("AudioOnlyImage", err.(request.ErrInvalidParams))
3968		}
3969	}
3970
3971	if invalidParams.Len() > 0 {
3972		return invalidParams
3973	}
3974	return nil
3975}
3976
3977// SetAudioGroupId sets the AudioGroupId field's value.
3978func (s *AudioOnlyHlsSettings) SetAudioGroupId(v string) *AudioOnlyHlsSettings {
3979	s.AudioGroupId = &v
3980	return s
3981}
3982
3983// SetAudioOnlyImage sets the AudioOnlyImage field's value.
3984func (s *AudioOnlyHlsSettings) SetAudioOnlyImage(v *InputLocation) *AudioOnlyHlsSettings {
3985	s.AudioOnlyImage = v
3986	return s
3987}
3988
3989// SetAudioTrackType sets the AudioTrackType field's value.
3990func (s *AudioOnlyHlsSettings) SetAudioTrackType(v string) *AudioOnlyHlsSettings {
3991	s.AudioTrackType = &v
3992	return s
3993}
3994
3995// Audio Pid Selection
3996type AudioPidSelection struct {
3997	_ struct{} `type:"structure"`
3998
3999	// Selects a specific PID from within a source.
4000	//
4001	// Pid is a required field
4002	Pid *int64 `locationName:"pid" type:"integer" required:"true"`
4003}
4004
4005// String returns the string representation
4006func (s AudioPidSelection) String() string {
4007	return awsutil.Prettify(s)
4008}
4009
4010// GoString returns the string representation
4011func (s AudioPidSelection) GoString() string {
4012	return s.String()
4013}
4014
4015// Validate inspects the fields of the type to determine if they are valid.
4016func (s *AudioPidSelection) Validate() error {
4017	invalidParams := request.ErrInvalidParams{Context: "AudioPidSelection"}
4018	if s.Pid == nil {
4019		invalidParams.Add(request.NewErrParamRequired("Pid"))
4020	}
4021
4022	if invalidParams.Len() > 0 {
4023		return invalidParams
4024	}
4025	return nil
4026}
4027
4028// SetPid sets the Pid field's value.
4029func (s *AudioPidSelection) SetPid(v int64) *AudioPidSelection {
4030	s.Pid = &v
4031	return s
4032}
4033
4034// Audio Selector
4035type AudioSelector struct {
4036	_ struct{} `type:"structure"`
4037
4038	// The name of this AudioSelector. AudioDescriptions will use this name to uniquely
4039	// identify this Selector. Selector names should be unique per input.
4040	//
4041	// Name is a required field
4042	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4043
4044	// The audio selector settings.
4045	SelectorSettings *AudioSelectorSettings `locationName:"selectorSettings" type:"structure"`
4046}
4047
4048// String returns the string representation
4049func (s AudioSelector) String() string {
4050	return awsutil.Prettify(s)
4051}
4052
4053// GoString returns the string representation
4054func (s AudioSelector) GoString() string {
4055	return s.String()
4056}
4057
4058// Validate inspects the fields of the type to determine if they are valid.
4059func (s *AudioSelector) Validate() error {
4060	invalidParams := request.ErrInvalidParams{Context: "AudioSelector"}
4061	if s.Name == nil {
4062		invalidParams.Add(request.NewErrParamRequired("Name"))
4063	}
4064	if s.Name != nil && len(*s.Name) < 1 {
4065		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4066	}
4067	if s.SelectorSettings != nil {
4068		if err := s.SelectorSettings.Validate(); err != nil {
4069			invalidParams.AddNested("SelectorSettings", err.(request.ErrInvalidParams))
4070		}
4071	}
4072
4073	if invalidParams.Len() > 0 {
4074		return invalidParams
4075	}
4076	return nil
4077}
4078
4079// SetName sets the Name field's value.
4080func (s *AudioSelector) SetName(v string) *AudioSelector {
4081	s.Name = &v
4082	return s
4083}
4084
4085// SetSelectorSettings sets the SelectorSettings field's value.
4086func (s *AudioSelector) SetSelectorSettings(v *AudioSelectorSettings) *AudioSelector {
4087	s.SelectorSettings = v
4088	return s
4089}
4090
4091// Audio Selector Settings
4092type AudioSelectorSettings struct {
4093	_ struct{} `type:"structure"`
4094
4095	// Audio Language Selection
4096	AudioLanguageSelection *AudioLanguageSelection `locationName:"audioLanguageSelection" type:"structure"`
4097
4098	// Audio Pid Selection
4099	AudioPidSelection *AudioPidSelection `locationName:"audioPidSelection" type:"structure"`
4100}
4101
4102// String returns the string representation
4103func (s AudioSelectorSettings) String() string {
4104	return awsutil.Prettify(s)
4105}
4106
4107// GoString returns the string representation
4108func (s AudioSelectorSettings) GoString() string {
4109	return s.String()
4110}
4111
4112// Validate inspects the fields of the type to determine if they are valid.
4113func (s *AudioSelectorSettings) Validate() error {
4114	invalidParams := request.ErrInvalidParams{Context: "AudioSelectorSettings"}
4115	if s.AudioLanguageSelection != nil {
4116		if err := s.AudioLanguageSelection.Validate(); err != nil {
4117			invalidParams.AddNested("AudioLanguageSelection", err.(request.ErrInvalidParams))
4118		}
4119	}
4120	if s.AudioPidSelection != nil {
4121		if err := s.AudioPidSelection.Validate(); err != nil {
4122			invalidParams.AddNested("AudioPidSelection", err.(request.ErrInvalidParams))
4123		}
4124	}
4125
4126	if invalidParams.Len() > 0 {
4127		return invalidParams
4128	}
4129	return nil
4130}
4131
4132// SetAudioLanguageSelection sets the AudioLanguageSelection field's value.
4133func (s *AudioSelectorSettings) SetAudioLanguageSelection(v *AudioLanguageSelection) *AudioSelectorSettings {
4134	s.AudioLanguageSelection = v
4135	return s
4136}
4137
4138// SetAudioPidSelection sets the AudioPidSelection field's value.
4139func (s *AudioSelectorSettings) SetAudioPidSelection(v *AudioPidSelection) *AudioSelectorSettings {
4140	s.AudioPidSelection = v
4141	return s
4142}
4143
4144// Avail Blanking
4145type AvailBlanking struct {
4146	_ struct{} `type:"structure"`
4147
4148	// Blanking image to be used. Leave empty for solid black. Only bmp and png
4149	// images are supported.
4150	AvailBlankingImage *InputLocation `locationName:"availBlankingImage" type:"structure"`
4151
4152	// When set to enabled, causes video, audio and captions to be blanked when
4153	// insertion metadata is added.
4154	State *string `locationName:"state" type:"string" enum:"AvailBlankingState"`
4155}
4156
4157// String returns the string representation
4158func (s AvailBlanking) String() string {
4159	return awsutil.Prettify(s)
4160}
4161
4162// GoString returns the string representation
4163func (s AvailBlanking) GoString() string {
4164	return s.String()
4165}
4166
4167// Validate inspects the fields of the type to determine if they are valid.
4168func (s *AvailBlanking) Validate() error {
4169	invalidParams := request.ErrInvalidParams{Context: "AvailBlanking"}
4170	if s.AvailBlankingImage != nil {
4171		if err := s.AvailBlankingImage.Validate(); err != nil {
4172			invalidParams.AddNested("AvailBlankingImage", err.(request.ErrInvalidParams))
4173		}
4174	}
4175
4176	if invalidParams.Len() > 0 {
4177		return invalidParams
4178	}
4179	return nil
4180}
4181
4182// SetAvailBlankingImage sets the AvailBlankingImage field's value.
4183func (s *AvailBlanking) SetAvailBlankingImage(v *InputLocation) *AvailBlanking {
4184	s.AvailBlankingImage = v
4185	return s
4186}
4187
4188// SetState sets the State field's value.
4189func (s *AvailBlanking) SetState(v string) *AvailBlanking {
4190	s.State = &v
4191	return s
4192}
4193
4194// Avail Configuration
4195type AvailConfiguration struct {
4196	_ struct{} `type:"structure"`
4197
4198	// Ad avail settings.
4199	AvailSettings *AvailSettings `locationName:"availSettings" type:"structure"`
4200}
4201
4202// String returns the string representation
4203func (s AvailConfiguration) String() string {
4204	return awsutil.Prettify(s)
4205}
4206
4207// GoString returns the string representation
4208func (s AvailConfiguration) GoString() string {
4209	return s.String()
4210}
4211
4212// Validate inspects the fields of the type to determine if they are valid.
4213func (s *AvailConfiguration) Validate() error {
4214	invalidParams := request.ErrInvalidParams{Context: "AvailConfiguration"}
4215	if s.AvailSettings != nil {
4216		if err := s.AvailSettings.Validate(); err != nil {
4217			invalidParams.AddNested("AvailSettings", err.(request.ErrInvalidParams))
4218		}
4219	}
4220
4221	if invalidParams.Len() > 0 {
4222		return invalidParams
4223	}
4224	return nil
4225}
4226
4227// SetAvailSettings sets the AvailSettings field's value.
4228func (s *AvailConfiguration) SetAvailSettings(v *AvailSettings) *AvailConfiguration {
4229	s.AvailSettings = v
4230	return s
4231}
4232
4233// Avail Settings
4234type AvailSettings struct {
4235	_ struct{} `type:"structure"`
4236
4237	// Scte35 Splice Insert
4238	Scte35SpliceInsert *Scte35SpliceInsert `locationName:"scte35SpliceInsert" type:"structure"`
4239
4240	// Scte35 Time Signal Apos
4241	Scte35TimeSignalApos *Scte35TimeSignalApos `locationName:"scte35TimeSignalApos" type:"structure"`
4242}
4243
4244// String returns the string representation
4245func (s AvailSettings) String() string {
4246	return awsutil.Prettify(s)
4247}
4248
4249// GoString returns the string representation
4250func (s AvailSettings) GoString() string {
4251	return s.String()
4252}
4253
4254// Validate inspects the fields of the type to determine if they are valid.
4255func (s *AvailSettings) Validate() error {
4256	invalidParams := request.ErrInvalidParams{Context: "AvailSettings"}
4257	if s.Scte35SpliceInsert != nil {
4258		if err := s.Scte35SpliceInsert.Validate(); err != nil {
4259			invalidParams.AddNested("Scte35SpliceInsert", err.(request.ErrInvalidParams))
4260		}
4261	}
4262	if s.Scte35TimeSignalApos != nil {
4263		if err := s.Scte35TimeSignalApos.Validate(); err != nil {
4264			invalidParams.AddNested("Scte35TimeSignalApos", err.(request.ErrInvalidParams))
4265		}
4266	}
4267
4268	if invalidParams.Len() > 0 {
4269		return invalidParams
4270	}
4271	return nil
4272}
4273
4274// SetScte35SpliceInsert sets the Scte35SpliceInsert field's value.
4275func (s *AvailSettings) SetScte35SpliceInsert(v *Scte35SpliceInsert) *AvailSettings {
4276	s.Scte35SpliceInsert = v
4277	return s
4278}
4279
4280// SetScte35TimeSignalApos sets the Scte35TimeSignalApos field's value.
4281func (s *AvailSettings) SetScte35TimeSignalApos(v *Scte35TimeSignalApos) *AvailSettings {
4282	s.Scte35TimeSignalApos = v
4283	return s
4284}
4285
4286// A list of schedule actions to create (in a request) or that have been created
4287// (in a response).
4288type BatchScheduleActionCreateRequest struct {
4289	_ struct{} `type:"structure"`
4290
4291	// A list of schedule actions to create.
4292	//
4293	// ScheduleActions is a required field
4294	ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list" required:"true"`
4295}
4296
4297// String returns the string representation
4298func (s BatchScheduleActionCreateRequest) String() string {
4299	return awsutil.Prettify(s)
4300}
4301
4302// GoString returns the string representation
4303func (s BatchScheduleActionCreateRequest) GoString() string {
4304	return s.String()
4305}
4306
4307// Validate inspects the fields of the type to determine if they are valid.
4308func (s *BatchScheduleActionCreateRequest) Validate() error {
4309	invalidParams := request.ErrInvalidParams{Context: "BatchScheduleActionCreateRequest"}
4310	if s.ScheduleActions == nil {
4311		invalidParams.Add(request.NewErrParamRequired("ScheduleActions"))
4312	}
4313	if s.ScheduleActions != nil {
4314		for i, v := range s.ScheduleActions {
4315			if v == nil {
4316				continue
4317			}
4318			if err := v.Validate(); err != nil {
4319				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScheduleActions", i), err.(request.ErrInvalidParams))
4320			}
4321		}
4322	}
4323
4324	if invalidParams.Len() > 0 {
4325		return invalidParams
4326	}
4327	return nil
4328}
4329
4330// SetScheduleActions sets the ScheduleActions field's value.
4331func (s *BatchScheduleActionCreateRequest) SetScheduleActions(v []*ScheduleAction) *BatchScheduleActionCreateRequest {
4332	s.ScheduleActions = v
4333	return s
4334}
4335
4336// List of actions that have been created in the schedule.
4337type BatchScheduleActionCreateResult struct {
4338	_ struct{} `type:"structure"`
4339
4340	// List of actions that have been created in the schedule.
4341	//
4342	// ScheduleActions is a required field
4343	ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list" required:"true"`
4344}
4345
4346// String returns the string representation
4347func (s BatchScheduleActionCreateResult) String() string {
4348	return awsutil.Prettify(s)
4349}
4350
4351// GoString returns the string representation
4352func (s BatchScheduleActionCreateResult) GoString() string {
4353	return s.String()
4354}
4355
4356// SetScheduleActions sets the ScheduleActions field's value.
4357func (s *BatchScheduleActionCreateResult) SetScheduleActions(v []*ScheduleAction) *BatchScheduleActionCreateResult {
4358	s.ScheduleActions = v
4359	return s
4360}
4361
4362// A list of schedule actions to delete.
4363type BatchScheduleActionDeleteRequest struct {
4364	_ struct{} `type:"structure"`
4365
4366	// A list of schedule actions to delete.
4367	//
4368	// ActionNames is a required field
4369	ActionNames []*string `locationName:"actionNames" type:"list" required:"true"`
4370}
4371
4372// String returns the string representation
4373func (s BatchScheduleActionDeleteRequest) String() string {
4374	return awsutil.Prettify(s)
4375}
4376
4377// GoString returns the string representation
4378func (s BatchScheduleActionDeleteRequest) GoString() string {
4379	return s.String()
4380}
4381
4382// Validate inspects the fields of the type to determine if they are valid.
4383func (s *BatchScheduleActionDeleteRequest) Validate() error {
4384	invalidParams := request.ErrInvalidParams{Context: "BatchScheduleActionDeleteRequest"}
4385	if s.ActionNames == nil {
4386		invalidParams.Add(request.NewErrParamRequired("ActionNames"))
4387	}
4388
4389	if invalidParams.Len() > 0 {
4390		return invalidParams
4391	}
4392	return nil
4393}
4394
4395// SetActionNames sets the ActionNames field's value.
4396func (s *BatchScheduleActionDeleteRequest) SetActionNames(v []*string) *BatchScheduleActionDeleteRequest {
4397	s.ActionNames = v
4398	return s
4399}
4400
4401// List of actions that have been deleted from the schedule.
4402type BatchScheduleActionDeleteResult struct {
4403	_ struct{} `type:"structure"`
4404
4405	// List of actions that have been deleted from the schedule.
4406	//
4407	// ScheduleActions is a required field
4408	ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list" required:"true"`
4409}
4410
4411// String returns the string representation
4412func (s BatchScheduleActionDeleteResult) String() string {
4413	return awsutil.Prettify(s)
4414}
4415
4416// GoString returns the string representation
4417func (s BatchScheduleActionDeleteResult) GoString() string {
4418	return s.String()
4419}
4420
4421// SetScheduleActions sets the ScheduleActions field's value.
4422func (s *BatchScheduleActionDeleteResult) SetScheduleActions(v []*ScheduleAction) *BatchScheduleActionDeleteResult {
4423	s.ScheduleActions = v
4424	return s
4425}
4426
4427// A request to create actions (add actions to the schedule), delete actions
4428// (remove actions from the schedule), or both create and delete actions.
4429type BatchUpdateScheduleInput struct {
4430	_ struct{} `type:"structure"`
4431
4432	// ChannelId is a required field
4433	ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"`
4434
4435	// Schedule actions to create in the schedule.
4436	Creates *BatchScheduleActionCreateRequest `locationName:"creates" type:"structure"`
4437
4438	// Schedule actions to delete from the schedule.
4439	Deletes *BatchScheduleActionDeleteRequest `locationName:"deletes" type:"structure"`
4440}
4441
4442// String returns the string representation
4443func (s BatchUpdateScheduleInput) String() string {
4444	return awsutil.Prettify(s)
4445}
4446
4447// GoString returns the string representation
4448func (s BatchUpdateScheduleInput) GoString() string {
4449	return s.String()
4450}
4451
4452// Validate inspects the fields of the type to determine if they are valid.
4453func (s *BatchUpdateScheduleInput) Validate() error {
4454	invalidParams := request.ErrInvalidParams{Context: "BatchUpdateScheduleInput"}
4455	if s.ChannelId == nil {
4456		invalidParams.Add(request.NewErrParamRequired("ChannelId"))
4457	}
4458	if s.ChannelId != nil && len(*s.ChannelId) < 1 {
4459		invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1))
4460	}
4461	if s.Creates != nil {
4462		if err := s.Creates.Validate(); err != nil {
4463			invalidParams.AddNested("Creates", err.(request.ErrInvalidParams))
4464		}
4465	}
4466	if s.Deletes != nil {
4467		if err := s.Deletes.Validate(); err != nil {
4468			invalidParams.AddNested("Deletes", err.(request.ErrInvalidParams))
4469		}
4470	}
4471
4472	if invalidParams.Len() > 0 {
4473		return invalidParams
4474	}
4475	return nil
4476}
4477
4478// SetChannelId sets the ChannelId field's value.
4479func (s *BatchUpdateScheduleInput) SetChannelId(v string) *BatchUpdateScheduleInput {
4480	s.ChannelId = &v
4481	return s
4482}
4483
4484// SetCreates sets the Creates field's value.
4485func (s *BatchUpdateScheduleInput) SetCreates(v *BatchScheduleActionCreateRequest) *BatchUpdateScheduleInput {
4486	s.Creates = v
4487	return s
4488}
4489
4490// SetDeletes sets the Deletes field's value.
4491func (s *BatchUpdateScheduleInput) SetDeletes(v *BatchScheduleActionDeleteRequest) *BatchUpdateScheduleInput {
4492	s.Deletes = v
4493	return s
4494}
4495
4496type BatchUpdateScheduleOutput struct {
4497	_ struct{} `type:"structure"`
4498
4499	// List of actions that have been created in the schedule.
4500	Creates *BatchScheduleActionCreateResult `locationName:"creates" type:"structure"`
4501
4502	// List of actions that have been deleted from the schedule.
4503	Deletes *BatchScheduleActionDeleteResult `locationName:"deletes" type:"structure"`
4504}
4505
4506// String returns the string representation
4507func (s BatchUpdateScheduleOutput) String() string {
4508	return awsutil.Prettify(s)
4509}
4510
4511// GoString returns the string representation
4512func (s BatchUpdateScheduleOutput) GoString() string {
4513	return s.String()
4514}
4515
4516// SetCreates sets the Creates field's value.
4517func (s *BatchUpdateScheduleOutput) SetCreates(v *BatchScheduleActionCreateResult) *BatchUpdateScheduleOutput {
4518	s.Creates = v
4519	return s
4520}
4521
4522// SetDeletes sets the Deletes field's value.
4523func (s *BatchUpdateScheduleOutput) SetDeletes(v *BatchScheduleActionDeleteResult) *BatchUpdateScheduleOutput {
4524	s.Deletes = v
4525	return s
4526}
4527
4528// Blackout Slate
4529type BlackoutSlate struct {
4530	_ struct{} `type:"structure"`
4531
4532	// Blackout slate image to be used. Leave empty for solid black. Only bmp and
4533	// png images are supported.
4534	BlackoutSlateImage *InputLocation `locationName:"blackoutSlateImage" type:"structure"`
4535
4536	// Setting to enabled causes the encoder to blackout the video, audio, and captions,
4537	// and raise the "Network Blackout Image" slate when an SCTE104/35 Network End
4538	// Segmentation Descriptor is encountered. The blackout will be lifted when
4539	// the Network Start Segmentation Descriptor is encountered. The Network End
4540	// and Network Start descriptors must contain a network ID that matches the
4541	// value entered in "Network ID".
4542	NetworkEndBlackout *string `locationName:"networkEndBlackout" type:"string" enum:"BlackoutSlateNetworkEndBlackout"`
4543
4544	// Path to local file to use as Network End Blackout image. Image will be scaled
4545	// to fill the entire output raster.
4546	NetworkEndBlackoutImage *InputLocation `locationName:"networkEndBlackoutImage" type:"structure"`
4547
4548	// Provides Network ID that matches EIDR ID format (e.g., "10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C").
4549	NetworkId *string `locationName:"networkId" min:"34" type:"string"`
4550
4551	// When set to enabled, causes video, audio and captions to be blanked when
4552	// indicated by program metadata.
4553	State *string `locationName:"state" type:"string" enum:"BlackoutSlateState"`
4554}
4555
4556// String returns the string representation
4557func (s BlackoutSlate) String() string {
4558	return awsutil.Prettify(s)
4559}
4560
4561// GoString returns the string representation
4562func (s BlackoutSlate) GoString() string {
4563	return s.String()
4564}
4565
4566// Validate inspects the fields of the type to determine if they are valid.
4567func (s *BlackoutSlate) Validate() error {
4568	invalidParams := request.ErrInvalidParams{Context: "BlackoutSlate"}
4569	if s.NetworkId != nil && len(*s.NetworkId) < 34 {
4570		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 34))
4571	}
4572	if s.BlackoutSlateImage != nil {
4573		if err := s.BlackoutSlateImage.Validate(); err != nil {
4574			invalidParams.AddNested("BlackoutSlateImage", err.(request.ErrInvalidParams))
4575		}
4576	}
4577	if s.NetworkEndBlackoutImage != nil {
4578		if err := s.NetworkEndBlackoutImage.Validate(); err != nil {
4579			invalidParams.AddNested("NetworkEndBlackoutImage", err.(request.ErrInvalidParams))
4580		}
4581	}
4582
4583	if invalidParams.Len() > 0 {
4584		return invalidParams
4585	}
4586	return nil
4587}
4588
4589// SetBlackoutSlateImage sets the BlackoutSlateImage field's value.
4590func (s *BlackoutSlate) SetBlackoutSlateImage(v *InputLocation) *BlackoutSlate {
4591	s.BlackoutSlateImage = v
4592	return s
4593}
4594
4595// SetNetworkEndBlackout sets the NetworkEndBlackout field's value.
4596func (s *BlackoutSlate) SetNetworkEndBlackout(v string) *BlackoutSlate {
4597	s.NetworkEndBlackout = &v
4598	return s
4599}
4600
4601// SetNetworkEndBlackoutImage sets the NetworkEndBlackoutImage field's value.
4602func (s *BlackoutSlate) SetNetworkEndBlackoutImage(v *InputLocation) *BlackoutSlate {
4603	s.NetworkEndBlackoutImage = v
4604	return s
4605}
4606
4607// SetNetworkId sets the NetworkId field's value.
4608func (s *BlackoutSlate) SetNetworkId(v string) *BlackoutSlate {
4609	s.NetworkId = &v
4610	return s
4611}
4612
4613// SetState sets the State field's value.
4614func (s *BlackoutSlate) SetState(v string) *BlackoutSlate {
4615	s.State = &v
4616	return s
4617}
4618
4619// Burn In Destination Settings
4620type BurnInDestinationSettings struct {
4621	_ struct{} `type:"structure"`
4622
4623	// If no explicit xPosition or yPosition is provided, setting alignment to centered
4624	// will place the captions at the bottom center of the output. Similarly, setting
4625	// a left alignment will align captions to the bottom left of the output. If
4626	// x and y positions are given in conjunction with the alignment parameter,
4627	// the font will be justified (either left or centered) relative to those coordinates.
4628	// Selecting "smart" justification will left-justify live subtitles and center-justify
4629	// pre-recorded subtitles. All burn-in and DVB-Sub font settings must match.
4630	Alignment *string `locationName:"alignment" type:"string" enum:"BurnInAlignment"`
4631
4632	// Specifies the color of the rectangle behind the captions. All burn-in and
4633	// DVB-Sub font settings must match.
4634	BackgroundColor *string `locationName:"backgroundColor" type:"string" enum:"BurnInBackgroundColor"`
4635
4636	// Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent.
4637	// Leaving this parameter out is equivalent to setting it to 0 (transparent).
4638	// All burn-in and DVB-Sub font settings must match.
4639	BackgroundOpacity *int64 `locationName:"backgroundOpacity" type:"integer"`
4640
4641	// External font file used for caption burn-in. File extension must be 'ttf'
4642	// or 'tte'. Although the user can select output fonts for many different types
4643	// of input captions, embedded, STL and teletext sources use a strict grid system.
4644	// Using external fonts with these caption sources could cause unexpected display
4645	// of proportional fonts. All burn-in and DVB-Sub font settings must match.
4646	Font *InputLocation `locationName:"font" type:"structure"`
4647
4648	// Specifies the color of the burned-in captions. This option is not valid for
4649	// source captions that are STL, 608/embedded or teletext. These source settings
4650	// are already pre-defined by the caption stream. All burn-in and DVB-Sub font
4651	// settings must match.
4652	FontColor *string `locationName:"fontColor" type:"string" enum:"BurnInFontColor"`
4653
4654	// Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent.
4655	// All burn-in and DVB-Sub font settings must match.
4656	FontOpacity *int64 `locationName:"fontOpacity" type:"integer"`
4657
4658	// Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and
4659	// DVB-Sub font settings must match.
4660	FontResolution *int64 `locationName:"fontResolution" min:"96" type:"integer"`
4661
4662	// When set to 'auto' fontSize will scale depending on the size of the output.
4663	// Giving a positive integer will specify the exact font size in points. All
4664	// burn-in and DVB-Sub font settings must match.
4665	FontSize *string `locationName:"fontSize" type:"string"`
4666
4667	// Specifies font outline color. This option is not valid for source captions
4668	// that are either 608/embedded or teletext. These source settings are already
4669	// pre-defined by the caption stream. All burn-in and DVB-Sub font settings
4670	// must match.
4671	OutlineColor *string `locationName:"outlineColor" type:"string" enum:"BurnInOutlineColor"`
4672
4673	// Specifies font outline size in pixels. This option is not valid for source
4674	// captions that are either 608/embedded or teletext. These source settings
4675	// are already pre-defined by the caption stream. All burn-in and DVB-Sub font
4676	// settings must match.
4677	OutlineSize *int64 `locationName:"outlineSize" type:"integer"`
4678
4679	// Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub
4680	// font settings must match.
4681	ShadowColor *string `locationName:"shadowColor" type:"string" enum:"BurnInShadowColor"`
4682
4683	// Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving
4684	// this parameter out is equivalent to setting it to 0 (transparent). All burn-in
4685	// and DVB-Sub font settings must match.
4686	ShadowOpacity *int64 `locationName:"shadowOpacity" type:"integer"`
4687
4688	// Specifies the horizontal offset of the shadow relative to the captions in
4689	// pixels. A value of -2 would result in a shadow offset 2 pixels to the left.
4690	// All burn-in and DVB-Sub font settings must match.
4691	ShadowXOffset *int64 `locationName:"shadowXOffset" type:"integer"`
4692
4693	// Specifies the vertical offset of the shadow relative to the captions in pixels.
4694	// A value of -2 would result in a shadow offset 2 pixels above the text. All
4695	// burn-in and DVB-Sub font settings must match.
4696	ShadowYOffset *int64 `locationName:"shadowYOffset" type:"integer"`
4697
4698	// Controls whether a fixed grid size will be used to generate the output subtitles
4699	// bitmap. Only applicable for Teletext inputs and DVB-Sub/Burn-in outputs.
4700	TeletextGridControl *string `locationName:"teletextGridControl" type:"string" enum:"BurnInTeletextGridControl"`
4701
4702	// Specifies the horizontal position of the caption relative to the left side
4703	// of the output in pixels. A value of 10 would result in the captions starting
4704	// 10 pixels from the left of the output. If no explicit xPosition is provided,
4705	// the horizontal caption position will be determined by the alignment parameter.
4706	// All burn-in and DVB-Sub font settings must match.
4707	XPosition *int64 `locationName:"xPosition" type:"integer"`
4708
4709	// Specifies the vertical position of the caption relative to the top of the
4710	// output in pixels. A value of 10 would result in the captions starting 10
4711	// pixels from the top of the output. If no explicit yPosition is provided,
4712	// the caption will be positioned towards the bottom of the output. All burn-in
4713	// and DVB-Sub font settings must match.
4714	YPosition *int64 `locationName:"yPosition" type:"integer"`
4715}
4716
4717// String returns the string representation
4718func (s BurnInDestinationSettings) String() string {
4719	return awsutil.Prettify(s)
4720}
4721
4722// GoString returns the string representation
4723func (s BurnInDestinationSettings) GoString() string {
4724	return s.String()
4725}
4726
4727// Validate inspects the fields of the type to determine if they are valid.
4728func (s *BurnInDestinationSettings) Validate() error {
4729	invalidParams := request.ErrInvalidParams{Context: "BurnInDestinationSettings"}
4730	if s.FontResolution != nil && *s.FontResolution < 96 {
4731		invalidParams.Add(request.NewErrParamMinValue("FontResolution", 96))
4732	}
4733	if s.Font != nil {
4734		if err := s.Font.Validate(); err != nil {
4735			invalidParams.AddNested("Font", err.(request.ErrInvalidParams))
4736		}
4737	}
4738
4739	if invalidParams.Len() > 0 {
4740		return invalidParams
4741	}
4742	return nil
4743}
4744
4745// SetAlignment sets the Alignment field's value.
4746func (s *BurnInDestinationSettings) SetAlignment(v string) *BurnInDestinationSettings {
4747	s.Alignment = &v
4748	return s
4749}
4750
4751// SetBackgroundColor sets the BackgroundColor field's value.
4752func (s *BurnInDestinationSettings) SetBackgroundColor(v string) *BurnInDestinationSettings {
4753	s.BackgroundColor = &v
4754	return s
4755}
4756
4757// SetBackgroundOpacity sets the BackgroundOpacity field's value.
4758func (s *BurnInDestinationSettings) SetBackgroundOpacity(v int64) *BurnInDestinationSettings {
4759	s.BackgroundOpacity = &v
4760	return s
4761}
4762
4763// SetFont sets the Font field's value.
4764func (s *BurnInDestinationSettings) SetFont(v *InputLocation) *BurnInDestinationSettings {
4765	s.Font = v
4766	return s
4767}
4768
4769// SetFontColor sets the FontColor field's value.
4770func (s *BurnInDestinationSettings) SetFontColor(v string) *BurnInDestinationSettings {
4771	s.FontColor = &v
4772	return s
4773}
4774
4775// SetFontOpacity sets the FontOpacity field's value.
4776func (s *BurnInDestinationSettings) SetFontOpacity(v int64) *BurnInDestinationSettings {
4777	s.FontOpacity = &v
4778	return s
4779}
4780
4781// SetFontResolution sets the FontResolution field's value.
4782func (s *BurnInDestinationSettings) SetFontResolution(v int64) *BurnInDestinationSettings {
4783	s.FontResolution = &v
4784	return s
4785}
4786
4787// SetFontSize sets the FontSize field's value.
4788func (s *BurnInDestinationSettings) SetFontSize(v string) *BurnInDestinationSettings {
4789	s.FontSize = &v
4790	return s
4791}
4792
4793// SetOutlineColor sets the OutlineColor field's value.
4794func (s *BurnInDestinationSettings) SetOutlineColor(v string) *BurnInDestinationSettings {
4795	s.OutlineColor = &v
4796	return s
4797}
4798
4799// SetOutlineSize sets the OutlineSize field's value.
4800func (s *BurnInDestinationSettings) SetOutlineSize(v int64) *BurnInDestinationSettings {
4801	s.OutlineSize = &v
4802	return s
4803}
4804
4805// SetShadowColor sets the ShadowColor field's value.
4806func (s *BurnInDestinationSettings) SetShadowColor(v string) *BurnInDestinationSettings {
4807	s.ShadowColor = &v
4808	return s
4809}
4810
4811// SetShadowOpacity sets the ShadowOpacity field's value.
4812func (s *BurnInDestinationSettings) SetShadowOpacity(v int64) *BurnInDestinationSettings {
4813	s.ShadowOpacity = &v
4814	return s
4815}
4816
4817// SetShadowXOffset sets the ShadowXOffset field's value.
4818func (s *BurnInDestinationSettings) SetShadowXOffset(v int64) *BurnInDestinationSettings {
4819	s.ShadowXOffset = &v
4820	return s
4821}
4822
4823// SetShadowYOffset sets the ShadowYOffset field's value.
4824func (s *BurnInDestinationSettings) SetShadowYOffset(v int64) *BurnInDestinationSettings {
4825	s.ShadowYOffset = &v
4826	return s
4827}
4828
4829// SetTeletextGridControl sets the TeletextGridControl field's value.
4830func (s *BurnInDestinationSettings) SetTeletextGridControl(v string) *BurnInDestinationSettings {
4831	s.TeletextGridControl = &v
4832	return s
4833}
4834
4835// SetXPosition sets the XPosition field's value.
4836func (s *BurnInDestinationSettings) SetXPosition(v int64) *BurnInDestinationSettings {
4837	s.XPosition = &v
4838	return s
4839}
4840
4841// SetYPosition sets the YPosition field's value.
4842func (s *BurnInDestinationSettings) SetYPosition(v int64) *BurnInDestinationSettings {
4843	s.YPosition = &v
4844	return s
4845}
4846
4847// Output groups for this Live Event. Output groups contain information about
4848// where streams should be distributed.
4849type CaptionDescription struct {
4850	_ struct{} `type:"structure"`
4851
4852	// Specifies which input caption selector to use as a caption source when generating
4853	// output captions. This field should match a captionSelector name.
4854	//
4855	// CaptionSelectorName is a required field
4856	CaptionSelectorName *string `locationName:"captionSelectorName" type:"string" required:"true"`
4857
4858	// Additional settings for captions destination that depend on the destination
4859	// type.
4860	DestinationSettings *CaptionDestinationSettings `locationName:"destinationSettings" type:"structure"`
4861
4862	// ISO 639-2 three-digit code: http://www.loc.gov/standards/iso639-2/
4863	LanguageCode *string `locationName:"languageCode" type:"string"`
4864
4865	// Human readable information to indicate captions available for players (eg.
4866	// English, or Spanish).
4867	LanguageDescription *string `locationName:"languageDescription" type:"string"`
4868
4869	// Name of the caption description. Used to associate a caption description
4870	// with an output. Names must be unique within an event.
4871	//
4872	// Name is a required field
4873	Name *string `locationName:"name" type:"string" required:"true"`
4874}
4875
4876// String returns the string representation
4877func (s CaptionDescription) String() string {
4878	return awsutil.Prettify(s)
4879}
4880
4881// GoString returns the string representation
4882func (s CaptionDescription) GoString() string {
4883	return s.String()
4884}
4885
4886// Validate inspects the fields of the type to determine if they are valid.
4887func (s *CaptionDescription) Validate() error {
4888	invalidParams := request.ErrInvalidParams{Context: "CaptionDescription"}
4889	if s.CaptionSelectorName == nil {
4890		invalidParams.Add(request.NewErrParamRequired("CaptionSelectorName"))
4891	}
4892	if s.Name == nil {
4893		invalidParams.Add(request.NewErrParamRequired("Name"))
4894	}
4895	if s.DestinationSettings != nil {
4896		if err := s.DestinationSettings.Validate(); err != nil {
4897			invalidParams.AddNested("DestinationSettings", err.(request.ErrInvalidParams))
4898		}
4899	}
4900
4901	if invalidParams.Len() > 0 {
4902		return invalidParams
4903	}
4904	return nil
4905}
4906
4907// SetCaptionSelectorName sets the CaptionSelectorName field's value.
4908func (s *CaptionDescription) SetCaptionSelectorName(v string) *CaptionDescription {
4909	s.CaptionSelectorName = &v
4910	return s
4911}
4912
4913// SetDestinationSettings sets the DestinationSettings field's value.
4914func (s *CaptionDescription) SetDestinationSettings(v *CaptionDestinationSettings) *CaptionDescription {
4915	s.DestinationSettings = v
4916	return s
4917}
4918
4919// SetLanguageCode sets the LanguageCode field's value.
4920func (s *CaptionDescription) SetLanguageCode(v string) *CaptionDescription {
4921	s.LanguageCode = &v
4922	return s
4923}
4924
4925// SetLanguageDescription sets the LanguageDescription field's value.
4926func (s *CaptionDescription) SetLanguageDescription(v string) *CaptionDescription {
4927	s.LanguageDescription = &v
4928	return s
4929}
4930
4931// SetName sets the Name field's value.
4932func (s *CaptionDescription) SetName(v string) *CaptionDescription {
4933	s.Name = &v
4934	return s
4935}
4936
4937// Caption Destination Settings
4938type CaptionDestinationSettings struct {
4939	_ struct{} `type:"structure"`
4940
4941	// Arib Destination Settings
4942	AribDestinationSettings *AribDestinationSettings `locationName:"aribDestinationSettings" type:"structure"`
4943
4944	// Burn In Destination Settings
4945	BurnInDestinationSettings *BurnInDestinationSettings `locationName:"burnInDestinationSettings" type:"structure"`
4946
4947	// Dvb Sub Destination Settings
4948	DvbSubDestinationSettings *DvbSubDestinationSettings `locationName:"dvbSubDestinationSettings" type:"structure"`
4949
4950	// Embedded Destination Settings
4951	EmbeddedDestinationSettings *EmbeddedDestinationSettings `locationName:"embeddedDestinationSettings" type:"structure"`
4952
4953	// Embedded Plus Scte20 Destination Settings
4954	EmbeddedPlusScte20DestinationSettings *EmbeddedPlusScte20DestinationSettings `locationName:"embeddedPlusScte20DestinationSettings" type:"structure"`
4955
4956	// Rtmp Caption Info Destination Settings
4957	RtmpCaptionInfoDestinationSettings *RtmpCaptionInfoDestinationSettings `locationName:"rtmpCaptionInfoDestinationSettings" type:"structure"`
4958
4959	// Scte20 Plus Embedded Destination Settings
4960	Scte20PlusEmbeddedDestinationSettings *Scte20PlusEmbeddedDestinationSettings `locationName:"scte20PlusEmbeddedDestinationSettings" type:"structure"`
4961
4962	// Scte27 Destination Settings
4963	Scte27DestinationSettings *Scte27DestinationSettings `locationName:"scte27DestinationSettings" type:"structure"`
4964
4965	// Smpte Tt Destination Settings
4966	SmpteTtDestinationSettings *SmpteTtDestinationSettings `locationName:"smpteTtDestinationSettings" type:"structure"`
4967
4968	// Teletext Destination Settings
4969	TeletextDestinationSettings *TeletextDestinationSettings `locationName:"teletextDestinationSettings" type:"structure"`
4970
4971	// Ttml Destination Settings
4972	TtmlDestinationSettings *TtmlDestinationSettings `locationName:"ttmlDestinationSettings" type:"structure"`
4973
4974	// Webvtt Destination Settings
4975	WebvttDestinationSettings *WebvttDestinationSettings `locationName:"webvttDestinationSettings" type:"structure"`
4976}
4977
4978// String returns the string representation
4979func (s CaptionDestinationSettings) String() string {
4980	return awsutil.Prettify(s)
4981}
4982
4983// GoString returns the string representation
4984func (s CaptionDestinationSettings) GoString() string {
4985	return s.String()
4986}
4987
4988// Validate inspects the fields of the type to determine if they are valid.
4989func (s *CaptionDestinationSettings) Validate() error {
4990	invalidParams := request.ErrInvalidParams{Context: "CaptionDestinationSettings"}
4991	if s.BurnInDestinationSettings != nil {
4992		if err := s.BurnInDestinationSettings.Validate(); err != nil {
4993			invalidParams.AddNested("BurnInDestinationSettings", err.(request.ErrInvalidParams))
4994		}
4995	}
4996	if s.DvbSubDestinationSettings != nil {
4997		if err := s.DvbSubDestinationSettings.Validate(); err != nil {
4998			invalidParams.AddNested("DvbSubDestinationSettings", err.(request.ErrInvalidParams))
4999		}
5000	}
5001
5002	if invalidParams.Len() > 0 {
5003		return invalidParams
5004	}
5005	return nil
5006}
5007
5008// SetAribDestinationSettings sets the AribDestinationSettings field's value.
5009func (s *CaptionDestinationSettings) SetAribDestinationSettings(v *AribDestinationSettings) *CaptionDestinationSettings {
5010	s.AribDestinationSettings = v
5011	return s
5012}
5013
5014// SetBurnInDestinationSettings sets the BurnInDestinationSettings field's value.
5015func (s *CaptionDestinationSettings) SetBurnInDestinationSettings(v *BurnInDestinationSettings) *CaptionDestinationSettings {
5016	s.BurnInDestinationSettings = v
5017	return s
5018}
5019
5020// SetDvbSubDestinationSettings sets the DvbSubDestinationSettings field's value.
5021func (s *CaptionDestinationSettings) SetDvbSubDestinationSettings(v *DvbSubDestinationSettings) *CaptionDestinationSettings {
5022	s.DvbSubDestinationSettings = v
5023	return s
5024}
5025
5026// SetEmbeddedDestinationSettings sets the EmbeddedDestinationSettings field's value.
5027func (s *CaptionDestinationSettings) SetEmbeddedDestinationSettings(v *EmbeddedDestinationSettings) *CaptionDestinationSettings {
5028	s.EmbeddedDestinationSettings = v
5029	return s
5030}
5031
5032// SetEmbeddedPlusScte20DestinationSettings sets the EmbeddedPlusScte20DestinationSettings field's value.
5033func (s *CaptionDestinationSettings) SetEmbeddedPlusScte20DestinationSettings(v *EmbeddedPlusScte20DestinationSettings) *CaptionDestinationSettings {
5034	s.EmbeddedPlusScte20DestinationSettings = v
5035	return s
5036}
5037
5038// SetRtmpCaptionInfoDestinationSettings sets the RtmpCaptionInfoDestinationSettings field's value.
5039func (s *CaptionDestinationSettings) SetRtmpCaptionInfoDestinationSettings(v *RtmpCaptionInfoDestinationSettings) *CaptionDestinationSettings {
5040	s.RtmpCaptionInfoDestinationSettings = v
5041	return s
5042}
5043
5044// SetScte20PlusEmbeddedDestinationSettings sets the Scte20PlusEmbeddedDestinationSettings field's value.
5045func (s *CaptionDestinationSettings) SetScte20PlusEmbeddedDestinationSettings(v *Scte20PlusEmbeddedDestinationSettings) *CaptionDestinationSettings {
5046	s.Scte20PlusEmbeddedDestinationSettings = v
5047	return s
5048}
5049
5050// SetScte27DestinationSettings sets the Scte27DestinationSettings field's value.
5051func (s *CaptionDestinationSettings) SetScte27DestinationSettings(v *Scte27DestinationSettings) *CaptionDestinationSettings {
5052	s.Scte27DestinationSettings = v
5053	return s
5054}
5055
5056// SetSmpteTtDestinationSettings sets the SmpteTtDestinationSettings field's value.
5057func (s *CaptionDestinationSettings) SetSmpteTtDestinationSettings(v *SmpteTtDestinationSettings) *CaptionDestinationSettings {
5058	s.SmpteTtDestinationSettings = v
5059	return s
5060}
5061
5062// SetTeletextDestinationSettings sets the TeletextDestinationSettings field's value.
5063func (s *CaptionDestinationSettings) SetTeletextDestinationSettings(v *TeletextDestinationSettings) *CaptionDestinationSettings {
5064	s.TeletextDestinationSettings = v
5065	return s
5066}
5067
5068// SetTtmlDestinationSettings sets the TtmlDestinationSettings field's value.
5069func (s *CaptionDestinationSettings) SetTtmlDestinationSettings(v *TtmlDestinationSettings) *CaptionDestinationSettings {
5070	s.TtmlDestinationSettings = v
5071	return s
5072}
5073
5074// SetWebvttDestinationSettings sets the WebvttDestinationSettings field's value.
5075func (s *CaptionDestinationSettings) SetWebvttDestinationSettings(v *WebvttDestinationSettings) *CaptionDestinationSettings {
5076	s.WebvttDestinationSettings = v
5077	return s
5078}
5079
5080// Maps a caption channel to an ISO 693-2 language code (http://www.loc.gov/standards/iso639-2),
5081// with an optional description.
5082type CaptionLanguageMapping struct {
5083	_ struct{} `type:"structure"`
5084
5085	// The closed caption channel being described by this CaptionLanguageMapping.
5086	// Each channel mapping must have a unique channel number (maximum of 4)
5087	//
5088	// CaptionChannel is a required field
5089	CaptionChannel *int64 `locationName:"captionChannel" min:"1" type:"integer" required:"true"`
5090
5091	// Three character ISO 639-2 language code (see http://www.loc.gov/standards/iso639-2)
5092	//
5093	// LanguageCode is a required field
5094	LanguageCode *string `locationName:"languageCode" min:"3" type:"string" required:"true"`
5095
5096	// Textual description of language
5097	//
5098	// LanguageDescription is a required field
5099	LanguageDescription *string `locationName:"languageDescription" min:"1" type:"string" required:"true"`
5100}
5101
5102// String returns the string representation
5103func (s CaptionLanguageMapping) String() string {
5104	return awsutil.Prettify(s)
5105}
5106
5107// GoString returns the string representation
5108func (s CaptionLanguageMapping) GoString() string {
5109	return s.String()
5110}
5111
5112// Validate inspects the fields of the type to determine if they are valid.
5113func (s *CaptionLanguageMapping) Validate() error {
5114	invalidParams := request.ErrInvalidParams{Context: "CaptionLanguageMapping"}
5115	if s.CaptionChannel == nil {
5116		invalidParams.Add(request.NewErrParamRequired("CaptionChannel"))
5117	}
5118	if s.CaptionChannel != nil && *s.CaptionChannel < 1 {
5119		invalidParams.Add(request.NewErrParamMinValue("CaptionChannel", 1))
5120	}
5121	if s.LanguageCode == nil {
5122		invalidParams.Add(request.NewErrParamRequired("LanguageCode"))
5123	}
5124	if s.LanguageCode != nil && len(*s.LanguageCode) < 3 {
5125		invalidParams.Add(request.NewErrParamMinLen("LanguageCode", 3))
5126	}
5127	if s.LanguageDescription == nil {
5128		invalidParams.Add(request.NewErrParamRequired("LanguageDescription"))
5129	}
5130	if s.LanguageDescription != nil && len(*s.LanguageDescription) < 1 {
5131		invalidParams.Add(request.NewErrParamMinLen("LanguageDescription", 1))
5132	}
5133
5134	if invalidParams.Len() > 0 {
5135		return invalidParams
5136	}
5137	return nil
5138}
5139
5140// SetCaptionChannel sets the CaptionChannel field's value.
5141func (s *CaptionLanguageMapping) SetCaptionChannel(v int64) *CaptionLanguageMapping {
5142	s.CaptionChannel = &v
5143	return s
5144}
5145
5146// SetLanguageCode sets the LanguageCode field's value.
5147func (s *CaptionLanguageMapping) SetLanguageCode(v string) *CaptionLanguageMapping {
5148	s.LanguageCode = &v
5149	return s
5150}
5151
5152// SetLanguageDescription sets the LanguageDescription field's value.
5153func (s *CaptionLanguageMapping) SetLanguageDescription(v string) *CaptionLanguageMapping {
5154	s.LanguageDescription = &v
5155	return s
5156}
5157
5158// Output groups for this Live Event. Output groups contain information about
5159// where streams should be distributed.
5160type CaptionSelector struct {
5161	_ struct{} `type:"structure"`
5162
5163	// When specified this field indicates the three letter language code of the
5164	// caption track to extract from the source.
5165	LanguageCode *string `locationName:"languageCode" type:"string"`
5166
5167	// Name identifier for a caption selector. This name is used to associate this
5168	// caption selector with one or more caption descriptions. Names must be unique
5169	// within an event.
5170	//
5171	// Name is a required field
5172	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
5173
5174	// Caption selector settings.
5175	SelectorSettings *CaptionSelectorSettings `locationName:"selectorSettings" type:"structure"`
5176}
5177
5178// String returns the string representation
5179func (s CaptionSelector) String() string {
5180	return awsutil.Prettify(s)
5181}
5182
5183// GoString returns the string representation
5184func (s CaptionSelector) GoString() string {
5185	return s.String()
5186}
5187
5188// Validate inspects the fields of the type to determine if they are valid.
5189func (s *CaptionSelector) Validate() error {
5190	invalidParams := request.ErrInvalidParams{Context: "CaptionSelector"}
5191	if s.Name == nil {
5192		invalidParams.Add(request.NewErrParamRequired("Name"))
5193	}
5194	if s.Name != nil && len(*s.Name) < 1 {
5195		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5196	}
5197	if s.SelectorSettings != nil {
5198		if err := s.SelectorSettings.Validate(); err != nil {
5199			invalidParams.AddNested("SelectorSettings", err.(request.ErrInvalidParams))
5200		}
5201	}
5202
5203	if invalidParams.Len() > 0 {
5204		return invalidParams
5205	}
5206	return nil
5207}
5208
5209// SetLanguageCode sets the LanguageCode field's value.
5210func (s *CaptionSelector) SetLanguageCode(v string) *CaptionSelector {
5211	s.LanguageCode = &v
5212	return s
5213}
5214
5215// SetName sets the Name field's value.
5216func (s *CaptionSelector) SetName(v string) *CaptionSelector {
5217	s.Name = &v
5218	return s
5219}
5220
5221// SetSelectorSettings sets the SelectorSettings field's value.
5222func (s *CaptionSelector) SetSelectorSettings(v *CaptionSelectorSettings) *CaptionSelector {
5223	s.SelectorSettings = v
5224	return s
5225}
5226
5227// Caption Selector Settings
5228type CaptionSelectorSettings struct {
5229	_ struct{} `type:"structure"`
5230
5231	// Arib Source Settings
5232	AribSourceSettings *AribSourceSettings `locationName:"aribSourceSettings" type:"structure"`
5233
5234	// Dvb Sub Source Settings
5235	DvbSubSourceSettings *DvbSubSourceSettings `locationName:"dvbSubSourceSettings" type:"structure"`
5236
5237	// Embedded Source Settings
5238	EmbeddedSourceSettings *EmbeddedSourceSettings `locationName:"embeddedSourceSettings" type:"structure"`
5239
5240	// Scte20 Source Settings
5241	Scte20SourceSettings *Scte20SourceSettings `locationName:"scte20SourceSettings" type:"structure"`
5242
5243	// Scte27 Source Settings
5244	Scte27SourceSettings *Scte27SourceSettings `locationName:"scte27SourceSettings" type:"structure"`
5245
5246	// Teletext Source Settings
5247	TeletextSourceSettings *TeletextSourceSettings `locationName:"teletextSourceSettings" type:"structure"`
5248}
5249
5250// String returns the string representation
5251func (s CaptionSelectorSettings) String() string {
5252	return awsutil.Prettify(s)
5253}
5254
5255// GoString returns the string representation
5256func (s CaptionSelectorSettings) GoString() string {
5257	return s.String()
5258}
5259
5260// Validate inspects the fields of the type to determine if they are valid.
5261func (s *CaptionSelectorSettings) Validate() error {
5262	invalidParams := request.ErrInvalidParams{Context: "CaptionSelectorSettings"}
5263	if s.DvbSubSourceSettings != nil {
5264		if err := s.DvbSubSourceSettings.Validate(); err != nil {
5265			invalidParams.AddNested("DvbSubSourceSettings", err.(request.ErrInvalidParams))
5266		}
5267	}
5268	if s.EmbeddedSourceSettings != nil {
5269		if err := s.EmbeddedSourceSettings.Validate(); err != nil {
5270			invalidParams.AddNested("EmbeddedSourceSettings", err.(request.ErrInvalidParams))
5271		}
5272	}
5273	if s.Scte20SourceSettings != nil {
5274		if err := s.Scte20SourceSettings.Validate(); err != nil {
5275			invalidParams.AddNested("Scte20SourceSettings", err.(request.ErrInvalidParams))
5276		}
5277	}
5278	if s.Scte27SourceSettings != nil {
5279		if err := s.Scte27SourceSettings.Validate(); err != nil {
5280			invalidParams.AddNested("Scte27SourceSettings", err.(request.ErrInvalidParams))
5281		}
5282	}
5283
5284	if invalidParams.Len() > 0 {
5285		return invalidParams
5286	}
5287	return nil
5288}
5289
5290// SetAribSourceSettings sets the AribSourceSettings field's value.
5291func (s *CaptionSelectorSettings) SetAribSourceSettings(v *AribSourceSettings) *CaptionSelectorSettings {
5292	s.AribSourceSettings = v
5293	return s
5294}
5295
5296// SetDvbSubSourceSettings sets the DvbSubSourceSettings field's value.
5297func (s *CaptionSelectorSettings) SetDvbSubSourceSettings(v *DvbSubSourceSettings) *CaptionSelectorSettings {
5298	s.DvbSubSourceSettings = v
5299	return s
5300}
5301
5302// SetEmbeddedSourceSettings sets the EmbeddedSourceSettings field's value.
5303func (s *CaptionSelectorSettings) SetEmbeddedSourceSettings(v *EmbeddedSourceSettings) *CaptionSelectorSettings {
5304	s.EmbeddedSourceSettings = v
5305	return s
5306}
5307
5308// SetScte20SourceSettings sets the Scte20SourceSettings field's value.
5309func (s *CaptionSelectorSettings) SetScte20SourceSettings(v *Scte20SourceSettings) *CaptionSelectorSettings {
5310	s.Scte20SourceSettings = v
5311	return s
5312}
5313
5314// SetScte27SourceSettings sets the Scte27SourceSettings field's value.
5315func (s *CaptionSelectorSettings) SetScte27SourceSettings(v *Scte27SourceSettings) *CaptionSelectorSettings {
5316	s.Scte27SourceSettings = v
5317	return s
5318}
5319
5320// SetTeletextSourceSettings sets the TeletextSourceSettings field's value.
5321func (s *CaptionSelectorSettings) SetTeletextSourceSettings(v *TeletextSourceSettings) *CaptionSelectorSettings {
5322	s.TeletextSourceSettings = v
5323	return s
5324}
5325
5326type Channel struct {
5327	_ struct{} `type:"structure"`
5328
5329	// The unique arn of the channel.
5330	Arn *string `locationName:"arn" type:"string"`
5331
5332	// The class for this channel. STANDARD for a channel with two pipelines or
5333	// SINGLE_PIPELINE for a channel with one pipeline.
5334	ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"`
5335
5336	// A list of destinations of the channel. For UDP outputs, there is onedestination
5337	// per output. For other types (HLS, for example), there isone destination per
5338	// packager.
5339	Destinations []*OutputDestination `locationName:"destinations" type:"list"`
5340
5341	// The endpoints where outgoing connections initiate from
5342	EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"`
5343
5344	// Encoder Settings
5345	EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"`
5346
5347	// The unique id of the channel.
5348	Id *string `locationName:"id" type:"string"`
5349
5350	// List of input attachments for channel.
5351	InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"`
5352
5353	InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"`
5354
5355	// The log level being written to CloudWatch Logs.
5356	LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"`
5357
5358	// The name of the channel. (user-mutable)
5359	Name *string `locationName:"name" type:"string"`
5360
5361	// The number of currently healthy pipelines.
5362	PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"`
5363
5364	// The Amazon Resource Name (ARN) of the role assumed when running the Channel.
5365	RoleArn *string `locationName:"roleArn" type:"string"`
5366
5367	State *string `locationName:"state" type:"string" enum:"ChannelState"`
5368
5369	// A collection of key-value pairs.
5370	Tags map[string]*string `locationName:"tags" type:"map"`
5371}
5372
5373// String returns the string representation
5374func (s Channel) String() string {
5375	return awsutil.Prettify(s)
5376}
5377
5378// GoString returns the string representation
5379func (s Channel) GoString() string {
5380	return s.String()
5381}
5382
5383// SetArn sets the Arn field's value.
5384func (s *Channel) SetArn(v string) *Channel {
5385	s.Arn = &v
5386	return s
5387}
5388
5389// SetChannelClass sets the ChannelClass field's value.
5390func (s *Channel) SetChannelClass(v string) *Channel {
5391	s.ChannelClass = &v
5392	return s
5393}
5394
5395// SetDestinations sets the Destinations field's value.
5396func (s *Channel) SetDestinations(v []*OutputDestination) *Channel {
5397	s.Destinations = v
5398	return s
5399}
5400
5401// SetEgressEndpoints sets the EgressEndpoints field's value.
5402func (s *Channel) SetEgressEndpoints(v []*ChannelEgressEndpoint) *Channel {
5403	s.EgressEndpoints = v
5404	return s
5405}
5406
5407// SetEncoderSettings sets the EncoderSettings field's value.
5408func (s *Channel) SetEncoderSettings(v *EncoderSettings) *Channel {
5409	s.EncoderSettings = v
5410	return s
5411}
5412
5413// SetId sets the Id field's value.
5414func (s *Channel) SetId(v string) *Channel {
5415	s.Id = &v
5416	return s
5417}
5418
5419// SetInputAttachments sets the InputAttachments field's value.
5420func (s *Channel) SetInputAttachments(v []*InputAttachment) *Channel {
5421	s.InputAttachments = v
5422	return s
5423}
5424
5425// SetInputSpecification sets the InputSpecification field's value.
5426func (s *Channel) SetInputSpecification(v *InputSpecification) *Channel {
5427	s.InputSpecification = v
5428	return s
5429}
5430
5431// SetLogLevel sets the LogLevel field's value.
5432func (s *Channel) SetLogLevel(v string) *Channel {
5433	s.LogLevel = &v
5434	return s
5435}
5436
5437// SetName sets the Name field's value.
5438func (s *Channel) SetName(v string) *Channel {
5439	s.Name = &v
5440	return s
5441}
5442
5443// SetPipelinesRunningCount sets the PipelinesRunningCount field's value.
5444func (s *Channel) SetPipelinesRunningCount(v int64) *Channel {
5445	s.PipelinesRunningCount = &v
5446	return s
5447}
5448
5449// SetRoleArn sets the RoleArn field's value.
5450func (s *Channel) SetRoleArn(v string) *Channel {
5451	s.RoleArn = &v
5452	return s
5453}
5454
5455// SetState sets the State field's value.
5456func (s *Channel) SetState(v string) *Channel {
5457	s.State = &v
5458	return s
5459}
5460
5461// SetTags sets the Tags field's value.
5462func (s *Channel) SetTags(v map[string]*string) *Channel {
5463	s.Tags = v
5464	return s
5465}
5466
5467type ChannelEgressEndpoint struct {
5468	_ struct{} `type:"structure"`
5469
5470	// Public IP of where a channel's output comes from
5471	SourceIp *string `locationName:"sourceIp" type:"string"`
5472}
5473
5474// String returns the string representation
5475func (s ChannelEgressEndpoint) String() string {
5476	return awsutil.Prettify(s)
5477}
5478
5479// GoString returns the string representation
5480func (s ChannelEgressEndpoint) GoString() string {
5481	return s.String()
5482}
5483
5484// SetSourceIp sets the SourceIp field's value.
5485func (s *ChannelEgressEndpoint) SetSourceIp(v string) *ChannelEgressEndpoint {
5486	s.SourceIp = &v
5487	return s
5488}
5489
5490type ChannelSummary struct {
5491	_ struct{} `type:"structure"`
5492
5493	// The unique arn of the channel.
5494	Arn *string `locationName:"arn" type:"string"`
5495
5496	// The class for this channel. STANDARD for a channel with two pipelines or
5497	// SINGLE_PIPELINE for a channel with one pipeline.
5498	ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"`
5499
5500	// A list of destinations of the channel. For UDP outputs, there is onedestination
5501	// per output. For other types (HLS, for example), there isone destination per
5502	// packager.
5503	Destinations []*OutputDestination `locationName:"destinations" type:"list"`
5504
5505	// The endpoints where outgoing connections initiate from
5506	EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"`
5507
5508	// The unique id of the channel.
5509	Id *string `locationName:"id" type:"string"`
5510
5511	// List of input attachments for channel.
5512	InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"`
5513
5514	InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"`
5515
5516	// The log level being written to CloudWatch Logs.
5517	LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"`
5518
5519	// The name of the channel. (user-mutable)
5520	Name *string `locationName:"name" type:"string"`
5521
5522	// The number of currently healthy pipelines.
5523	PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"`
5524
5525	// The Amazon Resource Name (ARN) of the role assumed when running the Channel.
5526	RoleArn *string `locationName:"roleArn" type:"string"`
5527
5528	State *string `locationName:"state" type:"string" enum:"ChannelState"`
5529
5530	// A collection of key-value pairs.
5531	Tags map[string]*string `locationName:"tags" type:"map"`
5532}
5533
5534// String returns the string representation
5535func (s ChannelSummary) String() string {
5536	return awsutil.Prettify(s)
5537}
5538
5539// GoString returns the string representation
5540func (s ChannelSummary) GoString() string {
5541	return s.String()
5542}
5543
5544// SetArn sets the Arn field's value.
5545func (s *ChannelSummary) SetArn(v string) *ChannelSummary {
5546	s.Arn = &v
5547	return s
5548}
5549
5550// SetChannelClass sets the ChannelClass field's value.
5551func (s *ChannelSummary) SetChannelClass(v string) *ChannelSummary {
5552	s.ChannelClass = &v
5553	return s
5554}
5555
5556// SetDestinations sets the Destinations field's value.
5557func (s *ChannelSummary) SetDestinations(v []*OutputDestination) *ChannelSummary {
5558	s.Destinations = v
5559	return s
5560}
5561
5562// SetEgressEndpoints sets the EgressEndpoints field's value.
5563func (s *ChannelSummary) SetEgressEndpoints(v []*ChannelEgressEndpoint) *ChannelSummary {
5564	s.EgressEndpoints = v
5565	return s
5566}
5567
5568// SetId sets the Id field's value.
5569func (s *ChannelSummary) SetId(v string) *ChannelSummary {
5570	s.Id = &v
5571	return s
5572}
5573
5574// SetInputAttachments sets the InputAttachments field's value.
5575func (s *ChannelSummary) SetInputAttachments(v []*InputAttachment) *ChannelSummary {
5576	s.InputAttachments = v
5577	return s
5578}
5579
5580// SetInputSpecification sets the InputSpecification field's value.
5581func (s *ChannelSummary) SetInputSpecification(v *InputSpecification) *ChannelSummary {
5582	s.InputSpecification = v
5583	return s
5584}
5585
5586// SetLogLevel sets the LogLevel field's value.
5587func (s *ChannelSummary) SetLogLevel(v string) *ChannelSummary {
5588	s.LogLevel = &v
5589	return s
5590}
5591
5592// SetName sets the Name field's value.
5593func (s *ChannelSummary) SetName(v string) *ChannelSummary {
5594	s.Name = &v
5595	return s
5596}
5597
5598// SetPipelinesRunningCount sets the PipelinesRunningCount field's value.
5599func (s *ChannelSummary) SetPipelinesRunningCount(v int64) *ChannelSummary {
5600	s.PipelinesRunningCount = &v
5601	return s
5602}
5603
5604// SetRoleArn sets the RoleArn field's value.
5605func (s *ChannelSummary) SetRoleArn(v string) *ChannelSummary {
5606	s.RoleArn = &v
5607	return s
5608}
5609
5610// SetState sets the State field's value.
5611func (s *ChannelSummary) SetState(v string) *ChannelSummary {
5612	s.State = &v
5613	return s
5614}
5615
5616// SetTags sets the Tags field's value.
5617func (s *ChannelSummary) SetTags(v map[string]*string) *ChannelSummary {
5618	s.Tags = v
5619	return s
5620}
5621
5622type CreateChannelInput struct {
5623	_ struct{} `type:"structure"`
5624
5625	// A standard channel has two encoding pipelines and a single pipeline channel
5626	// only has one.
5627	ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"`
5628
5629	Destinations []*OutputDestination `locationName:"destinations" type:"list"`
5630
5631	// Encoder Settings
5632	EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"`
5633
5634	InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"`
5635
5636	InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"`
5637
5638	// The log level the user wants for their channel.
5639	LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"`
5640
5641	Name *string `locationName:"name" type:"string"`
5642
5643	RequestId *string `locationName:"requestId" type:"string" idempotencyToken:"true"`
5644
5645	Reserved *string `locationName:"reserved" deprecated:"true" type:"string"`
5646
5647	RoleArn *string `locationName:"roleArn" type:"string"`
5648
5649	Tags map[string]*string `locationName:"tags" type:"map"`
5650}
5651
5652// String returns the string representation
5653func (s CreateChannelInput) String() string {
5654	return awsutil.Prettify(s)
5655}
5656
5657// GoString returns the string representation
5658func (s CreateChannelInput) GoString() string {
5659	return s.String()
5660}
5661
5662// Validate inspects the fields of the type to determine if they are valid.
5663func (s *CreateChannelInput) Validate() error {
5664	invalidParams := request.ErrInvalidParams{Context: "CreateChannelInput"}
5665	if s.Destinations != nil {
5666		for i, v := range s.Destinations {
5667			if v == nil {
5668				continue
5669			}
5670			if err := v.Validate(); err != nil {
5671				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Destinations", i), err.(request.ErrInvalidParams))
5672			}
5673		}
5674	}
5675	if s.EncoderSettings != nil {
5676		if err := s.EncoderSettings.Validate(); err != nil {
5677			invalidParams.AddNested("EncoderSettings", err.(request.ErrInvalidParams))
5678		}
5679	}
5680	if s.InputAttachments != nil {
5681		for i, v := range s.InputAttachments {
5682			if v == nil {
5683				continue
5684			}
5685			if err := v.Validate(); err != nil {
5686				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputAttachments", i), err.(request.ErrInvalidParams))
5687			}
5688		}
5689	}
5690
5691	if invalidParams.Len() > 0 {
5692		return invalidParams
5693	}
5694	return nil
5695}
5696
5697// SetChannelClass sets the ChannelClass field's value.
5698func (s *CreateChannelInput) SetChannelClass(v string) *CreateChannelInput {
5699	s.ChannelClass = &v
5700	return s
5701}
5702
5703// SetDestinations sets the Destinations field's value.
5704func (s *CreateChannelInput) SetDestinations(v []*OutputDestination) *CreateChannelInput {
5705	s.Destinations = v
5706	return s
5707}
5708
5709// SetEncoderSettings sets the EncoderSettings field's value.
5710func (s *CreateChannelInput) SetEncoderSettings(v *EncoderSettings) *CreateChannelInput {
5711	s.EncoderSettings = v
5712	return s
5713}
5714
5715// SetInputAttachments sets the InputAttachments field's value.
5716func (s *CreateChannelInput) SetInputAttachments(v []*InputAttachment) *CreateChannelInput {
5717	s.InputAttachments = v
5718	return s
5719}
5720
5721// SetInputSpecification sets the InputSpecification field's value.
5722func (s *CreateChannelInput) SetInputSpecification(v *InputSpecification) *CreateChannelInput {
5723	s.InputSpecification = v
5724	return s
5725}
5726
5727// SetLogLevel sets the LogLevel field's value.
5728func (s *CreateChannelInput) SetLogLevel(v string) *CreateChannelInput {
5729	s.LogLevel = &v
5730	return s
5731}
5732
5733// SetName sets the Name field's value.
5734func (s *CreateChannelInput) SetName(v string) *CreateChannelInput {
5735	s.Name = &v
5736	return s
5737}
5738
5739// SetRequestId sets the RequestId field's value.
5740func (s *CreateChannelInput) SetRequestId(v string) *CreateChannelInput {
5741	s.RequestId = &v
5742	return s
5743}
5744
5745// SetReserved sets the Reserved field's value.
5746func (s *CreateChannelInput) SetReserved(v string) *CreateChannelInput {
5747	s.Reserved = &v
5748	return s
5749}
5750
5751// SetRoleArn sets the RoleArn field's value.
5752func (s *CreateChannelInput) SetRoleArn(v string) *CreateChannelInput {
5753	s.RoleArn = &v
5754	return s
5755}
5756
5757// SetTags sets the Tags field's value.
5758func (s *CreateChannelInput) SetTags(v map[string]*string) *CreateChannelInput {
5759	s.Tags = v
5760	return s
5761}
5762
5763type CreateChannelOutput struct {
5764	_ struct{} `type:"structure"`
5765
5766	Channel *Channel `locationName:"channel" type:"structure"`
5767}
5768
5769// String returns the string representation
5770func (s CreateChannelOutput) String() string {
5771	return awsutil.Prettify(s)
5772}
5773
5774// GoString returns the string representation
5775func (s CreateChannelOutput) GoString() string {
5776	return s.String()
5777}
5778
5779// SetChannel sets the Channel field's value.
5780func (s *CreateChannelOutput) SetChannel(v *Channel) *CreateChannelOutput {
5781	s.Channel = v
5782	return s
5783}
5784
5785type CreateInputInput struct {
5786	_ struct{} `type:"structure"`
5787
5788	Destinations []*InputDestinationRequest `locationName:"destinations" type:"list"`
5789
5790	InputSecurityGroups []*string `locationName:"inputSecurityGroups" type:"list"`
5791
5792	MediaConnectFlows []*MediaConnectFlowRequest `locationName:"mediaConnectFlows" type:"list"`
5793
5794	Name *string `locationName:"name" type:"string"`
5795
5796	RequestId *string `locationName:"requestId" type:"string" idempotencyToken:"true"`
5797
5798	RoleArn *string `locationName:"roleArn" type:"string"`
5799
5800	Sources []*InputSourceRequest `locationName:"sources" type:"list"`
5801
5802	Tags map[string]*string `locationName:"tags" type:"map"`
5803
5804	Type *string `locationName:"type" type:"string" enum:"InputType"`
5805
5806	// Settings for a private VPC Input.When this property is specified, the input
5807	// destination addresses will be created in a VPC rather than with public Internet
5808	// addresses.This property requires setting the roleArn property on Input creation.Not
5809	// compatible with the inputSecurityGroups property.
5810	Vpc *InputVpcRequest `locationName:"vpc" type:"structure"`
5811}
5812
5813// String returns the string representation
5814func (s CreateInputInput) String() string {
5815	return awsutil.Prettify(s)
5816}
5817
5818// GoString returns the string representation
5819func (s CreateInputInput) GoString() string {
5820	return s.String()
5821}
5822
5823// Validate inspects the fields of the type to determine if they are valid.
5824func (s *CreateInputInput) Validate() error {
5825	invalidParams := request.ErrInvalidParams{Context: "CreateInputInput"}
5826	if s.Vpc != nil {
5827		if err := s.Vpc.Validate(); err != nil {
5828			invalidParams.AddNested("Vpc", err.(request.ErrInvalidParams))
5829		}
5830	}
5831
5832	if invalidParams.Len() > 0 {
5833		return invalidParams
5834	}
5835	return nil
5836}
5837
5838// SetDestinations sets the Destinations field's value.
5839func (s *CreateInputInput) SetDestinations(v []*InputDestinationRequest) *CreateInputInput {
5840	s.Destinations = v
5841	return s
5842}
5843
5844// SetInputSecurityGroups sets the InputSecurityGroups field's value.
5845func (s *CreateInputInput) SetInputSecurityGroups(v []*string) *CreateInputInput {
5846	s.InputSecurityGroups = v
5847	return s
5848}
5849
5850// SetMediaConnectFlows sets the MediaConnectFlows field's value.
5851func (s *CreateInputInput) SetMediaConnectFlows(v []*MediaConnectFlowRequest) *CreateInputInput {
5852	s.MediaConnectFlows = v
5853	return s
5854}
5855
5856// SetName sets the Name field's value.
5857func (s *CreateInputInput) SetName(v string) *CreateInputInput {
5858	s.Name = &v
5859	return s
5860}
5861
5862// SetRequestId sets the RequestId field's value.
5863func (s *CreateInputInput) SetRequestId(v string) *CreateInputInput {
5864	s.RequestId = &v
5865	return s
5866}
5867
5868// SetRoleArn sets the RoleArn field's value.
5869func (s *CreateInputInput) SetRoleArn(v string) *CreateInputInput {
5870	s.RoleArn = &v
5871	return s
5872}
5873
5874// SetSources sets the Sources field's value.
5875func (s *CreateInputInput) SetSources(v []*InputSourceRequest) *CreateInputInput {
5876	s.Sources = v
5877	return s
5878}
5879
5880// SetTags sets the Tags field's value.
5881func (s *CreateInputInput) SetTags(v map[string]*string) *CreateInputInput {
5882	s.Tags = v
5883	return s
5884}
5885
5886// SetType sets the Type field's value.
5887func (s *CreateInputInput) SetType(v string) *CreateInputInput {
5888	s.Type = &v
5889	return s
5890}
5891
5892// SetVpc sets the Vpc field's value.
5893func (s *CreateInputInput) SetVpc(v *InputVpcRequest) *CreateInputInput {
5894	s.Vpc = v
5895	return s
5896}
5897
5898type CreateInputOutput struct {
5899	_ struct{} `type:"structure"`
5900
5901	Input *Input `locationName:"input" type:"structure"`
5902}
5903
5904// String returns the string representation
5905func (s CreateInputOutput) String() string {
5906	return awsutil.Prettify(s)
5907}
5908
5909// GoString returns the string representation
5910func (s CreateInputOutput) GoString() string {
5911	return s.String()
5912}
5913
5914// SetInput sets the Input field's value.
5915func (s *CreateInputOutput) SetInput(v *Input) *CreateInputOutput {
5916	s.Input = v
5917	return s
5918}
5919
5920type CreateInputSecurityGroupInput struct {
5921	_ struct{} `type:"structure"`
5922
5923	Tags map[string]*string `locationName:"tags" type:"map"`
5924
5925	WhitelistRules []*InputWhitelistRuleCidr `locationName:"whitelistRules" type:"list"`
5926}
5927
5928// String returns the string representation
5929func (s CreateInputSecurityGroupInput) String() string {
5930	return awsutil.Prettify(s)
5931}
5932
5933// GoString returns the string representation
5934func (s CreateInputSecurityGroupInput) GoString() string {
5935	return s.String()
5936}
5937
5938// SetTags sets the Tags field's value.
5939func (s *CreateInputSecurityGroupInput) SetTags(v map[string]*string) *CreateInputSecurityGroupInput {
5940	s.Tags = v
5941	return s
5942}
5943
5944// SetWhitelistRules sets the WhitelistRules field's value.
5945func (s *CreateInputSecurityGroupInput) SetWhitelistRules(v []*InputWhitelistRuleCidr) *CreateInputSecurityGroupInput {
5946	s.WhitelistRules = v
5947	return s
5948}
5949
5950type CreateInputSecurityGroupOutput struct {
5951	_ struct{} `type:"structure"`
5952
5953	// An Input Security Group
5954	SecurityGroup *InputSecurityGroup `locationName:"securityGroup" type:"structure"`
5955}
5956
5957// String returns the string representation
5958func (s CreateInputSecurityGroupOutput) String() string {
5959	return awsutil.Prettify(s)
5960}
5961
5962// GoString returns the string representation
5963func (s CreateInputSecurityGroupOutput) GoString() string {
5964	return s.String()
5965}
5966
5967// SetSecurityGroup sets the SecurityGroup field's value.
5968func (s *CreateInputSecurityGroupOutput) SetSecurityGroup(v *InputSecurityGroup) *CreateInputSecurityGroupOutput {
5969	s.SecurityGroup = v
5970	return s
5971}
5972
5973type CreateTagsInput struct {
5974	_ struct{} `type:"structure"`
5975
5976	// ResourceArn is a required field
5977	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
5978
5979	Tags map[string]*string `locationName:"tags" type:"map"`
5980}
5981
5982// String returns the string representation
5983func (s CreateTagsInput) String() string {
5984	return awsutil.Prettify(s)
5985}
5986
5987// GoString returns the string representation
5988func (s CreateTagsInput) GoString() string {
5989	return s.String()
5990}
5991
5992// Validate inspects the fields of the type to determine if they are valid.
5993func (s *CreateTagsInput) Validate() error {
5994	invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"}
5995	if s.ResourceArn == nil {
5996		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
5997	}
5998	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
5999		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
6000	}
6001
6002	if invalidParams.Len() > 0 {
6003		return invalidParams
6004	}
6005	return nil
6006}
6007
6008// SetResourceArn sets the ResourceArn field's value.
6009func (s *CreateTagsInput) SetResourceArn(v string) *CreateTagsInput {
6010	s.ResourceArn = &v
6011	return s
6012}
6013
6014// SetTags sets the Tags field's value.
6015func (s *CreateTagsInput) SetTags(v map[string]*string) *CreateTagsInput {
6016	s.Tags = v
6017	return s
6018}
6019
6020type CreateTagsOutput struct {
6021	_ struct{} `type:"structure"`
6022}
6023
6024// String returns the string representation
6025func (s CreateTagsOutput) String() string {
6026	return awsutil.Prettify(s)
6027}
6028
6029// GoString returns the string representation
6030func (s CreateTagsOutput) GoString() string {
6031	return s.String()
6032}
6033
6034type DeleteChannelInput struct {
6035	_ struct{} `type:"structure"`
6036
6037	// ChannelId is a required field
6038	ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"`
6039}
6040
6041// String returns the string representation
6042func (s DeleteChannelInput) String() string {
6043	return awsutil.Prettify(s)
6044}
6045
6046// GoString returns the string representation
6047func (s DeleteChannelInput) GoString() string {
6048	return s.String()
6049}
6050
6051// Validate inspects the fields of the type to determine if they are valid.
6052func (s *DeleteChannelInput) Validate() error {
6053	invalidParams := request.ErrInvalidParams{Context: "DeleteChannelInput"}
6054	if s.ChannelId == nil {
6055		invalidParams.Add(request.NewErrParamRequired("ChannelId"))
6056	}
6057	if s.ChannelId != nil && len(*s.ChannelId) < 1 {
6058		invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1))
6059	}
6060
6061	if invalidParams.Len() > 0 {
6062		return invalidParams
6063	}
6064	return nil
6065}
6066
6067// SetChannelId sets the ChannelId field's value.
6068func (s *DeleteChannelInput) SetChannelId(v string) *DeleteChannelInput {
6069	s.ChannelId = &v
6070	return s
6071}
6072
6073type DeleteChannelOutput struct {
6074	_ struct{} `type:"structure"`
6075
6076	Arn *string `locationName:"arn" type:"string"`
6077
6078	// A standard channel has two encoding pipelines and a single pipeline channel
6079	// only has one.
6080	ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"`
6081
6082	Destinations []*OutputDestination `locationName:"destinations" type:"list"`
6083
6084	EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"`
6085
6086	// Encoder Settings
6087	EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"`
6088
6089	Id *string `locationName:"id" type:"string"`
6090
6091	InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"`
6092
6093	InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"`
6094
6095	// The log level the user wants for their channel.
6096	LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"`
6097
6098	Name *string `locationName:"name" type:"string"`
6099
6100	PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"`
6101
6102	RoleArn *string `locationName:"roleArn" type:"string"`
6103
6104	State *string `locationName:"state" type:"string" enum:"ChannelState"`
6105
6106	Tags map[string]*string `locationName:"tags" type:"map"`
6107}
6108
6109// String returns the string representation
6110func (s DeleteChannelOutput) String() string {
6111	return awsutil.Prettify(s)
6112}
6113
6114// GoString returns the string representation
6115func (s DeleteChannelOutput) GoString() string {
6116	return s.String()
6117}
6118
6119// SetArn sets the Arn field's value.
6120func (s *DeleteChannelOutput) SetArn(v string) *DeleteChannelOutput {
6121	s.Arn = &v
6122	return s
6123}
6124
6125// SetChannelClass sets the ChannelClass field's value.
6126func (s *DeleteChannelOutput) SetChannelClass(v string) *DeleteChannelOutput {
6127	s.ChannelClass = &v
6128	return s
6129}
6130
6131// SetDestinations sets the Destinations field's value.
6132func (s *DeleteChannelOutput) SetDestinations(v []*OutputDestination) *DeleteChannelOutput {
6133	s.Destinations = v
6134	return s
6135}
6136
6137// SetEgressEndpoints sets the EgressEndpoints field's value.
6138func (s *DeleteChannelOutput) SetEgressEndpoints(v []*ChannelEgressEndpoint) *DeleteChannelOutput {
6139	s.EgressEndpoints = v
6140	return s
6141}
6142
6143// SetEncoderSettings sets the EncoderSettings field's value.
6144func (s *DeleteChannelOutput) SetEncoderSettings(v *EncoderSettings) *DeleteChannelOutput {
6145	s.EncoderSettings = v
6146	return s
6147}
6148
6149// SetId sets the Id field's value.
6150func (s *DeleteChannelOutput) SetId(v string) *DeleteChannelOutput {
6151	s.Id = &v
6152	return s
6153}
6154
6155// SetInputAttachments sets the InputAttachments field's value.
6156func (s *DeleteChannelOutput) SetInputAttachments(v []*InputAttachment) *DeleteChannelOutput {
6157	s.InputAttachments = v
6158	return s
6159}
6160
6161// SetInputSpecification sets the InputSpecification field's value.
6162func (s *DeleteChannelOutput) SetInputSpecification(v *InputSpecification) *DeleteChannelOutput {
6163	s.InputSpecification = v
6164	return s
6165}
6166
6167// SetLogLevel sets the LogLevel field's value.
6168func (s *DeleteChannelOutput) SetLogLevel(v string) *DeleteChannelOutput {
6169	s.LogLevel = &v
6170	return s
6171}
6172
6173// SetName sets the Name field's value.
6174func (s *DeleteChannelOutput) SetName(v string) *DeleteChannelOutput {
6175	s.Name = &v
6176	return s
6177}
6178
6179// SetPipelinesRunningCount sets the PipelinesRunningCount field's value.
6180func (s *DeleteChannelOutput) SetPipelinesRunningCount(v int64) *DeleteChannelOutput {
6181	s.PipelinesRunningCount = &v
6182	return s
6183}
6184
6185// SetRoleArn sets the RoleArn field's value.
6186func (s *DeleteChannelOutput) SetRoleArn(v string) *DeleteChannelOutput {
6187	s.RoleArn = &v
6188	return s
6189}
6190
6191// SetState sets the State field's value.
6192func (s *DeleteChannelOutput) SetState(v string) *DeleteChannelOutput {
6193	s.State = &v
6194	return s
6195}
6196
6197// SetTags sets the Tags field's value.
6198func (s *DeleteChannelOutput) SetTags(v map[string]*string) *DeleteChannelOutput {
6199	s.Tags = v
6200	return s
6201}
6202
6203type DeleteInputInput struct {
6204	_ struct{} `type:"structure"`
6205
6206	// InputId is a required field
6207	InputId *string `location:"uri" locationName:"inputId" type:"string" required:"true"`
6208}
6209
6210// String returns the string representation
6211func (s DeleteInputInput) String() string {
6212	return awsutil.Prettify(s)
6213}
6214
6215// GoString returns the string representation
6216func (s DeleteInputInput) GoString() string {
6217	return s.String()
6218}
6219
6220// Validate inspects the fields of the type to determine if they are valid.
6221func (s *DeleteInputInput) Validate() error {
6222	invalidParams := request.ErrInvalidParams{Context: "DeleteInputInput"}
6223	if s.InputId == nil {
6224		invalidParams.Add(request.NewErrParamRequired("InputId"))
6225	}
6226	if s.InputId != nil && len(*s.InputId) < 1 {
6227		invalidParams.Add(request.NewErrParamMinLen("InputId", 1))
6228	}
6229
6230	if invalidParams.Len() > 0 {
6231		return invalidParams
6232	}
6233	return nil
6234}
6235
6236// SetInputId sets the InputId field's value.
6237func (s *DeleteInputInput) SetInputId(v string) *DeleteInputInput {
6238	s.InputId = &v
6239	return s
6240}
6241
6242type DeleteInputOutput struct {
6243	_ struct{} `type:"structure"`
6244}
6245
6246// String returns the string representation
6247func (s DeleteInputOutput) String() string {
6248	return awsutil.Prettify(s)
6249}
6250
6251// GoString returns the string representation
6252func (s DeleteInputOutput) GoString() string {
6253	return s.String()
6254}
6255
6256type DeleteInputSecurityGroupInput struct {
6257	_ struct{} `type:"structure"`
6258
6259	// InputSecurityGroupId is a required field
6260	InputSecurityGroupId *string `location:"uri" locationName:"inputSecurityGroupId" type:"string" required:"true"`
6261}
6262
6263// String returns the string representation
6264func (s DeleteInputSecurityGroupInput) String() string {
6265	return awsutil.Prettify(s)
6266}
6267
6268// GoString returns the string representation
6269func (s DeleteInputSecurityGroupInput) GoString() string {
6270	return s.String()
6271}
6272
6273// Validate inspects the fields of the type to determine if they are valid.
6274func (s *DeleteInputSecurityGroupInput) Validate() error {
6275	invalidParams := request.ErrInvalidParams{Context: "DeleteInputSecurityGroupInput"}
6276	if s.InputSecurityGroupId == nil {
6277		invalidParams.Add(request.NewErrParamRequired("InputSecurityGroupId"))
6278	}
6279	if s.InputSecurityGroupId != nil && len(*s.InputSecurityGroupId) < 1 {
6280		invalidParams.Add(request.NewErrParamMinLen("InputSecurityGroupId", 1))
6281	}
6282
6283	if invalidParams.Len() > 0 {
6284		return invalidParams
6285	}
6286	return nil
6287}
6288
6289// SetInputSecurityGroupId sets the InputSecurityGroupId field's value.
6290func (s *DeleteInputSecurityGroupInput) SetInputSecurityGroupId(v string) *DeleteInputSecurityGroupInput {
6291	s.InputSecurityGroupId = &v
6292	return s
6293}
6294
6295type DeleteInputSecurityGroupOutput struct {
6296	_ struct{} `type:"structure"`
6297}
6298
6299// String returns the string representation
6300func (s DeleteInputSecurityGroupOutput) String() string {
6301	return awsutil.Prettify(s)
6302}
6303
6304// GoString returns the string representation
6305func (s DeleteInputSecurityGroupOutput) GoString() string {
6306	return s.String()
6307}
6308
6309type DeleteReservationInput struct {
6310	_ struct{} `type:"structure"`
6311
6312	// ReservationId is a required field
6313	ReservationId *string `location:"uri" locationName:"reservationId" type:"string" required:"true"`
6314}
6315
6316// String returns the string representation
6317func (s DeleteReservationInput) String() string {
6318	return awsutil.Prettify(s)
6319}
6320
6321// GoString returns the string representation
6322func (s DeleteReservationInput) GoString() string {
6323	return s.String()
6324}
6325
6326// Validate inspects the fields of the type to determine if they are valid.
6327func (s *DeleteReservationInput) Validate() error {
6328	invalidParams := request.ErrInvalidParams{Context: "DeleteReservationInput"}
6329	if s.ReservationId == nil {
6330		invalidParams.Add(request.NewErrParamRequired("ReservationId"))
6331	}
6332	if s.ReservationId != nil && len(*s.ReservationId) < 1 {
6333		invalidParams.Add(request.NewErrParamMinLen("ReservationId", 1))
6334	}
6335
6336	if invalidParams.Len() > 0 {
6337		return invalidParams
6338	}
6339	return nil
6340}
6341
6342// SetReservationId sets the ReservationId field's value.
6343func (s *DeleteReservationInput) SetReservationId(v string) *DeleteReservationInput {
6344	s.ReservationId = &v
6345	return s
6346}
6347
6348type DeleteReservationOutput struct {
6349	_ struct{} `type:"structure"`
6350
6351	Arn *string `locationName:"arn" type:"string"`
6352
6353	Count *int64 `locationName:"count" type:"integer"`
6354
6355	CurrencyCode *string `locationName:"currencyCode" type:"string"`
6356
6357	Duration *int64 `locationName:"duration" type:"integer"`
6358
6359	// Units for duration, e.g. 'MONTHS'
6360	DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"`
6361
6362	End *string `locationName:"end" type:"string"`
6363
6364	FixedPrice *float64 `locationName:"fixedPrice" type:"double"`
6365
6366	Name *string `locationName:"name" type:"string"`
6367
6368	OfferingDescription *string `locationName:"offeringDescription" type:"string"`
6369
6370	OfferingId *string `locationName:"offeringId" type:"string"`
6371
6372	// Offering type, e.g. 'NO_UPFRONT'
6373	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"`
6374
6375	Region *string `locationName:"region" type:"string"`
6376
6377	ReservationId *string `locationName:"reservationId" type:"string"`
6378
6379	// Resource configuration (codec, resolution, bitrate, ...)
6380	ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"`
6381
6382	Start *string `locationName:"start" type:"string"`
6383
6384	// Current reservation state
6385	State *string `locationName:"state" type:"string" enum:"ReservationState"`
6386
6387	Tags map[string]*string `locationName:"tags" type:"map"`
6388
6389	UsagePrice *float64 `locationName:"usagePrice" type:"double"`
6390}
6391
6392// String returns the string representation
6393func (s DeleteReservationOutput) String() string {
6394	return awsutil.Prettify(s)
6395}
6396
6397// GoString returns the string representation
6398func (s DeleteReservationOutput) GoString() string {
6399	return s.String()
6400}
6401
6402// SetArn sets the Arn field's value.
6403func (s *DeleteReservationOutput) SetArn(v string) *DeleteReservationOutput {
6404	s.Arn = &v
6405	return s
6406}
6407
6408// SetCount sets the Count field's value.
6409func (s *DeleteReservationOutput) SetCount(v int64) *DeleteReservationOutput {
6410	s.Count = &v
6411	return s
6412}
6413
6414// SetCurrencyCode sets the CurrencyCode field's value.
6415func (s *DeleteReservationOutput) SetCurrencyCode(v string) *DeleteReservationOutput {
6416	s.CurrencyCode = &v
6417	return s
6418}
6419
6420// SetDuration sets the Duration field's value.
6421func (s *DeleteReservationOutput) SetDuration(v int64) *DeleteReservationOutput {
6422	s.Duration = &v
6423	return s
6424}
6425
6426// SetDurationUnits sets the DurationUnits field's value.
6427func (s *DeleteReservationOutput) SetDurationUnits(v string) *DeleteReservationOutput {
6428	s.DurationUnits = &v
6429	return s
6430}
6431
6432// SetEnd sets the End field's value.
6433func (s *DeleteReservationOutput) SetEnd(v string) *DeleteReservationOutput {
6434	s.End = &v
6435	return s
6436}
6437
6438// SetFixedPrice sets the FixedPrice field's value.
6439func (s *DeleteReservationOutput) SetFixedPrice(v float64) *DeleteReservationOutput {
6440	s.FixedPrice = &v
6441	return s
6442}
6443
6444// SetName sets the Name field's value.
6445func (s *DeleteReservationOutput) SetName(v string) *DeleteReservationOutput {
6446	s.Name = &v
6447	return s
6448}
6449
6450// SetOfferingDescription sets the OfferingDescription field's value.
6451func (s *DeleteReservationOutput) SetOfferingDescription(v string) *DeleteReservationOutput {
6452	s.OfferingDescription = &v
6453	return s
6454}
6455
6456// SetOfferingId sets the OfferingId field's value.
6457func (s *DeleteReservationOutput) SetOfferingId(v string) *DeleteReservationOutput {
6458	s.OfferingId = &v
6459	return s
6460}
6461
6462// SetOfferingType sets the OfferingType field's value.
6463func (s *DeleteReservationOutput) SetOfferingType(v string) *DeleteReservationOutput {
6464	s.OfferingType = &v
6465	return s
6466}
6467
6468// SetRegion sets the Region field's value.
6469func (s *DeleteReservationOutput) SetRegion(v string) *DeleteReservationOutput {
6470	s.Region = &v
6471	return s
6472}
6473
6474// SetReservationId sets the ReservationId field's value.
6475func (s *DeleteReservationOutput) SetReservationId(v string) *DeleteReservationOutput {
6476	s.ReservationId = &v
6477	return s
6478}
6479
6480// SetResourceSpecification sets the ResourceSpecification field's value.
6481func (s *DeleteReservationOutput) SetResourceSpecification(v *ReservationResourceSpecification) *DeleteReservationOutput {
6482	s.ResourceSpecification = v
6483	return s
6484}
6485
6486// SetStart sets the Start field's value.
6487func (s *DeleteReservationOutput) SetStart(v string) *DeleteReservationOutput {
6488	s.Start = &v
6489	return s
6490}
6491
6492// SetState sets the State field's value.
6493func (s *DeleteReservationOutput) SetState(v string) *DeleteReservationOutput {
6494	s.State = &v
6495	return s
6496}
6497
6498// SetTags sets the Tags field's value.
6499func (s *DeleteReservationOutput) SetTags(v map[string]*string) *DeleteReservationOutput {
6500	s.Tags = v
6501	return s
6502}
6503
6504// SetUsagePrice sets the UsagePrice field's value.
6505func (s *DeleteReservationOutput) SetUsagePrice(v float64) *DeleteReservationOutput {
6506	s.UsagePrice = &v
6507	return s
6508}
6509
6510type DeleteScheduleInput struct {
6511	_ struct{} `type:"structure"`
6512
6513	// ChannelId is a required field
6514	ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"`
6515}
6516
6517// String returns the string representation
6518func (s DeleteScheduleInput) String() string {
6519	return awsutil.Prettify(s)
6520}
6521
6522// GoString returns the string representation
6523func (s DeleteScheduleInput) GoString() string {
6524	return s.String()
6525}
6526
6527// Validate inspects the fields of the type to determine if they are valid.
6528func (s *DeleteScheduleInput) Validate() error {
6529	invalidParams := request.ErrInvalidParams{Context: "DeleteScheduleInput"}
6530	if s.ChannelId == nil {
6531		invalidParams.Add(request.NewErrParamRequired("ChannelId"))
6532	}
6533	if s.ChannelId != nil && len(*s.ChannelId) < 1 {
6534		invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1))
6535	}
6536
6537	if invalidParams.Len() > 0 {
6538		return invalidParams
6539	}
6540	return nil
6541}
6542
6543// SetChannelId sets the ChannelId field's value.
6544func (s *DeleteScheduleInput) SetChannelId(v string) *DeleteScheduleInput {
6545	s.ChannelId = &v
6546	return s
6547}
6548
6549type DeleteScheduleOutput struct {
6550	_ struct{} `type:"structure"`
6551}
6552
6553// String returns the string representation
6554func (s DeleteScheduleOutput) String() string {
6555	return awsutil.Prettify(s)
6556}
6557
6558// GoString returns the string representation
6559func (s DeleteScheduleOutput) GoString() string {
6560	return s.String()
6561}
6562
6563type DeleteTagsInput struct {
6564	_ struct{} `type:"structure"`
6565
6566	// ResourceArn is a required field
6567	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
6568
6569	// TagKeys is a required field
6570	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
6571}
6572
6573// String returns the string representation
6574func (s DeleteTagsInput) String() string {
6575	return awsutil.Prettify(s)
6576}
6577
6578// GoString returns the string representation
6579func (s DeleteTagsInput) GoString() string {
6580	return s.String()
6581}
6582
6583// Validate inspects the fields of the type to determine if they are valid.
6584func (s *DeleteTagsInput) Validate() error {
6585	invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"}
6586	if s.ResourceArn == nil {
6587		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
6588	}
6589	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
6590		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
6591	}
6592	if s.TagKeys == nil {
6593		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
6594	}
6595
6596	if invalidParams.Len() > 0 {
6597		return invalidParams
6598	}
6599	return nil
6600}
6601
6602// SetResourceArn sets the ResourceArn field's value.
6603func (s *DeleteTagsInput) SetResourceArn(v string) *DeleteTagsInput {
6604	s.ResourceArn = &v
6605	return s
6606}
6607
6608// SetTagKeys sets the TagKeys field's value.
6609func (s *DeleteTagsInput) SetTagKeys(v []*string) *DeleteTagsInput {
6610	s.TagKeys = v
6611	return s
6612}
6613
6614type DeleteTagsOutput struct {
6615	_ struct{} `type:"structure"`
6616}
6617
6618// String returns the string representation
6619func (s DeleteTagsOutput) String() string {
6620	return awsutil.Prettify(s)
6621}
6622
6623// GoString returns the string representation
6624func (s DeleteTagsOutput) GoString() string {
6625	return s.String()
6626}
6627
6628type DescribeChannelInput struct {
6629	_ struct{} `type:"structure"`
6630
6631	// ChannelId is a required field
6632	ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"`
6633}
6634
6635// String returns the string representation
6636func (s DescribeChannelInput) String() string {
6637	return awsutil.Prettify(s)
6638}
6639
6640// GoString returns the string representation
6641func (s DescribeChannelInput) GoString() string {
6642	return s.String()
6643}
6644
6645// Validate inspects the fields of the type to determine if they are valid.
6646func (s *DescribeChannelInput) Validate() error {
6647	invalidParams := request.ErrInvalidParams{Context: "DescribeChannelInput"}
6648	if s.ChannelId == nil {
6649		invalidParams.Add(request.NewErrParamRequired("ChannelId"))
6650	}
6651	if s.ChannelId != nil && len(*s.ChannelId) < 1 {
6652		invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1))
6653	}
6654
6655	if invalidParams.Len() > 0 {
6656		return invalidParams
6657	}
6658	return nil
6659}
6660
6661// SetChannelId sets the ChannelId field's value.
6662func (s *DescribeChannelInput) SetChannelId(v string) *DescribeChannelInput {
6663	s.ChannelId = &v
6664	return s
6665}
6666
6667type DescribeChannelOutput struct {
6668	_ struct{} `type:"structure"`
6669
6670	Arn *string `locationName:"arn" type:"string"`
6671
6672	// A standard channel has two encoding pipelines and a single pipeline channel
6673	// only has one.
6674	ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"`
6675
6676	Destinations []*OutputDestination `locationName:"destinations" type:"list"`
6677
6678	EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"`
6679
6680	// Encoder Settings
6681	EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"`
6682
6683	Id *string `locationName:"id" type:"string"`
6684
6685	InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"`
6686
6687	InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"`
6688
6689	// The log level the user wants for their channel.
6690	LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"`
6691
6692	Name *string `locationName:"name" type:"string"`
6693
6694	PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"`
6695
6696	RoleArn *string `locationName:"roleArn" type:"string"`
6697
6698	State *string `locationName:"state" type:"string" enum:"ChannelState"`
6699
6700	Tags map[string]*string `locationName:"tags" type:"map"`
6701}
6702
6703// String returns the string representation
6704func (s DescribeChannelOutput) String() string {
6705	return awsutil.Prettify(s)
6706}
6707
6708// GoString returns the string representation
6709func (s DescribeChannelOutput) GoString() string {
6710	return s.String()
6711}
6712
6713// SetArn sets the Arn field's value.
6714func (s *DescribeChannelOutput) SetArn(v string) *DescribeChannelOutput {
6715	s.Arn = &v
6716	return s
6717}
6718
6719// SetChannelClass sets the ChannelClass field's value.
6720func (s *DescribeChannelOutput) SetChannelClass(v string) *DescribeChannelOutput {
6721	s.ChannelClass = &v
6722	return s
6723}
6724
6725// SetDestinations sets the Destinations field's value.
6726func (s *DescribeChannelOutput) SetDestinations(v []*OutputDestination) *DescribeChannelOutput {
6727	s.Destinations = v
6728	return s
6729}
6730
6731// SetEgressEndpoints sets the EgressEndpoints field's value.
6732func (s *DescribeChannelOutput) SetEgressEndpoints(v []*ChannelEgressEndpoint) *DescribeChannelOutput {
6733	s.EgressEndpoints = v
6734	return s
6735}
6736
6737// SetEncoderSettings sets the EncoderSettings field's value.
6738func (s *DescribeChannelOutput) SetEncoderSettings(v *EncoderSettings) *DescribeChannelOutput {
6739	s.EncoderSettings = v
6740	return s
6741}
6742
6743// SetId sets the Id field's value.
6744func (s *DescribeChannelOutput) SetId(v string) *DescribeChannelOutput {
6745	s.Id = &v
6746	return s
6747}
6748
6749// SetInputAttachments sets the InputAttachments field's value.
6750func (s *DescribeChannelOutput) SetInputAttachments(v []*InputAttachment) *DescribeChannelOutput {
6751	s.InputAttachments = v
6752	return s
6753}
6754
6755// SetInputSpecification sets the InputSpecification field's value.
6756func (s *DescribeChannelOutput) SetInputSpecification(v *InputSpecification) *DescribeChannelOutput {
6757	s.InputSpecification = v
6758	return s
6759}
6760
6761// SetLogLevel sets the LogLevel field's value.
6762func (s *DescribeChannelOutput) SetLogLevel(v string) *DescribeChannelOutput {
6763	s.LogLevel = &v
6764	return s
6765}
6766
6767// SetName sets the Name field's value.
6768func (s *DescribeChannelOutput) SetName(v string) *DescribeChannelOutput {
6769	s.Name = &v
6770	return s
6771}
6772
6773// SetPipelinesRunningCount sets the PipelinesRunningCount field's value.
6774func (s *DescribeChannelOutput) SetPipelinesRunningCount(v int64) *DescribeChannelOutput {
6775	s.PipelinesRunningCount = &v
6776	return s
6777}
6778
6779// SetRoleArn sets the RoleArn field's value.
6780func (s *DescribeChannelOutput) SetRoleArn(v string) *DescribeChannelOutput {
6781	s.RoleArn = &v
6782	return s
6783}
6784
6785// SetState sets the State field's value.
6786func (s *DescribeChannelOutput) SetState(v string) *DescribeChannelOutput {
6787	s.State = &v
6788	return s
6789}
6790
6791// SetTags sets the Tags field's value.
6792func (s *DescribeChannelOutput) SetTags(v map[string]*string) *DescribeChannelOutput {
6793	s.Tags = v
6794	return s
6795}
6796
6797type DescribeInputInput struct {
6798	_ struct{} `type:"structure"`
6799
6800	// InputId is a required field
6801	InputId *string `location:"uri" locationName:"inputId" type:"string" required:"true"`
6802}
6803
6804// String returns the string representation
6805func (s DescribeInputInput) String() string {
6806	return awsutil.Prettify(s)
6807}
6808
6809// GoString returns the string representation
6810func (s DescribeInputInput) GoString() string {
6811	return s.String()
6812}
6813
6814// Validate inspects the fields of the type to determine if they are valid.
6815func (s *DescribeInputInput) Validate() error {
6816	invalidParams := request.ErrInvalidParams{Context: "DescribeInputInput"}
6817	if s.InputId == nil {
6818		invalidParams.Add(request.NewErrParamRequired("InputId"))
6819	}
6820	if s.InputId != nil && len(*s.InputId) < 1 {
6821		invalidParams.Add(request.NewErrParamMinLen("InputId", 1))
6822	}
6823
6824	if invalidParams.Len() > 0 {
6825		return invalidParams
6826	}
6827	return nil
6828}
6829
6830// SetInputId sets the InputId field's value.
6831func (s *DescribeInputInput) SetInputId(v string) *DescribeInputInput {
6832	s.InputId = &v
6833	return s
6834}
6835
6836type DescribeInputOutput struct {
6837	_ struct{} `type:"structure"`
6838
6839	Arn *string `locationName:"arn" type:"string"`
6840
6841	AttachedChannels []*string `locationName:"attachedChannels" type:"list"`
6842
6843	Destinations []*InputDestination `locationName:"destinations" type:"list"`
6844
6845	Id *string `locationName:"id" type:"string"`
6846
6847	// A standard input has two sources and a single pipeline input only has one.
6848	InputClass *string `locationName:"inputClass" type:"string" enum:"InputClass"`
6849
6850	MediaConnectFlows []*MediaConnectFlow `locationName:"mediaConnectFlows" type:"list"`
6851
6852	Name *string `locationName:"name" type:"string"`
6853
6854	RoleArn *string `locationName:"roleArn" type:"string"`
6855
6856	SecurityGroups []*string `locationName:"securityGroups" type:"list"`
6857
6858	Sources []*InputSource `locationName:"sources" type:"list"`
6859
6860	State *string `locationName:"state" type:"string" enum:"InputState"`
6861
6862	Tags map[string]*string `locationName:"tags" type:"map"`
6863
6864	Type *string `locationName:"type" type:"string" enum:"InputType"`
6865}
6866
6867// String returns the string representation
6868func (s DescribeInputOutput) String() string {
6869	return awsutil.Prettify(s)
6870}
6871
6872// GoString returns the string representation
6873func (s DescribeInputOutput) GoString() string {
6874	return s.String()
6875}
6876
6877// SetArn sets the Arn field's value.
6878func (s *DescribeInputOutput) SetArn(v string) *DescribeInputOutput {
6879	s.Arn = &v
6880	return s
6881}
6882
6883// SetAttachedChannels sets the AttachedChannels field's value.
6884func (s *DescribeInputOutput) SetAttachedChannels(v []*string) *DescribeInputOutput {
6885	s.AttachedChannels = v
6886	return s
6887}
6888
6889// SetDestinations sets the Destinations field's value.
6890func (s *DescribeInputOutput) SetDestinations(v []*InputDestination) *DescribeInputOutput {
6891	s.Destinations = v
6892	return s
6893}
6894
6895// SetId sets the Id field's value.
6896func (s *DescribeInputOutput) SetId(v string) *DescribeInputOutput {
6897	s.Id = &v
6898	return s
6899}
6900
6901// SetInputClass sets the InputClass field's value.
6902func (s *DescribeInputOutput) SetInputClass(v string) *DescribeInputOutput {
6903	s.InputClass = &v
6904	return s
6905}
6906
6907// SetMediaConnectFlows sets the MediaConnectFlows field's value.
6908func (s *DescribeInputOutput) SetMediaConnectFlows(v []*MediaConnectFlow) *DescribeInputOutput {
6909	s.MediaConnectFlows = v
6910	return s
6911}
6912
6913// SetName sets the Name field's value.
6914func (s *DescribeInputOutput) SetName(v string) *DescribeInputOutput {
6915	s.Name = &v
6916	return s
6917}
6918
6919// SetRoleArn sets the RoleArn field's value.
6920func (s *DescribeInputOutput) SetRoleArn(v string) *DescribeInputOutput {
6921	s.RoleArn = &v
6922	return s
6923}
6924
6925// SetSecurityGroups sets the SecurityGroups field's value.
6926func (s *DescribeInputOutput) SetSecurityGroups(v []*string) *DescribeInputOutput {
6927	s.SecurityGroups = v
6928	return s
6929}
6930
6931// SetSources sets the Sources field's value.
6932func (s *DescribeInputOutput) SetSources(v []*InputSource) *DescribeInputOutput {
6933	s.Sources = v
6934	return s
6935}
6936
6937// SetState sets the State field's value.
6938func (s *DescribeInputOutput) SetState(v string) *DescribeInputOutput {
6939	s.State = &v
6940	return s
6941}
6942
6943// SetTags sets the Tags field's value.
6944func (s *DescribeInputOutput) SetTags(v map[string]*string) *DescribeInputOutput {
6945	s.Tags = v
6946	return s
6947}
6948
6949// SetType sets the Type field's value.
6950func (s *DescribeInputOutput) SetType(v string) *DescribeInputOutput {
6951	s.Type = &v
6952	return s
6953}
6954
6955type DescribeInputSecurityGroupInput struct {
6956	_ struct{} `type:"structure"`
6957
6958	// InputSecurityGroupId is a required field
6959	InputSecurityGroupId *string `location:"uri" locationName:"inputSecurityGroupId" type:"string" required:"true"`
6960}
6961
6962// String returns the string representation
6963func (s DescribeInputSecurityGroupInput) String() string {
6964	return awsutil.Prettify(s)
6965}
6966
6967// GoString returns the string representation
6968func (s DescribeInputSecurityGroupInput) GoString() string {
6969	return s.String()
6970}
6971
6972// Validate inspects the fields of the type to determine if they are valid.
6973func (s *DescribeInputSecurityGroupInput) Validate() error {
6974	invalidParams := request.ErrInvalidParams{Context: "DescribeInputSecurityGroupInput"}
6975	if s.InputSecurityGroupId == nil {
6976		invalidParams.Add(request.NewErrParamRequired("InputSecurityGroupId"))
6977	}
6978	if s.InputSecurityGroupId != nil && len(*s.InputSecurityGroupId) < 1 {
6979		invalidParams.Add(request.NewErrParamMinLen("InputSecurityGroupId", 1))
6980	}
6981
6982	if invalidParams.Len() > 0 {
6983		return invalidParams
6984	}
6985	return nil
6986}
6987
6988// SetInputSecurityGroupId sets the InputSecurityGroupId field's value.
6989func (s *DescribeInputSecurityGroupInput) SetInputSecurityGroupId(v string) *DescribeInputSecurityGroupInput {
6990	s.InputSecurityGroupId = &v
6991	return s
6992}
6993
6994type DescribeInputSecurityGroupOutput struct {
6995	_ struct{} `type:"structure"`
6996
6997	Arn *string `locationName:"arn" type:"string"`
6998
6999	Id *string `locationName:"id" type:"string"`
7000
7001	Inputs []*string `locationName:"inputs" type:"list"`
7002
7003	State *string `locationName:"state" type:"string" enum:"InputSecurityGroupState"`
7004
7005	Tags map[string]*string `locationName:"tags" type:"map"`
7006
7007	WhitelistRules []*InputWhitelistRule `locationName:"whitelistRules" type:"list"`
7008}
7009
7010// String returns the string representation
7011func (s DescribeInputSecurityGroupOutput) String() string {
7012	return awsutil.Prettify(s)
7013}
7014
7015// GoString returns the string representation
7016func (s DescribeInputSecurityGroupOutput) GoString() string {
7017	return s.String()
7018}
7019
7020// SetArn sets the Arn field's value.
7021func (s *DescribeInputSecurityGroupOutput) SetArn(v string) *DescribeInputSecurityGroupOutput {
7022	s.Arn = &v
7023	return s
7024}
7025
7026// SetId sets the Id field's value.
7027func (s *DescribeInputSecurityGroupOutput) SetId(v string) *DescribeInputSecurityGroupOutput {
7028	s.Id = &v
7029	return s
7030}
7031
7032// SetInputs sets the Inputs field's value.
7033func (s *DescribeInputSecurityGroupOutput) SetInputs(v []*string) *DescribeInputSecurityGroupOutput {
7034	s.Inputs = v
7035	return s
7036}
7037
7038// SetState sets the State field's value.
7039func (s *DescribeInputSecurityGroupOutput) SetState(v string) *DescribeInputSecurityGroupOutput {
7040	s.State = &v
7041	return s
7042}
7043
7044// SetTags sets the Tags field's value.
7045func (s *DescribeInputSecurityGroupOutput) SetTags(v map[string]*string) *DescribeInputSecurityGroupOutput {
7046	s.Tags = v
7047	return s
7048}
7049
7050// SetWhitelistRules sets the WhitelistRules field's value.
7051func (s *DescribeInputSecurityGroupOutput) SetWhitelistRules(v []*InputWhitelistRule) *DescribeInputSecurityGroupOutput {
7052	s.WhitelistRules = v
7053	return s
7054}
7055
7056type DescribeOfferingInput struct {
7057	_ struct{} `type:"structure"`
7058
7059	// OfferingId is a required field
7060	OfferingId *string `location:"uri" locationName:"offeringId" type:"string" required:"true"`
7061}
7062
7063// String returns the string representation
7064func (s DescribeOfferingInput) String() string {
7065	return awsutil.Prettify(s)
7066}
7067
7068// GoString returns the string representation
7069func (s DescribeOfferingInput) GoString() string {
7070	return s.String()
7071}
7072
7073// Validate inspects the fields of the type to determine if they are valid.
7074func (s *DescribeOfferingInput) Validate() error {
7075	invalidParams := request.ErrInvalidParams{Context: "DescribeOfferingInput"}
7076	if s.OfferingId == nil {
7077		invalidParams.Add(request.NewErrParamRequired("OfferingId"))
7078	}
7079	if s.OfferingId != nil && len(*s.OfferingId) < 1 {
7080		invalidParams.Add(request.NewErrParamMinLen("OfferingId", 1))
7081	}
7082
7083	if invalidParams.Len() > 0 {
7084		return invalidParams
7085	}
7086	return nil
7087}
7088
7089// SetOfferingId sets the OfferingId field's value.
7090func (s *DescribeOfferingInput) SetOfferingId(v string) *DescribeOfferingInput {
7091	s.OfferingId = &v
7092	return s
7093}
7094
7095type DescribeOfferingOutput struct {
7096	_ struct{} `type:"structure"`
7097
7098	Arn *string `locationName:"arn" type:"string"`
7099
7100	CurrencyCode *string `locationName:"currencyCode" type:"string"`
7101
7102	Duration *int64 `locationName:"duration" type:"integer"`
7103
7104	// Units for duration, e.g. 'MONTHS'
7105	DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"`
7106
7107	FixedPrice *float64 `locationName:"fixedPrice" type:"double"`
7108
7109	OfferingDescription *string `locationName:"offeringDescription" type:"string"`
7110
7111	OfferingId *string `locationName:"offeringId" type:"string"`
7112
7113	// Offering type, e.g. 'NO_UPFRONT'
7114	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"`
7115
7116	Region *string `locationName:"region" type:"string"`
7117
7118	// Resource configuration (codec, resolution, bitrate, ...)
7119	ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"`
7120
7121	UsagePrice *float64 `locationName:"usagePrice" type:"double"`
7122}
7123
7124// String returns the string representation
7125func (s DescribeOfferingOutput) String() string {
7126	return awsutil.Prettify(s)
7127}
7128
7129// GoString returns the string representation
7130func (s DescribeOfferingOutput) GoString() string {
7131	return s.String()
7132}
7133
7134// SetArn sets the Arn field's value.
7135func (s *DescribeOfferingOutput) SetArn(v string) *DescribeOfferingOutput {
7136	s.Arn = &v
7137	return s
7138}
7139
7140// SetCurrencyCode sets the CurrencyCode field's value.
7141func (s *DescribeOfferingOutput) SetCurrencyCode(v string) *DescribeOfferingOutput {
7142	s.CurrencyCode = &v
7143	return s
7144}
7145
7146// SetDuration sets the Duration field's value.
7147func (s *DescribeOfferingOutput) SetDuration(v int64) *DescribeOfferingOutput {
7148	s.Duration = &v
7149	return s
7150}
7151
7152// SetDurationUnits sets the DurationUnits field's value.
7153func (s *DescribeOfferingOutput) SetDurationUnits(v string) *DescribeOfferingOutput {
7154	s.DurationUnits = &v
7155	return s
7156}
7157
7158// SetFixedPrice sets the FixedPrice field's value.
7159func (s *DescribeOfferingOutput) SetFixedPrice(v float64) *DescribeOfferingOutput {
7160	s.FixedPrice = &v
7161	return s
7162}
7163
7164// SetOfferingDescription sets the OfferingDescription field's value.
7165func (s *DescribeOfferingOutput) SetOfferingDescription(v string) *DescribeOfferingOutput {
7166	s.OfferingDescription = &v
7167	return s
7168}
7169
7170// SetOfferingId sets the OfferingId field's value.
7171func (s *DescribeOfferingOutput) SetOfferingId(v string) *DescribeOfferingOutput {
7172	s.OfferingId = &v
7173	return s
7174}
7175
7176// SetOfferingType sets the OfferingType field's value.
7177func (s *DescribeOfferingOutput) SetOfferingType(v string) *DescribeOfferingOutput {
7178	s.OfferingType = &v
7179	return s
7180}
7181
7182// SetRegion sets the Region field's value.
7183func (s *DescribeOfferingOutput) SetRegion(v string) *DescribeOfferingOutput {
7184	s.Region = &v
7185	return s
7186}
7187
7188// SetResourceSpecification sets the ResourceSpecification field's value.
7189func (s *DescribeOfferingOutput) SetResourceSpecification(v *ReservationResourceSpecification) *DescribeOfferingOutput {
7190	s.ResourceSpecification = v
7191	return s
7192}
7193
7194// SetUsagePrice sets the UsagePrice field's value.
7195func (s *DescribeOfferingOutput) SetUsagePrice(v float64) *DescribeOfferingOutput {
7196	s.UsagePrice = &v
7197	return s
7198}
7199
7200type DescribeReservationInput struct {
7201	_ struct{} `type:"structure"`
7202
7203	// ReservationId is a required field
7204	ReservationId *string `location:"uri" locationName:"reservationId" type:"string" required:"true"`
7205}
7206
7207// String returns the string representation
7208func (s DescribeReservationInput) String() string {
7209	return awsutil.Prettify(s)
7210}
7211
7212// GoString returns the string representation
7213func (s DescribeReservationInput) GoString() string {
7214	return s.String()
7215}
7216
7217// Validate inspects the fields of the type to determine if they are valid.
7218func (s *DescribeReservationInput) Validate() error {
7219	invalidParams := request.ErrInvalidParams{Context: "DescribeReservationInput"}
7220	if s.ReservationId == nil {
7221		invalidParams.Add(request.NewErrParamRequired("ReservationId"))
7222	}
7223	if s.ReservationId != nil && len(*s.ReservationId) < 1 {
7224		invalidParams.Add(request.NewErrParamMinLen("ReservationId", 1))
7225	}
7226
7227	if invalidParams.Len() > 0 {
7228		return invalidParams
7229	}
7230	return nil
7231}
7232
7233// SetReservationId sets the ReservationId field's value.
7234func (s *DescribeReservationInput) SetReservationId(v string) *DescribeReservationInput {
7235	s.ReservationId = &v
7236	return s
7237}
7238
7239type DescribeReservationOutput struct {
7240	_ struct{} `type:"structure"`
7241
7242	Arn *string `locationName:"arn" type:"string"`
7243
7244	Count *int64 `locationName:"count" type:"integer"`
7245
7246	CurrencyCode *string `locationName:"currencyCode" type:"string"`
7247
7248	Duration *int64 `locationName:"duration" type:"integer"`
7249
7250	// Units for duration, e.g. 'MONTHS'
7251	DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"`
7252
7253	End *string `locationName:"end" type:"string"`
7254
7255	FixedPrice *float64 `locationName:"fixedPrice" type:"double"`
7256
7257	Name *string `locationName:"name" type:"string"`
7258
7259	OfferingDescription *string `locationName:"offeringDescription" type:"string"`
7260
7261	OfferingId *string `locationName:"offeringId" type:"string"`
7262
7263	// Offering type, e.g. 'NO_UPFRONT'
7264	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"`
7265
7266	Region *string `locationName:"region" type:"string"`
7267
7268	ReservationId *string `locationName:"reservationId" type:"string"`
7269
7270	// Resource configuration (codec, resolution, bitrate, ...)
7271	ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"`
7272
7273	Start *string `locationName:"start" type:"string"`
7274
7275	// Current reservation state
7276	State *string `locationName:"state" type:"string" enum:"ReservationState"`
7277
7278	Tags map[string]*string `locationName:"tags" type:"map"`
7279
7280	UsagePrice *float64 `locationName:"usagePrice" type:"double"`
7281}
7282
7283// String returns the string representation
7284func (s DescribeReservationOutput) String() string {
7285	return awsutil.Prettify(s)
7286}
7287
7288// GoString returns the string representation
7289func (s DescribeReservationOutput) GoString() string {
7290	return s.String()
7291}
7292
7293// SetArn sets the Arn field's value.
7294func (s *DescribeReservationOutput) SetArn(v string) *DescribeReservationOutput {
7295	s.Arn = &v
7296	return s
7297}
7298
7299// SetCount sets the Count field's value.
7300func (s *DescribeReservationOutput) SetCount(v int64) *DescribeReservationOutput {
7301	s.Count = &v
7302	return s
7303}
7304
7305// SetCurrencyCode sets the CurrencyCode field's value.
7306func (s *DescribeReservationOutput) SetCurrencyCode(v string) *DescribeReservationOutput {
7307	s.CurrencyCode = &v
7308	return s
7309}
7310
7311// SetDuration sets the Duration field's value.
7312func (s *DescribeReservationOutput) SetDuration(v int64) *DescribeReservationOutput {
7313	s.Duration = &v
7314	return s
7315}
7316
7317// SetDurationUnits sets the DurationUnits field's value.
7318func (s *DescribeReservationOutput) SetDurationUnits(v string) *DescribeReservationOutput {
7319	s.DurationUnits = &v
7320	return s
7321}
7322
7323// SetEnd sets the End field's value.
7324func (s *DescribeReservationOutput) SetEnd(v string) *DescribeReservationOutput {
7325	s.End = &v
7326	return s
7327}
7328
7329// SetFixedPrice sets the FixedPrice field's value.
7330func (s *DescribeReservationOutput) SetFixedPrice(v float64) *DescribeReservationOutput {
7331	s.FixedPrice = &v
7332	return s
7333}
7334
7335// SetName sets the Name field's value.
7336func (s *DescribeReservationOutput) SetName(v string) *DescribeReservationOutput {
7337	s.Name = &v
7338	return s
7339}
7340
7341// SetOfferingDescription sets the OfferingDescription field's value.
7342func (s *DescribeReservationOutput) SetOfferingDescription(v string) *DescribeReservationOutput {
7343	s.OfferingDescription = &v
7344	return s
7345}
7346
7347// SetOfferingId sets the OfferingId field's value.
7348func (s *DescribeReservationOutput) SetOfferingId(v string) *DescribeReservationOutput {
7349	s.OfferingId = &v
7350	return s
7351}
7352
7353// SetOfferingType sets the OfferingType field's value.
7354func (s *DescribeReservationOutput) SetOfferingType(v string) *DescribeReservationOutput {
7355	s.OfferingType = &v
7356	return s
7357}
7358
7359// SetRegion sets the Region field's value.
7360func (s *DescribeReservationOutput) SetRegion(v string) *DescribeReservationOutput {
7361	s.Region = &v
7362	return s
7363}
7364
7365// SetReservationId sets the ReservationId field's value.
7366func (s *DescribeReservationOutput) SetReservationId(v string) *DescribeReservationOutput {
7367	s.ReservationId = &v
7368	return s
7369}
7370
7371// SetResourceSpecification sets the ResourceSpecification field's value.
7372func (s *DescribeReservationOutput) SetResourceSpecification(v *ReservationResourceSpecification) *DescribeReservationOutput {
7373	s.ResourceSpecification = v
7374	return s
7375}
7376
7377// SetStart sets the Start field's value.
7378func (s *DescribeReservationOutput) SetStart(v string) *DescribeReservationOutput {
7379	s.Start = &v
7380	return s
7381}
7382
7383// SetState sets the State field's value.
7384func (s *DescribeReservationOutput) SetState(v string) *DescribeReservationOutput {
7385	s.State = &v
7386	return s
7387}
7388
7389// SetTags sets the Tags field's value.
7390func (s *DescribeReservationOutput) SetTags(v map[string]*string) *DescribeReservationOutput {
7391	s.Tags = v
7392	return s
7393}
7394
7395// SetUsagePrice sets the UsagePrice field's value.
7396func (s *DescribeReservationOutput) SetUsagePrice(v float64) *DescribeReservationOutput {
7397	s.UsagePrice = &v
7398	return s
7399}
7400
7401type DescribeScheduleInput struct {
7402	_ struct{} `type:"structure"`
7403
7404	// ChannelId is a required field
7405	ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"`
7406
7407	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
7408
7409	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7410}
7411
7412// String returns the string representation
7413func (s DescribeScheduleInput) String() string {
7414	return awsutil.Prettify(s)
7415}
7416
7417// GoString returns the string representation
7418func (s DescribeScheduleInput) GoString() string {
7419	return s.String()
7420}
7421
7422// Validate inspects the fields of the type to determine if they are valid.
7423func (s *DescribeScheduleInput) Validate() error {
7424	invalidParams := request.ErrInvalidParams{Context: "DescribeScheduleInput"}
7425	if s.ChannelId == nil {
7426		invalidParams.Add(request.NewErrParamRequired("ChannelId"))
7427	}
7428	if s.ChannelId != nil && len(*s.ChannelId) < 1 {
7429		invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1))
7430	}
7431	if s.MaxResults != nil && *s.MaxResults < 1 {
7432		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7433	}
7434
7435	if invalidParams.Len() > 0 {
7436		return invalidParams
7437	}
7438	return nil
7439}
7440
7441// SetChannelId sets the ChannelId field's value.
7442func (s *DescribeScheduleInput) SetChannelId(v string) *DescribeScheduleInput {
7443	s.ChannelId = &v
7444	return s
7445}
7446
7447// SetMaxResults sets the MaxResults field's value.
7448func (s *DescribeScheduleInput) SetMaxResults(v int64) *DescribeScheduleInput {
7449	s.MaxResults = &v
7450	return s
7451}
7452
7453// SetNextToken sets the NextToken field's value.
7454func (s *DescribeScheduleInput) SetNextToken(v string) *DescribeScheduleInput {
7455	s.NextToken = &v
7456	return s
7457}
7458
7459type DescribeScheduleOutput struct {
7460	_ struct{} `type:"structure"`
7461
7462	NextToken *string `locationName:"nextToken" type:"string"`
7463
7464	ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list"`
7465}
7466
7467// String returns the string representation
7468func (s DescribeScheduleOutput) String() string {
7469	return awsutil.Prettify(s)
7470}
7471
7472// GoString returns the string representation
7473func (s DescribeScheduleOutput) GoString() string {
7474	return s.String()
7475}
7476
7477// SetNextToken sets the NextToken field's value.
7478func (s *DescribeScheduleOutput) SetNextToken(v string) *DescribeScheduleOutput {
7479	s.NextToken = &v
7480	return s
7481}
7482
7483// SetScheduleActions sets the ScheduleActions field's value.
7484func (s *DescribeScheduleOutput) SetScheduleActions(v []*ScheduleAction) *DescribeScheduleOutput {
7485	s.ScheduleActions = v
7486	return s
7487}
7488
7489// DVB Network Information Table (NIT)
7490type DvbNitSettings struct {
7491	_ struct{} `type:"structure"`
7492
7493	// The numeric value placed in the Network Information Table (NIT).
7494	//
7495	// NetworkId is a required field
7496	NetworkId *int64 `locationName:"networkId" type:"integer" required:"true"`
7497
7498	// The network name text placed in the networkNameDescriptor inside the Network
7499	// Information Table. Maximum length is 256 characters.
7500	//
7501	// NetworkName is a required field
7502	NetworkName *string `locationName:"networkName" min:"1" type:"string" required:"true"`
7503
7504	// The number of milliseconds between instances of this table in the output
7505	// transport stream.
7506	RepInterval *int64 `locationName:"repInterval" min:"25" type:"integer"`
7507}
7508
7509// String returns the string representation
7510func (s DvbNitSettings) String() string {
7511	return awsutil.Prettify(s)
7512}
7513
7514// GoString returns the string representation
7515func (s DvbNitSettings) GoString() string {
7516	return s.String()
7517}
7518
7519// Validate inspects the fields of the type to determine if they are valid.
7520func (s *DvbNitSettings) Validate() error {
7521	invalidParams := request.ErrInvalidParams{Context: "DvbNitSettings"}
7522	if s.NetworkId == nil {
7523		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
7524	}
7525	if s.NetworkName == nil {
7526		invalidParams.Add(request.NewErrParamRequired("NetworkName"))
7527	}
7528	if s.NetworkName != nil && len(*s.NetworkName) < 1 {
7529		invalidParams.Add(request.NewErrParamMinLen("NetworkName", 1))
7530	}
7531	if s.RepInterval != nil && *s.RepInterval < 25 {
7532		invalidParams.Add(request.NewErrParamMinValue("RepInterval", 25))
7533	}
7534
7535	if invalidParams.Len() > 0 {
7536		return invalidParams
7537	}
7538	return nil
7539}
7540
7541// SetNetworkId sets the NetworkId field's value.
7542func (s *DvbNitSettings) SetNetworkId(v int64) *DvbNitSettings {
7543	s.NetworkId = &v
7544	return s
7545}
7546
7547// SetNetworkName sets the NetworkName field's value.
7548func (s *DvbNitSettings) SetNetworkName(v string) *DvbNitSettings {
7549	s.NetworkName = &v
7550	return s
7551}
7552
7553// SetRepInterval sets the RepInterval field's value.
7554func (s *DvbNitSettings) SetRepInterval(v int64) *DvbNitSettings {
7555	s.RepInterval = &v
7556	return s
7557}
7558
7559// DVB Service Description Table (SDT)
7560type DvbSdtSettings struct {
7561	_ struct{} `type:"structure"`
7562
7563	// Selects method of inserting SDT information into output stream. The sdtFollow
7564	// setting copies SDT information from input stream to output stream. The sdtFollowIfPresent
7565	// setting copies SDT information from input stream to output stream if SDT
7566	// information is present in the input, otherwise it will fall back on the user-defined
7567	// values. The sdtManual setting means user will enter the SDT information.
7568	// The sdtNone setting means output stream will not contain SDT information.
7569	OutputSdt *string `locationName:"outputSdt" type:"string" enum:"DvbSdtOutputSdt"`
7570
7571	// The number of milliseconds between instances of this table in the output
7572	// transport stream.
7573	RepInterval *int64 `locationName:"repInterval" min:"25" type:"integer"`
7574
7575	// The service name placed in the serviceDescriptor in the Service Description
7576	// Table. Maximum length is 256 characters.
7577	ServiceName *string `locationName:"serviceName" min:"1" type:"string"`
7578
7579	// The service provider name placed in the serviceDescriptor in the Service
7580	// Description Table. Maximum length is 256 characters.
7581	ServiceProviderName *string `locationName:"serviceProviderName" min:"1" type:"string"`
7582}
7583
7584// String returns the string representation
7585func (s DvbSdtSettings) String() string {
7586	return awsutil.Prettify(s)
7587}
7588
7589// GoString returns the string representation
7590func (s DvbSdtSettings) GoString() string {
7591	return s.String()
7592}
7593
7594// Validate inspects the fields of the type to determine if they are valid.
7595func (s *DvbSdtSettings) Validate() error {
7596	invalidParams := request.ErrInvalidParams{Context: "DvbSdtSettings"}
7597	if s.RepInterval != nil && *s.RepInterval < 25 {
7598		invalidParams.Add(request.NewErrParamMinValue("RepInterval", 25))
7599	}
7600	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
7601		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
7602	}
7603	if s.ServiceProviderName != nil && len(*s.ServiceProviderName) < 1 {
7604		invalidParams.Add(request.NewErrParamMinLen("ServiceProviderName", 1))
7605	}
7606
7607	if invalidParams.Len() > 0 {
7608		return invalidParams
7609	}
7610	return nil
7611}
7612
7613// SetOutputSdt sets the OutputSdt field's value.
7614func (s *DvbSdtSettings) SetOutputSdt(v string) *DvbSdtSettings {
7615	s.OutputSdt = &v
7616	return s
7617}
7618
7619// SetRepInterval sets the RepInterval field's value.
7620func (s *DvbSdtSettings) SetRepInterval(v int64) *DvbSdtSettings {
7621	s.RepInterval = &v
7622	return s
7623}
7624
7625// SetServiceName sets the ServiceName field's value.
7626func (s *DvbSdtSettings) SetServiceName(v string) *DvbSdtSettings {
7627	s.ServiceName = &v
7628	return s
7629}
7630
7631// SetServiceProviderName sets the ServiceProviderName field's value.
7632func (s *DvbSdtSettings) SetServiceProviderName(v string) *DvbSdtSettings {
7633	s.ServiceProviderName = &v
7634	return s
7635}
7636
7637// Dvb Sub Destination Settings
7638type DvbSubDestinationSettings struct {
7639	_ struct{} `type:"structure"`
7640
7641	// If no explicit xPosition or yPosition is provided, setting alignment to centered
7642	// will place the captions at the bottom center of the output. Similarly, setting
7643	// a left alignment will align captions to the bottom left of the output. If
7644	// x and y positions are given in conjunction with the alignment parameter,
7645	// the font will be justified (either left or centered) relative to those coordinates.
7646	// Selecting "smart" justification will left-justify live subtitles and center-justify
7647	// pre-recorded subtitles. This option is not valid for source captions that
7648	// are STL or 608/embedded. These source settings are already pre-defined by
7649	// the caption stream. All burn-in and DVB-Sub font settings must match.
7650	Alignment *string `locationName:"alignment" type:"string" enum:"DvbSubDestinationAlignment"`
7651
7652	// Specifies the color of the rectangle behind the captions. All burn-in and
7653	// DVB-Sub font settings must match.
7654	BackgroundColor *string `locationName:"backgroundColor" type:"string" enum:"DvbSubDestinationBackgroundColor"`
7655
7656	// Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent.
7657	// Leaving this parameter blank is equivalent to setting it to 0 (transparent).
7658	// All burn-in and DVB-Sub font settings must match.
7659	BackgroundOpacity *int64 `locationName:"backgroundOpacity" type:"integer"`
7660
7661	// External font file used for caption burn-in. File extension must be 'ttf'
7662	// or 'tte'. Although the user can select output fonts for many different types
7663	// of input captions, embedded, STL and teletext sources use a strict grid system.
7664	// Using external fonts with these caption sources could cause unexpected display
7665	// of proportional fonts. All burn-in and DVB-Sub font settings must match.
7666	Font *InputLocation `locationName:"font" type:"structure"`
7667
7668	// Specifies the color of the burned-in captions. This option is not valid for
7669	// source captions that are STL, 608/embedded or teletext. These source settings
7670	// are already pre-defined by the caption stream. All burn-in and DVB-Sub font
7671	// settings must match.
7672	FontColor *string `locationName:"fontColor" type:"string" enum:"DvbSubDestinationFontColor"`
7673
7674	// Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent.
7675	// All burn-in and DVB-Sub font settings must match.
7676	FontOpacity *int64 `locationName:"fontOpacity" type:"integer"`
7677
7678	// Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and
7679	// DVB-Sub font settings must match.
7680	FontResolution *int64 `locationName:"fontResolution" min:"96" type:"integer"`
7681
7682	// When set to auto fontSize will scale depending on the size of the output.
7683	// Giving a positive integer will specify the exact font size in points. All
7684	// burn-in and DVB-Sub font settings must match.
7685	FontSize *string `locationName:"fontSize" type:"string"`
7686
7687	// Specifies font outline color. This option is not valid for source captions
7688	// that are either 608/embedded or teletext. These source settings are already
7689	// pre-defined by the caption stream. All burn-in and DVB-Sub font settings
7690	// must match.
7691	OutlineColor *string `locationName:"outlineColor" type:"string" enum:"DvbSubDestinationOutlineColor"`
7692
7693	// Specifies font outline size in pixels. This option is not valid for source
7694	// captions that are either 608/embedded or teletext. These source settings
7695	// are already pre-defined by the caption stream. All burn-in and DVB-Sub font
7696	// settings must match.
7697	OutlineSize *int64 `locationName:"outlineSize" type:"integer"`
7698
7699	// Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub
7700	// font settings must match.
7701	ShadowColor *string `locationName:"shadowColor" type:"string" enum:"DvbSubDestinationShadowColor"`
7702
7703	// Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving
7704	// this parameter blank is equivalent to setting it to 0 (transparent). All
7705	// burn-in and DVB-Sub font settings must match.
7706	ShadowOpacity *int64 `locationName:"shadowOpacity" type:"integer"`
7707
7708	// Specifies the horizontal offset of the shadow relative to the captions in
7709	// pixels. A value of -2 would result in a shadow offset 2 pixels to the left.
7710	// All burn-in and DVB-Sub font settings must match.
7711	ShadowXOffset *int64 `locationName:"shadowXOffset" type:"integer"`
7712
7713	// Specifies the vertical offset of the shadow relative to the captions in pixels.
7714	// A value of -2 would result in a shadow offset 2 pixels above the text. All
7715	// burn-in and DVB-Sub font settings must match.
7716	ShadowYOffset *int64 `locationName:"shadowYOffset" type:"integer"`
7717
7718	// Controls whether a fixed grid size will be used to generate the output subtitles
7719	// bitmap. Only applicable for Teletext inputs and DVB-Sub/Burn-in outputs.
7720	TeletextGridControl *string `locationName:"teletextGridControl" type:"string" enum:"DvbSubDestinationTeletextGridControl"`
7721
7722	// Specifies the horizontal position of the caption relative to the left side
7723	// of the output in pixels. A value of 10 would result in the captions starting
7724	// 10 pixels from the left of the output. If no explicit xPosition is provided,
7725	// the horizontal caption position will be determined by the alignment parameter.
7726	// This option is not valid for source captions that are STL, 608/embedded or
7727	// teletext. These source settings are already pre-defined by the caption stream.
7728	// All burn-in and DVB-Sub font settings must match.
7729	XPosition *int64 `locationName:"xPosition" type:"integer"`
7730
7731	// Specifies the vertical position of the caption relative to the top of the
7732	// output in pixels. A value of 10 would result in the captions starting 10
7733	// pixels from the top of the output. If no explicit yPosition is provided,
7734	// the caption will be positioned towards the bottom of the output. This option
7735	// is not valid for source captions that are STL, 608/embedded or teletext.
7736	// These source settings are already pre-defined by the caption stream. All
7737	// burn-in and DVB-Sub font settings must match.
7738	YPosition *int64 `locationName:"yPosition" type:"integer"`
7739}
7740
7741// String returns the string representation
7742func (s DvbSubDestinationSettings) String() string {
7743	return awsutil.Prettify(s)
7744}
7745
7746// GoString returns the string representation
7747func (s DvbSubDestinationSettings) GoString() string {
7748	return s.String()
7749}
7750
7751// Validate inspects the fields of the type to determine if they are valid.
7752func (s *DvbSubDestinationSettings) Validate() error {
7753	invalidParams := request.ErrInvalidParams{Context: "DvbSubDestinationSettings"}
7754	if s.FontResolution != nil && *s.FontResolution < 96 {
7755		invalidParams.Add(request.NewErrParamMinValue("FontResolution", 96))
7756	}
7757	if s.Font != nil {
7758		if err := s.Font.Validate(); err != nil {
7759			invalidParams.AddNested("Font", err.(request.ErrInvalidParams))
7760		}
7761	}
7762
7763	if invalidParams.Len() > 0 {
7764		return invalidParams
7765	}
7766	return nil
7767}
7768
7769// SetAlignment sets the Alignment field's value.
7770func (s *DvbSubDestinationSettings) SetAlignment(v string) *DvbSubDestinationSettings {
7771	s.Alignment = &v
7772	return s
7773}
7774
7775// SetBackgroundColor sets the BackgroundColor field's value.
7776func (s *DvbSubDestinationSettings) SetBackgroundColor(v string) *DvbSubDestinationSettings {
7777	s.BackgroundColor = &v
7778	return s
7779}
7780
7781// SetBackgroundOpacity sets the BackgroundOpacity field's value.
7782func (s *DvbSubDestinationSettings) SetBackgroundOpacity(v int64) *DvbSubDestinationSettings {
7783	s.BackgroundOpacity = &v
7784	return s
7785}
7786
7787// SetFont sets the Font field's value.
7788func (s *DvbSubDestinationSettings) SetFont(v *InputLocation) *DvbSubDestinationSettings {
7789	s.Font = v
7790	return s
7791}
7792
7793// SetFontColor sets the FontColor field's value.
7794func (s *DvbSubDestinationSettings) SetFontColor(v string) *DvbSubDestinationSettings {
7795	s.FontColor = &v
7796	return s
7797}
7798
7799// SetFontOpacity sets the FontOpacity field's value.
7800func (s *DvbSubDestinationSettings) SetFontOpacity(v int64) *DvbSubDestinationSettings {
7801	s.FontOpacity = &v
7802	return s
7803}
7804
7805// SetFontResolution sets the FontResolution field's value.
7806func (s *DvbSubDestinationSettings) SetFontResolution(v int64) *DvbSubDestinationSettings {
7807	s.FontResolution = &v
7808	return s
7809}
7810
7811// SetFontSize sets the FontSize field's value.
7812func (s *DvbSubDestinationSettings) SetFontSize(v string) *DvbSubDestinationSettings {
7813	s.FontSize = &v
7814	return s
7815}
7816
7817// SetOutlineColor sets the OutlineColor field's value.
7818func (s *DvbSubDestinationSettings) SetOutlineColor(v string) *DvbSubDestinationSettings {
7819	s.OutlineColor = &v
7820	return s
7821}
7822
7823// SetOutlineSize sets the OutlineSize field's value.
7824func (s *DvbSubDestinationSettings) SetOutlineSize(v int64) *DvbSubDestinationSettings {
7825	s.OutlineSize = &v
7826	return s
7827}
7828
7829// SetShadowColor sets the ShadowColor field's value.
7830func (s *DvbSubDestinationSettings) SetShadowColor(v string) *DvbSubDestinationSettings {
7831	s.ShadowColor = &v
7832	return s
7833}
7834
7835// SetShadowOpacity sets the ShadowOpacity field's value.
7836func (s *DvbSubDestinationSettings) SetShadowOpacity(v int64) *DvbSubDestinationSettings {
7837	s.ShadowOpacity = &v
7838	return s
7839}
7840
7841// SetShadowXOffset sets the ShadowXOffset field's value.
7842func (s *DvbSubDestinationSettings) SetShadowXOffset(v int64) *DvbSubDestinationSettings {
7843	s.ShadowXOffset = &v
7844	return s
7845}
7846
7847// SetShadowYOffset sets the ShadowYOffset field's value.
7848func (s *DvbSubDestinationSettings) SetShadowYOffset(v int64) *DvbSubDestinationSettings {
7849	s.ShadowYOffset = &v
7850	return s
7851}
7852
7853// SetTeletextGridControl sets the TeletextGridControl field's value.
7854func (s *DvbSubDestinationSettings) SetTeletextGridControl(v string) *DvbSubDestinationSettings {
7855	s.TeletextGridControl = &v
7856	return s
7857}
7858
7859// SetXPosition sets the XPosition field's value.
7860func (s *DvbSubDestinationSettings) SetXPosition(v int64) *DvbSubDestinationSettings {
7861	s.XPosition = &v
7862	return s
7863}
7864
7865// SetYPosition sets the YPosition field's value.
7866func (s *DvbSubDestinationSettings) SetYPosition(v int64) *DvbSubDestinationSettings {
7867	s.YPosition = &v
7868	return s
7869}
7870
7871// Dvb Sub Source Settings
7872type DvbSubSourceSettings struct {
7873	_ struct{} `type:"structure"`
7874
7875	// When using DVB-Sub with Burn-In or SMPTE-TT, use this PID for the source
7876	// content. Unused for DVB-Sub passthrough. All DVB-Sub content is passed through,
7877	// regardless of selectors.
7878	Pid *int64 `locationName:"pid" min:"1" type:"integer"`
7879}
7880
7881// String returns the string representation
7882func (s DvbSubSourceSettings) String() string {
7883	return awsutil.Prettify(s)
7884}
7885
7886// GoString returns the string representation
7887func (s DvbSubSourceSettings) GoString() string {
7888	return s.String()
7889}
7890
7891// Validate inspects the fields of the type to determine if they are valid.
7892func (s *DvbSubSourceSettings) Validate() error {
7893	invalidParams := request.ErrInvalidParams{Context: "DvbSubSourceSettings"}
7894	if s.Pid != nil && *s.Pid < 1 {
7895		invalidParams.Add(request.NewErrParamMinValue("Pid", 1))
7896	}
7897
7898	if invalidParams.Len() > 0 {
7899		return invalidParams
7900	}
7901	return nil
7902}
7903
7904// SetPid sets the Pid field's value.
7905func (s *DvbSubSourceSettings) SetPid(v int64) *DvbSubSourceSettings {
7906	s.Pid = &v
7907	return s
7908}
7909
7910// DVB Time and Date Table (SDT)
7911type DvbTdtSettings struct {
7912	_ struct{} `type:"structure"`
7913
7914	// The number of milliseconds between instances of this table in the output
7915	// transport stream.
7916	RepInterval *int64 `locationName:"repInterval" min:"1000" type:"integer"`
7917}
7918
7919// String returns the string representation
7920func (s DvbTdtSettings) String() string {
7921	return awsutil.Prettify(s)
7922}
7923
7924// GoString returns the string representation
7925func (s DvbTdtSettings) GoString() string {
7926	return s.String()
7927}
7928
7929// Validate inspects the fields of the type to determine if they are valid.
7930func (s *DvbTdtSettings) Validate() error {
7931	invalidParams := request.ErrInvalidParams{Context: "DvbTdtSettings"}
7932	if s.RepInterval != nil && *s.RepInterval < 1000 {
7933		invalidParams.Add(request.NewErrParamMinValue("RepInterval", 1000))
7934	}
7935
7936	if invalidParams.Len() > 0 {
7937		return invalidParams
7938	}
7939	return nil
7940}
7941
7942// SetRepInterval sets the RepInterval field's value.
7943func (s *DvbTdtSettings) SetRepInterval(v int64) *DvbTdtSettings {
7944	s.RepInterval = &v
7945	return s
7946}
7947
7948// Eac3 Settings
7949type Eac3Settings struct {
7950	_ struct{} `type:"structure"`
7951
7952	// When set to attenuate3Db, applies a 3 dB attenuation to the surround channels.
7953	// Only used for 3/2 coding mode.
7954	AttenuationControl *string `locationName:"attenuationControl" type:"string" enum:"Eac3AttenuationControl"`
7955
7956	// Average bitrate in bits/second. Valid bitrates depend on the coding mode.
7957	Bitrate *float64 `locationName:"bitrate" type:"double"`
7958
7959	// Specifies the bitstream mode (bsmod) for the emitted E-AC-3 stream. See ATSC
7960	// A/52-2012 (Annex E) for background on these values.
7961	BitstreamMode *string `locationName:"bitstreamMode" type:"string" enum:"Eac3BitstreamMode"`
7962
7963	// Dolby Digital Plus coding mode. Determines number of channels.
7964	CodingMode *string `locationName:"codingMode" type:"string" enum:"Eac3CodingMode"`
7965
7966	// When set to enabled, activates a DC highpass filter for all input channels.
7967	DcFilter *string `locationName:"dcFilter" type:"string" enum:"Eac3DcFilter"`
7968
7969	// Sets the dialnorm for the output. If blank and input audio is Dolby Digital
7970	// Plus, dialnorm will be passed through.
7971	Dialnorm *int64 `locationName:"dialnorm" min:"1" type:"integer"`
7972
7973	// Sets the Dolby dynamic range compression profile.
7974	DrcLine *string `locationName:"drcLine" type:"string" enum:"Eac3DrcLine"`
7975
7976	// Sets the profile for heavy Dolby dynamic range compression, ensures that
7977	// the instantaneous signal peaks do not exceed specified levels.
7978	DrcRf *string `locationName:"drcRf" type:"string" enum:"Eac3DrcRf"`
7979
7980	// When encoding 3/2 audio, setting to lfe enables the LFE channel
7981	LfeControl *string `locationName:"lfeControl" type:"string" enum:"Eac3LfeControl"`
7982
7983	// When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior
7984	// to encoding. Only valid with codingMode32 coding mode.
7985	LfeFilter *string `locationName:"lfeFilter" type:"string" enum:"Eac3LfeFilter"`
7986
7987	// Left only/Right only center mix level. Only used for 3/2 coding mode.
7988	LoRoCenterMixLevel *float64 `locationName:"loRoCenterMixLevel" type:"double"`
7989
7990	// Left only/Right only surround mix level. Only used for 3/2 coding mode.
7991	LoRoSurroundMixLevel *float64 `locationName:"loRoSurroundMixLevel" type:"double"`
7992
7993	// Left total/Right total center mix level. Only used for 3/2 coding mode.
7994	LtRtCenterMixLevel *float64 `locationName:"ltRtCenterMixLevel" type:"double"`
7995
7996	// Left total/Right total surround mix level. Only used for 3/2 coding mode.
7997	LtRtSurroundMixLevel *float64 `locationName:"ltRtSurroundMixLevel" type:"double"`
7998
7999	// When set to followInput, encoder metadata will be sourced from the DD, DD+,
8000	// or DolbyE decoder that supplied this audio data. If audio was not supplied
8001	// from one of these streams, then the static metadata settings will be used.
8002	MetadataControl *string `locationName:"metadataControl" type:"string" enum:"Eac3MetadataControl"`
8003
8004	// When set to whenPossible, input DD+ audio will be passed through if it is
8005	// present on the input. This detection is dynamic over the life of the transcode.
8006	// Inputs that alternate between DD+ and non-DD+ content will have a consistent
8007	// DD+ output as the system alternates between passthrough and encoding.
8008	PassthroughControl *string `locationName:"passthroughControl" type:"string" enum:"Eac3PassthroughControl"`
8009
8010	// When set to shift90Degrees, applies a 90-degree phase shift to the surround
8011	// channels. Only used for 3/2 coding mode.
8012	PhaseControl *string `locationName:"phaseControl" type:"string" enum:"Eac3PhaseControl"`
8013
8014	// Stereo downmix preference. Only used for 3/2 coding mode.
8015	StereoDownmix *string `locationName:"stereoDownmix" type:"string" enum:"Eac3StereoDownmix"`
8016
8017	// When encoding 3/2 audio, sets whether an extra center back surround channel
8018	// is matrix encoded into the left and right surround channels.
8019	SurroundExMode *string `locationName:"surroundExMode" type:"string" enum:"Eac3SurroundExMode"`
8020
8021	// When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into
8022	// the two channels.
8023	SurroundMode *string `locationName:"surroundMode" type:"string" enum:"Eac3SurroundMode"`
8024}
8025
8026// String returns the string representation
8027func (s Eac3Settings) String() string {
8028	return awsutil.Prettify(s)
8029}
8030
8031// GoString returns the string representation
8032func (s Eac3Settings) GoString() string {
8033	return s.String()
8034}
8035
8036// Validate inspects the fields of the type to determine if they are valid.
8037func (s *Eac3Settings) Validate() error {
8038	invalidParams := request.ErrInvalidParams{Context: "Eac3Settings"}
8039	if s.Dialnorm != nil && *s.Dialnorm < 1 {
8040		invalidParams.Add(request.NewErrParamMinValue("Dialnorm", 1))
8041	}
8042
8043	if invalidParams.Len() > 0 {
8044		return invalidParams
8045	}
8046	return nil
8047}
8048
8049// SetAttenuationControl sets the AttenuationControl field's value.
8050func (s *Eac3Settings) SetAttenuationControl(v string) *Eac3Settings {
8051	s.AttenuationControl = &v
8052	return s
8053}
8054
8055// SetBitrate sets the Bitrate field's value.
8056func (s *Eac3Settings) SetBitrate(v float64) *Eac3Settings {
8057	s.Bitrate = &v
8058	return s
8059}
8060
8061// SetBitstreamMode sets the BitstreamMode field's value.
8062func (s *Eac3Settings) SetBitstreamMode(v string) *Eac3Settings {
8063	s.BitstreamMode = &v
8064	return s
8065}
8066
8067// SetCodingMode sets the CodingMode field's value.
8068func (s *Eac3Settings) SetCodingMode(v string) *Eac3Settings {
8069	s.CodingMode = &v
8070	return s
8071}
8072
8073// SetDcFilter sets the DcFilter field's value.
8074func (s *Eac3Settings) SetDcFilter(v string) *Eac3Settings {
8075	s.DcFilter = &v
8076	return s
8077}
8078
8079// SetDialnorm sets the Dialnorm field's value.
8080func (s *Eac3Settings) SetDialnorm(v int64) *Eac3Settings {
8081	s.Dialnorm = &v
8082	return s
8083}
8084
8085// SetDrcLine sets the DrcLine field's value.
8086func (s *Eac3Settings) SetDrcLine(v string) *Eac3Settings {
8087	s.DrcLine = &v
8088	return s
8089}
8090
8091// SetDrcRf sets the DrcRf field's value.
8092func (s *Eac3Settings) SetDrcRf(v string) *Eac3Settings {
8093	s.DrcRf = &v
8094	return s
8095}
8096
8097// SetLfeControl sets the LfeControl field's value.
8098func (s *Eac3Settings) SetLfeControl(v string) *Eac3Settings {
8099	s.LfeControl = &v
8100	return s
8101}
8102
8103// SetLfeFilter sets the LfeFilter field's value.
8104func (s *Eac3Settings) SetLfeFilter(v string) *Eac3Settings {
8105	s.LfeFilter = &v
8106	return s
8107}
8108
8109// SetLoRoCenterMixLevel sets the LoRoCenterMixLevel field's value.
8110func (s *Eac3Settings) SetLoRoCenterMixLevel(v float64) *Eac3Settings {
8111	s.LoRoCenterMixLevel = &v
8112	return s
8113}
8114
8115// SetLoRoSurroundMixLevel sets the LoRoSurroundMixLevel field's value.
8116func (s *Eac3Settings) SetLoRoSurroundMixLevel(v float64) *Eac3Settings {
8117	s.LoRoSurroundMixLevel = &v
8118	return s
8119}
8120
8121// SetLtRtCenterMixLevel sets the LtRtCenterMixLevel field's value.
8122func (s *Eac3Settings) SetLtRtCenterMixLevel(v float64) *Eac3Settings {
8123	s.LtRtCenterMixLevel = &v
8124	return s
8125}
8126
8127// SetLtRtSurroundMixLevel sets the LtRtSurroundMixLevel field's value.
8128func (s *Eac3Settings) SetLtRtSurroundMixLevel(v float64) *Eac3Settings {
8129	s.LtRtSurroundMixLevel = &v
8130	return s
8131}
8132
8133// SetMetadataControl sets the MetadataControl field's value.
8134func (s *Eac3Settings) SetMetadataControl(v string) *Eac3Settings {
8135	s.MetadataControl = &v
8136	return s
8137}
8138
8139// SetPassthroughControl sets the PassthroughControl field's value.
8140func (s *Eac3Settings) SetPassthroughControl(v string) *Eac3Settings {
8141	s.PassthroughControl = &v
8142	return s
8143}
8144
8145// SetPhaseControl sets the PhaseControl field's value.
8146func (s *Eac3Settings) SetPhaseControl(v string) *Eac3Settings {
8147	s.PhaseControl = &v
8148	return s
8149}
8150
8151// SetStereoDownmix sets the StereoDownmix field's value.
8152func (s *Eac3Settings) SetStereoDownmix(v string) *Eac3Settings {
8153	s.StereoDownmix = &v
8154	return s
8155}
8156
8157// SetSurroundExMode sets the SurroundExMode field's value.
8158func (s *Eac3Settings) SetSurroundExMode(v string) *Eac3Settings {
8159	s.SurroundExMode = &v
8160	return s
8161}
8162
8163// SetSurroundMode sets the SurroundMode field's value.
8164func (s *Eac3Settings) SetSurroundMode(v string) *Eac3Settings {
8165	s.SurroundMode = &v
8166	return s
8167}
8168
8169// Embedded Destination Settings
8170type EmbeddedDestinationSettings struct {
8171	_ struct{} `type:"structure"`
8172}
8173
8174// String returns the string representation
8175func (s EmbeddedDestinationSettings) String() string {
8176	return awsutil.Prettify(s)
8177}
8178
8179// GoString returns the string representation
8180func (s EmbeddedDestinationSettings) GoString() string {
8181	return s.String()
8182}
8183
8184// Embedded Plus Scte20 Destination Settings
8185type EmbeddedPlusScte20DestinationSettings struct {
8186	_ struct{} `type:"structure"`
8187}
8188
8189// String returns the string representation
8190func (s EmbeddedPlusScte20DestinationSettings) String() string {
8191	return awsutil.Prettify(s)
8192}
8193
8194// GoString returns the string representation
8195func (s EmbeddedPlusScte20DestinationSettings) GoString() string {
8196	return s.String()
8197}
8198
8199// Embedded Source Settings
8200type EmbeddedSourceSettings struct {
8201	_ struct{} `type:"structure"`
8202
8203	// If upconvert, 608 data is both passed through via the "608 compatibility
8204	// bytes" fields of the 708 wrapper as well as translated into 708. 708 data
8205	// present in the source content will be discarded.
8206	Convert608To708 *string `locationName:"convert608To708" type:"string" enum:"EmbeddedConvert608To708"`
8207
8208	// Set to "auto" to handle streams with intermittent and/or non-aligned SCTE-20
8209	// and Embedded captions.
8210	Scte20Detection *string `locationName:"scte20Detection" type:"string" enum:"EmbeddedScte20Detection"`
8211
8212	// Specifies the 608/708 channel number within the video track from which to
8213	// extract captions. Unused for passthrough.
8214	Source608ChannelNumber *int64 `locationName:"source608ChannelNumber" min:"1" type:"integer"`
8215
8216	// This field is unused and deprecated.
8217	Source608TrackNumber *int64 `locationName:"source608TrackNumber" min:"1" type:"integer"`
8218}
8219
8220// String returns the string representation
8221func (s EmbeddedSourceSettings) String() string {
8222	return awsutil.Prettify(s)
8223}
8224
8225// GoString returns the string representation
8226func (s EmbeddedSourceSettings) GoString() string {
8227	return s.String()
8228}
8229
8230// Validate inspects the fields of the type to determine if they are valid.
8231func (s *EmbeddedSourceSettings) Validate() error {
8232	invalidParams := request.ErrInvalidParams{Context: "EmbeddedSourceSettings"}
8233	if s.Source608ChannelNumber != nil && *s.Source608ChannelNumber < 1 {
8234		invalidParams.Add(request.NewErrParamMinValue("Source608ChannelNumber", 1))
8235	}
8236	if s.Source608TrackNumber != nil && *s.Source608TrackNumber < 1 {
8237		invalidParams.Add(request.NewErrParamMinValue("Source608TrackNumber", 1))
8238	}
8239
8240	if invalidParams.Len() > 0 {
8241		return invalidParams
8242	}
8243	return nil
8244}
8245
8246// SetConvert608To708 sets the Convert608To708 field's value.
8247func (s *EmbeddedSourceSettings) SetConvert608To708(v string) *EmbeddedSourceSettings {
8248	s.Convert608To708 = &v
8249	return s
8250}
8251
8252// SetScte20Detection sets the Scte20Detection field's value.
8253func (s *EmbeddedSourceSettings) SetScte20Detection(v string) *EmbeddedSourceSettings {
8254	s.Scte20Detection = &v
8255	return s
8256}
8257
8258// SetSource608ChannelNumber sets the Source608ChannelNumber field's value.
8259func (s *EmbeddedSourceSettings) SetSource608ChannelNumber(v int64) *EmbeddedSourceSettings {
8260	s.Source608ChannelNumber = &v
8261	return s
8262}
8263
8264// SetSource608TrackNumber sets the Source608TrackNumber field's value.
8265func (s *EmbeddedSourceSettings) SetSource608TrackNumber(v int64) *EmbeddedSourceSettings {
8266	s.Source608TrackNumber = &v
8267	return s
8268}
8269
8270// Encoder Settings
8271type EncoderSettings struct {
8272	_ struct{} `type:"structure"`
8273
8274	// AudioDescriptions is a required field
8275	AudioDescriptions []*AudioDescription `locationName:"audioDescriptions" type:"list" required:"true"`
8276
8277	// Settings for ad avail blanking.
8278	AvailBlanking *AvailBlanking `locationName:"availBlanking" type:"structure"`
8279
8280	// Event-wide configuration settings for ad avail insertion.
8281	AvailConfiguration *AvailConfiguration `locationName:"availConfiguration" type:"structure"`
8282
8283	// Settings for blackout slate.
8284	BlackoutSlate *BlackoutSlate `locationName:"blackoutSlate" type:"structure"`
8285
8286	// Settings for caption decriptions
8287	CaptionDescriptions []*CaptionDescription `locationName:"captionDescriptions" type:"list"`
8288
8289	// Configuration settings that apply to the event as a whole.
8290	GlobalConfiguration *GlobalConfiguration `locationName:"globalConfiguration" type:"structure"`
8291
8292	// OutputGroups is a required field
8293	OutputGroups []*OutputGroup `locationName:"outputGroups" type:"list" required:"true"`
8294
8295	// Contains settings used to acquire and adjust timecode information from inputs.
8296	//
8297	// TimecodeConfig is a required field
8298	TimecodeConfig *TimecodeConfig `locationName:"timecodeConfig" type:"structure" required:"true"`
8299
8300	// VideoDescriptions is a required field
8301	VideoDescriptions []*VideoDescription `locationName:"videoDescriptions" type:"list" required:"true"`
8302}
8303
8304// String returns the string representation
8305func (s EncoderSettings) String() string {
8306	return awsutil.Prettify(s)
8307}
8308
8309// GoString returns the string representation
8310func (s EncoderSettings) GoString() string {
8311	return s.String()
8312}
8313
8314// Validate inspects the fields of the type to determine if they are valid.
8315func (s *EncoderSettings) Validate() error {
8316	invalidParams := request.ErrInvalidParams{Context: "EncoderSettings"}
8317	if s.AudioDescriptions == nil {
8318		invalidParams.Add(request.NewErrParamRequired("AudioDescriptions"))
8319	}
8320	if s.OutputGroups == nil {
8321		invalidParams.Add(request.NewErrParamRequired("OutputGroups"))
8322	}
8323	if s.TimecodeConfig == nil {
8324		invalidParams.Add(request.NewErrParamRequired("TimecodeConfig"))
8325	}
8326	if s.VideoDescriptions == nil {
8327		invalidParams.Add(request.NewErrParamRequired("VideoDescriptions"))
8328	}
8329	if s.AudioDescriptions != nil {
8330		for i, v := range s.AudioDescriptions {
8331			if v == nil {
8332				continue
8333			}
8334			if err := v.Validate(); err != nil {
8335				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioDescriptions", i), err.(request.ErrInvalidParams))
8336			}
8337		}
8338	}
8339	if s.AvailBlanking != nil {
8340		if err := s.AvailBlanking.Validate(); err != nil {
8341			invalidParams.AddNested("AvailBlanking", err.(request.ErrInvalidParams))
8342		}
8343	}
8344	if s.AvailConfiguration != nil {
8345		if err := s.AvailConfiguration.Validate(); err != nil {
8346			invalidParams.AddNested("AvailConfiguration", err.(request.ErrInvalidParams))
8347		}
8348	}
8349	if s.BlackoutSlate != nil {
8350		if err := s.BlackoutSlate.Validate(); err != nil {
8351			invalidParams.AddNested("BlackoutSlate", err.(request.ErrInvalidParams))
8352		}
8353	}
8354	if s.CaptionDescriptions != nil {
8355		for i, v := range s.CaptionDescriptions {
8356			if v == nil {
8357				continue
8358			}
8359			if err := v.Validate(); err != nil {
8360				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionDescriptions", i), err.(request.ErrInvalidParams))
8361			}
8362		}
8363	}
8364	if s.GlobalConfiguration != nil {
8365		if err := s.GlobalConfiguration.Validate(); err != nil {
8366			invalidParams.AddNested("GlobalConfiguration", err.(request.ErrInvalidParams))
8367		}
8368	}
8369	if s.OutputGroups != nil {
8370		for i, v := range s.OutputGroups {
8371			if v == nil {
8372				continue
8373			}
8374			if err := v.Validate(); err != nil {
8375				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputGroups", i), err.(request.ErrInvalidParams))
8376			}
8377		}
8378	}
8379	if s.TimecodeConfig != nil {
8380		if err := s.TimecodeConfig.Validate(); err != nil {
8381			invalidParams.AddNested("TimecodeConfig", err.(request.ErrInvalidParams))
8382		}
8383	}
8384	if s.VideoDescriptions != nil {
8385		for i, v := range s.VideoDescriptions {
8386			if v == nil {
8387				continue
8388			}
8389			if err := v.Validate(); err != nil {
8390				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VideoDescriptions", i), err.(request.ErrInvalidParams))
8391			}
8392		}
8393	}
8394
8395	if invalidParams.Len() > 0 {
8396		return invalidParams
8397	}
8398	return nil
8399}
8400
8401// SetAudioDescriptions sets the AudioDescriptions field's value.
8402func (s *EncoderSettings) SetAudioDescriptions(v []*AudioDescription) *EncoderSettings {
8403	s.AudioDescriptions = v
8404	return s
8405}
8406
8407// SetAvailBlanking sets the AvailBlanking field's value.
8408func (s *EncoderSettings) SetAvailBlanking(v *AvailBlanking) *EncoderSettings {
8409	s.AvailBlanking = v
8410	return s
8411}
8412
8413// SetAvailConfiguration sets the AvailConfiguration field's value.
8414func (s *EncoderSettings) SetAvailConfiguration(v *AvailConfiguration) *EncoderSettings {
8415	s.AvailConfiguration = v
8416	return s
8417}
8418
8419// SetBlackoutSlate sets the BlackoutSlate field's value.
8420func (s *EncoderSettings) SetBlackoutSlate(v *BlackoutSlate) *EncoderSettings {
8421	s.BlackoutSlate = v
8422	return s
8423}
8424
8425// SetCaptionDescriptions sets the CaptionDescriptions field's value.
8426func (s *EncoderSettings) SetCaptionDescriptions(v []*CaptionDescription) *EncoderSettings {
8427	s.CaptionDescriptions = v
8428	return s
8429}
8430
8431// SetGlobalConfiguration sets the GlobalConfiguration field's value.
8432func (s *EncoderSettings) SetGlobalConfiguration(v *GlobalConfiguration) *EncoderSettings {
8433	s.GlobalConfiguration = v
8434	return s
8435}
8436
8437// SetOutputGroups sets the OutputGroups field's value.
8438func (s *EncoderSettings) SetOutputGroups(v []*OutputGroup) *EncoderSettings {
8439	s.OutputGroups = v
8440	return s
8441}
8442
8443// SetTimecodeConfig sets the TimecodeConfig field's value.
8444func (s *EncoderSettings) SetTimecodeConfig(v *TimecodeConfig) *EncoderSettings {
8445	s.TimecodeConfig = v
8446	return s
8447}
8448
8449// SetVideoDescriptions sets the VideoDescriptions field's value.
8450func (s *EncoderSettings) SetVideoDescriptions(v []*VideoDescription) *EncoderSettings {
8451	s.VideoDescriptions = v
8452	return s
8453}
8454
8455// Fec Output Settings
8456type FecOutputSettings struct {
8457	_ struct{} `type:"structure"`
8458
8459	// Parameter D from SMPTE 2022-1. The height of the FEC protection matrix. The
8460	// number of transport stream packets per column error correction packet. Must
8461	// be between 4 and 20, inclusive.
8462	ColumnDepth *int64 `locationName:"columnDepth" min:"4" type:"integer"`
8463
8464	// Enables column only or column and row based FEC
8465	IncludeFec *string `locationName:"includeFec" type:"string" enum:"FecOutputIncludeFec"`
8466
8467	// Parameter L from SMPTE 2022-1. The width of the FEC protection matrix. Must
8468	// be between 1 and 20, inclusive. If only Column FEC is used, then larger values
8469	// increase robustness. If Row FEC is used, then this is the number of transport
8470	// stream packets per row error correction packet, and the value must be between
8471	// 4 and 20, inclusive, if includeFec is columnAndRow. If includeFec is column,
8472	// this value must be 1 to 20, inclusive.
8473	RowLength *int64 `locationName:"rowLength" min:"1" type:"integer"`
8474}
8475
8476// String returns the string representation
8477func (s FecOutputSettings) String() string {
8478	return awsutil.Prettify(s)
8479}
8480
8481// GoString returns the string representation
8482func (s FecOutputSettings) GoString() string {
8483	return s.String()
8484}
8485
8486// Validate inspects the fields of the type to determine if they are valid.
8487func (s *FecOutputSettings) Validate() error {
8488	invalidParams := request.ErrInvalidParams{Context: "FecOutputSettings"}
8489	if s.ColumnDepth != nil && *s.ColumnDepth < 4 {
8490		invalidParams.Add(request.NewErrParamMinValue("ColumnDepth", 4))
8491	}
8492	if s.RowLength != nil && *s.RowLength < 1 {
8493		invalidParams.Add(request.NewErrParamMinValue("RowLength", 1))
8494	}
8495
8496	if invalidParams.Len() > 0 {
8497		return invalidParams
8498	}
8499	return nil
8500}
8501
8502// SetColumnDepth sets the ColumnDepth field's value.
8503func (s *FecOutputSettings) SetColumnDepth(v int64) *FecOutputSettings {
8504	s.ColumnDepth = &v
8505	return s
8506}
8507
8508// SetIncludeFec sets the IncludeFec field's value.
8509func (s *FecOutputSettings) SetIncludeFec(v string) *FecOutputSettings {
8510	s.IncludeFec = &v
8511	return s
8512}
8513
8514// SetRowLength sets the RowLength field's value.
8515func (s *FecOutputSettings) SetRowLength(v int64) *FecOutputSettings {
8516	s.RowLength = &v
8517	return s
8518}
8519
8520// Start time for the action.
8521type FixedModeScheduleActionStartSettings struct {
8522	_ struct{} `type:"structure"`
8523
8524	// Start time for the action to start in the channel. (Not the time for the
8525	// action to be added to the schedule: actions are always added to the schedule
8526	// immediately.) UTC format: yyyy-mm-ddThh:mm:ss.nnnZ. All the letters are digits
8527	// (for example, mm might be 01) except for the two constants "T" for time and
8528	// "Z" for "UTC format".
8529	//
8530	// Time is a required field
8531	Time *string `locationName:"time" type:"string" required:"true"`
8532}
8533
8534// String returns the string representation
8535func (s FixedModeScheduleActionStartSettings) String() string {
8536	return awsutil.Prettify(s)
8537}
8538
8539// GoString returns the string representation
8540func (s FixedModeScheduleActionStartSettings) GoString() string {
8541	return s.String()
8542}
8543
8544// Validate inspects the fields of the type to determine if they are valid.
8545func (s *FixedModeScheduleActionStartSettings) Validate() error {
8546	invalidParams := request.ErrInvalidParams{Context: "FixedModeScheduleActionStartSettings"}
8547	if s.Time == nil {
8548		invalidParams.Add(request.NewErrParamRequired("Time"))
8549	}
8550
8551	if invalidParams.Len() > 0 {
8552		return invalidParams
8553	}
8554	return nil
8555}
8556
8557// SetTime sets the Time field's value.
8558func (s *FixedModeScheduleActionStartSettings) SetTime(v string) *FixedModeScheduleActionStartSettings {
8559	s.Time = &v
8560	return s
8561}
8562
8563// Settings to specify if an action follows another.
8564type FollowModeScheduleActionStartSettings struct {
8565	_ struct{} `type:"structure"`
8566
8567	// Identifies whether this action starts relative to the start or relative to
8568	// the end of the reference action.
8569	//
8570	// FollowPoint is a required field
8571	FollowPoint *string `locationName:"followPoint" type:"string" required:"true" enum:"FollowPoint"`
8572
8573	// The action name of another action that this one refers to.
8574	//
8575	// ReferenceActionName is a required field
8576	ReferenceActionName *string `locationName:"referenceActionName" type:"string" required:"true"`
8577}
8578
8579// String returns the string representation
8580func (s FollowModeScheduleActionStartSettings) String() string {
8581	return awsutil.Prettify(s)
8582}
8583
8584// GoString returns the string representation
8585func (s FollowModeScheduleActionStartSettings) GoString() string {
8586	return s.String()
8587}
8588
8589// Validate inspects the fields of the type to determine if they are valid.
8590func (s *FollowModeScheduleActionStartSettings) Validate() error {
8591	invalidParams := request.ErrInvalidParams{Context: "FollowModeScheduleActionStartSettings"}
8592	if s.FollowPoint == nil {
8593		invalidParams.Add(request.NewErrParamRequired("FollowPoint"))
8594	}
8595	if s.ReferenceActionName == nil {
8596		invalidParams.Add(request.NewErrParamRequired("ReferenceActionName"))
8597	}
8598
8599	if invalidParams.Len() > 0 {
8600		return invalidParams
8601	}
8602	return nil
8603}
8604
8605// SetFollowPoint sets the FollowPoint field's value.
8606func (s *FollowModeScheduleActionStartSettings) SetFollowPoint(v string) *FollowModeScheduleActionStartSettings {
8607	s.FollowPoint = &v
8608	return s
8609}
8610
8611// SetReferenceActionName sets the ReferenceActionName field's value.
8612func (s *FollowModeScheduleActionStartSettings) SetReferenceActionName(v string) *FollowModeScheduleActionStartSettings {
8613	s.ReferenceActionName = &v
8614	return s
8615}
8616
8617// Frame Capture Group Settings
8618type FrameCaptureGroupSettings struct {
8619	_ struct{} `type:"structure"`
8620
8621	// The destination for the frame capture files. Either the URI for an Amazon
8622	// S3 bucket and object, plus a file name prefix (for example, s3ssl://sportsDelivery/highlights/20180820/curling_)
8623	// or the URI for a MediaStore container, plus a file name prefix (for example,
8624	// mediastoressl://sportsDelivery/20180820/curling_). The final file names consist
8625	// of the prefix from the destination field (for example, "curling_") + name
8626	// modifier + the counter (5 digits, starting from 00001) + extension (which
8627	// is always .jpg). For example, curlingLow.00001.jpg
8628	//
8629	// Destination is a required field
8630	Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"`
8631}
8632
8633// String returns the string representation
8634func (s FrameCaptureGroupSettings) String() string {
8635	return awsutil.Prettify(s)
8636}
8637
8638// GoString returns the string representation
8639func (s FrameCaptureGroupSettings) GoString() string {
8640	return s.String()
8641}
8642
8643// Validate inspects the fields of the type to determine if they are valid.
8644func (s *FrameCaptureGroupSettings) Validate() error {
8645	invalidParams := request.ErrInvalidParams{Context: "FrameCaptureGroupSettings"}
8646	if s.Destination == nil {
8647		invalidParams.Add(request.NewErrParamRequired("Destination"))
8648	}
8649
8650	if invalidParams.Len() > 0 {
8651		return invalidParams
8652	}
8653	return nil
8654}
8655
8656// SetDestination sets the Destination field's value.
8657func (s *FrameCaptureGroupSettings) SetDestination(v *OutputLocationRef) *FrameCaptureGroupSettings {
8658	s.Destination = v
8659	return s
8660}
8661
8662// Frame Capture Output Settings
8663type FrameCaptureOutputSettings struct {
8664	_ struct{} `type:"structure"`
8665
8666	// Required if the output group contains more than one output. This modifier
8667	// forms part of the output file name.
8668	NameModifier *string `locationName:"nameModifier" type:"string"`
8669}
8670
8671// String returns the string representation
8672func (s FrameCaptureOutputSettings) String() string {
8673	return awsutil.Prettify(s)
8674}
8675
8676// GoString returns the string representation
8677func (s FrameCaptureOutputSettings) GoString() string {
8678	return s.String()
8679}
8680
8681// SetNameModifier sets the NameModifier field's value.
8682func (s *FrameCaptureOutputSettings) SetNameModifier(v string) *FrameCaptureOutputSettings {
8683	s.NameModifier = &v
8684	return s
8685}
8686
8687// Frame Capture Settings
8688type FrameCaptureSettings struct {
8689	_ struct{} `type:"structure"`
8690
8691	// The frequency, in seconds, for capturing frames for inclusion in the output.
8692	// For example, "10" means capture a frame every 10 seconds.
8693	//
8694	// CaptureInterval is a required field
8695	CaptureInterval *int64 `locationName:"captureInterval" min:"1" type:"integer" required:"true"`
8696}
8697
8698// String returns the string representation
8699func (s FrameCaptureSettings) String() string {
8700	return awsutil.Prettify(s)
8701}
8702
8703// GoString returns the string representation
8704func (s FrameCaptureSettings) GoString() string {
8705	return s.String()
8706}
8707
8708// Validate inspects the fields of the type to determine if they are valid.
8709func (s *FrameCaptureSettings) Validate() error {
8710	invalidParams := request.ErrInvalidParams{Context: "FrameCaptureSettings"}
8711	if s.CaptureInterval == nil {
8712		invalidParams.Add(request.NewErrParamRequired("CaptureInterval"))
8713	}
8714	if s.CaptureInterval != nil && *s.CaptureInterval < 1 {
8715		invalidParams.Add(request.NewErrParamMinValue("CaptureInterval", 1))
8716	}
8717
8718	if invalidParams.Len() > 0 {
8719		return invalidParams
8720	}
8721	return nil
8722}
8723
8724// SetCaptureInterval sets the CaptureInterval field's value.
8725func (s *FrameCaptureSettings) SetCaptureInterval(v int64) *FrameCaptureSettings {
8726	s.CaptureInterval = &v
8727	return s
8728}
8729
8730// Global Configuration
8731type GlobalConfiguration struct {
8732	_ struct{} `type:"structure"`
8733
8734	// Value to set the initial audio gain for the Live Event.
8735	InitialAudioGain *int64 `locationName:"initialAudioGain" type:"integer"`
8736
8737	// Indicates the action to take when the current input completes (e.g. end-of-file).
8738	// When switchAndLoopInputs is configured the encoder will restart at the beginning
8739	// of the first input. When "none" is configured the encoder will transcode
8740	// either black, a solid color, or a user specified slate images per the "Input
8741	// Loss Behavior" configuration until the next input switch occurs (which is
8742	// controlled through the Channel Schedule API).
8743	InputEndAction *string `locationName:"inputEndAction" type:"string" enum:"GlobalConfigurationInputEndAction"`
8744
8745	// Settings for system actions when input is lost.
8746	InputLossBehavior *InputLossBehavior `locationName:"inputLossBehavior" type:"structure"`
8747
8748	// Indicates how MediaLive pipelines are synchronized.PIPELINELOCKING - MediaLive
8749	// will attempt to synchronize the output of each pipeline to the other.EPOCHLOCKING
8750	// - MediaLive will attempt to synchronize the output of each pipeline to the
8751	// Unix epoch.
8752	OutputLockingMode *string `locationName:"outputLockingMode" type:"string" enum:"GlobalConfigurationOutputLockingMode"`
8753
8754	// Indicates whether the rate of frames emitted by the Live encoder should be
8755	// paced by its system clock (which optionally may be locked to another source
8756	// via NTP) or should be locked to the clock of the source that is providing
8757	// the input stream.
8758	OutputTimingSource *string `locationName:"outputTimingSource" type:"string" enum:"GlobalConfigurationOutputTimingSource"`
8759
8760	// Adjusts video input buffer for streams with very low video framerates. This
8761	// is commonly set to enabled for music channels with less than one video frame
8762	// per second.
8763	SupportLowFramerateInputs *string `locationName:"supportLowFramerateInputs" type:"string" enum:"GlobalConfigurationLowFramerateInputs"`
8764}
8765
8766// String returns the string representation
8767func (s GlobalConfiguration) String() string {
8768	return awsutil.Prettify(s)
8769}
8770
8771// GoString returns the string representation
8772func (s GlobalConfiguration) GoString() string {
8773	return s.String()
8774}
8775
8776// Validate inspects the fields of the type to determine if they are valid.
8777func (s *GlobalConfiguration) Validate() error {
8778	invalidParams := request.ErrInvalidParams{Context: "GlobalConfiguration"}
8779	if s.InitialAudioGain != nil && *s.InitialAudioGain < -60 {
8780		invalidParams.Add(request.NewErrParamMinValue("InitialAudioGain", -60))
8781	}
8782	if s.InputLossBehavior != nil {
8783		if err := s.InputLossBehavior.Validate(); err != nil {
8784			invalidParams.AddNested("InputLossBehavior", err.(request.ErrInvalidParams))
8785		}
8786	}
8787
8788	if invalidParams.Len() > 0 {
8789		return invalidParams
8790	}
8791	return nil
8792}
8793
8794// SetInitialAudioGain sets the InitialAudioGain field's value.
8795func (s *GlobalConfiguration) SetInitialAudioGain(v int64) *GlobalConfiguration {
8796	s.InitialAudioGain = &v
8797	return s
8798}
8799
8800// SetInputEndAction sets the InputEndAction field's value.
8801func (s *GlobalConfiguration) SetInputEndAction(v string) *GlobalConfiguration {
8802	s.InputEndAction = &v
8803	return s
8804}
8805
8806// SetInputLossBehavior sets the InputLossBehavior field's value.
8807func (s *GlobalConfiguration) SetInputLossBehavior(v *InputLossBehavior) *GlobalConfiguration {
8808	s.InputLossBehavior = v
8809	return s
8810}
8811
8812// SetOutputLockingMode sets the OutputLockingMode field's value.
8813func (s *GlobalConfiguration) SetOutputLockingMode(v string) *GlobalConfiguration {
8814	s.OutputLockingMode = &v
8815	return s
8816}
8817
8818// SetOutputTimingSource sets the OutputTimingSource field's value.
8819func (s *GlobalConfiguration) SetOutputTimingSource(v string) *GlobalConfiguration {
8820	s.OutputTimingSource = &v
8821	return s
8822}
8823
8824// SetSupportLowFramerateInputs sets the SupportLowFramerateInputs field's value.
8825func (s *GlobalConfiguration) SetSupportLowFramerateInputs(v string) *GlobalConfiguration {
8826	s.SupportLowFramerateInputs = &v
8827	return s
8828}
8829
8830// H264 Settings
8831type H264Settings struct {
8832	_ struct{} `type:"structure"`
8833
8834	// Adaptive quantization. Allows intra-frame quantizers to vary to improve visual
8835	// quality.
8836	AdaptiveQuantization *string `locationName:"adaptiveQuantization" type:"string" enum:"H264AdaptiveQuantization"`
8837
8838	// Indicates that AFD values will be written into the output stream. If afdSignaling
8839	// is "auto", the system will try to preserve the input AFD value (in cases
8840	// where multiple AFD values are valid). If set to "fixed", the AFD value will
8841	// be the value configured in the fixedAfd parameter.
8842	AfdSignaling *string `locationName:"afdSignaling" type:"string" enum:"AfdSignaling"`
8843
8844	// Average bitrate in bits/second. Required when the rate control mode is VBR
8845	// or CBR. Not used for QVBR. In an MS Smooth output group, each output must
8846	// have a unique value when its bitrate is rounded down to the nearest multiple
8847	// of 1000.
8848	Bitrate *int64 `locationName:"bitrate" min:"1000" type:"integer"`
8849
8850	// Percentage of the buffer that should initially be filled (HRD buffer model).
8851	BufFillPct *int64 `locationName:"bufFillPct" type:"integer"`
8852
8853	// Size of buffer (HRD buffer model) in bits/second.
8854	BufSize *int64 `locationName:"bufSize" type:"integer"`
8855
8856	// Includes colorspace metadata in the output.
8857	ColorMetadata *string `locationName:"colorMetadata" type:"string" enum:"H264ColorMetadata"`
8858
8859	// Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc.
8860	EntropyEncoding *string `locationName:"entropyEncoding" type:"string" enum:"H264EntropyEncoding"`
8861
8862	// Four bit AFD value to write on all frames of video in the output stream.
8863	// Only valid when afdSignaling is set to 'Fixed'.
8864	FixedAfd *string `locationName:"fixedAfd" type:"string" enum:"FixedAfd"`
8865
8866	// If set to enabled, adjust quantization within each frame to reduce flicker
8867	// or 'pop' on I-frames.
8868	FlickerAq *string `locationName:"flickerAq" type:"string" enum:"H264FlickerAq"`
8869
8870	// This field indicates how the output video frame rate is specified. If "specified"
8871	// is selected then the output video frame rate is determined by framerateNumerator
8872	// and framerateDenominator, else if "initializeFromSource" is selected then
8873	// the output video frame rate will be set equal to the input video frame rate
8874	// of the first input.
8875	FramerateControl *string `locationName:"framerateControl" type:"string" enum:"H264FramerateControl"`
8876
8877	// Framerate denominator.
8878	FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"`
8879
8880	// Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976
8881	// fps.
8882	FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"`
8883
8884	// If enabled, use reference B frames for GOP structures that have B frames
8885	// > 1.
8886	GopBReference *string `locationName:"gopBReference" type:"string" enum:"H264GopBReference"`
8887
8888	// Frequency of closed GOPs. In streaming applications, it is recommended that
8889	// this be set to 1 so a decoder joining mid-stream will receive an IDR frame
8890	// as quickly as possible. Setting this value to 0 will break output segmenting.
8891	GopClosedCadence *int64 `locationName:"gopClosedCadence" type:"integer"`
8892
8893	// Number of B-frames between reference frames.
8894	GopNumBFrames *int64 `locationName:"gopNumBFrames" type:"integer"`
8895
8896	// GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits.
8897	// Must be greater than zero.
8898	GopSize *float64 `locationName:"gopSize" type:"double"`
8899
8900	// Indicates if the gopSize is specified in frames or seconds. If seconds the
8901	// system will convert the gopSize into a frame count at run time.
8902	GopSizeUnits *string `locationName:"gopSizeUnits" type:"string" enum:"H264GopSizeUnits"`
8903
8904	// H.264 Level.
8905	Level *string `locationName:"level" type:"string" enum:"H264Level"`
8906
8907	// Amount of lookahead. A value of low can decrease latency and memory usage,
8908	// while high can produce better quality for certain content.
8909	LookAheadRateControl *string `locationName:"lookAheadRateControl" type:"string" enum:"H264LookAheadRateControl"`
8910
8911	// For QVBR: See the tooltip for Quality level For VBR: Set the maximum bitrate
8912	// in order to accommodate expected spikes in the complexity of the video.
8913	MaxBitrate *int64 `locationName:"maxBitrate" min:"1000" type:"integer"`
8914
8915	// Only meaningful if sceneChangeDetect is set to enabled. Enforces separation
8916	// between repeated (cadence) I-frames and I-frames inserted by Scene Change
8917	// Detection. If a scene change I-frame is within I-interval frames of a cadence
8918	// I-frame, the GOP is shrunk and/or stretched to the scene change I-frame.
8919	// GOP stretch requires enabling lookahead as well as setting I-interval. The
8920	// normal cadence resumes for the next GOP. Note: Maximum GOP stretch = GOP
8921	// size + Min-I-interval - 1
8922	MinIInterval *int64 `locationName:"minIInterval" type:"integer"`
8923
8924	// Number of reference frames to use. The encoder may use more than requested
8925	// if using B-frames and/or interlaced encoding.
8926	NumRefFrames *int64 `locationName:"numRefFrames" min:"1" type:"integer"`
8927
8928	// This field indicates how the output pixel aspect ratio is specified. If "specified"
8929	// is selected then the output video pixel aspect ratio is determined by parNumerator
8930	// and parDenominator, else if "initializeFromSource" is selected then the output
8931	// pixsel aspect ratio will be set equal to the input video pixel aspect ratio
8932	// of the first input.
8933	ParControl *string `locationName:"parControl" type:"string" enum:"H264ParControl"`
8934
8935	// Pixel Aspect Ratio denominator.
8936	ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"`
8937
8938	// Pixel Aspect Ratio numerator.
8939	ParNumerator *int64 `locationName:"parNumerator" type:"integer"`
8940
8941	// H.264 Profile.
8942	Profile *string `locationName:"profile" type:"string" enum:"H264Profile"`
8943
8944	// Controls the target quality for the video encode. Applies only when the rate
8945	// control mode is QVBR. Set values for the QVBR quality level field and Max
8946	// bitrate field that suit your most important viewing devices. Recommended
8947	// values are:- Primary screen: Quality level: 8 to 10. Max bitrate: 4M- PC
8948	// or tablet: Quality level: 7. Max bitrate: 1.5M to 3M- Smartphone: Quality
8949	// level: 6. Max bitrate: 1M to 1.5M
8950	QvbrQualityLevel *int64 `locationName:"qvbrQualityLevel" min:"1" type:"integer"`
8951
8952	// Rate control mode. QVBR: Quality will match the specified quality level except
8953	// when it is constrained by themaximum bitrate. Recommended if you or your
8954	// viewers pay for bandwidth.VBR: Quality and bitrate vary, depending on the
8955	// video complexity. Recommended instead of QVBRif you want to maintain a specific
8956	// average bitrate over the duration of the channel.CBR: Quality varies, depending
8957	// on the video complexity. Recommended only if you distributeyour assets to
8958	// devices that cannot handle variable bitrates.
8959	RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"H264RateControlMode"`
8960
8961	// Sets the scan type of the output to progressive or top-field-first interlaced.
8962	ScanType *string `locationName:"scanType" type:"string" enum:"H264ScanType"`
8963
8964	// Scene change detection.- On: inserts I-frames when scene change is detected.-
8965	// Off: does not force an I-frame when scene change is detected.
8966	SceneChangeDetect *string `locationName:"sceneChangeDetect" type:"string" enum:"H264SceneChangeDetect"`
8967
8968	// Number of slices per picture. Must be less than or equal to the number of
8969	// macroblock rows for progressive pictures, and less than or equal to half
8970	// the number of macroblock rows for interlaced pictures.This field is optional;
8971	// when no value is specified the encoder will choose the number of slices based
8972	// on encode resolution.
8973	Slices *int64 `locationName:"slices" min:"1" type:"integer"`
8974
8975	// Softness. Selects quantizer matrix, larger values reduce high-frequency content
8976	// in the encoded image.
8977	Softness *int64 `locationName:"softness" type:"integer"`
8978
8979	// If set to enabled, adjust quantization within each frame based on spatial
8980	// variation of content complexity.
8981	SpatialAq *string `locationName:"spatialAq" type:"string" enum:"H264SpatialAq"`
8982
8983	// If set to fixed, use gopNumBFrames B-frames per sub-GOP. If set to dynamic,
8984	// optimize the number of B-frames used for each sub-GOP to improve visual quality.
8985	SubgopLength *string `locationName:"subgopLength" type:"string" enum:"H264SubGopLength"`
8986
8987	// Produces a bitstream compliant with SMPTE RP-2027.
8988	Syntax *string `locationName:"syntax" type:"string" enum:"H264Syntax"`
8989
8990	// If set to enabled, adjust quantization within each frame based on temporal
8991	// variation of content complexity.
8992	TemporalAq *string `locationName:"temporalAq" type:"string" enum:"H264TemporalAq"`
8993
8994	// Determines how timecodes should be inserted into the video elementary stream.-
8995	// 'disabled': Do not include timecodes- 'picTimingSei': Pass through picture
8996	// timing SEI messages from the source specified in Timecode Config
8997	TimecodeInsertion *string `locationName:"timecodeInsertion" type:"string" enum:"H264TimecodeInsertionBehavior"`
8998}
8999
9000// String returns the string representation
9001func (s H264Settings) String() string {
9002	return awsutil.Prettify(s)
9003}
9004
9005// GoString returns the string representation
9006func (s H264Settings) GoString() string {
9007	return s.String()
9008}
9009
9010// Validate inspects the fields of the type to determine if they are valid.
9011func (s *H264Settings) Validate() error {
9012	invalidParams := request.ErrInvalidParams{Context: "H264Settings"}
9013	if s.Bitrate != nil && *s.Bitrate < 1000 {
9014		invalidParams.Add(request.NewErrParamMinValue("Bitrate", 1000))
9015	}
9016	if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 {
9017		invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1))
9018	}
9019	if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 {
9020		invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1))
9021	}
9022	if s.MaxBitrate != nil && *s.MaxBitrate < 1000 {
9023		invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 1000))
9024	}
9025	if s.NumRefFrames != nil && *s.NumRefFrames < 1 {
9026		invalidParams.Add(request.NewErrParamMinValue("NumRefFrames", 1))
9027	}
9028	if s.ParDenominator != nil && *s.ParDenominator < 1 {
9029		invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1))
9030	}
9031	if s.QvbrQualityLevel != nil && *s.QvbrQualityLevel < 1 {
9032		invalidParams.Add(request.NewErrParamMinValue("QvbrQualityLevel", 1))
9033	}
9034	if s.Slices != nil && *s.Slices < 1 {
9035		invalidParams.Add(request.NewErrParamMinValue("Slices", 1))
9036	}
9037
9038	if invalidParams.Len() > 0 {
9039		return invalidParams
9040	}
9041	return nil
9042}
9043
9044// SetAdaptiveQuantization sets the AdaptiveQuantization field's value.
9045func (s *H264Settings) SetAdaptiveQuantization(v string) *H264Settings {
9046	s.AdaptiveQuantization = &v
9047	return s
9048}
9049
9050// SetAfdSignaling sets the AfdSignaling field's value.
9051func (s *H264Settings) SetAfdSignaling(v string) *H264Settings {
9052	s.AfdSignaling = &v
9053	return s
9054}
9055
9056// SetBitrate sets the Bitrate field's value.
9057func (s *H264Settings) SetBitrate(v int64) *H264Settings {
9058	s.Bitrate = &v
9059	return s
9060}
9061
9062// SetBufFillPct sets the BufFillPct field's value.
9063func (s *H264Settings) SetBufFillPct(v int64) *H264Settings {
9064	s.BufFillPct = &v
9065	return s
9066}
9067
9068// SetBufSize sets the BufSize field's value.
9069func (s *H264Settings) SetBufSize(v int64) *H264Settings {
9070	s.BufSize = &v
9071	return s
9072}
9073
9074// SetColorMetadata sets the ColorMetadata field's value.
9075func (s *H264Settings) SetColorMetadata(v string) *H264Settings {
9076	s.ColorMetadata = &v
9077	return s
9078}
9079
9080// SetEntropyEncoding sets the EntropyEncoding field's value.
9081func (s *H264Settings) SetEntropyEncoding(v string) *H264Settings {
9082	s.EntropyEncoding = &v
9083	return s
9084}
9085
9086// SetFixedAfd sets the FixedAfd field's value.
9087func (s *H264Settings) SetFixedAfd(v string) *H264Settings {
9088	s.FixedAfd = &v
9089	return s
9090}
9091
9092// SetFlickerAq sets the FlickerAq field's value.
9093func (s *H264Settings) SetFlickerAq(v string) *H264Settings {
9094	s.FlickerAq = &v
9095	return s
9096}
9097
9098// SetFramerateControl sets the FramerateControl field's value.
9099func (s *H264Settings) SetFramerateControl(v string) *H264Settings {
9100	s.FramerateControl = &v
9101	return s
9102}
9103
9104// SetFramerateDenominator sets the FramerateDenominator field's value.
9105func (s *H264Settings) SetFramerateDenominator(v int64) *H264Settings {
9106	s.FramerateDenominator = &v
9107	return s
9108}
9109
9110// SetFramerateNumerator sets the FramerateNumerator field's value.
9111func (s *H264Settings) SetFramerateNumerator(v int64) *H264Settings {
9112	s.FramerateNumerator = &v
9113	return s
9114}
9115
9116// SetGopBReference sets the GopBReference field's value.
9117func (s *H264Settings) SetGopBReference(v string) *H264Settings {
9118	s.GopBReference = &v
9119	return s
9120}
9121
9122// SetGopClosedCadence sets the GopClosedCadence field's value.
9123func (s *H264Settings) SetGopClosedCadence(v int64) *H264Settings {
9124	s.GopClosedCadence = &v
9125	return s
9126}
9127
9128// SetGopNumBFrames sets the GopNumBFrames field's value.
9129func (s *H264Settings) SetGopNumBFrames(v int64) *H264Settings {
9130	s.GopNumBFrames = &v
9131	return s
9132}
9133
9134// SetGopSize sets the GopSize field's value.
9135func (s *H264Settings) SetGopSize(v float64) *H264Settings {
9136	s.GopSize = &v
9137	return s
9138}
9139
9140// SetGopSizeUnits sets the GopSizeUnits field's value.
9141func (s *H264Settings) SetGopSizeUnits(v string) *H264Settings {
9142	s.GopSizeUnits = &v
9143	return s
9144}
9145
9146// SetLevel sets the Level field's value.
9147func (s *H264Settings) SetLevel(v string) *H264Settings {
9148	s.Level = &v
9149	return s
9150}
9151
9152// SetLookAheadRateControl sets the LookAheadRateControl field's value.
9153func (s *H264Settings) SetLookAheadRateControl(v string) *H264Settings {
9154	s.LookAheadRateControl = &v
9155	return s
9156}
9157
9158// SetMaxBitrate sets the MaxBitrate field's value.
9159func (s *H264Settings) SetMaxBitrate(v int64) *H264Settings {
9160	s.MaxBitrate = &v
9161	return s
9162}
9163
9164// SetMinIInterval sets the MinIInterval field's value.
9165func (s *H264Settings) SetMinIInterval(v int64) *H264Settings {
9166	s.MinIInterval = &v
9167	return s
9168}
9169
9170// SetNumRefFrames sets the NumRefFrames field's value.
9171func (s *H264Settings) SetNumRefFrames(v int64) *H264Settings {
9172	s.NumRefFrames = &v
9173	return s
9174}
9175
9176// SetParControl sets the ParControl field's value.
9177func (s *H264Settings) SetParControl(v string) *H264Settings {
9178	s.ParControl = &v
9179	return s
9180}
9181
9182// SetParDenominator sets the ParDenominator field's value.
9183func (s *H264Settings) SetParDenominator(v int64) *H264Settings {
9184	s.ParDenominator = &v
9185	return s
9186}
9187
9188// SetParNumerator sets the ParNumerator field's value.
9189func (s *H264Settings) SetParNumerator(v int64) *H264Settings {
9190	s.ParNumerator = &v
9191	return s
9192}
9193
9194// SetProfile sets the Profile field's value.
9195func (s *H264Settings) SetProfile(v string) *H264Settings {
9196	s.Profile = &v
9197	return s
9198}
9199
9200// SetQvbrQualityLevel sets the QvbrQualityLevel field's value.
9201func (s *H264Settings) SetQvbrQualityLevel(v int64) *H264Settings {
9202	s.QvbrQualityLevel = &v
9203	return s
9204}
9205
9206// SetRateControlMode sets the RateControlMode field's value.
9207func (s *H264Settings) SetRateControlMode(v string) *H264Settings {
9208	s.RateControlMode = &v
9209	return s
9210}
9211
9212// SetScanType sets the ScanType field's value.
9213func (s *H264Settings) SetScanType(v string) *H264Settings {
9214	s.ScanType = &v
9215	return s
9216}
9217
9218// SetSceneChangeDetect sets the SceneChangeDetect field's value.
9219func (s *H264Settings) SetSceneChangeDetect(v string) *H264Settings {
9220	s.SceneChangeDetect = &v
9221	return s
9222}
9223
9224// SetSlices sets the Slices field's value.
9225func (s *H264Settings) SetSlices(v int64) *H264Settings {
9226	s.Slices = &v
9227	return s
9228}
9229
9230// SetSoftness sets the Softness field's value.
9231func (s *H264Settings) SetSoftness(v int64) *H264Settings {
9232	s.Softness = &v
9233	return s
9234}
9235
9236// SetSpatialAq sets the SpatialAq field's value.
9237func (s *H264Settings) SetSpatialAq(v string) *H264Settings {
9238	s.SpatialAq = &v
9239	return s
9240}
9241
9242// SetSubgopLength sets the SubgopLength field's value.
9243func (s *H264Settings) SetSubgopLength(v string) *H264Settings {
9244	s.SubgopLength = &v
9245	return s
9246}
9247
9248// SetSyntax sets the Syntax field's value.
9249func (s *H264Settings) SetSyntax(v string) *H264Settings {
9250	s.Syntax = &v
9251	return s
9252}
9253
9254// SetTemporalAq sets the TemporalAq field's value.
9255func (s *H264Settings) SetTemporalAq(v string) *H264Settings {
9256	s.TemporalAq = &v
9257	return s
9258}
9259
9260// SetTimecodeInsertion sets the TimecodeInsertion field's value.
9261func (s *H264Settings) SetTimecodeInsertion(v string) *H264Settings {
9262	s.TimecodeInsertion = &v
9263	return s
9264}
9265
9266// Hls Akamai Settings
9267type HlsAkamaiSettings struct {
9268	_ struct{} `type:"structure"`
9269
9270	// Number of seconds to wait before retrying connection to the CDN if the connection
9271	// is lost.
9272	ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"`
9273
9274	// Size in seconds of file cache for streaming outputs.
9275	FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"`
9276
9277	// Specify whether or not to use chunked transfer encoding to Akamai. User should
9278	// contact Akamai to enable this feature.
9279	HttpTransferMode *string `locationName:"httpTransferMode" type:"string" enum:"HlsAkamaiHttpTransferMode"`
9280
9281	// Number of retry attempts that will be made before the Live Event is put into
9282	// an error state.
9283	NumRetries *int64 `locationName:"numRetries" type:"integer"`
9284
9285	// If a streaming output fails, number of seconds to wait until a restart is
9286	// initiated. A value of 0 means never restart.
9287	RestartDelay *int64 `locationName:"restartDelay" type:"integer"`
9288
9289	// Salt for authenticated Akamai.
9290	Salt *string `locationName:"salt" type:"string"`
9291
9292	// Token parameter for authenticated akamai. If not specified, _gda_ is used.
9293	Token *string `locationName:"token" type:"string"`
9294}
9295
9296// String returns the string representation
9297func (s HlsAkamaiSettings) String() string {
9298	return awsutil.Prettify(s)
9299}
9300
9301// GoString returns the string representation
9302func (s HlsAkamaiSettings) GoString() string {
9303	return s.String()
9304}
9305
9306// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value.
9307func (s *HlsAkamaiSettings) SetConnectionRetryInterval(v int64) *HlsAkamaiSettings {
9308	s.ConnectionRetryInterval = &v
9309	return s
9310}
9311
9312// SetFilecacheDuration sets the FilecacheDuration field's value.
9313func (s *HlsAkamaiSettings) SetFilecacheDuration(v int64) *HlsAkamaiSettings {
9314	s.FilecacheDuration = &v
9315	return s
9316}
9317
9318// SetHttpTransferMode sets the HttpTransferMode field's value.
9319func (s *HlsAkamaiSettings) SetHttpTransferMode(v string) *HlsAkamaiSettings {
9320	s.HttpTransferMode = &v
9321	return s
9322}
9323
9324// SetNumRetries sets the NumRetries field's value.
9325func (s *HlsAkamaiSettings) SetNumRetries(v int64) *HlsAkamaiSettings {
9326	s.NumRetries = &v
9327	return s
9328}
9329
9330// SetRestartDelay sets the RestartDelay field's value.
9331func (s *HlsAkamaiSettings) SetRestartDelay(v int64) *HlsAkamaiSettings {
9332	s.RestartDelay = &v
9333	return s
9334}
9335
9336// SetSalt sets the Salt field's value.
9337func (s *HlsAkamaiSettings) SetSalt(v string) *HlsAkamaiSettings {
9338	s.Salt = &v
9339	return s
9340}
9341
9342// SetToken sets the Token field's value.
9343func (s *HlsAkamaiSettings) SetToken(v string) *HlsAkamaiSettings {
9344	s.Token = &v
9345	return s
9346}
9347
9348// Hls Basic Put Settings
9349type HlsBasicPutSettings struct {
9350	_ struct{} `type:"structure"`
9351
9352	// Number of seconds to wait before retrying connection to the CDN if the connection
9353	// is lost.
9354	ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"`
9355
9356	// Size in seconds of file cache for streaming outputs.
9357	FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"`
9358
9359	// Number of retry attempts that will be made before the Live Event is put into
9360	// an error state.
9361	NumRetries *int64 `locationName:"numRetries" type:"integer"`
9362
9363	// If a streaming output fails, number of seconds to wait until a restart is
9364	// initiated. A value of 0 means never restart.
9365	RestartDelay *int64 `locationName:"restartDelay" type:"integer"`
9366}
9367
9368// String returns the string representation
9369func (s HlsBasicPutSettings) String() string {
9370	return awsutil.Prettify(s)
9371}
9372
9373// GoString returns the string representation
9374func (s HlsBasicPutSettings) GoString() string {
9375	return s.String()
9376}
9377
9378// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value.
9379func (s *HlsBasicPutSettings) SetConnectionRetryInterval(v int64) *HlsBasicPutSettings {
9380	s.ConnectionRetryInterval = &v
9381	return s
9382}
9383
9384// SetFilecacheDuration sets the FilecacheDuration field's value.
9385func (s *HlsBasicPutSettings) SetFilecacheDuration(v int64) *HlsBasicPutSettings {
9386	s.FilecacheDuration = &v
9387	return s
9388}
9389
9390// SetNumRetries sets the NumRetries field's value.
9391func (s *HlsBasicPutSettings) SetNumRetries(v int64) *HlsBasicPutSettings {
9392	s.NumRetries = &v
9393	return s
9394}
9395
9396// SetRestartDelay sets the RestartDelay field's value.
9397func (s *HlsBasicPutSettings) SetRestartDelay(v int64) *HlsBasicPutSettings {
9398	s.RestartDelay = &v
9399	return s
9400}
9401
9402// Hls Cdn Settings
9403type HlsCdnSettings struct {
9404	_ struct{} `type:"structure"`
9405
9406	// Hls Akamai Settings
9407	HlsAkamaiSettings *HlsAkamaiSettings `locationName:"hlsAkamaiSettings" type:"structure"`
9408
9409	// Hls Basic Put Settings
9410	HlsBasicPutSettings *HlsBasicPutSettings `locationName:"hlsBasicPutSettings" type:"structure"`
9411
9412	// Hls Media Store Settings
9413	HlsMediaStoreSettings *HlsMediaStoreSettings `locationName:"hlsMediaStoreSettings" type:"structure"`
9414
9415	// Hls Webdav Settings
9416	HlsWebdavSettings *HlsWebdavSettings `locationName:"hlsWebdavSettings" type:"structure"`
9417}
9418
9419// String returns the string representation
9420func (s HlsCdnSettings) String() string {
9421	return awsutil.Prettify(s)
9422}
9423
9424// GoString returns the string representation
9425func (s HlsCdnSettings) GoString() string {
9426	return s.String()
9427}
9428
9429// SetHlsAkamaiSettings sets the HlsAkamaiSettings field's value.
9430func (s *HlsCdnSettings) SetHlsAkamaiSettings(v *HlsAkamaiSettings) *HlsCdnSettings {
9431	s.HlsAkamaiSettings = v
9432	return s
9433}
9434
9435// SetHlsBasicPutSettings sets the HlsBasicPutSettings field's value.
9436func (s *HlsCdnSettings) SetHlsBasicPutSettings(v *HlsBasicPutSettings) *HlsCdnSettings {
9437	s.HlsBasicPutSettings = v
9438	return s
9439}
9440
9441// SetHlsMediaStoreSettings sets the HlsMediaStoreSettings field's value.
9442func (s *HlsCdnSettings) SetHlsMediaStoreSettings(v *HlsMediaStoreSettings) *HlsCdnSettings {
9443	s.HlsMediaStoreSettings = v
9444	return s
9445}
9446
9447// SetHlsWebdavSettings sets the HlsWebdavSettings field's value.
9448func (s *HlsCdnSettings) SetHlsWebdavSettings(v *HlsWebdavSettings) *HlsCdnSettings {
9449	s.HlsWebdavSettings = v
9450	return s
9451}
9452
9453// Hls Group Settings
9454type HlsGroupSettings struct {
9455	_ struct{} `type:"structure"`
9456
9457	// Choose one or more ad marker types to pass SCTE35 signals through to this
9458	// group of Apple HLS outputs.
9459	AdMarkers []*string `locationName:"adMarkers" type:"list"`
9460
9461	// A partial URI prefix that will be prepended to each output in the media .m3u8
9462	// file. Can be used if base manifest is delivered from a different URL than
9463	// the main .m3u8 file.
9464	BaseUrlContent *string `locationName:"baseUrlContent" type:"string"`
9465
9466	// A partial URI prefix that will be prepended to each output in the media .m3u8
9467	// file. Can be used if base manifest is delivered from a different URL than
9468	// the main .m3u8 file.
9469	BaseUrlManifest *string `locationName:"baseUrlManifest" type:"string"`
9470
9471	// Mapping of up to 4 caption channels to caption languages. Is only meaningful
9472	// if captionLanguageSetting is set to "insert".
9473	CaptionLanguageMappings []*CaptionLanguageMapping `locationName:"captionLanguageMappings" type:"list"`
9474
9475	// Applies only to 608 Embedded output captions.insert: Include CLOSED-CAPTIONS
9476	// lines in the manifest. Specify at least one language in the CC1 Language
9477	// Code field. One CLOSED-CAPTION line is added for each Language Code you specify.
9478	// Make sure to specify the languages in the order in which they appear in the
9479	// original source (if the source is embedded format) or the order of the caption
9480	// selectors (if the source is other than embedded). Otherwise, languages in
9481	// the manifest will not match up properly with the output captions.none: Include
9482	// CLOSED-CAPTIONS=NONE line in the manifest.omit: Omit any CLOSED-CAPTIONS
9483	// line from the manifest.
9484	CaptionLanguageSetting *string `locationName:"captionLanguageSetting" type:"string" enum:"HlsCaptionLanguageSetting"`
9485
9486	// When set to "disabled", sets the #EXT-X-ALLOW-CACHE:no tag in the manifest,
9487	// which prevents clients from saving media segments for later replay.
9488	ClientCache *string `locationName:"clientCache" type:"string" enum:"HlsClientCache"`
9489
9490	// Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist
9491	// generation.
9492	CodecSpecification *string `locationName:"codecSpecification" type:"string" enum:"HlsCodecSpecification"`
9493
9494	// For use with encryptionType. This is a 128-bit, 16-byte hex value represented
9495	// by a 32-character text string. If ivSource is set to "explicit" then this
9496	// parameter is required and is used as the IV for encryption.
9497	ConstantIv *string `locationName:"constantIv" min:"32" type:"string"`
9498
9499	// A directory or HTTP destination for the HLS segments, manifest files, and
9500	// encryption keys (if enabled).
9501	//
9502	// Destination is a required field
9503	Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"`
9504
9505	// Place segments in subdirectories.
9506	DirectoryStructure *string `locationName:"directoryStructure" type:"string" enum:"HlsDirectoryStructure"`
9507
9508	// Encrypts the segments with the given encryption scheme. Exclude this parameter
9509	// if no encryption is desired.
9510	EncryptionType *string `locationName:"encryptionType" type:"string" enum:"HlsEncryptionType"`
9511
9512	// Parameters that control interactions with the CDN.
9513	HlsCdnSettings *HlsCdnSettings `locationName:"hlsCdnSettings" type:"structure"`
9514
9515	// DISABLED: Do not create an I-frame-only manifest, but do create the master
9516	// and media manifests (according to the Output Selection field).STANDARD: Create
9517	// an I-frame-only manifest for each output that contains video, as well as
9518	// the other manifests (according to the Output Selection field). The I-frame
9519	// manifest contains a #EXT-X-I-FRAMES-ONLY tag to indicate it is I-frame only,
9520	// and one or more #EXT-X-BYTERANGE entries identifying the I-frame position.
9521	// For example, #EXT-X-BYTERANGE:160364@1461888"
9522	IFrameOnlyPlaylists *string `locationName:"iFrameOnlyPlaylists" type:"string" enum:"IFrameOnlyPlaylistType"`
9523
9524	// Applies only if Mode field is LIVE. Specifies the maximum number of segments
9525	// in the media manifest file. After this maximum, older segments are removed
9526	// from the media manifest. This number must be less than or equal to the Keep
9527	// Segments field.
9528	IndexNSegments *int64 `locationName:"indexNSegments" min:"3" type:"integer"`
9529
9530	// Parameter that control output group behavior on input loss.
9531	InputLossAction *string `locationName:"inputLossAction" type:"string" enum:"InputLossActionForHlsOut"`
9532
9533	// For use with encryptionType. The IV (Initialization Vector) is a 128-bit
9534	// number used in conjunction with the key for encrypting blocks. If set to
9535	// "include", IV is listed in the manifest, otherwise the IV is not in the manifest.
9536	IvInManifest *string `locationName:"ivInManifest" type:"string" enum:"HlsIvInManifest"`
9537
9538	// For use with encryptionType. The IV (Initialization Vector) is a 128-bit
9539	// number used in conjunction with the key for encrypting blocks. If this setting
9540	// is "followsSegmentNumber", it will cause the IV to change every segment (to
9541	// match the segment number). If this is set to "explicit", you must enter a
9542	// constantIv value.
9543	IvSource *string `locationName:"ivSource" type:"string" enum:"HlsIvSource"`
9544
9545	// Applies only if Mode field is LIVE. Specifies the number of media segments
9546	// (.ts files) to retain in the destination directory.
9547	KeepSegments *int64 `locationName:"keepSegments" min:"1" type:"integer"`
9548
9549	// The value specifies how the key is represented in the resource identified
9550	// by the URI. If parameter is absent, an implicit value of "identity" is used.
9551	// A reverse DNS string can also be given.
9552	KeyFormat *string `locationName:"keyFormat" type:"string"`
9553
9554	// Either a single positive integer version value or a slash delimited list
9555	// of version values (1/2/3).
9556	KeyFormatVersions *string `locationName:"keyFormatVersions" type:"string"`
9557
9558	// The key provider settings.
9559	KeyProviderSettings *KeyProviderSettings `locationName:"keyProviderSettings" type:"structure"`
9560
9561	// When set to gzip, compresses HLS playlist.
9562	ManifestCompression *string `locationName:"manifestCompression" type:"string" enum:"HlsManifestCompression"`
9563
9564	// Indicates whether the output manifest should use floating point or integer
9565	// values for segment duration.
9566	ManifestDurationFormat *string `locationName:"manifestDurationFormat" type:"string" enum:"HlsManifestDurationFormat"`
9567
9568	// When set, minimumSegmentLength is enforced by looking ahead and back within
9569	// the specified range for a nearby avail and extending the segment size if
9570	// needed.
9571	MinSegmentLength *int64 `locationName:"minSegmentLength" type:"integer"`
9572
9573	// If "vod", all segments are indexed and kept permanently in the destination
9574	// and manifest. If "live", only the number segments specified in keepSegments
9575	// and indexNSegments are kept; newer segments replace older segments, which
9576	// may prevent players from rewinding all the way to the beginning of the event.VOD
9577	// mode uses HLS EXT-X-PLAYLIST-TYPE of EVENT while the channel is running,
9578	// converting it to a "VOD" type manifest on completion of the stream.
9579	Mode *string `locationName:"mode" type:"string" enum:"HlsMode"`
9580
9581	// MANIFESTSANDSEGMENTS: Generates manifests (master manifest, if applicable,
9582	// and media manifests) for this output group.SEGMENTSONLY: Does not generate
9583	// any manifests for this output group.
9584	OutputSelection *string `locationName:"outputSelection" type:"string" enum:"HlsOutputSelection"`
9585
9586	// Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files.
9587	// The value is calculated as follows: either the program date and time are
9588	// initialized using the input timecode source, or the time is initialized using
9589	// the input timecode source and the date is initialized using the timestampOffset.
9590	ProgramDateTime *string `locationName:"programDateTime" type:"string" enum:"HlsProgramDateTime"`
9591
9592	// Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds.
9593	ProgramDateTimePeriod *int64 `locationName:"programDateTimePeriod" type:"integer"`
9594
9595	// ENABLED: The master manifest (.m3u8 file) for each pipeline includes information
9596	// about both pipelines: first its own media files, then the media files of
9597	// the other pipeline. This feature allows playout device that support stale
9598	// manifest detection to switch from one manifest to the other, when the current
9599	// manifest seems to be stale. There are still two destinations and two master
9600	// manifests, but both master manifests reference the media files from both
9601	// pipelines.DISABLED: The master manifest (.m3u8 file) for each pipeline includes
9602	// information about its own pipeline only.For an HLS output group with MediaPackage
9603	// as the destination, the DISABLED behavior is always followed. MediaPackage
9604	// regenerates the manifests it serves to players so a redundant manifest from
9605	// MediaLive is irrelevant.
9606	RedundantManifest *string `locationName:"redundantManifest" type:"string" enum:"HlsRedundantManifest"`
9607
9608	// Length of MPEG-2 Transport Stream segments to create (in seconds). Note that
9609	// segments will end on the next keyframe after this number of seconds, so actual
9610	// segment length may be longer.
9611	SegmentLength *int64 `locationName:"segmentLength" min:"1" type:"integer"`
9612
9613	// useInputSegmentation has been deprecated. The configured segment size is
9614	// always used.
9615	SegmentationMode *string `locationName:"segmentationMode" type:"string" enum:"HlsSegmentationMode"`
9616
9617	// Number of segments to write to a subdirectory before starting a new one.
9618	// directoryStructure must be subdirectoryPerStream for this setting to have
9619	// an effect.
9620	SegmentsPerSubdirectory *int64 `locationName:"segmentsPerSubdirectory" min:"1" type:"integer"`
9621
9622	// Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag
9623	// of variant manifest.
9624	StreamInfResolution *string `locationName:"streamInfResolution" type:"string" enum:"HlsStreamInfResolution"`
9625
9626	// Indicates ID3 frame that has the timecode.
9627	TimedMetadataId3Frame *string `locationName:"timedMetadataId3Frame" type:"string" enum:"HlsTimedMetadataId3Frame"`
9628
9629	// Timed Metadata interval in seconds.
9630	TimedMetadataId3Period *int64 `locationName:"timedMetadataId3Period" type:"integer"`
9631
9632	// Provides an extra millisecond delta offset to fine tune the timestamps.
9633	TimestampDeltaMilliseconds *int64 `locationName:"timestampDeltaMilliseconds" type:"integer"`
9634
9635	// SEGMENTEDFILES: Emit the program as segments - multiple .ts media files.SINGLEFILE:
9636	// Applies only if Mode field is VOD. Emit the program as a single .ts media
9637	// file. The media manifest includes #EXT-X-BYTERANGE tags to index segments
9638	// for playback. A typical use for this value is when sending the output to
9639	// AWS Elemental MediaConvert, which can accept only a single media file. Playback
9640	// while the channel is running is not guaranteed due to HTTP server caching.
9641	TsFileMode *string `locationName:"tsFileMode" type:"string" enum:"HlsTsFileMode"`
9642}
9643
9644// String returns the string representation
9645func (s HlsGroupSettings) String() string {
9646	return awsutil.Prettify(s)
9647}
9648
9649// GoString returns the string representation
9650func (s HlsGroupSettings) GoString() string {
9651	return s.String()
9652}
9653
9654// Validate inspects the fields of the type to determine if they are valid.
9655func (s *HlsGroupSettings) Validate() error {
9656	invalidParams := request.ErrInvalidParams{Context: "HlsGroupSettings"}
9657	if s.ConstantIv != nil && len(*s.ConstantIv) < 32 {
9658		invalidParams.Add(request.NewErrParamMinLen("ConstantIv", 32))
9659	}
9660	if s.Destination == nil {
9661		invalidParams.Add(request.NewErrParamRequired("Destination"))
9662	}
9663	if s.IndexNSegments != nil && *s.IndexNSegments < 3 {
9664		invalidParams.Add(request.NewErrParamMinValue("IndexNSegments", 3))
9665	}
9666	if s.KeepSegments != nil && *s.KeepSegments < 1 {
9667		invalidParams.Add(request.NewErrParamMinValue("KeepSegments", 1))
9668	}
9669	if s.SegmentLength != nil && *s.SegmentLength < 1 {
9670		invalidParams.Add(request.NewErrParamMinValue("SegmentLength", 1))
9671	}
9672	if s.SegmentsPerSubdirectory != nil && *s.SegmentsPerSubdirectory < 1 {
9673		invalidParams.Add(request.NewErrParamMinValue("SegmentsPerSubdirectory", 1))
9674	}
9675	if s.CaptionLanguageMappings != nil {
9676		for i, v := range s.CaptionLanguageMappings {
9677			if v == nil {
9678				continue
9679			}
9680			if err := v.Validate(); err != nil {
9681				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionLanguageMappings", i), err.(request.ErrInvalidParams))
9682			}
9683		}
9684	}
9685	if s.KeyProviderSettings != nil {
9686		if err := s.KeyProviderSettings.Validate(); err != nil {
9687			invalidParams.AddNested("KeyProviderSettings", err.(request.ErrInvalidParams))
9688		}
9689	}
9690
9691	if invalidParams.Len() > 0 {
9692		return invalidParams
9693	}
9694	return nil
9695}
9696
9697// SetAdMarkers sets the AdMarkers field's value.
9698func (s *HlsGroupSettings) SetAdMarkers(v []*string) *HlsGroupSettings {
9699	s.AdMarkers = v
9700	return s
9701}
9702
9703// SetBaseUrlContent sets the BaseUrlContent field's value.
9704func (s *HlsGroupSettings) SetBaseUrlContent(v string) *HlsGroupSettings {
9705	s.BaseUrlContent = &v
9706	return s
9707}
9708
9709// SetBaseUrlManifest sets the BaseUrlManifest field's value.
9710func (s *HlsGroupSettings) SetBaseUrlManifest(v string) *HlsGroupSettings {
9711	s.BaseUrlManifest = &v
9712	return s
9713}
9714
9715// SetCaptionLanguageMappings sets the CaptionLanguageMappings field's value.
9716func (s *HlsGroupSettings) SetCaptionLanguageMappings(v []*CaptionLanguageMapping) *HlsGroupSettings {
9717	s.CaptionLanguageMappings = v
9718	return s
9719}
9720
9721// SetCaptionLanguageSetting sets the CaptionLanguageSetting field's value.
9722func (s *HlsGroupSettings) SetCaptionLanguageSetting(v string) *HlsGroupSettings {
9723	s.CaptionLanguageSetting = &v
9724	return s
9725}
9726
9727// SetClientCache sets the ClientCache field's value.
9728func (s *HlsGroupSettings) SetClientCache(v string) *HlsGroupSettings {
9729	s.ClientCache = &v
9730	return s
9731}
9732
9733// SetCodecSpecification sets the CodecSpecification field's value.
9734func (s *HlsGroupSettings) SetCodecSpecification(v string) *HlsGroupSettings {
9735	s.CodecSpecification = &v
9736	return s
9737}
9738
9739// SetConstantIv sets the ConstantIv field's value.
9740func (s *HlsGroupSettings) SetConstantIv(v string) *HlsGroupSettings {
9741	s.ConstantIv = &v
9742	return s
9743}
9744
9745// SetDestination sets the Destination field's value.
9746func (s *HlsGroupSettings) SetDestination(v *OutputLocationRef) *HlsGroupSettings {
9747	s.Destination = v
9748	return s
9749}
9750
9751// SetDirectoryStructure sets the DirectoryStructure field's value.
9752func (s *HlsGroupSettings) SetDirectoryStructure(v string) *HlsGroupSettings {
9753	s.DirectoryStructure = &v
9754	return s
9755}
9756
9757// SetEncryptionType sets the EncryptionType field's value.
9758func (s *HlsGroupSettings) SetEncryptionType(v string) *HlsGroupSettings {
9759	s.EncryptionType = &v
9760	return s
9761}
9762
9763// SetHlsCdnSettings sets the HlsCdnSettings field's value.
9764func (s *HlsGroupSettings) SetHlsCdnSettings(v *HlsCdnSettings) *HlsGroupSettings {
9765	s.HlsCdnSettings = v
9766	return s
9767}
9768
9769// SetIFrameOnlyPlaylists sets the IFrameOnlyPlaylists field's value.
9770func (s *HlsGroupSettings) SetIFrameOnlyPlaylists(v string) *HlsGroupSettings {
9771	s.IFrameOnlyPlaylists = &v
9772	return s
9773}
9774
9775// SetIndexNSegments sets the IndexNSegments field's value.
9776func (s *HlsGroupSettings) SetIndexNSegments(v int64) *HlsGroupSettings {
9777	s.IndexNSegments = &v
9778	return s
9779}
9780
9781// SetInputLossAction sets the InputLossAction field's value.
9782func (s *HlsGroupSettings) SetInputLossAction(v string) *HlsGroupSettings {
9783	s.InputLossAction = &v
9784	return s
9785}
9786
9787// SetIvInManifest sets the IvInManifest field's value.
9788func (s *HlsGroupSettings) SetIvInManifest(v string) *HlsGroupSettings {
9789	s.IvInManifest = &v
9790	return s
9791}
9792
9793// SetIvSource sets the IvSource field's value.
9794func (s *HlsGroupSettings) SetIvSource(v string) *HlsGroupSettings {
9795	s.IvSource = &v
9796	return s
9797}
9798
9799// SetKeepSegments sets the KeepSegments field's value.
9800func (s *HlsGroupSettings) SetKeepSegments(v int64) *HlsGroupSettings {
9801	s.KeepSegments = &v
9802	return s
9803}
9804
9805// SetKeyFormat sets the KeyFormat field's value.
9806func (s *HlsGroupSettings) SetKeyFormat(v string) *HlsGroupSettings {
9807	s.KeyFormat = &v
9808	return s
9809}
9810
9811// SetKeyFormatVersions sets the KeyFormatVersions field's value.
9812func (s *HlsGroupSettings) SetKeyFormatVersions(v string) *HlsGroupSettings {
9813	s.KeyFormatVersions = &v
9814	return s
9815}
9816
9817// SetKeyProviderSettings sets the KeyProviderSettings field's value.
9818func (s *HlsGroupSettings) SetKeyProviderSettings(v *KeyProviderSettings) *HlsGroupSettings {
9819	s.KeyProviderSettings = v
9820	return s
9821}
9822
9823// SetManifestCompression sets the ManifestCompression field's value.
9824func (s *HlsGroupSettings) SetManifestCompression(v string) *HlsGroupSettings {
9825	s.ManifestCompression = &v
9826	return s
9827}
9828
9829// SetManifestDurationFormat sets the ManifestDurationFormat field's value.
9830func (s *HlsGroupSettings) SetManifestDurationFormat(v string) *HlsGroupSettings {
9831	s.ManifestDurationFormat = &v
9832	return s
9833}
9834
9835// SetMinSegmentLength sets the MinSegmentLength field's value.
9836func (s *HlsGroupSettings) SetMinSegmentLength(v int64) *HlsGroupSettings {
9837	s.MinSegmentLength = &v
9838	return s
9839}
9840
9841// SetMode sets the Mode field's value.
9842func (s *HlsGroupSettings) SetMode(v string) *HlsGroupSettings {
9843	s.Mode = &v
9844	return s
9845}
9846
9847// SetOutputSelection sets the OutputSelection field's value.
9848func (s *HlsGroupSettings) SetOutputSelection(v string) *HlsGroupSettings {
9849	s.OutputSelection = &v
9850	return s
9851}
9852
9853// SetProgramDateTime sets the ProgramDateTime field's value.
9854func (s *HlsGroupSettings) SetProgramDateTime(v string) *HlsGroupSettings {
9855	s.ProgramDateTime = &v
9856	return s
9857}
9858
9859// SetProgramDateTimePeriod sets the ProgramDateTimePeriod field's value.
9860func (s *HlsGroupSettings) SetProgramDateTimePeriod(v int64) *HlsGroupSettings {
9861	s.ProgramDateTimePeriod = &v
9862	return s
9863}
9864
9865// SetRedundantManifest sets the RedundantManifest field's value.
9866func (s *HlsGroupSettings) SetRedundantManifest(v string) *HlsGroupSettings {
9867	s.RedundantManifest = &v
9868	return s
9869}
9870
9871// SetSegmentLength sets the SegmentLength field's value.
9872func (s *HlsGroupSettings) SetSegmentLength(v int64) *HlsGroupSettings {
9873	s.SegmentLength = &v
9874	return s
9875}
9876
9877// SetSegmentationMode sets the SegmentationMode field's value.
9878func (s *HlsGroupSettings) SetSegmentationMode(v string) *HlsGroupSettings {
9879	s.SegmentationMode = &v
9880	return s
9881}
9882
9883// SetSegmentsPerSubdirectory sets the SegmentsPerSubdirectory field's value.
9884func (s *HlsGroupSettings) SetSegmentsPerSubdirectory(v int64) *HlsGroupSettings {
9885	s.SegmentsPerSubdirectory = &v
9886	return s
9887}
9888
9889// SetStreamInfResolution sets the StreamInfResolution field's value.
9890func (s *HlsGroupSettings) SetStreamInfResolution(v string) *HlsGroupSettings {
9891	s.StreamInfResolution = &v
9892	return s
9893}
9894
9895// SetTimedMetadataId3Frame sets the TimedMetadataId3Frame field's value.
9896func (s *HlsGroupSettings) SetTimedMetadataId3Frame(v string) *HlsGroupSettings {
9897	s.TimedMetadataId3Frame = &v
9898	return s
9899}
9900
9901// SetTimedMetadataId3Period sets the TimedMetadataId3Period field's value.
9902func (s *HlsGroupSettings) SetTimedMetadataId3Period(v int64) *HlsGroupSettings {
9903	s.TimedMetadataId3Period = &v
9904	return s
9905}
9906
9907// SetTimestampDeltaMilliseconds sets the TimestampDeltaMilliseconds field's value.
9908func (s *HlsGroupSettings) SetTimestampDeltaMilliseconds(v int64) *HlsGroupSettings {
9909	s.TimestampDeltaMilliseconds = &v
9910	return s
9911}
9912
9913// SetTsFileMode sets the TsFileMode field's value.
9914func (s *HlsGroupSettings) SetTsFileMode(v string) *HlsGroupSettings {
9915	s.TsFileMode = &v
9916	return s
9917}
9918
9919// Hls Input Settings
9920type HlsInputSettings struct {
9921	_ struct{} `type:"structure"`
9922
9923	// When specified the HLS stream with the m3u8 BANDWIDTH that most closely matches
9924	// this value will be chosen, otherwise the highest bandwidth stream in the
9925	// m3u8 will be chosen. The bitrate is specified in bits per second, as in an
9926	// HLS manifest.
9927	Bandwidth *int64 `locationName:"bandwidth" type:"integer"`
9928
9929	// When specified, reading of the HLS input will begin this many buffer segments
9930	// from the end (most recently written segment). When not specified, the HLS
9931	// input will begin with the first segment specified in the m3u8.
9932	BufferSegments *int64 `locationName:"bufferSegments" type:"integer"`
9933
9934	// The number of consecutive times that attempts to read a manifest or segment
9935	// must fail before the input is considered unavailable.
9936	Retries *int64 `locationName:"retries" type:"integer"`
9937
9938	// The number of seconds between retries when an attempt to read a manifest
9939	// or segment fails.
9940	RetryInterval *int64 `locationName:"retryInterval" type:"integer"`
9941}
9942
9943// String returns the string representation
9944func (s HlsInputSettings) String() string {
9945	return awsutil.Prettify(s)
9946}
9947
9948// GoString returns the string representation
9949func (s HlsInputSettings) GoString() string {
9950	return s.String()
9951}
9952
9953// SetBandwidth sets the Bandwidth field's value.
9954func (s *HlsInputSettings) SetBandwidth(v int64) *HlsInputSettings {
9955	s.Bandwidth = &v
9956	return s
9957}
9958
9959// SetBufferSegments sets the BufferSegments field's value.
9960func (s *HlsInputSettings) SetBufferSegments(v int64) *HlsInputSettings {
9961	s.BufferSegments = &v
9962	return s
9963}
9964
9965// SetRetries sets the Retries field's value.
9966func (s *HlsInputSettings) SetRetries(v int64) *HlsInputSettings {
9967	s.Retries = &v
9968	return s
9969}
9970
9971// SetRetryInterval sets the RetryInterval field's value.
9972func (s *HlsInputSettings) SetRetryInterval(v int64) *HlsInputSettings {
9973	s.RetryInterval = &v
9974	return s
9975}
9976
9977// Hls Media Store Settings
9978type HlsMediaStoreSettings struct {
9979	_ struct{} `type:"structure"`
9980
9981	// Number of seconds to wait before retrying connection to the CDN if the connection
9982	// is lost.
9983	ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"`
9984
9985	// Size in seconds of file cache for streaming outputs.
9986	FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"`
9987
9988	// When set to temporal, output files are stored in non-persistent memory for
9989	// faster reading and writing.
9990	MediaStoreStorageClass *string `locationName:"mediaStoreStorageClass" type:"string" enum:"HlsMediaStoreStorageClass"`
9991
9992	// Number of retry attempts that will be made before the Live Event is put into
9993	// an error state.
9994	NumRetries *int64 `locationName:"numRetries" type:"integer"`
9995
9996	// If a streaming output fails, number of seconds to wait until a restart is
9997	// initiated. A value of 0 means never restart.
9998	RestartDelay *int64 `locationName:"restartDelay" type:"integer"`
9999}
10000
10001// String returns the string representation
10002func (s HlsMediaStoreSettings) String() string {
10003	return awsutil.Prettify(s)
10004}
10005
10006// GoString returns the string representation
10007func (s HlsMediaStoreSettings) GoString() string {
10008	return s.String()
10009}
10010
10011// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value.
10012func (s *HlsMediaStoreSettings) SetConnectionRetryInterval(v int64) *HlsMediaStoreSettings {
10013	s.ConnectionRetryInterval = &v
10014	return s
10015}
10016
10017// SetFilecacheDuration sets the FilecacheDuration field's value.
10018func (s *HlsMediaStoreSettings) SetFilecacheDuration(v int64) *HlsMediaStoreSettings {
10019	s.FilecacheDuration = &v
10020	return s
10021}
10022
10023// SetMediaStoreStorageClass sets the MediaStoreStorageClass field's value.
10024func (s *HlsMediaStoreSettings) SetMediaStoreStorageClass(v string) *HlsMediaStoreSettings {
10025	s.MediaStoreStorageClass = &v
10026	return s
10027}
10028
10029// SetNumRetries sets the NumRetries field's value.
10030func (s *HlsMediaStoreSettings) SetNumRetries(v int64) *HlsMediaStoreSettings {
10031	s.NumRetries = &v
10032	return s
10033}
10034
10035// SetRestartDelay sets the RestartDelay field's value.
10036func (s *HlsMediaStoreSettings) SetRestartDelay(v int64) *HlsMediaStoreSettings {
10037	s.RestartDelay = &v
10038	return s
10039}
10040
10041// Hls Output Settings
10042type HlsOutputSettings struct {
10043	_ struct{} `type:"structure"`
10044
10045	// Settings regarding the underlying stream. These settings are different for
10046	// audio-only outputs.
10047	//
10048	// HlsSettings is a required field
10049	HlsSettings *HlsSettings `locationName:"hlsSettings" type:"structure" required:"true"`
10050
10051	// String concatenated to the end of the destination filename. Accepts \"Format
10052	// Identifiers\":#formatIdentifierParameters.
10053	NameModifier *string `locationName:"nameModifier" min:"1" type:"string"`
10054
10055	// String concatenated to end of segment filenames.
10056	SegmentModifier *string `locationName:"segmentModifier" type:"string"`
10057}
10058
10059// String returns the string representation
10060func (s HlsOutputSettings) String() string {
10061	return awsutil.Prettify(s)
10062}
10063
10064// GoString returns the string representation
10065func (s HlsOutputSettings) GoString() string {
10066	return s.String()
10067}
10068
10069// Validate inspects the fields of the type to determine if they are valid.
10070func (s *HlsOutputSettings) Validate() error {
10071	invalidParams := request.ErrInvalidParams{Context: "HlsOutputSettings"}
10072	if s.HlsSettings == nil {
10073		invalidParams.Add(request.NewErrParamRequired("HlsSettings"))
10074	}
10075	if s.NameModifier != nil && len(*s.NameModifier) < 1 {
10076		invalidParams.Add(request.NewErrParamMinLen("NameModifier", 1))
10077	}
10078	if s.HlsSettings != nil {
10079		if err := s.HlsSettings.Validate(); err != nil {
10080			invalidParams.AddNested("HlsSettings", err.(request.ErrInvalidParams))
10081		}
10082	}
10083
10084	if invalidParams.Len() > 0 {
10085		return invalidParams
10086	}
10087	return nil
10088}
10089
10090// SetHlsSettings sets the HlsSettings field's value.
10091func (s *HlsOutputSettings) SetHlsSettings(v *HlsSettings) *HlsOutputSettings {
10092	s.HlsSettings = v
10093	return s
10094}
10095
10096// SetNameModifier sets the NameModifier field's value.
10097func (s *HlsOutputSettings) SetNameModifier(v string) *HlsOutputSettings {
10098	s.NameModifier = &v
10099	return s
10100}
10101
10102// SetSegmentModifier sets the SegmentModifier field's value.
10103func (s *HlsOutputSettings) SetSegmentModifier(v string) *HlsOutputSettings {
10104	s.SegmentModifier = &v
10105	return s
10106}
10107
10108// Hls Settings
10109type HlsSettings struct {
10110	_ struct{} `type:"structure"`
10111
10112	// Audio Only Hls Settings
10113	AudioOnlyHlsSettings *AudioOnlyHlsSettings `locationName:"audioOnlyHlsSettings" type:"structure"`
10114
10115	// Standard Hls Settings
10116	StandardHlsSettings *StandardHlsSettings `locationName:"standardHlsSettings" type:"structure"`
10117}
10118
10119// String returns the string representation
10120func (s HlsSettings) String() string {
10121	return awsutil.Prettify(s)
10122}
10123
10124// GoString returns the string representation
10125func (s HlsSettings) GoString() string {
10126	return s.String()
10127}
10128
10129// Validate inspects the fields of the type to determine if they are valid.
10130func (s *HlsSettings) Validate() error {
10131	invalidParams := request.ErrInvalidParams{Context: "HlsSettings"}
10132	if s.AudioOnlyHlsSettings != nil {
10133		if err := s.AudioOnlyHlsSettings.Validate(); err != nil {
10134			invalidParams.AddNested("AudioOnlyHlsSettings", err.(request.ErrInvalidParams))
10135		}
10136	}
10137	if s.StandardHlsSettings != nil {
10138		if err := s.StandardHlsSettings.Validate(); err != nil {
10139			invalidParams.AddNested("StandardHlsSettings", err.(request.ErrInvalidParams))
10140		}
10141	}
10142
10143	if invalidParams.Len() > 0 {
10144		return invalidParams
10145	}
10146	return nil
10147}
10148
10149// SetAudioOnlyHlsSettings sets the AudioOnlyHlsSettings field's value.
10150func (s *HlsSettings) SetAudioOnlyHlsSettings(v *AudioOnlyHlsSettings) *HlsSettings {
10151	s.AudioOnlyHlsSettings = v
10152	return s
10153}
10154
10155// SetStandardHlsSettings sets the StandardHlsSettings field's value.
10156func (s *HlsSettings) SetStandardHlsSettings(v *StandardHlsSettings) *HlsSettings {
10157	s.StandardHlsSettings = v
10158	return s
10159}
10160
10161// Settings for the action to emit HLS metadata
10162type HlsTimedMetadataScheduleActionSettings struct {
10163	_ struct{} `type:"structure"`
10164
10165	// Base64 string formatted according to the ID3 specification: http://id3.org/id3v2.4.0-structure
10166	//
10167	// Id3 is a required field
10168	Id3 *string `locationName:"id3" type:"string" required:"true"`
10169}
10170
10171// String returns the string representation
10172func (s HlsTimedMetadataScheduleActionSettings) String() string {
10173	return awsutil.Prettify(s)
10174}
10175
10176// GoString returns the string representation
10177func (s HlsTimedMetadataScheduleActionSettings) GoString() string {
10178	return s.String()
10179}
10180
10181// Validate inspects the fields of the type to determine if they are valid.
10182func (s *HlsTimedMetadataScheduleActionSettings) Validate() error {
10183	invalidParams := request.ErrInvalidParams{Context: "HlsTimedMetadataScheduleActionSettings"}
10184	if s.Id3 == nil {
10185		invalidParams.Add(request.NewErrParamRequired("Id3"))
10186	}
10187
10188	if invalidParams.Len() > 0 {
10189		return invalidParams
10190	}
10191	return nil
10192}
10193
10194// SetId3 sets the Id3 field's value.
10195func (s *HlsTimedMetadataScheduleActionSettings) SetId3(v string) *HlsTimedMetadataScheduleActionSettings {
10196	s.Id3 = &v
10197	return s
10198}
10199
10200// Hls Webdav Settings
10201type HlsWebdavSettings struct {
10202	_ struct{} `type:"structure"`
10203
10204	// Number of seconds to wait before retrying connection to the CDN if the connection
10205	// is lost.
10206	ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"`
10207
10208	// Size in seconds of file cache for streaming outputs.
10209	FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"`
10210
10211	// Specify whether or not to use chunked transfer encoding to WebDAV.
10212	HttpTransferMode *string `locationName:"httpTransferMode" type:"string" enum:"HlsWebdavHttpTransferMode"`
10213
10214	// Number of retry attempts that will be made before the Live Event is put into
10215	// an error state.
10216	NumRetries *int64 `locationName:"numRetries" type:"integer"`
10217
10218	// If a streaming output fails, number of seconds to wait until a restart is
10219	// initiated. A value of 0 means never restart.
10220	RestartDelay *int64 `locationName:"restartDelay" type:"integer"`
10221}
10222
10223// String returns the string representation
10224func (s HlsWebdavSettings) String() string {
10225	return awsutil.Prettify(s)
10226}
10227
10228// GoString returns the string representation
10229func (s HlsWebdavSettings) GoString() string {
10230	return s.String()
10231}
10232
10233// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value.
10234func (s *HlsWebdavSettings) SetConnectionRetryInterval(v int64) *HlsWebdavSettings {
10235	s.ConnectionRetryInterval = &v
10236	return s
10237}
10238
10239// SetFilecacheDuration sets the FilecacheDuration field's value.
10240func (s *HlsWebdavSettings) SetFilecacheDuration(v int64) *HlsWebdavSettings {
10241	s.FilecacheDuration = &v
10242	return s
10243}
10244
10245// SetHttpTransferMode sets the HttpTransferMode field's value.
10246func (s *HlsWebdavSettings) SetHttpTransferMode(v string) *HlsWebdavSettings {
10247	s.HttpTransferMode = &v
10248	return s
10249}
10250
10251// SetNumRetries sets the NumRetries field's value.
10252func (s *HlsWebdavSettings) SetNumRetries(v int64) *HlsWebdavSettings {
10253	s.NumRetries = &v
10254	return s
10255}
10256
10257// SetRestartDelay sets the RestartDelay field's value.
10258func (s *HlsWebdavSettings) SetRestartDelay(v int64) *HlsWebdavSettings {
10259	s.RestartDelay = &v
10260	return s
10261}
10262
10263type Input struct {
10264	_ struct{} `type:"structure"`
10265
10266	// The Unique ARN of the input (generated, immutable).
10267	Arn *string `locationName:"arn" type:"string"`
10268
10269	// A list of channel IDs that that input is attached to (currently an input
10270	// can only be attached to one channel).
10271	AttachedChannels []*string `locationName:"attachedChannels" type:"list"`
10272
10273	// A list of the destinations of the input (PUSH-type).
10274	Destinations []*InputDestination `locationName:"destinations" type:"list"`
10275
10276	// The generated ID of the input (unique for user account, immutable).
10277	Id *string `locationName:"id" type:"string"`
10278
10279	// STANDARD - MediaLive expects two sources to be connected to this input. If
10280	// the channel is also STANDARD, both sources will be ingested. If the channel
10281	// is SINGLE_PIPELINE, only the first source will be ingested; the second source
10282	// will always be ignored, even if the first source fails.SINGLE_PIPELINE -
10283	// You can connect only one source to this input. If the ChannelClass is also
10284	// SINGLE_PIPELINE, this value is valid. If the ChannelClass is STANDARD, this
10285	// value is not valid because the channel requires two sources in the input.
10286	InputClass *string `locationName:"inputClass" type:"string" enum:"InputClass"`
10287
10288	// A list of MediaConnect Flows for this input.
10289	MediaConnectFlows []*MediaConnectFlow `locationName:"mediaConnectFlows" type:"list"`
10290
10291	// The user-assigned name (This is a mutable value).
10292	Name *string `locationName:"name" type:"string"`
10293
10294	// The Amazon Resource Name (ARN) of the role this input assumes during and
10295	// after creation.
10296	RoleArn *string `locationName:"roleArn" type:"string"`
10297
10298	// A list of IDs for all the Input Security Groups attached to the input.
10299	SecurityGroups []*string `locationName:"securityGroups" type:"list"`
10300
10301	// A list of the sources of the input (PULL-type).
10302	Sources []*InputSource `locationName:"sources" type:"list"`
10303
10304	State *string `locationName:"state" type:"string" enum:"InputState"`
10305
10306	// A collection of key-value pairs.
10307	Tags map[string]*string `locationName:"tags" type:"map"`
10308
10309	Type *string `locationName:"type" type:"string" enum:"InputType"`
10310}
10311
10312// String returns the string representation
10313func (s Input) String() string {
10314	return awsutil.Prettify(s)
10315}
10316
10317// GoString returns the string representation
10318func (s Input) GoString() string {
10319	return s.String()
10320}
10321
10322// SetArn sets the Arn field's value.
10323func (s *Input) SetArn(v string) *Input {
10324	s.Arn = &v
10325	return s
10326}
10327
10328// SetAttachedChannels sets the AttachedChannels field's value.
10329func (s *Input) SetAttachedChannels(v []*string) *Input {
10330	s.AttachedChannels = v
10331	return s
10332}
10333
10334// SetDestinations sets the Destinations field's value.
10335func (s *Input) SetDestinations(v []*InputDestination) *Input {
10336	s.Destinations = v
10337	return s
10338}
10339
10340// SetId sets the Id field's value.
10341func (s *Input) SetId(v string) *Input {
10342	s.Id = &v
10343	return s
10344}
10345
10346// SetInputClass sets the InputClass field's value.
10347func (s *Input) SetInputClass(v string) *Input {
10348	s.InputClass = &v
10349	return s
10350}
10351
10352// SetMediaConnectFlows sets the MediaConnectFlows field's value.
10353func (s *Input) SetMediaConnectFlows(v []*MediaConnectFlow) *Input {
10354	s.MediaConnectFlows = v
10355	return s
10356}
10357
10358// SetName sets the Name field's value.
10359func (s *Input) SetName(v string) *Input {
10360	s.Name = &v
10361	return s
10362}
10363
10364// SetRoleArn sets the RoleArn field's value.
10365func (s *Input) SetRoleArn(v string) *Input {
10366	s.RoleArn = &v
10367	return s
10368}
10369
10370// SetSecurityGroups sets the SecurityGroups field's value.
10371func (s *Input) SetSecurityGroups(v []*string) *Input {
10372	s.SecurityGroups = v
10373	return s
10374}
10375
10376// SetSources sets the Sources field's value.
10377func (s *Input) SetSources(v []*InputSource) *Input {
10378	s.Sources = v
10379	return s
10380}
10381
10382// SetState sets the State field's value.
10383func (s *Input) SetState(v string) *Input {
10384	s.State = &v
10385	return s
10386}
10387
10388// SetTags sets the Tags field's value.
10389func (s *Input) SetTags(v map[string]*string) *Input {
10390	s.Tags = v
10391	return s
10392}
10393
10394// SetType sets the Type field's value.
10395func (s *Input) SetType(v string) *Input {
10396	s.Type = &v
10397	return s
10398}
10399
10400type InputAttachment struct {
10401	_ struct{} `type:"structure"`
10402
10403	// User-specified name for the attachment. This is required if the user wants
10404	// to use this input in an input switch action.
10405	InputAttachmentName *string `locationName:"inputAttachmentName" type:"string"`
10406
10407	// The ID of the input
10408	InputId *string `locationName:"inputId" type:"string"`
10409
10410	// Settings of an input (caption selector, etc.)
10411	InputSettings *InputSettings `locationName:"inputSettings" type:"structure"`
10412}
10413
10414// String returns the string representation
10415func (s InputAttachment) String() string {
10416	return awsutil.Prettify(s)
10417}
10418
10419// GoString returns the string representation
10420func (s InputAttachment) GoString() string {
10421	return s.String()
10422}
10423
10424// Validate inspects the fields of the type to determine if they are valid.
10425func (s *InputAttachment) Validate() error {
10426	invalidParams := request.ErrInvalidParams{Context: "InputAttachment"}
10427	if s.InputSettings != nil {
10428		if err := s.InputSettings.Validate(); err != nil {
10429			invalidParams.AddNested("InputSettings", err.(request.ErrInvalidParams))
10430		}
10431	}
10432
10433	if invalidParams.Len() > 0 {
10434		return invalidParams
10435	}
10436	return nil
10437}
10438
10439// SetInputAttachmentName sets the InputAttachmentName field's value.
10440func (s *InputAttachment) SetInputAttachmentName(v string) *InputAttachment {
10441	s.InputAttachmentName = &v
10442	return s
10443}
10444
10445// SetInputId sets the InputId field's value.
10446func (s *InputAttachment) SetInputId(v string) *InputAttachment {
10447	s.InputId = &v
10448	return s
10449}
10450
10451// SetInputSettings sets the InputSettings field's value.
10452func (s *InputAttachment) SetInputSettings(v *InputSettings) *InputAttachment {
10453	s.InputSettings = v
10454	return s
10455}
10456
10457// Input Channel Level
10458type InputChannelLevel struct {
10459	_ struct{} `type:"structure"`
10460
10461	// Remixing value. Units are in dB and acceptable values are within the range
10462	// from -60 (mute) and 6 dB.
10463	//
10464	// Gain is a required field
10465	Gain *int64 `locationName:"gain" type:"integer" required:"true"`
10466
10467	// The index of the input channel used as a source.
10468	//
10469	// InputChannel is a required field
10470	InputChannel *int64 `locationName:"inputChannel" type:"integer" required:"true"`
10471}
10472
10473// String returns the string representation
10474func (s InputChannelLevel) String() string {
10475	return awsutil.Prettify(s)
10476}
10477
10478// GoString returns the string representation
10479func (s InputChannelLevel) GoString() string {
10480	return s.String()
10481}
10482
10483// Validate inspects the fields of the type to determine if they are valid.
10484func (s *InputChannelLevel) Validate() error {
10485	invalidParams := request.ErrInvalidParams{Context: "InputChannelLevel"}
10486	if s.Gain == nil {
10487		invalidParams.Add(request.NewErrParamRequired("Gain"))
10488	}
10489	if s.Gain != nil && *s.Gain < -60 {
10490		invalidParams.Add(request.NewErrParamMinValue("Gain", -60))
10491	}
10492	if s.InputChannel == nil {
10493		invalidParams.Add(request.NewErrParamRequired("InputChannel"))
10494	}
10495
10496	if invalidParams.Len() > 0 {
10497		return invalidParams
10498	}
10499	return nil
10500}
10501
10502// SetGain sets the Gain field's value.
10503func (s *InputChannelLevel) SetGain(v int64) *InputChannelLevel {
10504	s.Gain = &v
10505	return s
10506}
10507
10508// SetInputChannel sets the InputChannel field's value.
10509func (s *InputChannelLevel) SetInputChannel(v int64) *InputChannelLevel {
10510	s.InputChannel = &v
10511	return s
10512}
10513
10514// The settings for a PUSH type input.
10515type InputDestination struct {
10516	_ struct{} `type:"structure"`
10517
10518	// The system-generated static IP address of endpoint.It remains fixed for the
10519	// lifetime of the input.
10520	Ip *string `locationName:"ip" type:"string"`
10521
10522	// The port number for the input.
10523	Port *string `locationName:"port" type:"string"`
10524
10525	// This represents the endpoint that the customer stream will bepushed to.
10526	Url *string `locationName:"url" type:"string"`
10527
10528	// The properties for a VPC type input destination.
10529	Vpc *InputDestinationVpc `locationName:"vpc" type:"structure"`
10530}
10531
10532// String returns the string representation
10533func (s InputDestination) String() string {
10534	return awsutil.Prettify(s)
10535}
10536
10537// GoString returns the string representation
10538func (s InputDestination) GoString() string {
10539	return s.String()
10540}
10541
10542// SetIp sets the Ip field's value.
10543func (s *InputDestination) SetIp(v string) *InputDestination {
10544	s.Ip = &v
10545	return s
10546}
10547
10548// SetPort sets the Port field's value.
10549func (s *InputDestination) SetPort(v string) *InputDestination {
10550	s.Port = &v
10551	return s
10552}
10553
10554// SetUrl sets the Url field's value.
10555func (s *InputDestination) SetUrl(v string) *InputDestination {
10556	s.Url = &v
10557	return s
10558}
10559
10560// SetVpc sets the Vpc field's value.
10561func (s *InputDestination) SetVpc(v *InputDestinationVpc) *InputDestination {
10562	s.Vpc = v
10563	return s
10564}
10565
10566// Endpoint settings for a PUSH type input.
10567type InputDestinationRequest struct {
10568	_ struct{} `type:"structure"`
10569
10570	// A unique name for the location the RTMP stream is being pushedto.
10571	StreamName *string `locationName:"streamName" type:"string"`
10572}
10573
10574// String returns the string representation
10575func (s InputDestinationRequest) String() string {
10576	return awsutil.Prettify(s)
10577}
10578
10579// GoString returns the string representation
10580func (s InputDestinationRequest) GoString() string {
10581	return s.String()
10582}
10583
10584// SetStreamName sets the StreamName field's value.
10585func (s *InputDestinationRequest) SetStreamName(v string) *InputDestinationRequest {
10586	s.StreamName = &v
10587	return s
10588}
10589
10590// The properties for a VPC type input destination.
10591type InputDestinationVpc struct {
10592	_ struct{} `type:"structure"`
10593
10594	// The availability zone of the Input destination.
10595	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
10596
10597	// The network interface ID of the Input destination in the VPC.
10598	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
10599}
10600
10601// String returns the string representation
10602func (s InputDestinationVpc) String() string {
10603	return awsutil.Prettify(s)
10604}
10605
10606// GoString returns the string representation
10607func (s InputDestinationVpc) GoString() string {
10608	return s.String()
10609}
10610
10611// SetAvailabilityZone sets the AvailabilityZone field's value.
10612func (s *InputDestinationVpc) SetAvailabilityZone(v string) *InputDestinationVpc {
10613	s.AvailabilityZone = &v
10614	return s
10615}
10616
10617// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
10618func (s *InputDestinationVpc) SetNetworkInterfaceId(v string) *InputDestinationVpc {
10619	s.NetworkInterfaceId = &v
10620	return s
10621}
10622
10623// Input Location
10624type InputLocation struct {
10625	_ struct{} `type:"structure"`
10626
10627	// key used to extract the password from EC2 Parameter store
10628	PasswordParam *string `locationName:"passwordParam" type:"string"`
10629
10630	// Uniform Resource Identifier - This should be a path to a file accessible
10631	// to the Live system (eg. a http:// URI) depending on the output type. For
10632	// example, a RTMP destination should have a uri simliar to: "rtmp://fmsserver/live".
10633	//
10634	// Uri is a required field
10635	Uri *string `locationName:"uri" type:"string" required:"true"`
10636
10637	// Username if credentials are required to access a file or publishing point.
10638	// This can be either a plaintext username, or a reference to an AWS parameter
10639	// store name from which the username can be retrieved. AWS Parameter store
10640	// format: "ssm://"
10641	Username *string `locationName:"username" type:"string"`
10642}
10643
10644// String returns the string representation
10645func (s InputLocation) String() string {
10646	return awsutil.Prettify(s)
10647}
10648
10649// GoString returns the string representation
10650func (s InputLocation) GoString() string {
10651	return s.String()
10652}
10653
10654// Validate inspects the fields of the type to determine if they are valid.
10655func (s *InputLocation) Validate() error {
10656	invalidParams := request.ErrInvalidParams{Context: "InputLocation"}
10657	if s.Uri == nil {
10658		invalidParams.Add(request.NewErrParamRequired("Uri"))
10659	}
10660
10661	if invalidParams.Len() > 0 {
10662		return invalidParams
10663	}
10664	return nil
10665}
10666
10667// SetPasswordParam sets the PasswordParam field's value.
10668func (s *InputLocation) SetPasswordParam(v string) *InputLocation {
10669	s.PasswordParam = &v
10670	return s
10671}
10672
10673// SetUri sets the Uri field's value.
10674func (s *InputLocation) SetUri(v string) *InputLocation {
10675	s.Uri = &v
10676	return s
10677}
10678
10679// SetUsername sets the Username field's value.
10680func (s *InputLocation) SetUsername(v string) *InputLocation {
10681	s.Username = &v
10682	return s
10683}
10684
10685// Input Loss Behavior
10686type InputLossBehavior struct {
10687	_ struct{} `type:"structure"`
10688
10689	// On input loss, the number of milliseconds to substitute black into the output
10690	// before switching to the frame specified by inputLossImageType. A value x,
10691	// where 0 <= x <= 1,000,000 and a value of 1,000,000 will be interpreted as
10692	// infinite.
10693	BlackFrameMsec *int64 `locationName:"blackFrameMsec" type:"integer"`
10694
10695	// When input loss image type is "color" this field specifies the color to use.
10696	// Value: 6 hex characters representing the values of RGB.
10697	InputLossImageColor *string `locationName:"inputLossImageColor" min:"6" type:"string"`
10698
10699	// When input loss image type is "slate" these fields specify the parameters
10700	// for accessing the slate.
10701	InputLossImageSlate *InputLocation `locationName:"inputLossImageSlate" type:"structure"`
10702
10703	// Indicates whether to substitute a solid color or a slate into the output
10704	// after input loss exceeds blackFrameMsec.
10705	InputLossImageType *string `locationName:"inputLossImageType" type:"string" enum:"InputLossImageType"`
10706
10707	// On input loss, the number of milliseconds to repeat the previous picture
10708	// before substituting black into the output. A value x, where 0 <= x <= 1,000,000
10709	// and a value of 1,000,000 will be interpreted as infinite.
10710	RepeatFrameMsec *int64 `locationName:"repeatFrameMsec" type:"integer"`
10711}
10712
10713// String returns the string representation
10714func (s InputLossBehavior) String() string {
10715	return awsutil.Prettify(s)
10716}
10717
10718// GoString returns the string representation
10719func (s InputLossBehavior) GoString() string {
10720	return s.String()
10721}
10722
10723// Validate inspects the fields of the type to determine if they are valid.
10724func (s *InputLossBehavior) Validate() error {
10725	invalidParams := request.ErrInvalidParams{Context: "InputLossBehavior"}
10726	if s.InputLossImageColor != nil && len(*s.InputLossImageColor) < 6 {
10727		invalidParams.Add(request.NewErrParamMinLen("InputLossImageColor", 6))
10728	}
10729	if s.InputLossImageSlate != nil {
10730		if err := s.InputLossImageSlate.Validate(); err != nil {
10731			invalidParams.AddNested("InputLossImageSlate", err.(request.ErrInvalidParams))
10732		}
10733	}
10734
10735	if invalidParams.Len() > 0 {
10736		return invalidParams
10737	}
10738	return nil
10739}
10740
10741// SetBlackFrameMsec sets the BlackFrameMsec field's value.
10742func (s *InputLossBehavior) SetBlackFrameMsec(v int64) *InputLossBehavior {
10743	s.BlackFrameMsec = &v
10744	return s
10745}
10746
10747// SetInputLossImageColor sets the InputLossImageColor field's value.
10748func (s *InputLossBehavior) SetInputLossImageColor(v string) *InputLossBehavior {
10749	s.InputLossImageColor = &v
10750	return s
10751}
10752
10753// SetInputLossImageSlate sets the InputLossImageSlate field's value.
10754func (s *InputLossBehavior) SetInputLossImageSlate(v *InputLocation) *InputLossBehavior {
10755	s.InputLossImageSlate = v
10756	return s
10757}
10758
10759// SetInputLossImageType sets the InputLossImageType field's value.
10760func (s *InputLossBehavior) SetInputLossImageType(v string) *InputLossBehavior {
10761	s.InputLossImageType = &v
10762	return s
10763}
10764
10765// SetRepeatFrameMsec sets the RepeatFrameMsec field's value.
10766func (s *InputLossBehavior) SetRepeatFrameMsec(v int64) *InputLossBehavior {
10767	s.RepeatFrameMsec = &v
10768	return s
10769}
10770
10771// An Input Security Group
10772type InputSecurityGroup struct {
10773	_ struct{} `type:"structure"`
10774
10775	// Unique ARN of Input Security Group
10776	Arn *string `locationName:"arn" type:"string"`
10777
10778	// The Id of the Input Security Group
10779	Id *string `locationName:"id" type:"string"`
10780
10781	// The list of inputs currently using this Input Security Group.
10782	Inputs []*string `locationName:"inputs" type:"list"`
10783
10784	// The current state of the Input Security Group.
10785	State *string `locationName:"state" type:"string" enum:"InputSecurityGroupState"`
10786
10787	// A collection of key-value pairs.
10788	Tags map[string]*string `locationName:"tags" type:"map"`
10789
10790	// Whitelist rules and their sync status
10791	WhitelistRules []*InputWhitelistRule `locationName:"whitelistRules" type:"list"`
10792}
10793
10794// String returns the string representation
10795func (s InputSecurityGroup) String() string {
10796	return awsutil.Prettify(s)
10797}
10798
10799// GoString returns the string representation
10800func (s InputSecurityGroup) GoString() string {
10801	return s.String()
10802}
10803
10804// SetArn sets the Arn field's value.
10805func (s *InputSecurityGroup) SetArn(v string) *InputSecurityGroup {
10806	s.Arn = &v
10807	return s
10808}
10809
10810// SetId sets the Id field's value.
10811func (s *InputSecurityGroup) SetId(v string) *InputSecurityGroup {
10812	s.Id = &v
10813	return s
10814}
10815
10816// SetInputs sets the Inputs field's value.
10817func (s *InputSecurityGroup) SetInputs(v []*string) *InputSecurityGroup {
10818	s.Inputs = v
10819	return s
10820}
10821
10822// SetState sets the State field's value.
10823func (s *InputSecurityGroup) SetState(v string) *InputSecurityGroup {
10824	s.State = &v
10825	return s
10826}
10827
10828// SetTags sets the Tags field's value.
10829func (s *InputSecurityGroup) SetTags(v map[string]*string) *InputSecurityGroup {
10830	s.Tags = v
10831	return s
10832}
10833
10834// SetWhitelistRules sets the WhitelistRules field's value.
10835func (s *InputSecurityGroup) SetWhitelistRules(v []*InputWhitelistRule) *InputSecurityGroup {
10836	s.WhitelistRules = v
10837	return s
10838}
10839
10840// Live Event input parameters. There can be multiple inputs in a single Live
10841// Event.
10842type InputSettings struct {
10843	_ struct{} `type:"structure"`
10844
10845	// Used to select the audio stream to decode for inputs that have multiple available.
10846	AudioSelectors []*AudioSelector `locationName:"audioSelectors" type:"list"`
10847
10848	// Used to select the caption input to use for inputs that have multiple available.
10849	CaptionSelectors []*CaptionSelector `locationName:"captionSelectors" type:"list"`
10850
10851	// Enable or disable the deblock filter when filtering.
10852	DeblockFilter *string `locationName:"deblockFilter" type:"string" enum:"InputDeblockFilter"`
10853
10854	// Enable or disable the denoise filter when filtering.
10855	DenoiseFilter *string `locationName:"denoiseFilter" type:"string" enum:"InputDenoiseFilter"`
10856
10857	// Adjusts the magnitude of filtering from 1 (minimal) to 5 (strongest).
10858	FilterStrength *int64 `locationName:"filterStrength" min:"1" type:"integer"`
10859
10860	// Turns on the filter for this input. MPEG-2 inputs have the deblocking filter
10861	// enabled by default.1) auto - filtering will be applied depending on input
10862	// type/quality2) disabled - no filtering will be applied to the input3) forced
10863	// - filtering will be applied regardless of input type
10864	InputFilter *string `locationName:"inputFilter" type:"string" enum:"InputFilter"`
10865
10866	// Input settings.
10867	NetworkInputSettings *NetworkInputSettings `locationName:"networkInputSettings" type:"structure"`
10868
10869	// Loop input if it is a file. This allows a file input to be streamed indefinitely.
10870	SourceEndBehavior *string `locationName:"sourceEndBehavior" type:"string" enum:"InputSourceEndBehavior"`
10871
10872	// Informs which video elementary stream to decode for input types that have
10873	// multiple available.
10874	VideoSelector *VideoSelector `locationName:"videoSelector" type:"structure"`
10875}
10876
10877// String returns the string representation
10878func (s InputSettings) String() string {
10879	return awsutil.Prettify(s)
10880}
10881
10882// GoString returns the string representation
10883func (s InputSettings) GoString() string {
10884	return s.String()
10885}
10886
10887// Validate inspects the fields of the type to determine if they are valid.
10888func (s *InputSettings) Validate() error {
10889	invalidParams := request.ErrInvalidParams{Context: "InputSettings"}
10890	if s.FilterStrength != nil && *s.FilterStrength < 1 {
10891		invalidParams.Add(request.NewErrParamMinValue("FilterStrength", 1))
10892	}
10893	if s.AudioSelectors != nil {
10894		for i, v := range s.AudioSelectors {
10895			if v == nil {
10896				continue
10897			}
10898			if err := v.Validate(); err != nil {
10899				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioSelectors", i), err.(request.ErrInvalidParams))
10900			}
10901		}
10902	}
10903	if s.CaptionSelectors != nil {
10904		for i, v := range s.CaptionSelectors {
10905			if v == nil {
10906				continue
10907			}
10908			if err := v.Validate(); err != nil {
10909				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionSelectors", i), err.(request.ErrInvalidParams))
10910			}
10911		}
10912	}
10913
10914	if invalidParams.Len() > 0 {
10915		return invalidParams
10916	}
10917	return nil
10918}
10919
10920// SetAudioSelectors sets the AudioSelectors field's value.
10921func (s *InputSettings) SetAudioSelectors(v []*AudioSelector) *InputSettings {
10922	s.AudioSelectors = v
10923	return s
10924}
10925
10926// SetCaptionSelectors sets the CaptionSelectors field's value.
10927func (s *InputSettings) SetCaptionSelectors(v []*CaptionSelector) *InputSettings {
10928	s.CaptionSelectors = v
10929	return s
10930}
10931
10932// SetDeblockFilter sets the DeblockFilter field's value.
10933func (s *InputSettings) SetDeblockFilter(v string) *InputSettings {
10934	s.DeblockFilter = &v
10935	return s
10936}
10937
10938// SetDenoiseFilter sets the DenoiseFilter field's value.
10939func (s *InputSettings) SetDenoiseFilter(v string) *InputSettings {
10940	s.DenoiseFilter = &v
10941	return s
10942}
10943
10944// SetFilterStrength sets the FilterStrength field's value.
10945func (s *InputSettings) SetFilterStrength(v int64) *InputSettings {
10946	s.FilterStrength = &v
10947	return s
10948}
10949
10950// SetInputFilter sets the InputFilter field's value.
10951func (s *InputSettings) SetInputFilter(v string) *InputSettings {
10952	s.InputFilter = &v
10953	return s
10954}
10955
10956// SetNetworkInputSettings sets the NetworkInputSettings field's value.
10957func (s *InputSettings) SetNetworkInputSettings(v *NetworkInputSettings) *InputSettings {
10958	s.NetworkInputSettings = v
10959	return s
10960}
10961
10962// SetSourceEndBehavior sets the SourceEndBehavior field's value.
10963func (s *InputSettings) SetSourceEndBehavior(v string) *InputSettings {
10964	s.SourceEndBehavior = &v
10965	return s
10966}
10967
10968// SetVideoSelector sets the VideoSelector field's value.
10969func (s *InputSettings) SetVideoSelector(v *VideoSelector) *InputSettings {
10970	s.VideoSelector = v
10971	return s
10972}
10973
10974// The settings for a PULL type input.
10975type InputSource struct {
10976	_ struct{} `type:"structure"`
10977
10978	// The key used to extract the password from EC2 Parameter store.
10979	PasswordParam *string `locationName:"passwordParam" type:"string"`
10980
10981	// This represents the customer's source URL where stream ispulled from.
10982	Url *string `locationName:"url" type:"string"`
10983
10984	// The username for the input source.
10985	Username *string `locationName:"username" type:"string"`
10986}
10987
10988// String returns the string representation
10989func (s InputSource) String() string {
10990	return awsutil.Prettify(s)
10991}
10992
10993// GoString returns the string representation
10994func (s InputSource) GoString() string {
10995	return s.String()
10996}
10997
10998// SetPasswordParam sets the PasswordParam field's value.
10999func (s *InputSource) SetPasswordParam(v string) *InputSource {
11000	s.PasswordParam = &v
11001	return s
11002}
11003
11004// SetUrl sets the Url field's value.
11005func (s *InputSource) SetUrl(v string) *InputSource {
11006	s.Url = &v
11007	return s
11008}
11009
11010// SetUsername sets the Username field's value.
11011func (s *InputSource) SetUsername(v string) *InputSource {
11012	s.Username = &v
11013	return s
11014}
11015
11016// Settings for for a PULL type input.
11017type InputSourceRequest struct {
11018	_ struct{} `type:"structure"`
11019
11020	// The key used to extract the password from EC2 Parameter store.
11021	PasswordParam *string `locationName:"passwordParam" type:"string"`
11022
11023	// This represents the customer's source URL where stream ispulled from.
11024	Url *string `locationName:"url" type:"string"`
11025
11026	// The username for the input source.
11027	Username *string `locationName:"username" type:"string"`
11028}
11029
11030// String returns the string representation
11031func (s InputSourceRequest) String() string {
11032	return awsutil.Prettify(s)
11033}
11034
11035// GoString returns the string representation
11036func (s InputSourceRequest) GoString() string {
11037	return s.String()
11038}
11039
11040// SetPasswordParam sets the PasswordParam field's value.
11041func (s *InputSourceRequest) SetPasswordParam(v string) *InputSourceRequest {
11042	s.PasswordParam = &v
11043	return s
11044}
11045
11046// SetUrl sets the Url field's value.
11047func (s *InputSourceRequest) SetUrl(v string) *InputSourceRequest {
11048	s.Url = &v
11049	return s
11050}
11051
11052// SetUsername sets the Username field's value.
11053func (s *InputSourceRequest) SetUsername(v string) *InputSourceRequest {
11054	s.Username = &v
11055	return s
11056}
11057
11058type InputSpecification struct {
11059	_ struct{} `type:"structure"`
11060
11061	// Input codec
11062	Codec *string `locationName:"codec" type:"string" enum:"InputCodec"`
11063
11064	// Maximum input bitrate, categorized coarsely
11065	MaximumBitrate *string `locationName:"maximumBitrate" type:"string" enum:"InputMaximumBitrate"`
11066
11067	// Input resolution, categorized coarsely
11068	Resolution *string `locationName:"resolution" type:"string" enum:"InputResolution"`
11069}
11070
11071// String returns the string representation
11072func (s InputSpecification) String() string {
11073	return awsutil.Prettify(s)
11074}
11075
11076// GoString returns the string representation
11077func (s InputSpecification) GoString() string {
11078	return s.String()
11079}
11080
11081// SetCodec sets the Codec field's value.
11082func (s *InputSpecification) SetCodec(v string) *InputSpecification {
11083	s.Codec = &v
11084	return s
11085}
11086
11087// SetMaximumBitrate sets the MaximumBitrate field's value.
11088func (s *InputSpecification) SetMaximumBitrate(v string) *InputSpecification {
11089	s.MaximumBitrate = &v
11090	return s
11091}
11092
11093// SetResolution sets the Resolution field's value.
11094func (s *InputSpecification) SetResolution(v string) *InputSpecification {
11095	s.Resolution = &v
11096	return s
11097}
11098
11099// Settings for the action to switch an input.
11100type InputSwitchScheduleActionSettings struct {
11101	_ struct{} `type:"structure"`
11102
11103	// The name of the input attachment that should be switched to by this action.
11104	//
11105	// InputAttachmentNameReference is a required field
11106	InputAttachmentNameReference *string `locationName:"inputAttachmentNameReference" type:"string" required:"true"`
11107}
11108
11109// String returns the string representation
11110func (s InputSwitchScheduleActionSettings) String() string {
11111	return awsutil.Prettify(s)
11112}
11113
11114// GoString returns the string representation
11115func (s InputSwitchScheduleActionSettings) GoString() string {
11116	return s.String()
11117}
11118
11119// Validate inspects the fields of the type to determine if they are valid.
11120func (s *InputSwitchScheduleActionSettings) Validate() error {
11121	invalidParams := request.ErrInvalidParams{Context: "InputSwitchScheduleActionSettings"}
11122	if s.InputAttachmentNameReference == nil {
11123		invalidParams.Add(request.NewErrParamRequired("InputAttachmentNameReference"))
11124	}
11125
11126	if invalidParams.Len() > 0 {
11127		return invalidParams
11128	}
11129	return nil
11130}
11131
11132// SetInputAttachmentNameReference sets the InputAttachmentNameReference field's value.
11133func (s *InputSwitchScheduleActionSettings) SetInputAttachmentNameReference(v string) *InputSwitchScheduleActionSettings {
11134	s.InputAttachmentNameReference = &v
11135	return s
11136}
11137
11138// Settings for a private VPC Input.When this property is specified, the input
11139// destination addresses will be created in a VPC rather than with public Internet
11140// addresses.This property requires setting the roleArn property on Input creation.Not
11141// compatible with the inputSecurityGroups property.
11142type InputVpcRequest struct {
11143	_ struct{} `type:"structure"`
11144
11145	// A list of up to 5 EC2 VPC security group IDs to attach to the Input VPC network
11146	// interfaces.Requires subnetIds. If none are specified then the VPC default
11147	// security group will be used.
11148	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"`
11149
11150	// A list of 2 VPC subnet IDs from the same VPC.Subnet IDs must be mapped to
11151	// two unique availability zones (AZ).
11152	//
11153	// SubnetIds is a required field
11154	SubnetIds []*string `locationName:"subnetIds" type:"list" required:"true"`
11155}
11156
11157// String returns the string representation
11158func (s InputVpcRequest) String() string {
11159	return awsutil.Prettify(s)
11160}
11161
11162// GoString returns the string representation
11163func (s InputVpcRequest) GoString() string {
11164	return s.String()
11165}
11166
11167// Validate inspects the fields of the type to determine if they are valid.
11168func (s *InputVpcRequest) Validate() error {
11169	invalidParams := request.ErrInvalidParams{Context: "InputVpcRequest"}
11170	if s.SubnetIds == nil {
11171		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
11172	}
11173
11174	if invalidParams.Len() > 0 {
11175		return invalidParams
11176	}
11177	return nil
11178}
11179
11180// SetSecurityGroupIds sets the SecurityGroupIds field's value.
11181func (s *InputVpcRequest) SetSecurityGroupIds(v []*string) *InputVpcRequest {
11182	s.SecurityGroupIds = v
11183	return s
11184}
11185
11186// SetSubnetIds sets the SubnetIds field's value.
11187func (s *InputVpcRequest) SetSubnetIds(v []*string) *InputVpcRequest {
11188	s.SubnetIds = v
11189	return s
11190}
11191
11192// Whitelist rule
11193type InputWhitelistRule struct {
11194	_ struct{} `type:"structure"`
11195
11196	// The IPv4 CIDR that's whitelisted.
11197	Cidr *string `locationName:"cidr" type:"string"`
11198}
11199
11200// String returns the string representation
11201func (s InputWhitelistRule) String() string {
11202	return awsutil.Prettify(s)
11203}
11204
11205// GoString returns the string representation
11206func (s InputWhitelistRule) GoString() string {
11207	return s.String()
11208}
11209
11210// SetCidr sets the Cidr field's value.
11211func (s *InputWhitelistRule) SetCidr(v string) *InputWhitelistRule {
11212	s.Cidr = &v
11213	return s
11214}
11215
11216// An IPv4 CIDR to whitelist.
11217type InputWhitelistRuleCidr struct {
11218	_ struct{} `type:"structure"`
11219
11220	// The IPv4 CIDR to whitelist.
11221	Cidr *string `locationName:"cidr" type:"string"`
11222}
11223
11224// String returns the string representation
11225func (s InputWhitelistRuleCidr) String() string {
11226	return awsutil.Prettify(s)
11227}
11228
11229// GoString returns the string representation
11230func (s InputWhitelistRuleCidr) GoString() string {
11231	return s.String()
11232}
11233
11234// SetCidr sets the Cidr field's value.
11235func (s *InputWhitelistRuleCidr) SetCidr(v string) *InputWhitelistRuleCidr {
11236	s.Cidr = &v
11237	return s
11238}
11239
11240// Key Provider Settings
11241type KeyProviderSettings struct {
11242	_ struct{} `type:"structure"`
11243
11244	// Static Key Settings
11245	StaticKeySettings *StaticKeySettings `locationName:"staticKeySettings" type:"structure"`
11246}
11247
11248// String returns the string representation
11249func (s KeyProviderSettings) String() string {
11250	return awsutil.Prettify(s)
11251}
11252
11253// GoString returns the string representation
11254func (s KeyProviderSettings) GoString() string {
11255	return s.String()
11256}
11257
11258// Validate inspects the fields of the type to determine if they are valid.
11259func (s *KeyProviderSettings) Validate() error {
11260	invalidParams := request.ErrInvalidParams{Context: "KeyProviderSettings"}
11261	if s.StaticKeySettings != nil {
11262		if err := s.StaticKeySettings.Validate(); err != nil {
11263			invalidParams.AddNested("StaticKeySettings", err.(request.ErrInvalidParams))
11264		}
11265	}
11266
11267	if invalidParams.Len() > 0 {
11268		return invalidParams
11269	}
11270	return nil
11271}
11272
11273// SetStaticKeySettings sets the StaticKeySettings field's value.
11274func (s *KeyProviderSettings) SetStaticKeySettings(v *StaticKeySettings) *KeyProviderSettings {
11275	s.StaticKeySettings = v
11276	return s
11277}
11278
11279type ListChannelsInput struct {
11280	_ struct{} `type:"structure"`
11281
11282	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
11283
11284	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
11285}
11286
11287// String returns the string representation
11288func (s ListChannelsInput) String() string {
11289	return awsutil.Prettify(s)
11290}
11291
11292// GoString returns the string representation
11293func (s ListChannelsInput) GoString() string {
11294	return s.String()
11295}
11296
11297// Validate inspects the fields of the type to determine if they are valid.
11298func (s *ListChannelsInput) Validate() error {
11299	invalidParams := request.ErrInvalidParams{Context: "ListChannelsInput"}
11300	if s.MaxResults != nil && *s.MaxResults < 1 {
11301		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11302	}
11303
11304	if invalidParams.Len() > 0 {
11305		return invalidParams
11306	}
11307	return nil
11308}
11309
11310// SetMaxResults sets the MaxResults field's value.
11311func (s *ListChannelsInput) SetMaxResults(v int64) *ListChannelsInput {
11312	s.MaxResults = &v
11313	return s
11314}
11315
11316// SetNextToken sets the NextToken field's value.
11317func (s *ListChannelsInput) SetNextToken(v string) *ListChannelsInput {
11318	s.NextToken = &v
11319	return s
11320}
11321
11322type ListChannelsOutput struct {
11323	_ struct{} `type:"structure"`
11324
11325	Channels []*ChannelSummary `locationName:"channels" type:"list"`
11326
11327	NextToken *string `locationName:"nextToken" type:"string"`
11328}
11329
11330// String returns the string representation
11331func (s ListChannelsOutput) String() string {
11332	return awsutil.Prettify(s)
11333}
11334
11335// GoString returns the string representation
11336func (s ListChannelsOutput) GoString() string {
11337	return s.String()
11338}
11339
11340// SetChannels sets the Channels field's value.
11341func (s *ListChannelsOutput) SetChannels(v []*ChannelSummary) *ListChannelsOutput {
11342	s.Channels = v
11343	return s
11344}
11345
11346// SetNextToken sets the NextToken field's value.
11347func (s *ListChannelsOutput) SetNextToken(v string) *ListChannelsOutput {
11348	s.NextToken = &v
11349	return s
11350}
11351
11352type ListInputSecurityGroupsInput struct {
11353	_ struct{} `type:"structure"`
11354
11355	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
11356
11357	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
11358}
11359
11360// String returns the string representation
11361func (s ListInputSecurityGroupsInput) String() string {
11362	return awsutil.Prettify(s)
11363}
11364
11365// GoString returns the string representation
11366func (s ListInputSecurityGroupsInput) GoString() string {
11367	return s.String()
11368}
11369
11370// Validate inspects the fields of the type to determine if they are valid.
11371func (s *ListInputSecurityGroupsInput) Validate() error {
11372	invalidParams := request.ErrInvalidParams{Context: "ListInputSecurityGroupsInput"}
11373	if s.MaxResults != nil && *s.MaxResults < 1 {
11374		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11375	}
11376
11377	if invalidParams.Len() > 0 {
11378		return invalidParams
11379	}
11380	return nil
11381}
11382
11383// SetMaxResults sets the MaxResults field's value.
11384func (s *ListInputSecurityGroupsInput) SetMaxResults(v int64) *ListInputSecurityGroupsInput {
11385	s.MaxResults = &v
11386	return s
11387}
11388
11389// SetNextToken sets the NextToken field's value.
11390func (s *ListInputSecurityGroupsInput) SetNextToken(v string) *ListInputSecurityGroupsInput {
11391	s.NextToken = &v
11392	return s
11393}
11394
11395type ListInputSecurityGroupsOutput struct {
11396	_ struct{} `type:"structure"`
11397
11398	InputSecurityGroups []*InputSecurityGroup `locationName:"inputSecurityGroups" type:"list"`
11399
11400	NextToken *string `locationName:"nextToken" type:"string"`
11401}
11402
11403// String returns the string representation
11404func (s ListInputSecurityGroupsOutput) String() string {
11405	return awsutil.Prettify(s)
11406}
11407
11408// GoString returns the string representation
11409func (s ListInputSecurityGroupsOutput) GoString() string {
11410	return s.String()
11411}
11412
11413// SetInputSecurityGroups sets the InputSecurityGroups field's value.
11414func (s *ListInputSecurityGroupsOutput) SetInputSecurityGroups(v []*InputSecurityGroup) *ListInputSecurityGroupsOutput {
11415	s.InputSecurityGroups = v
11416	return s
11417}
11418
11419// SetNextToken sets the NextToken field's value.
11420func (s *ListInputSecurityGroupsOutput) SetNextToken(v string) *ListInputSecurityGroupsOutput {
11421	s.NextToken = &v
11422	return s
11423}
11424
11425type ListInputsInput struct {
11426	_ struct{} `type:"structure"`
11427
11428	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
11429
11430	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
11431}
11432
11433// String returns the string representation
11434func (s ListInputsInput) String() string {
11435	return awsutil.Prettify(s)
11436}
11437
11438// GoString returns the string representation
11439func (s ListInputsInput) GoString() string {
11440	return s.String()
11441}
11442
11443// Validate inspects the fields of the type to determine if they are valid.
11444func (s *ListInputsInput) Validate() error {
11445	invalidParams := request.ErrInvalidParams{Context: "ListInputsInput"}
11446	if s.MaxResults != nil && *s.MaxResults < 1 {
11447		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11448	}
11449
11450	if invalidParams.Len() > 0 {
11451		return invalidParams
11452	}
11453	return nil
11454}
11455
11456// SetMaxResults sets the MaxResults field's value.
11457func (s *ListInputsInput) SetMaxResults(v int64) *ListInputsInput {
11458	s.MaxResults = &v
11459	return s
11460}
11461
11462// SetNextToken sets the NextToken field's value.
11463func (s *ListInputsInput) SetNextToken(v string) *ListInputsInput {
11464	s.NextToken = &v
11465	return s
11466}
11467
11468type ListInputsOutput struct {
11469	_ struct{} `type:"structure"`
11470
11471	Inputs []*Input `locationName:"inputs" type:"list"`
11472
11473	NextToken *string `locationName:"nextToken" type:"string"`
11474}
11475
11476// String returns the string representation
11477func (s ListInputsOutput) String() string {
11478	return awsutil.Prettify(s)
11479}
11480
11481// GoString returns the string representation
11482func (s ListInputsOutput) GoString() string {
11483	return s.String()
11484}
11485
11486// SetInputs sets the Inputs field's value.
11487func (s *ListInputsOutput) SetInputs(v []*Input) *ListInputsOutput {
11488	s.Inputs = v
11489	return s
11490}
11491
11492// SetNextToken sets the NextToken field's value.
11493func (s *ListInputsOutput) SetNextToken(v string) *ListInputsOutput {
11494	s.NextToken = &v
11495	return s
11496}
11497
11498type ListOfferingsInput struct {
11499	_ struct{} `type:"structure"`
11500
11501	ChannelClass *string `location:"querystring" locationName:"channelClass" type:"string"`
11502
11503	ChannelConfiguration *string `location:"querystring" locationName:"channelConfiguration" type:"string"`
11504
11505	Codec *string `location:"querystring" locationName:"codec" type:"string"`
11506
11507	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
11508
11509	MaximumBitrate *string `location:"querystring" locationName:"maximumBitrate" type:"string"`
11510
11511	MaximumFramerate *string `location:"querystring" locationName:"maximumFramerate" type:"string"`
11512
11513	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
11514
11515	Resolution *string `location:"querystring" locationName:"resolution" type:"string"`
11516
11517	ResourceType *string `location:"querystring" locationName:"resourceType" type:"string"`
11518
11519	SpecialFeature *string `location:"querystring" locationName:"specialFeature" type:"string"`
11520
11521	VideoQuality *string `location:"querystring" locationName:"videoQuality" type:"string"`
11522}
11523
11524// String returns the string representation
11525func (s ListOfferingsInput) String() string {
11526	return awsutil.Prettify(s)
11527}
11528
11529// GoString returns the string representation
11530func (s ListOfferingsInput) GoString() string {
11531	return s.String()
11532}
11533
11534// Validate inspects the fields of the type to determine if they are valid.
11535func (s *ListOfferingsInput) Validate() error {
11536	invalidParams := request.ErrInvalidParams{Context: "ListOfferingsInput"}
11537	if s.MaxResults != nil && *s.MaxResults < 1 {
11538		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11539	}
11540
11541	if invalidParams.Len() > 0 {
11542		return invalidParams
11543	}
11544	return nil
11545}
11546
11547// SetChannelClass sets the ChannelClass field's value.
11548func (s *ListOfferingsInput) SetChannelClass(v string) *ListOfferingsInput {
11549	s.ChannelClass = &v
11550	return s
11551}
11552
11553// SetChannelConfiguration sets the ChannelConfiguration field's value.
11554func (s *ListOfferingsInput) SetChannelConfiguration(v string) *ListOfferingsInput {
11555	s.ChannelConfiguration = &v
11556	return s
11557}
11558
11559// SetCodec sets the Codec field's value.
11560func (s *ListOfferingsInput) SetCodec(v string) *ListOfferingsInput {
11561	s.Codec = &v
11562	return s
11563}
11564
11565// SetMaxResults sets the MaxResults field's value.
11566func (s *ListOfferingsInput) SetMaxResults(v int64) *ListOfferingsInput {
11567	s.MaxResults = &v
11568	return s
11569}
11570
11571// SetMaximumBitrate sets the MaximumBitrate field's value.
11572func (s *ListOfferingsInput) SetMaximumBitrate(v string) *ListOfferingsInput {
11573	s.MaximumBitrate = &v
11574	return s
11575}
11576
11577// SetMaximumFramerate sets the MaximumFramerate field's value.
11578func (s *ListOfferingsInput) SetMaximumFramerate(v string) *ListOfferingsInput {
11579	s.MaximumFramerate = &v
11580	return s
11581}
11582
11583// SetNextToken sets the NextToken field's value.
11584func (s *ListOfferingsInput) SetNextToken(v string) *ListOfferingsInput {
11585	s.NextToken = &v
11586	return s
11587}
11588
11589// SetResolution sets the Resolution field's value.
11590func (s *ListOfferingsInput) SetResolution(v string) *ListOfferingsInput {
11591	s.Resolution = &v
11592	return s
11593}
11594
11595// SetResourceType sets the ResourceType field's value.
11596func (s *ListOfferingsInput) SetResourceType(v string) *ListOfferingsInput {
11597	s.ResourceType = &v
11598	return s
11599}
11600
11601// SetSpecialFeature sets the SpecialFeature field's value.
11602func (s *ListOfferingsInput) SetSpecialFeature(v string) *ListOfferingsInput {
11603	s.SpecialFeature = &v
11604	return s
11605}
11606
11607// SetVideoQuality sets the VideoQuality field's value.
11608func (s *ListOfferingsInput) SetVideoQuality(v string) *ListOfferingsInput {
11609	s.VideoQuality = &v
11610	return s
11611}
11612
11613type ListOfferingsOutput struct {
11614	_ struct{} `type:"structure"`
11615
11616	NextToken *string `locationName:"nextToken" type:"string"`
11617
11618	Offerings []*Offering `locationName:"offerings" type:"list"`
11619}
11620
11621// String returns the string representation
11622func (s ListOfferingsOutput) String() string {
11623	return awsutil.Prettify(s)
11624}
11625
11626// GoString returns the string representation
11627func (s ListOfferingsOutput) GoString() string {
11628	return s.String()
11629}
11630
11631// SetNextToken sets the NextToken field's value.
11632func (s *ListOfferingsOutput) SetNextToken(v string) *ListOfferingsOutput {
11633	s.NextToken = &v
11634	return s
11635}
11636
11637// SetOfferings sets the Offerings field's value.
11638func (s *ListOfferingsOutput) SetOfferings(v []*Offering) *ListOfferingsOutput {
11639	s.Offerings = v
11640	return s
11641}
11642
11643type ListReservationsInput struct {
11644	_ struct{} `type:"structure"`
11645
11646	ChannelClass *string `location:"querystring" locationName:"channelClass" type:"string"`
11647
11648	Codec *string `location:"querystring" locationName:"codec" type:"string"`
11649
11650	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
11651
11652	MaximumBitrate *string `location:"querystring" locationName:"maximumBitrate" type:"string"`
11653
11654	MaximumFramerate *string `location:"querystring" locationName:"maximumFramerate" type:"string"`
11655
11656	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
11657
11658	Resolution *string `location:"querystring" locationName:"resolution" type:"string"`
11659
11660	ResourceType *string `location:"querystring" locationName:"resourceType" type:"string"`
11661
11662	SpecialFeature *string `location:"querystring" locationName:"specialFeature" type:"string"`
11663
11664	VideoQuality *string `location:"querystring" locationName:"videoQuality" type:"string"`
11665}
11666
11667// String returns the string representation
11668func (s ListReservationsInput) String() string {
11669	return awsutil.Prettify(s)
11670}
11671
11672// GoString returns the string representation
11673func (s ListReservationsInput) GoString() string {
11674	return s.String()
11675}
11676
11677// Validate inspects the fields of the type to determine if they are valid.
11678func (s *ListReservationsInput) Validate() error {
11679	invalidParams := request.ErrInvalidParams{Context: "ListReservationsInput"}
11680	if s.MaxResults != nil && *s.MaxResults < 1 {
11681		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11682	}
11683
11684	if invalidParams.Len() > 0 {
11685		return invalidParams
11686	}
11687	return nil
11688}
11689
11690// SetChannelClass sets the ChannelClass field's value.
11691func (s *ListReservationsInput) SetChannelClass(v string) *ListReservationsInput {
11692	s.ChannelClass = &v
11693	return s
11694}
11695
11696// SetCodec sets the Codec field's value.
11697func (s *ListReservationsInput) SetCodec(v string) *ListReservationsInput {
11698	s.Codec = &v
11699	return s
11700}
11701
11702// SetMaxResults sets the MaxResults field's value.
11703func (s *ListReservationsInput) SetMaxResults(v int64) *ListReservationsInput {
11704	s.MaxResults = &v
11705	return s
11706}
11707
11708// SetMaximumBitrate sets the MaximumBitrate field's value.
11709func (s *ListReservationsInput) SetMaximumBitrate(v string) *ListReservationsInput {
11710	s.MaximumBitrate = &v
11711	return s
11712}
11713
11714// SetMaximumFramerate sets the MaximumFramerate field's value.
11715func (s *ListReservationsInput) SetMaximumFramerate(v string) *ListReservationsInput {
11716	s.MaximumFramerate = &v
11717	return s
11718}
11719
11720// SetNextToken sets the NextToken field's value.
11721func (s *ListReservationsInput) SetNextToken(v string) *ListReservationsInput {
11722	s.NextToken = &v
11723	return s
11724}
11725
11726// SetResolution sets the Resolution field's value.
11727func (s *ListReservationsInput) SetResolution(v string) *ListReservationsInput {
11728	s.Resolution = &v
11729	return s
11730}
11731
11732// SetResourceType sets the ResourceType field's value.
11733func (s *ListReservationsInput) SetResourceType(v string) *ListReservationsInput {
11734	s.ResourceType = &v
11735	return s
11736}
11737
11738// SetSpecialFeature sets the SpecialFeature field's value.
11739func (s *ListReservationsInput) SetSpecialFeature(v string) *ListReservationsInput {
11740	s.SpecialFeature = &v
11741	return s
11742}
11743
11744// SetVideoQuality sets the VideoQuality field's value.
11745func (s *ListReservationsInput) SetVideoQuality(v string) *ListReservationsInput {
11746	s.VideoQuality = &v
11747	return s
11748}
11749
11750type ListReservationsOutput struct {
11751	_ struct{} `type:"structure"`
11752
11753	NextToken *string `locationName:"nextToken" type:"string"`
11754
11755	Reservations []*Reservation `locationName:"reservations" type:"list"`
11756}
11757
11758// String returns the string representation
11759func (s ListReservationsOutput) String() string {
11760	return awsutil.Prettify(s)
11761}
11762
11763// GoString returns the string representation
11764func (s ListReservationsOutput) GoString() string {
11765	return s.String()
11766}
11767
11768// SetNextToken sets the NextToken field's value.
11769func (s *ListReservationsOutput) SetNextToken(v string) *ListReservationsOutput {
11770	s.NextToken = &v
11771	return s
11772}
11773
11774// SetReservations sets the Reservations field's value.
11775func (s *ListReservationsOutput) SetReservations(v []*Reservation) *ListReservationsOutput {
11776	s.Reservations = v
11777	return s
11778}
11779
11780type ListTagsForResourceInput struct {
11781	_ struct{} `type:"structure"`
11782
11783	// ResourceArn is a required field
11784	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
11785}
11786
11787// String returns the string representation
11788func (s ListTagsForResourceInput) String() string {
11789	return awsutil.Prettify(s)
11790}
11791
11792// GoString returns the string representation
11793func (s ListTagsForResourceInput) GoString() string {
11794	return s.String()
11795}
11796
11797// Validate inspects the fields of the type to determine if they are valid.
11798func (s *ListTagsForResourceInput) Validate() error {
11799	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
11800	if s.ResourceArn == nil {
11801		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
11802	}
11803	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
11804		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
11805	}
11806
11807	if invalidParams.Len() > 0 {
11808		return invalidParams
11809	}
11810	return nil
11811}
11812
11813// SetResourceArn sets the ResourceArn field's value.
11814func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
11815	s.ResourceArn = &v
11816	return s
11817}
11818
11819type ListTagsForResourceOutput struct {
11820	_ struct{} `type:"structure"`
11821
11822	Tags map[string]*string `locationName:"tags" type:"map"`
11823}
11824
11825// String returns the string representation
11826func (s ListTagsForResourceOutput) String() string {
11827	return awsutil.Prettify(s)
11828}
11829
11830// GoString returns the string representation
11831func (s ListTagsForResourceOutput) GoString() string {
11832	return s.String()
11833}
11834
11835// SetTags sets the Tags field's value.
11836func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
11837	s.Tags = v
11838	return s
11839}
11840
11841// M2ts Settings
11842type M2tsSettings struct {
11843	_ struct{} `type:"structure"`
11844
11845	// When set to drop, output audio streams will be removed from the program if
11846	// the selected input audio stream is removed from the input. This allows the
11847	// output audio configuration to dynamically change based on input configuration.
11848	// If this is set to encodeSilence, all output audio streams will output encoded
11849	// silence when not connected to an active input stream.
11850	AbsentInputAudioBehavior *string `locationName:"absentInputAudioBehavior" type:"string" enum:"M2tsAbsentInputAudioBehavior"`
11851
11852	// When set to enabled, uses ARIB-compliant field muxing and removes video descriptor.
11853	Arib *string `locationName:"arib" type:"string" enum:"M2tsArib"`
11854
11855	// Packet Identifier (PID) for ARIB Captions in the transport stream. Can be
11856	// entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182
11857	// (or 0x1ff6).
11858	AribCaptionsPid *string `locationName:"aribCaptionsPid" type:"string"`
11859
11860	// If set to auto, pid number used for ARIB Captions will be auto-selected from
11861	// unused pids. If set to useConfigured, ARIB Captions will be on the configured
11862	// pid number.
11863	AribCaptionsPidControl *string `locationName:"aribCaptionsPidControl" type:"string" enum:"M2tsAribCaptionsPidControl"`
11864
11865	// When set to dvb, uses DVB buffer model for Dolby Digital audio. When set
11866	// to atsc, the ATSC model is used.
11867	AudioBufferModel *string `locationName:"audioBufferModel" type:"string" enum:"M2tsAudioBufferModel"`
11868
11869	// The number of audio frames to insert for each PES packet.
11870	AudioFramesPerPes *int64 `locationName:"audioFramesPerPes" type:"integer"`
11871
11872	// Packet Identifier (PID) of the elementary audio stream(s) in the transport
11873	// stream. Multiple values are accepted, and can be entered in ranges and/or
11874	// by comma separation. Can be entered as decimal or hexadecimal values. Each
11875	// PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6).
11876	AudioPids *string `locationName:"audioPids" type:"string"`
11877
11878	// When set to atsc, uses stream type = 0x81 for AC3 and stream type = 0x87
11879	// for EAC3. When set to dvb, uses stream type = 0x06.
11880	AudioStreamType *string `locationName:"audioStreamType" type:"string" enum:"M2tsAudioStreamType"`
11881
11882	// The output bitrate of the transport stream in bits per second. Setting to
11883	// 0 lets the muxer automatically determine the appropriate bitrate.
11884	Bitrate *int64 `locationName:"bitrate" type:"integer"`
11885
11886	// If set to multiplex, use multiplex buffer model for accurate interleaving.
11887	// Setting to bufferModel to none can lead to lower latency, but low-memory
11888	// devices may not be able to play back the stream without interruptions.
11889	BufferModel *string `locationName:"bufferModel" type:"string" enum:"M2tsBufferModel"`
11890
11891	// When set to enabled, generates captionServiceDescriptor in PMT.
11892	CcDescriptor *string `locationName:"ccDescriptor" type:"string" enum:"M2tsCcDescriptor"`
11893
11894	// Inserts DVB Network Information Table (NIT) at the specified table repetition
11895	// interval.
11896	DvbNitSettings *DvbNitSettings `locationName:"dvbNitSettings" type:"structure"`
11897
11898	// Inserts DVB Service Description Table (SDT) at the specified table repetition
11899	// interval.
11900	DvbSdtSettings *DvbSdtSettings `locationName:"dvbSdtSettings" type:"structure"`
11901
11902	// Packet Identifier (PID) for input source DVB Subtitle data to this output.
11903	// Multiple values are accepted, and can be entered in ranges and/or by comma
11904	// separation. Can be entered as decimal or hexadecimal values. Each PID specified
11905	// must be in the range of 32 (or 0x20)..8182 (or 0x1ff6).
11906	DvbSubPids *string `locationName:"dvbSubPids" type:"string"`
11907
11908	// Inserts DVB Time and Date Table (TDT) at the specified table repetition interval.
11909	DvbTdtSettings *DvbTdtSettings `locationName:"dvbTdtSettings" type:"structure"`
11910
11911	// Packet Identifier (PID) for input source DVB Teletext data to this output.
11912	// Can be entered as a decimal or hexadecimal value. Valid values are 32 (or
11913	// 0x20)..8182 (or 0x1ff6).
11914	DvbTeletextPid *string `locationName:"dvbTeletextPid" type:"string"`
11915
11916	// If set to passthrough, passes any EBIF data from the input source to this
11917	// output.
11918	Ebif *string `locationName:"ebif" type:"string" enum:"M2tsEbifControl"`
11919
11920	// When videoAndFixedIntervals is selected, audio EBP markers will be added
11921	// to partitions 3 and 4. The interval between these additional markers will
11922	// be fixed, and will be slightly shorter than the video EBP marker interval.
11923	// Only available when EBP Cablelabs segmentation markers are selected. Partitions
11924	// 1 and 2 will always follow the video interval.
11925	EbpAudioInterval *string `locationName:"ebpAudioInterval" type:"string" enum:"M2tsAudioInterval"`
11926
11927	// When set, enforces that Encoder Boundary Points do not come within the specified
11928	// time interval of each other by looking ahead at input video. If another EBP
11929	// is going to come in within the specified time interval, the current EBP is
11930	// not emitted, and the segment is "stretched" to the next marker. The lookahead
11931	// value does not add latency to the system. The Live Event must be configured
11932	// elsewhere to create sufficient latency to make the lookahead accurate.
11933	EbpLookaheadMs *int64 `locationName:"ebpLookaheadMs" type:"integer"`
11934
11935	// Controls placement of EBP on Audio PIDs. If set to videoAndAudioPids, EBP
11936	// markers will be placed on the video PID and all audio PIDs. If set to videoPid,
11937	// EBP markers will be placed on only the video PID.
11938	EbpPlacement *string `locationName:"ebpPlacement" type:"string" enum:"M2tsEbpPlacement"`
11939
11940	// This field is unused and deprecated.
11941	EcmPid *string `locationName:"ecmPid" type:"string"`
11942
11943	// Include or exclude the ES Rate field in the PES header.
11944	EsRateInPes *string `locationName:"esRateInPes" type:"string" enum:"M2tsEsRateInPes"`
11945
11946	// Packet Identifier (PID) for input source ETV Platform data to this output.
11947	// Can be entered as a decimal or hexadecimal value. Valid values are 32 (or
11948	// 0x20)..8182 (or 0x1ff6).
11949	EtvPlatformPid *string `locationName:"etvPlatformPid" type:"string"`
11950
11951	// Packet Identifier (PID) for input source ETV Signal data to this output.
11952	// Can be entered as a decimal or hexadecimal value. Valid values are 32 (or
11953	// 0x20)..8182 (or 0x1ff6).
11954	EtvSignalPid *string `locationName:"etvSignalPid" type:"string"`
11955
11956	// The length in seconds of each fragment. Only used with EBP markers.
11957	FragmentTime *float64 `locationName:"fragmentTime" type:"double"`
11958
11959	// If set to passthrough, passes any KLV data from the input source to this
11960	// output.
11961	Klv *string `locationName:"klv" type:"string" enum:"M2tsKlv"`
11962
11963	// Packet Identifier (PID) for input source KLV data to this output. Multiple
11964	// values are accepted, and can be entered in ranges and/or by comma separation.
11965	// Can be entered as decimal or hexadecimal values. Each PID specified must
11966	// be in the range of 32 (or 0x20)..8182 (or 0x1ff6).
11967	KlvDataPids *string `locationName:"klvDataPids" type:"string"`
11968
11969	// Value in bits per second of extra null packets to insert into the transport
11970	// stream. This can be used if a downstream encryption system requires periodic
11971	// null packets.
11972	NullPacketBitrate *float64 `locationName:"nullPacketBitrate" type:"double"`
11973
11974	// The number of milliseconds between instances of this table in the output
11975	// transport stream. Valid values are 0, 10..1000.
11976	PatInterval *int64 `locationName:"patInterval" type:"integer"`
11977
11978	// When set to pcrEveryPesPacket, a Program Clock Reference value is inserted
11979	// for every Packetized Elementary Stream (PES) header. This parameter is effective
11980	// only when the PCR PID is the same as the video or audio elementary stream.
11981	PcrControl *string `locationName:"pcrControl" type:"string" enum:"M2tsPcrControl"`
11982
11983	// Maximum time in milliseconds between Program Clock Reference (PCRs) inserted
11984	// into the transport stream.
11985	PcrPeriod *int64 `locationName:"pcrPeriod" type:"integer"`
11986
11987	// Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport
11988	// stream. When no value is given, the encoder will assign the same value as
11989	// the Video PID. Can be entered as a decimal or hexadecimal value. Valid values
11990	// are 32 (or 0x20)..8182 (or 0x1ff6).
11991	PcrPid *string `locationName:"pcrPid" type:"string"`
11992
11993	// The number of milliseconds between instances of this table in the output
11994	// transport stream. Valid values are 0, 10..1000.
11995	PmtInterval *int64 `locationName:"pmtInterval" type:"integer"`
11996
11997	// Packet Identifier (PID) for the Program Map Table (PMT) in the transport
11998	// stream. Can be entered as a decimal or hexadecimal value. Valid values are
11999	// 32 (or 0x20)..8182 (or 0x1ff6).
12000	PmtPid *string `locationName:"pmtPid" type:"string"`
12001
12002	// The value of the program number field in the Program Map Table.
12003	ProgramNum *int64 `locationName:"programNum" type:"integer"`
12004
12005	// When vbr, does not insert null packets into transport stream to fill specified
12006	// bitrate. The bitrate setting acts as the maximum bitrate when vbr is set.
12007	RateMode *string `locationName:"rateMode" type:"string" enum:"M2tsRateMode"`
12008
12009	// Packet Identifier (PID) for input source SCTE-27 data to this output. Multiple
12010	// values are accepted, and can be entered in ranges and/or by comma separation.
12011	// Can be entered as decimal or hexadecimal values. Each PID specified must
12012	// be in the range of 32 (or 0x20)..8182 (or 0x1ff6).
12013	Scte27Pids *string `locationName:"scte27Pids" type:"string"`
12014
12015	// Optionally pass SCTE-35 signals from the input source to this output.
12016	Scte35Control *string `locationName:"scte35Control" type:"string" enum:"M2tsScte35Control"`
12017
12018	// Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can
12019	// be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182
12020	// (or 0x1ff6).
12021	Scte35Pid *string `locationName:"scte35Pid" type:"string"`
12022
12023	// Inserts segmentation markers at each segmentationTime period. raiSegstart
12024	// sets the Random Access Indicator bit in the adaptation field. raiAdapt sets
12025	// the RAI bit and adds the current timecode in the private data bytes. psiSegstart
12026	// inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary
12027	// Point information to the adaptation field as per OpenCable specification
12028	// OC-SP-EBP-I01-130118. ebpLegacy adds Encoder Boundary Point information to
12029	// the adaptation field using a legacy proprietary format.
12030	SegmentationMarkers *string `locationName:"segmentationMarkers" type:"string" enum:"M2tsSegmentationMarkers"`
12031
12032	// The segmentation style parameter controls how segmentation markers are inserted
12033	// into the transport stream. With avails, it is possible that segments may
12034	// be truncated, which can influence where future segmentation markers are inserted.When
12035	// a segmentation style of "resetCadence" is selected and a segment is truncated
12036	// due to an avail, we will reset the segmentation cadence. This means the subsequent
12037	// segment will have a duration of $segmentationTime seconds.When a segmentation
12038	// style of "maintainCadence" is selected and a segment is truncated due to
12039	// an avail, we will not reset the segmentation cadence. This means the subsequent
12040	// segment will likely be truncated as well. However, all segments after that
12041	// will have a duration of $segmentationTime seconds. Note that EBP lookahead
12042	// is a slight exception to this rule.
12043	SegmentationStyle *string `locationName:"segmentationStyle" type:"string" enum:"M2tsSegmentationStyle"`
12044
12045	// The length in seconds of each segment. Required unless markers is set to
12046	// None_.
12047	SegmentationTime *float64 `locationName:"segmentationTime" type:"double"`
12048
12049	// When set to passthrough, timed metadata will be passed through from input
12050	// to output.
12051	TimedMetadataBehavior *string `locationName:"timedMetadataBehavior" type:"string" enum:"M2tsTimedMetadataBehavior"`
12052
12053	// Packet Identifier (PID) of the timed metadata stream in the transport stream.
12054	// Can be entered as a decimal or hexadecimal value. Valid values are 32 (or
12055	// 0x20)..8182 (or 0x1ff6).
12056	TimedMetadataPid *string `locationName:"timedMetadataPid" type:"string"`
12057
12058	// The value of the transport stream ID field in the Program Map Table.
12059	TransportStreamId *int64 `locationName:"transportStreamId" type:"integer"`
12060
12061	// Packet Identifier (PID) of the elementary video stream in the transport stream.
12062	// Can be entered as a decimal or hexadecimal value. Valid values are 32 (or
12063	// 0x20)..8182 (or 0x1ff6).
12064	VideoPid *string `locationName:"videoPid" type:"string"`
12065}
12066
12067// String returns the string representation
12068func (s M2tsSettings) String() string {
12069	return awsutil.Prettify(s)
12070}
12071
12072// GoString returns the string representation
12073func (s M2tsSettings) GoString() string {
12074	return s.String()
12075}
12076
12077// Validate inspects the fields of the type to determine if they are valid.
12078func (s *M2tsSettings) Validate() error {
12079	invalidParams := request.ErrInvalidParams{Context: "M2tsSettings"}
12080	if s.DvbNitSettings != nil {
12081		if err := s.DvbNitSettings.Validate(); err != nil {
12082			invalidParams.AddNested("DvbNitSettings", err.(request.ErrInvalidParams))
12083		}
12084	}
12085	if s.DvbSdtSettings != nil {
12086		if err := s.DvbSdtSettings.Validate(); err != nil {
12087			invalidParams.AddNested("DvbSdtSettings", err.(request.ErrInvalidParams))
12088		}
12089	}
12090	if s.DvbTdtSettings != nil {
12091		if err := s.DvbTdtSettings.Validate(); err != nil {
12092			invalidParams.AddNested("DvbTdtSettings", err.(request.ErrInvalidParams))
12093		}
12094	}
12095
12096	if invalidParams.Len() > 0 {
12097		return invalidParams
12098	}
12099	return nil
12100}
12101
12102// SetAbsentInputAudioBehavior sets the AbsentInputAudioBehavior field's value.
12103func (s *M2tsSettings) SetAbsentInputAudioBehavior(v string) *M2tsSettings {
12104	s.AbsentInputAudioBehavior = &v
12105	return s
12106}
12107
12108// SetArib sets the Arib field's value.
12109func (s *M2tsSettings) SetArib(v string) *M2tsSettings {
12110	s.Arib = &v
12111	return s
12112}
12113
12114// SetAribCaptionsPid sets the AribCaptionsPid field's value.
12115func (s *M2tsSettings) SetAribCaptionsPid(v string) *M2tsSettings {
12116	s.AribCaptionsPid = &v
12117	return s
12118}
12119
12120// SetAribCaptionsPidControl sets the AribCaptionsPidControl field's value.
12121func (s *M2tsSettings) SetAribCaptionsPidControl(v string) *M2tsSettings {
12122	s.AribCaptionsPidControl = &v
12123	return s
12124}
12125
12126// SetAudioBufferModel sets the AudioBufferModel field's value.
12127func (s *M2tsSettings) SetAudioBufferModel(v string) *M2tsSettings {
12128	s.AudioBufferModel = &v
12129	return s
12130}
12131
12132// SetAudioFramesPerPes sets the AudioFramesPerPes field's value.
12133func (s *M2tsSettings) SetAudioFramesPerPes(v int64) *M2tsSettings {
12134	s.AudioFramesPerPes = &v
12135	return s
12136}
12137
12138// SetAudioPids sets the AudioPids field's value.
12139func (s *M2tsSettings) SetAudioPids(v string) *M2tsSettings {
12140	s.AudioPids = &v
12141	return s
12142}
12143
12144// SetAudioStreamType sets the AudioStreamType field's value.
12145func (s *M2tsSettings) SetAudioStreamType(v string) *M2tsSettings {
12146	s.AudioStreamType = &v
12147	return s
12148}
12149
12150// SetBitrate sets the Bitrate field's value.
12151func (s *M2tsSettings) SetBitrate(v int64) *M2tsSettings {
12152	s.Bitrate = &v
12153	return s
12154}
12155
12156// SetBufferModel sets the BufferModel field's value.
12157func (s *M2tsSettings) SetBufferModel(v string) *M2tsSettings {
12158	s.BufferModel = &v
12159	return s
12160}
12161
12162// SetCcDescriptor sets the CcDescriptor field's value.
12163func (s *M2tsSettings) SetCcDescriptor(v string) *M2tsSettings {
12164	s.CcDescriptor = &v
12165	return s
12166}
12167
12168// SetDvbNitSettings sets the DvbNitSettings field's value.
12169func (s *M2tsSettings) SetDvbNitSettings(v *DvbNitSettings) *M2tsSettings {
12170	s.DvbNitSettings = v
12171	return s
12172}
12173
12174// SetDvbSdtSettings sets the DvbSdtSettings field's value.
12175func (s *M2tsSettings) SetDvbSdtSettings(v *DvbSdtSettings) *M2tsSettings {
12176	s.DvbSdtSettings = v
12177	return s
12178}
12179
12180// SetDvbSubPids sets the DvbSubPids field's value.
12181func (s *M2tsSettings) SetDvbSubPids(v string) *M2tsSettings {
12182	s.DvbSubPids = &v
12183	return s
12184}
12185
12186// SetDvbTdtSettings sets the DvbTdtSettings field's value.
12187func (s *M2tsSettings) SetDvbTdtSettings(v *DvbTdtSettings) *M2tsSettings {
12188	s.DvbTdtSettings = v
12189	return s
12190}
12191
12192// SetDvbTeletextPid sets the DvbTeletextPid field's value.
12193func (s *M2tsSettings) SetDvbTeletextPid(v string) *M2tsSettings {
12194	s.DvbTeletextPid = &v
12195	return s
12196}
12197
12198// SetEbif sets the Ebif field's value.
12199func (s *M2tsSettings) SetEbif(v string) *M2tsSettings {
12200	s.Ebif = &v
12201	return s
12202}
12203
12204// SetEbpAudioInterval sets the EbpAudioInterval field's value.
12205func (s *M2tsSettings) SetEbpAudioInterval(v string) *M2tsSettings {
12206	s.EbpAudioInterval = &v
12207	return s
12208}
12209
12210// SetEbpLookaheadMs sets the EbpLookaheadMs field's value.
12211func (s *M2tsSettings) SetEbpLookaheadMs(v int64) *M2tsSettings {
12212	s.EbpLookaheadMs = &v
12213	return s
12214}
12215
12216// SetEbpPlacement sets the EbpPlacement field's value.
12217func (s *M2tsSettings) SetEbpPlacement(v string) *M2tsSettings {
12218	s.EbpPlacement = &v
12219	return s
12220}
12221
12222// SetEcmPid sets the EcmPid field's value.
12223func (s *M2tsSettings) SetEcmPid(v string) *M2tsSettings {
12224	s.EcmPid = &v
12225	return s
12226}
12227
12228// SetEsRateInPes sets the EsRateInPes field's value.
12229func (s *M2tsSettings) SetEsRateInPes(v string) *M2tsSettings {
12230	s.EsRateInPes = &v
12231	return s
12232}
12233
12234// SetEtvPlatformPid sets the EtvPlatformPid field's value.
12235func (s *M2tsSettings) SetEtvPlatformPid(v string) *M2tsSettings {
12236	s.EtvPlatformPid = &v
12237	return s
12238}
12239
12240// SetEtvSignalPid sets the EtvSignalPid field's value.
12241func (s *M2tsSettings) SetEtvSignalPid(v string) *M2tsSettings {
12242	s.EtvSignalPid = &v
12243	return s
12244}
12245
12246// SetFragmentTime sets the FragmentTime field's value.
12247func (s *M2tsSettings) SetFragmentTime(v float64) *M2tsSettings {
12248	s.FragmentTime = &v
12249	return s
12250}
12251
12252// SetKlv sets the Klv field's value.
12253func (s *M2tsSettings) SetKlv(v string) *M2tsSettings {
12254	s.Klv = &v
12255	return s
12256}
12257
12258// SetKlvDataPids sets the KlvDataPids field's value.
12259func (s *M2tsSettings) SetKlvDataPids(v string) *M2tsSettings {
12260	s.KlvDataPids = &v
12261	return s
12262}
12263
12264// SetNullPacketBitrate sets the NullPacketBitrate field's value.
12265func (s *M2tsSettings) SetNullPacketBitrate(v float64) *M2tsSettings {
12266	s.NullPacketBitrate = &v
12267	return s
12268}
12269
12270// SetPatInterval sets the PatInterval field's value.
12271func (s *M2tsSettings) SetPatInterval(v int64) *M2tsSettings {
12272	s.PatInterval = &v
12273	return s
12274}
12275
12276// SetPcrControl sets the PcrControl field's value.
12277func (s *M2tsSettings) SetPcrControl(v string) *M2tsSettings {
12278	s.PcrControl = &v
12279	return s
12280}
12281
12282// SetPcrPeriod sets the PcrPeriod field's value.
12283func (s *M2tsSettings) SetPcrPeriod(v int64) *M2tsSettings {
12284	s.PcrPeriod = &v
12285	return s
12286}
12287
12288// SetPcrPid sets the PcrPid field's value.
12289func (s *M2tsSettings) SetPcrPid(v string) *M2tsSettings {
12290	s.PcrPid = &v
12291	return s
12292}
12293
12294// SetPmtInterval sets the PmtInterval field's value.
12295func (s *M2tsSettings) SetPmtInterval(v int64) *M2tsSettings {
12296	s.PmtInterval = &v
12297	return s
12298}
12299
12300// SetPmtPid sets the PmtPid field's value.
12301func (s *M2tsSettings) SetPmtPid(v string) *M2tsSettings {
12302	s.PmtPid = &v
12303	return s
12304}
12305
12306// SetProgramNum sets the ProgramNum field's value.
12307func (s *M2tsSettings) SetProgramNum(v int64) *M2tsSettings {
12308	s.ProgramNum = &v
12309	return s
12310}
12311
12312// SetRateMode sets the RateMode field's value.
12313func (s *M2tsSettings) SetRateMode(v string) *M2tsSettings {
12314	s.RateMode = &v
12315	return s
12316}
12317
12318// SetScte27Pids sets the Scte27Pids field's value.
12319func (s *M2tsSettings) SetScte27Pids(v string) *M2tsSettings {
12320	s.Scte27Pids = &v
12321	return s
12322}
12323
12324// SetScte35Control sets the Scte35Control field's value.
12325func (s *M2tsSettings) SetScte35Control(v string) *M2tsSettings {
12326	s.Scte35Control = &v
12327	return s
12328}
12329
12330// SetScte35Pid sets the Scte35Pid field's value.
12331func (s *M2tsSettings) SetScte35Pid(v string) *M2tsSettings {
12332	s.Scte35Pid = &v
12333	return s
12334}
12335
12336// SetSegmentationMarkers sets the SegmentationMarkers field's value.
12337func (s *M2tsSettings) SetSegmentationMarkers(v string) *M2tsSettings {
12338	s.SegmentationMarkers = &v
12339	return s
12340}
12341
12342// SetSegmentationStyle sets the SegmentationStyle field's value.
12343func (s *M2tsSettings) SetSegmentationStyle(v string) *M2tsSettings {
12344	s.SegmentationStyle = &v
12345	return s
12346}
12347
12348// SetSegmentationTime sets the SegmentationTime field's value.
12349func (s *M2tsSettings) SetSegmentationTime(v float64) *M2tsSettings {
12350	s.SegmentationTime = &v
12351	return s
12352}
12353
12354// SetTimedMetadataBehavior sets the TimedMetadataBehavior field's value.
12355func (s *M2tsSettings) SetTimedMetadataBehavior(v string) *M2tsSettings {
12356	s.TimedMetadataBehavior = &v
12357	return s
12358}
12359
12360// SetTimedMetadataPid sets the TimedMetadataPid field's value.
12361func (s *M2tsSettings) SetTimedMetadataPid(v string) *M2tsSettings {
12362	s.TimedMetadataPid = &v
12363	return s
12364}
12365
12366// SetTransportStreamId sets the TransportStreamId field's value.
12367func (s *M2tsSettings) SetTransportStreamId(v int64) *M2tsSettings {
12368	s.TransportStreamId = &v
12369	return s
12370}
12371
12372// SetVideoPid sets the VideoPid field's value.
12373func (s *M2tsSettings) SetVideoPid(v string) *M2tsSettings {
12374	s.VideoPid = &v
12375	return s
12376}
12377
12378// Settings information for the .m3u8 container
12379type M3u8Settings struct {
12380	_ struct{} `type:"structure"`
12381
12382	// The number of audio frames to insert for each PES packet.
12383	AudioFramesPerPes *int64 `locationName:"audioFramesPerPes" type:"integer"`
12384
12385	// Packet Identifier (PID) of the elementary audio stream(s) in the transport
12386	// stream. Multiple values are accepted, and can be entered in ranges and/or
12387	// by comma separation. Can be entered as decimal or hexadecimal values.
12388	AudioPids *string `locationName:"audioPids" type:"string"`
12389
12390	// This parameter is unused and deprecated.
12391	EcmPid *string `locationName:"ecmPid" type:"string"`
12392
12393	// The number of milliseconds between instances of this table in the output
12394	// transport stream. A value of \"0\" writes out the PMT once per segment file.
12395	PatInterval *int64 `locationName:"patInterval" type:"integer"`
12396
12397	// When set to pcrEveryPesPacket, a Program Clock Reference value is inserted
12398	// for every Packetized Elementary Stream (PES) header. This parameter is effective
12399	// only when the PCR PID is the same as the video or audio elementary stream.
12400	PcrControl *string `locationName:"pcrControl" type:"string" enum:"M3u8PcrControl"`
12401
12402	// Maximum time in milliseconds between Program Clock References (PCRs) inserted
12403	// into the transport stream.
12404	PcrPeriod *int64 `locationName:"pcrPeriod" type:"integer"`
12405
12406	// Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport
12407	// stream. When no value is given, the encoder will assign the same value as
12408	// the Video PID. Can be entered as a decimal or hexadecimal value.
12409	PcrPid *string `locationName:"pcrPid" type:"string"`
12410
12411	// The number of milliseconds between instances of this table in the output
12412	// transport stream. A value of \"0\" writes out the PMT once per segment file.
12413	PmtInterval *int64 `locationName:"pmtInterval" type:"integer"`
12414
12415	// Packet Identifier (PID) for the Program Map Table (PMT) in the transport
12416	// stream. Can be entered as a decimal or hexadecimal value.
12417	PmtPid *string `locationName:"pmtPid" type:"string"`
12418
12419	// The value of the program number field in the Program Map Table.
12420	ProgramNum *int64 `locationName:"programNum" type:"integer"`
12421
12422	// If set to passthrough, passes any SCTE-35 signals from the input source to
12423	// this output.
12424	Scte35Behavior *string `locationName:"scte35Behavior" type:"string" enum:"M3u8Scte35Behavior"`
12425
12426	// Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can
12427	// be entered as a decimal or hexadecimal value.
12428	Scte35Pid *string `locationName:"scte35Pid" type:"string"`
12429
12430	// When set to passthrough, timed metadata is passed through from input to output.
12431	TimedMetadataBehavior *string `locationName:"timedMetadataBehavior" type:"string" enum:"M3u8TimedMetadataBehavior"`
12432
12433	// Packet Identifier (PID) of the timed metadata stream in the transport stream.
12434	// Can be entered as a decimal or hexadecimal value. Valid values are 32 (or
12435	// 0x20)..8182 (or 0x1ff6).
12436	TimedMetadataPid *string `locationName:"timedMetadataPid" type:"string"`
12437
12438	// The value of the transport stream ID field in the Program Map Table.
12439	TransportStreamId *int64 `locationName:"transportStreamId" type:"integer"`
12440
12441	// Packet Identifier (PID) of the elementary video stream in the transport stream.
12442	// Can be entered as a decimal or hexadecimal value.
12443	VideoPid *string `locationName:"videoPid" type:"string"`
12444}
12445
12446// String returns the string representation
12447func (s M3u8Settings) String() string {
12448	return awsutil.Prettify(s)
12449}
12450
12451// GoString returns the string representation
12452func (s M3u8Settings) GoString() string {
12453	return s.String()
12454}
12455
12456// SetAudioFramesPerPes sets the AudioFramesPerPes field's value.
12457func (s *M3u8Settings) SetAudioFramesPerPes(v int64) *M3u8Settings {
12458	s.AudioFramesPerPes = &v
12459	return s
12460}
12461
12462// SetAudioPids sets the AudioPids field's value.
12463func (s *M3u8Settings) SetAudioPids(v string) *M3u8Settings {
12464	s.AudioPids = &v
12465	return s
12466}
12467
12468// SetEcmPid sets the EcmPid field's value.
12469func (s *M3u8Settings) SetEcmPid(v string) *M3u8Settings {
12470	s.EcmPid = &v
12471	return s
12472}
12473
12474// SetPatInterval sets the PatInterval field's value.
12475func (s *M3u8Settings) SetPatInterval(v int64) *M3u8Settings {
12476	s.PatInterval = &v
12477	return s
12478}
12479
12480// SetPcrControl sets the PcrControl field's value.
12481func (s *M3u8Settings) SetPcrControl(v string) *M3u8Settings {
12482	s.PcrControl = &v
12483	return s
12484}
12485
12486// SetPcrPeriod sets the PcrPeriod field's value.
12487func (s *M3u8Settings) SetPcrPeriod(v int64) *M3u8Settings {
12488	s.PcrPeriod = &v
12489	return s
12490}
12491
12492// SetPcrPid sets the PcrPid field's value.
12493func (s *M3u8Settings) SetPcrPid(v string) *M3u8Settings {
12494	s.PcrPid = &v
12495	return s
12496}
12497
12498// SetPmtInterval sets the PmtInterval field's value.
12499func (s *M3u8Settings) SetPmtInterval(v int64) *M3u8Settings {
12500	s.PmtInterval = &v
12501	return s
12502}
12503
12504// SetPmtPid sets the PmtPid field's value.
12505func (s *M3u8Settings) SetPmtPid(v string) *M3u8Settings {
12506	s.PmtPid = &v
12507	return s
12508}
12509
12510// SetProgramNum sets the ProgramNum field's value.
12511func (s *M3u8Settings) SetProgramNum(v int64) *M3u8Settings {
12512	s.ProgramNum = &v
12513	return s
12514}
12515
12516// SetScte35Behavior sets the Scte35Behavior field's value.
12517func (s *M3u8Settings) SetScte35Behavior(v string) *M3u8Settings {
12518	s.Scte35Behavior = &v
12519	return s
12520}
12521
12522// SetScte35Pid sets the Scte35Pid field's value.
12523func (s *M3u8Settings) SetScte35Pid(v string) *M3u8Settings {
12524	s.Scte35Pid = &v
12525	return s
12526}
12527
12528// SetTimedMetadataBehavior sets the TimedMetadataBehavior field's value.
12529func (s *M3u8Settings) SetTimedMetadataBehavior(v string) *M3u8Settings {
12530	s.TimedMetadataBehavior = &v
12531	return s
12532}
12533
12534// SetTimedMetadataPid sets the TimedMetadataPid field's value.
12535func (s *M3u8Settings) SetTimedMetadataPid(v string) *M3u8Settings {
12536	s.TimedMetadataPid = &v
12537	return s
12538}
12539
12540// SetTransportStreamId sets the TransportStreamId field's value.
12541func (s *M3u8Settings) SetTransportStreamId(v int64) *M3u8Settings {
12542	s.TransportStreamId = &v
12543	return s
12544}
12545
12546// SetVideoPid sets the VideoPid field's value.
12547func (s *M3u8Settings) SetVideoPid(v string) *M3u8Settings {
12548	s.VideoPid = &v
12549	return s
12550}
12551
12552// The settings for a MediaConnect Flow.
12553type MediaConnectFlow struct {
12554	_ struct{} `type:"structure"`
12555
12556	// The unique ARN of the MediaConnect Flow being used as a source.
12557	FlowArn *string `locationName:"flowArn" type:"string"`
12558}
12559
12560// String returns the string representation
12561func (s MediaConnectFlow) String() string {
12562	return awsutil.Prettify(s)
12563}
12564
12565// GoString returns the string representation
12566func (s MediaConnectFlow) GoString() string {
12567	return s.String()
12568}
12569
12570// SetFlowArn sets the FlowArn field's value.
12571func (s *MediaConnectFlow) SetFlowArn(v string) *MediaConnectFlow {
12572	s.FlowArn = &v
12573	return s
12574}
12575
12576// The settings for a MediaConnect Flow.
12577type MediaConnectFlowRequest struct {
12578	_ struct{} `type:"structure"`
12579
12580	// The ARN of the MediaConnect Flow that you want to use as a source.
12581	FlowArn *string `locationName:"flowArn" type:"string"`
12582}
12583
12584// String returns the string representation
12585func (s MediaConnectFlowRequest) String() string {
12586	return awsutil.Prettify(s)
12587}
12588
12589// GoString returns the string representation
12590func (s MediaConnectFlowRequest) GoString() string {
12591	return s.String()
12592}
12593
12594// SetFlowArn sets the FlowArn field's value.
12595func (s *MediaConnectFlowRequest) SetFlowArn(v string) *MediaConnectFlowRequest {
12596	s.FlowArn = &v
12597	return s
12598}
12599
12600// Media Package Group Settings
12601type MediaPackageGroupSettings struct {
12602	_ struct{} `type:"structure"`
12603
12604	// MediaPackage channel destination.
12605	//
12606	// Destination is a required field
12607	Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"`
12608}
12609
12610// String returns the string representation
12611func (s MediaPackageGroupSettings) String() string {
12612	return awsutil.Prettify(s)
12613}
12614
12615// GoString returns the string representation
12616func (s MediaPackageGroupSettings) GoString() string {
12617	return s.String()
12618}
12619
12620// Validate inspects the fields of the type to determine if they are valid.
12621func (s *MediaPackageGroupSettings) Validate() error {
12622	invalidParams := request.ErrInvalidParams{Context: "MediaPackageGroupSettings"}
12623	if s.Destination == nil {
12624		invalidParams.Add(request.NewErrParamRequired("Destination"))
12625	}
12626
12627	if invalidParams.Len() > 0 {
12628		return invalidParams
12629	}
12630	return nil
12631}
12632
12633// SetDestination sets the Destination field's value.
12634func (s *MediaPackageGroupSettings) SetDestination(v *OutputLocationRef) *MediaPackageGroupSettings {
12635	s.Destination = v
12636	return s
12637}
12638
12639// Media Package Output Destination Settings
12640type MediaPackageOutputDestinationSettings struct {
12641	_ struct{} `type:"structure"`
12642
12643	// ID of the channel in MediaPackage that is the destination for this output
12644	// group. You do not need to specify the individual inputs in MediaPackage;
12645	// MediaLive will handle the connection of the two MediaLive pipelines to the
12646	// two MediaPackage inputs. The MediaPackage channel and MediaLive channel must
12647	// be in the same region.
12648	ChannelId *string `locationName:"channelId" min:"1" type:"string"`
12649}
12650
12651// String returns the string representation
12652func (s MediaPackageOutputDestinationSettings) String() string {
12653	return awsutil.Prettify(s)
12654}
12655
12656// GoString returns the string representation
12657func (s MediaPackageOutputDestinationSettings) GoString() string {
12658	return s.String()
12659}
12660
12661// Validate inspects the fields of the type to determine if they are valid.
12662func (s *MediaPackageOutputDestinationSettings) Validate() error {
12663	invalidParams := request.ErrInvalidParams{Context: "MediaPackageOutputDestinationSettings"}
12664	if s.ChannelId != nil && len(*s.ChannelId) < 1 {
12665		invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1))
12666	}
12667
12668	if invalidParams.Len() > 0 {
12669		return invalidParams
12670	}
12671	return nil
12672}
12673
12674// SetChannelId sets the ChannelId field's value.
12675func (s *MediaPackageOutputDestinationSettings) SetChannelId(v string) *MediaPackageOutputDestinationSettings {
12676	s.ChannelId = &v
12677	return s
12678}
12679
12680// Media Package Output Settings
12681type MediaPackageOutputSettings struct {
12682	_ struct{} `type:"structure"`
12683}
12684
12685// String returns the string representation
12686func (s MediaPackageOutputSettings) String() string {
12687	return awsutil.Prettify(s)
12688}
12689
12690// GoString returns the string representation
12691func (s MediaPackageOutputSettings) GoString() string {
12692	return s.String()
12693}
12694
12695// Mp2 Settings
12696type Mp2Settings struct {
12697	_ struct{} `type:"structure"`
12698
12699	// Average bitrate in bits/second.
12700	Bitrate *float64 `locationName:"bitrate" type:"double"`
12701
12702	// The MPEG2 Audio coding mode. Valid values are codingMode10 (for mono) or
12703	// codingMode20 (for stereo).
12704	CodingMode *string `locationName:"codingMode" type:"string" enum:"Mp2CodingMode"`
12705
12706	// Sample rate in Hz.
12707	SampleRate *float64 `locationName:"sampleRate" type:"double"`
12708}
12709
12710// String returns the string representation
12711func (s Mp2Settings) String() string {
12712	return awsutil.Prettify(s)
12713}
12714
12715// GoString returns the string representation
12716func (s Mp2Settings) GoString() string {
12717	return s.String()
12718}
12719
12720// SetBitrate sets the Bitrate field's value.
12721func (s *Mp2Settings) SetBitrate(v float64) *Mp2Settings {
12722	s.Bitrate = &v
12723	return s
12724}
12725
12726// SetCodingMode sets the CodingMode field's value.
12727func (s *Mp2Settings) SetCodingMode(v string) *Mp2Settings {
12728	s.CodingMode = &v
12729	return s
12730}
12731
12732// SetSampleRate sets the SampleRate field's value.
12733func (s *Mp2Settings) SetSampleRate(v float64) *Mp2Settings {
12734	s.SampleRate = &v
12735	return s
12736}
12737
12738// Ms Smooth Group Settings
12739type MsSmoothGroupSettings struct {
12740	_ struct{} `type:"structure"`
12741
12742	// The value of the "Acquisition Point Identity" element used in each message
12743	// placed in the sparse track. Only enabled if sparseTrackType is not "none".
12744	AcquisitionPointId *string `locationName:"acquisitionPointId" type:"string"`
12745
12746	// If set to passthrough for an audio-only MS Smooth output, the fragment absolute
12747	// time will be set to the current timecode. This option does not write timecodes
12748	// to the audio elementary stream.
12749	AudioOnlyTimecodeControl *string `locationName:"audioOnlyTimecodeControl" type:"string" enum:"SmoothGroupAudioOnlyTimecodeControl"`
12750
12751	// If set to verifyAuthenticity, verify the https certificate chain to a trusted
12752	// Certificate Authority (CA). This will cause https outputs to self-signed
12753	// certificates to fail.
12754	CertificateMode *string `locationName:"certificateMode" type:"string" enum:"SmoothGroupCertificateMode"`
12755
12756	// Number of seconds to wait before retrying connection to the IIS server if
12757	// the connection is lost. Content will be cached during this time and the cache
12758	// will be be delivered to the IIS server once the connection is re-established.
12759	ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"`
12760
12761	// Smooth Streaming publish point on an IIS server. Elemental Live acts as a
12762	// "Push" encoder to IIS.
12763	//
12764	// Destination is a required field
12765	Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"`
12766
12767	// MS Smooth event ID to be sent to the IIS server.Should only be specified
12768	// if eventIdMode is set to useConfigured.
12769	EventId *string `locationName:"eventId" type:"string"`
12770
12771	// Specifies whether or not to send an event ID to the IIS server. If no event
12772	// ID is sent and the same Live Event is used without changing the publishing
12773	// point, clients might see cached video from the previous run.Options:- "useConfigured"
12774	// - use the value provided in eventId- "useTimestamp" - generate and send an
12775	// event ID based on the current timestamp- "noEventId" - do not send an event
12776	// ID to the IIS server.
12777	EventIdMode *string `locationName:"eventIdMode" type:"string" enum:"SmoothGroupEventIdMode"`
12778
12779	// When set to sendEos, send EOS signal to IIS server when stopping the event
12780	EventStopBehavior *string `locationName:"eventStopBehavior" type:"string" enum:"SmoothGroupEventStopBehavior"`
12781
12782	// Size in seconds of file cache for streaming outputs.
12783	FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"`
12784
12785	// Length of mp4 fragments to generate (in seconds). Fragment length must be
12786	// compatible with GOP size and framerate.
12787	FragmentLength *int64 `locationName:"fragmentLength" min:"1" type:"integer"`
12788
12789	// Parameter that control output group behavior on input loss.
12790	InputLossAction *string `locationName:"inputLossAction" type:"string" enum:"InputLossActionForMsSmoothOut"`
12791
12792	// Number of retry attempts.
12793	NumRetries *int64 `locationName:"numRetries" type:"integer"`
12794
12795	// Number of seconds before initiating a restart due to output failure, due
12796	// to exhausting the numRetries on one segment, or exceeding filecacheDuration.
12797	RestartDelay *int64 `locationName:"restartDelay" type:"integer"`
12798
12799	// useInputSegmentation has been deprecated. The configured segment size is
12800	// always used.
12801	SegmentationMode *string `locationName:"segmentationMode" type:"string" enum:"SmoothGroupSegmentationMode"`
12802
12803	// Number of milliseconds to delay the output from the second pipeline.
12804	SendDelayMs *int64 `locationName:"sendDelayMs" type:"integer"`
12805
12806	// If set to scte35, use incoming SCTE-35 messages to generate a sparse track
12807	// in this group of MS-Smooth outputs.
12808	SparseTrackType *string `locationName:"sparseTrackType" type:"string" enum:"SmoothGroupSparseTrackType"`
12809
12810	// When set to send, send stream manifest so publishing point doesn't start
12811	// until all streams start.
12812	StreamManifestBehavior *string `locationName:"streamManifestBehavior" type:"string" enum:"SmoothGroupStreamManifestBehavior"`
12813
12814	// Timestamp offset for the event. Only used if timestampOffsetMode is set to
12815	// useConfiguredOffset.
12816	TimestampOffset *string `locationName:"timestampOffset" type:"string"`
12817
12818	// Type of timestamp date offset to use.- useEventStartDate: Use the date the
12819	// event was started as the offset- useConfiguredOffset: Use an explicitly configured
12820	// date as the offset
12821	TimestampOffsetMode *string `locationName:"timestampOffsetMode" type:"string" enum:"SmoothGroupTimestampOffsetMode"`
12822}
12823
12824// String returns the string representation
12825func (s MsSmoothGroupSettings) String() string {
12826	return awsutil.Prettify(s)
12827}
12828
12829// GoString returns the string representation
12830func (s MsSmoothGroupSettings) GoString() string {
12831	return s.String()
12832}
12833
12834// Validate inspects the fields of the type to determine if they are valid.
12835func (s *MsSmoothGroupSettings) Validate() error {
12836	invalidParams := request.ErrInvalidParams{Context: "MsSmoothGroupSettings"}
12837	if s.Destination == nil {
12838		invalidParams.Add(request.NewErrParamRequired("Destination"))
12839	}
12840	if s.FragmentLength != nil && *s.FragmentLength < 1 {
12841		invalidParams.Add(request.NewErrParamMinValue("FragmentLength", 1))
12842	}
12843
12844	if invalidParams.Len() > 0 {
12845		return invalidParams
12846	}
12847	return nil
12848}
12849
12850// SetAcquisitionPointId sets the AcquisitionPointId field's value.
12851func (s *MsSmoothGroupSettings) SetAcquisitionPointId(v string) *MsSmoothGroupSettings {
12852	s.AcquisitionPointId = &v
12853	return s
12854}
12855
12856// SetAudioOnlyTimecodeControl sets the AudioOnlyTimecodeControl field's value.
12857func (s *MsSmoothGroupSettings) SetAudioOnlyTimecodeControl(v string) *MsSmoothGroupSettings {
12858	s.AudioOnlyTimecodeControl = &v
12859	return s
12860}
12861
12862// SetCertificateMode sets the CertificateMode field's value.
12863func (s *MsSmoothGroupSettings) SetCertificateMode(v string) *MsSmoothGroupSettings {
12864	s.CertificateMode = &v
12865	return s
12866}
12867
12868// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value.
12869func (s *MsSmoothGroupSettings) SetConnectionRetryInterval(v int64) *MsSmoothGroupSettings {
12870	s.ConnectionRetryInterval = &v
12871	return s
12872}
12873
12874// SetDestination sets the Destination field's value.
12875func (s *MsSmoothGroupSettings) SetDestination(v *OutputLocationRef) *MsSmoothGroupSettings {
12876	s.Destination = v
12877	return s
12878}
12879
12880// SetEventId sets the EventId field's value.
12881func (s *MsSmoothGroupSettings) SetEventId(v string) *MsSmoothGroupSettings {
12882	s.EventId = &v
12883	return s
12884}
12885
12886// SetEventIdMode sets the EventIdMode field's value.
12887func (s *MsSmoothGroupSettings) SetEventIdMode(v string) *MsSmoothGroupSettings {
12888	s.EventIdMode = &v
12889	return s
12890}
12891
12892// SetEventStopBehavior sets the EventStopBehavior field's value.
12893func (s *MsSmoothGroupSettings) SetEventStopBehavior(v string) *MsSmoothGroupSettings {
12894	s.EventStopBehavior = &v
12895	return s
12896}
12897
12898// SetFilecacheDuration sets the FilecacheDuration field's value.
12899func (s *MsSmoothGroupSettings) SetFilecacheDuration(v int64) *MsSmoothGroupSettings {
12900	s.FilecacheDuration = &v
12901	return s
12902}
12903
12904// SetFragmentLength sets the FragmentLength field's value.
12905func (s *MsSmoothGroupSettings) SetFragmentLength(v int64) *MsSmoothGroupSettings {
12906	s.FragmentLength = &v
12907	return s
12908}
12909
12910// SetInputLossAction sets the InputLossAction field's value.
12911func (s *MsSmoothGroupSettings) SetInputLossAction(v string) *MsSmoothGroupSettings {
12912	s.InputLossAction = &v
12913	return s
12914}
12915
12916// SetNumRetries sets the NumRetries field's value.
12917func (s *MsSmoothGroupSettings) SetNumRetries(v int64) *MsSmoothGroupSettings {
12918	s.NumRetries = &v
12919	return s
12920}
12921
12922// SetRestartDelay sets the RestartDelay field's value.
12923func (s *MsSmoothGroupSettings) SetRestartDelay(v int64) *MsSmoothGroupSettings {
12924	s.RestartDelay = &v
12925	return s
12926}
12927
12928// SetSegmentationMode sets the SegmentationMode field's value.
12929func (s *MsSmoothGroupSettings) SetSegmentationMode(v string) *MsSmoothGroupSettings {
12930	s.SegmentationMode = &v
12931	return s
12932}
12933
12934// SetSendDelayMs sets the SendDelayMs field's value.
12935func (s *MsSmoothGroupSettings) SetSendDelayMs(v int64) *MsSmoothGroupSettings {
12936	s.SendDelayMs = &v
12937	return s
12938}
12939
12940// SetSparseTrackType sets the SparseTrackType field's value.
12941func (s *MsSmoothGroupSettings) SetSparseTrackType(v string) *MsSmoothGroupSettings {
12942	s.SparseTrackType = &v
12943	return s
12944}
12945
12946// SetStreamManifestBehavior sets the StreamManifestBehavior field's value.
12947func (s *MsSmoothGroupSettings) SetStreamManifestBehavior(v string) *MsSmoothGroupSettings {
12948	s.StreamManifestBehavior = &v
12949	return s
12950}
12951
12952// SetTimestampOffset sets the TimestampOffset field's value.
12953func (s *MsSmoothGroupSettings) SetTimestampOffset(v string) *MsSmoothGroupSettings {
12954	s.TimestampOffset = &v
12955	return s
12956}
12957
12958// SetTimestampOffsetMode sets the TimestampOffsetMode field's value.
12959func (s *MsSmoothGroupSettings) SetTimestampOffsetMode(v string) *MsSmoothGroupSettings {
12960	s.TimestampOffsetMode = &v
12961	return s
12962}
12963
12964// Ms Smooth Output Settings
12965type MsSmoothOutputSettings struct {
12966	_ struct{} `type:"structure"`
12967
12968	// String concatenated to the end of the destination filename. Required for
12969	// multiple outputs of the same type.
12970	NameModifier *string `locationName:"nameModifier" type:"string"`
12971}
12972
12973// String returns the string representation
12974func (s MsSmoothOutputSettings) String() string {
12975	return awsutil.Prettify(s)
12976}
12977
12978// GoString returns the string representation
12979func (s MsSmoothOutputSettings) GoString() string {
12980	return s.String()
12981}
12982
12983// SetNameModifier sets the NameModifier field's value.
12984func (s *MsSmoothOutputSettings) SetNameModifier(v string) *MsSmoothOutputSettings {
12985	s.NameModifier = &v
12986	return s
12987}
12988
12989// Network source to transcode. Must be accessible to the Elemental Live node
12990// that is running the live event through a network connection.
12991type NetworkInputSettings struct {
12992	_ struct{} `type:"structure"`
12993
12994	// Specifies HLS input settings when the uri is for a HLS manifest.
12995	HlsInputSettings *HlsInputSettings `locationName:"hlsInputSettings" type:"structure"`
12996
12997	// Check HTTPS server certificates. When set to checkCryptographyOnly, cryptography
12998	// in the certificate will be checked, but not the server's name. Certain subdomains
12999	// (notably S3 buckets that use dots in the bucket name) do not strictly match
13000	// the corresponding certificate's wildcard pattern and would otherwise cause
13001	// the event to error. This setting is ignored for protocols that do not use
13002	// https.
13003	ServerValidation *string `locationName:"serverValidation" type:"string" enum:"NetworkInputServerValidation"`
13004}
13005
13006// String returns the string representation
13007func (s NetworkInputSettings) String() string {
13008	return awsutil.Prettify(s)
13009}
13010
13011// GoString returns the string representation
13012func (s NetworkInputSettings) GoString() string {
13013	return s.String()
13014}
13015
13016// SetHlsInputSettings sets the HlsInputSettings field's value.
13017func (s *NetworkInputSettings) SetHlsInputSettings(v *HlsInputSettings) *NetworkInputSettings {
13018	s.HlsInputSettings = v
13019	return s
13020}
13021
13022// SetServerValidation sets the ServerValidation field's value.
13023func (s *NetworkInputSettings) SetServerValidation(v string) *NetworkInputSettings {
13024	s.ServerValidation = &v
13025	return s
13026}
13027
13028// Reserved resources available for purchase
13029type Offering struct {
13030	_ struct{} `type:"structure"`
13031
13032	// Unique offering ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:offering:87654321'
13033	Arn *string `locationName:"arn" type:"string"`
13034
13035	// Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'
13036	CurrencyCode *string `locationName:"currencyCode" type:"string"`
13037
13038	// Lease duration, e.g. '12'
13039	Duration *int64 `locationName:"duration" type:"integer"`
13040
13041	// Units for duration, e.g. 'MONTHS'
13042	DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"`
13043
13044	// One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering
13045	FixedPrice *float64 `locationName:"fixedPrice" type:"double"`
13046
13047	// Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard
13048	// VQ in US West (Oregon)'
13049	OfferingDescription *string `locationName:"offeringDescription" type:"string"`
13050
13051	// Unique offering ID, e.g. '87654321'
13052	OfferingId *string `locationName:"offeringId" type:"string"`
13053
13054	// Offering type, e.g. 'NO_UPFRONT'
13055	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"`
13056
13057	// AWS region, e.g. 'us-west-2'
13058	Region *string `locationName:"region" type:"string"`
13059
13060	// Resource configuration details
13061	ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"`
13062
13063	// Recurring usage charge for each reserved resource, e.g. '157.0'
13064	UsagePrice *float64 `locationName:"usagePrice" type:"double"`
13065}
13066
13067// String returns the string representation
13068func (s Offering) String() string {
13069	return awsutil.Prettify(s)
13070}
13071
13072// GoString returns the string representation
13073func (s Offering) GoString() string {
13074	return s.String()
13075}
13076
13077// SetArn sets the Arn field's value.
13078func (s *Offering) SetArn(v string) *Offering {
13079	s.Arn = &v
13080	return s
13081}
13082
13083// SetCurrencyCode sets the CurrencyCode field's value.
13084func (s *Offering) SetCurrencyCode(v string) *Offering {
13085	s.CurrencyCode = &v
13086	return s
13087}
13088
13089// SetDuration sets the Duration field's value.
13090func (s *Offering) SetDuration(v int64) *Offering {
13091	s.Duration = &v
13092	return s
13093}
13094
13095// SetDurationUnits sets the DurationUnits field's value.
13096func (s *Offering) SetDurationUnits(v string) *Offering {
13097	s.DurationUnits = &v
13098	return s
13099}
13100
13101// SetFixedPrice sets the FixedPrice field's value.
13102func (s *Offering) SetFixedPrice(v float64) *Offering {
13103	s.FixedPrice = &v
13104	return s
13105}
13106
13107// SetOfferingDescription sets the OfferingDescription field's value.
13108func (s *Offering) SetOfferingDescription(v string) *Offering {
13109	s.OfferingDescription = &v
13110	return s
13111}
13112
13113// SetOfferingId sets the OfferingId field's value.
13114func (s *Offering) SetOfferingId(v string) *Offering {
13115	s.OfferingId = &v
13116	return s
13117}
13118
13119// SetOfferingType sets the OfferingType field's value.
13120func (s *Offering) SetOfferingType(v string) *Offering {
13121	s.OfferingType = &v
13122	return s
13123}
13124
13125// SetRegion sets the Region field's value.
13126func (s *Offering) SetRegion(v string) *Offering {
13127	s.Region = &v
13128	return s
13129}
13130
13131// SetResourceSpecification sets the ResourceSpecification field's value.
13132func (s *Offering) SetResourceSpecification(v *ReservationResourceSpecification) *Offering {
13133	s.ResourceSpecification = v
13134	return s
13135}
13136
13137// SetUsagePrice sets the UsagePrice field's value.
13138func (s *Offering) SetUsagePrice(v float64) *Offering {
13139	s.UsagePrice = &v
13140	return s
13141}
13142
13143// Output settings. There can be multiple outputs within a group.
13144type Output struct {
13145	_ struct{} `type:"structure"`
13146
13147	// The names of the AudioDescriptions used as audio sources for this output.
13148	AudioDescriptionNames []*string `locationName:"audioDescriptionNames" type:"list"`
13149
13150	// The names of the CaptionDescriptions used as caption sources for this output.
13151	CaptionDescriptionNames []*string `locationName:"captionDescriptionNames" type:"list"`
13152
13153	// The name used to identify an output.
13154	OutputName *string `locationName:"outputName" min:"1" type:"string"`
13155
13156	// Output type-specific settings.
13157	//
13158	// OutputSettings is a required field
13159	OutputSettings *OutputSettings `locationName:"outputSettings" type:"structure" required:"true"`
13160
13161	// The name of the VideoDescription used as the source for this output.
13162	VideoDescriptionName *string `locationName:"videoDescriptionName" type:"string"`
13163}
13164
13165// String returns the string representation
13166func (s Output) String() string {
13167	return awsutil.Prettify(s)
13168}
13169
13170// GoString returns the string representation
13171func (s Output) GoString() string {
13172	return s.String()
13173}
13174
13175// Validate inspects the fields of the type to determine if they are valid.
13176func (s *Output) Validate() error {
13177	invalidParams := request.ErrInvalidParams{Context: "Output"}
13178	if s.OutputName != nil && len(*s.OutputName) < 1 {
13179		invalidParams.Add(request.NewErrParamMinLen("OutputName", 1))
13180	}
13181	if s.OutputSettings == nil {
13182		invalidParams.Add(request.NewErrParamRequired("OutputSettings"))
13183	}
13184	if s.OutputSettings != nil {
13185		if err := s.OutputSettings.Validate(); err != nil {
13186			invalidParams.AddNested("OutputSettings", err.(request.ErrInvalidParams))
13187		}
13188	}
13189
13190	if invalidParams.Len() > 0 {
13191		return invalidParams
13192	}
13193	return nil
13194}
13195
13196// SetAudioDescriptionNames sets the AudioDescriptionNames field's value.
13197func (s *Output) SetAudioDescriptionNames(v []*string) *Output {
13198	s.AudioDescriptionNames = v
13199	return s
13200}
13201
13202// SetCaptionDescriptionNames sets the CaptionDescriptionNames field's value.
13203func (s *Output) SetCaptionDescriptionNames(v []*string) *Output {
13204	s.CaptionDescriptionNames = v
13205	return s
13206}
13207
13208// SetOutputName sets the OutputName field's value.
13209func (s *Output) SetOutputName(v string) *Output {
13210	s.OutputName = &v
13211	return s
13212}
13213
13214// SetOutputSettings sets the OutputSettings field's value.
13215func (s *Output) SetOutputSettings(v *OutputSettings) *Output {
13216	s.OutputSettings = v
13217	return s
13218}
13219
13220// SetVideoDescriptionName sets the VideoDescriptionName field's value.
13221func (s *Output) SetVideoDescriptionName(v string) *Output {
13222	s.VideoDescriptionName = &v
13223	return s
13224}
13225
13226type OutputDestination struct {
13227	_ struct{} `type:"structure"`
13228
13229	// User-specified id. This is used in an output group or an output.
13230	Id *string `locationName:"id" type:"string"`
13231
13232	// Destination settings for a MediaPackage output; one destination for both
13233	// encoders.
13234	MediaPackageSettings []*MediaPackageOutputDestinationSettings `locationName:"mediaPackageSettings" type:"list"`
13235
13236	// Destination settings for a standard output; one destination for each redundant
13237	// encoder.
13238	Settings []*OutputDestinationSettings `locationName:"settings" type:"list"`
13239}
13240
13241// String returns the string representation
13242func (s OutputDestination) String() string {
13243	return awsutil.Prettify(s)
13244}
13245
13246// GoString returns the string representation
13247func (s OutputDestination) GoString() string {
13248	return s.String()
13249}
13250
13251// Validate inspects the fields of the type to determine if they are valid.
13252func (s *OutputDestination) Validate() error {
13253	invalidParams := request.ErrInvalidParams{Context: "OutputDestination"}
13254	if s.MediaPackageSettings != nil {
13255		for i, v := range s.MediaPackageSettings {
13256			if v == nil {
13257				continue
13258			}
13259			if err := v.Validate(); err != nil {
13260				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MediaPackageSettings", i), err.(request.ErrInvalidParams))
13261			}
13262		}
13263	}
13264
13265	if invalidParams.Len() > 0 {
13266		return invalidParams
13267	}
13268	return nil
13269}
13270
13271// SetId sets the Id field's value.
13272func (s *OutputDestination) SetId(v string) *OutputDestination {
13273	s.Id = &v
13274	return s
13275}
13276
13277// SetMediaPackageSettings sets the MediaPackageSettings field's value.
13278func (s *OutputDestination) SetMediaPackageSettings(v []*MediaPackageOutputDestinationSettings) *OutputDestination {
13279	s.MediaPackageSettings = v
13280	return s
13281}
13282
13283// SetSettings sets the Settings field's value.
13284func (s *OutputDestination) SetSettings(v []*OutputDestinationSettings) *OutputDestination {
13285	s.Settings = v
13286	return s
13287}
13288
13289type OutputDestinationSettings struct {
13290	_ struct{} `type:"structure"`
13291
13292	// key used to extract the password from EC2 Parameter store
13293	PasswordParam *string `locationName:"passwordParam" type:"string"`
13294
13295	// Stream name for RTMP destinations (URLs of type rtmp://)
13296	StreamName *string `locationName:"streamName" type:"string"`
13297
13298	// A URL specifying a destination
13299	Url *string `locationName:"url" type:"string"`
13300
13301	// username for destination
13302	Username *string `locationName:"username" type:"string"`
13303}
13304
13305// String returns the string representation
13306func (s OutputDestinationSettings) String() string {
13307	return awsutil.Prettify(s)
13308}
13309
13310// GoString returns the string representation
13311func (s OutputDestinationSettings) GoString() string {
13312	return s.String()
13313}
13314
13315// SetPasswordParam sets the PasswordParam field's value.
13316func (s *OutputDestinationSettings) SetPasswordParam(v string) *OutputDestinationSettings {
13317	s.PasswordParam = &v
13318	return s
13319}
13320
13321// SetStreamName sets the StreamName field's value.
13322func (s *OutputDestinationSettings) SetStreamName(v string) *OutputDestinationSettings {
13323	s.StreamName = &v
13324	return s
13325}
13326
13327// SetUrl sets the Url field's value.
13328func (s *OutputDestinationSettings) SetUrl(v string) *OutputDestinationSettings {
13329	s.Url = &v
13330	return s
13331}
13332
13333// SetUsername sets the Username field's value.
13334func (s *OutputDestinationSettings) SetUsername(v string) *OutputDestinationSettings {
13335	s.Username = &v
13336	return s
13337}
13338
13339// Output groups for this Live Event. Output groups contain information about
13340// where streams should be distributed.
13341type OutputGroup struct {
13342	_ struct{} `type:"structure"`
13343
13344	// Custom output group name optionally defined by the user. Only letters, numbers,
13345	// and the underscore character allowed; only 32 characters allowed.
13346	Name *string `locationName:"name" type:"string"`
13347
13348	// Settings associated with the output group.
13349	//
13350	// OutputGroupSettings is a required field
13351	OutputGroupSettings *OutputGroupSettings `locationName:"outputGroupSettings" type:"structure" required:"true"`
13352
13353	// Outputs is a required field
13354	Outputs []*Output `locationName:"outputs" type:"list" required:"true"`
13355}
13356
13357// String returns the string representation
13358func (s OutputGroup) String() string {
13359	return awsutil.Prettify(s)
13360}
13361
13362// GoString returns the string representation
13363func (s OutputGroup) GoString() string {
13364	return s.String()
13365}
13366
13367// Validate inspects the fields of the type to determine if they are valid.
13368func (s *OutputGroup) Validate() error {
13369	invalidParams := request.ErrInvalidParams{Context: "OutputGroup"}
13370	if s.OutputGroupSettings == nil {
13371		invalidParams.Add(request.NewErrParamRequired("OutputGroupSettings"))
13372	}
13373	if s.Outputs == nil {
13374		invalidParams.Add(request.NewErrParamRequired("Outputs"))
13375	}
13376	if s.OutputGroupSettings != nil {
13377		if err := s.OutputGroupSettings.Validate(); err != nil {
13378			invalidParams.AddNested("OutputGroupSettings", err.(request.ErrInvalidParams))
13379		}
13380	}
13381	if s.Outputs != nil {
13382		for i, v := range s.Outputs {
13383			if v == nil {
13384				continue
13385			}
13386			if err := v.Validate(); err != nil {
13387				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams))
13388			}
13389		}
13390	}
13391
13392	if invalidParams.Len() > 0 {
13393		return invalidParams
13394	}
13395	return nil
13396}
13397
13398// SetName sets the Name field's value.
13399func (s *OutputGroup) SetName(v string) *OutputGroup {
13400	s.Name = &v
13401	return s
13402}
13403
13404// SetOutputGroupSettings sets the OutputGroupSettings field's value.
13405func (s *OutputGroup) SetOutputGroupSettings(v *OutputGroupSettings) *OutputGroup {
13406	s.OutputGroupSettings = v
13407	return s
13408}
13409
13410// SetOutputs sets the Outputs field's value.
13411func (s *OutputGroup) SetOutputs(v []*Output) *OutputGroup {
13412	s.Outputs = v
13413	return s
13414}
13415
13416// Output Group Settings
13417type OutputGroupSettings struct {
13418	_ struct{} `type:"structure"`
13419
13420	// Archive Group Settings
13421	ArchiveGroupSettings *ArchiveGroupSettings `locationName:"archiveGroupSettings" type:"structure"`
13422
13423	// Frame Capture Group Settings
13424	FrameCaptureGroupSettings *FrameCaptureGroupSettings `locationName:"frameCaptureGroupSettings" type:"structure"`
13425
13426	// Hls Group Settings
13427	HlsGroupSettings *HlsGroupSettings `locationName:"hlsGroupSettings" type:"structure"`
13428
13429	// Media Package Group Settings
13430	MediaPackageGroupSettings *MediaPackageGroupSettings `locationName:"mediaPackageGroupSettings" type:"structure"`
13431
13432	// Ms Smooth Group Settings
13433	MsSmoothGroupSettings *MsSmoothGroupSettings `locationName:"msSmoothGroupSettings" type:"structure"`
13434
13435	// Rtmp Group Settings
13436	RtmpGroupSettings *RtmpGroupSettings `locationName:"rtmpGroupSettings" type:"structure"`
13437
13438	// Udp Group Settings
13439	UdpGroupSettings *UdpGroupSettings `locationName:"udpGroupSettings" type:"structure"`
13440}
13441
13442// String returns the string representation
13443func (s OutputGroupSettings) String() string {
13444	return awsutil.Prettify(s)
13445}
13446
13447// GoString returns the string representation
13448func (s OutputGroupSettings) GoString() string {
13449	return s.String()
13450}
13451
13452// Validate inspects the fields of the type to determine if they are valid.
13453func (s *OutputGroupSettings) Validate() error {
13454	invalidParams := request.ErrInvalidParams{Context: "OutputGroupSettings"}
13455	if s.ArchiveGroupSettings != nil {
13456		if err := s.ArchiveGroupSettings.Validate(); err != nil {
13457			invalidParams.AddNested("ArchiveGroupSettings", err.(request.ErrInvalidParams))
13458		}
13459	}
13460	if s.FrameCaptureGroupSettings != nil {
13461		if err := s.FrameCaptureGroupSettings.Validate(); err != nil {
13462			invalidParams.AddNested("FrameCaptureGroupSettings", err.(request.ErrInvalidParams))
13463		}
13464	}
13465	if s.HlsGroupSettings != nil {
13466		if err := s.HlsGroupSettings.Validate(); err != nil {
13467			invalidParams.AddNested("HlsGroupSettings", err.(request.ErrInvalidParams))
13468		}
13469	}
13470	if s.MediaPackageGroupSettings != nil {
13471		if err := s.MediaPackageGroupSettings.Validate(); err != nil {
13472			invalidParams.AddNested("MediaPackageGroupSettings", err.(request.ErrInvalidParams))
13473		}
13474	}
13475	if s.MsSmoothGroupSettings != nil {
13476		if err := s.MsSmoothGroupSettings.Validate(); err != nil {
13477			invalidParams.AddNested("MsSmoothGroupSettings", err.(request.ErrInvalidParams))
13478		}
13479	}
13480	if s.RtmpGroupSettings != nil {
13481		if err := s.RtmpGroupSettings.Validate(); err != nil {
13482			invalidParams.AddNested("RtmpGroupSettings", err.(request.ErrInvalidParams))
13483		}
13484	}
13485
13486	if invalidParams.Len() > 0 {
13487		return invalidParams
13488	}
13489	return nil
13490}
13491
13492// SetArchiveGroupSettings sets the ArchiveGroupSettings field's value.
13493func (s *OutputGroupSettings) SetArchiveGroupSettings(v *ArchiveGroupSettings) *OutputGroupSettings {
13494	s.ArchiveGroupSettings = v
13495	return s
13496}
13497
13498// SetFrameCaptureGroupSettings sets the FrameCaptureGroupSettings field's value.
13499func (s *OutputGroupSettings) SetFrameCaptureGroupSettings(v *FrameCaptureGroupSettings) *OutputGroupSettings {
13500	s.FrameCaptureGroupSettings = v
13501	return s
13502}
13503
13504// SetHlsGroupSettings sets the HlsGroupSettings field's value.
13505func (s *OutputGroupSettings) SetHlsGroupSettings(v *HlsGroupSettings) *OutputGroupSettings {
13506	s.HlsGroupSettings = v
13507	return s
13508}
13509
13510// SetMediaPackageGroupSettings sets the MediaPackageGroupSettings field's value.
13511func (s *OutputGroupSettings) SetMediaPackageGroupSettings(v *MediaPackageGroupSettings) *OutputGroupSettings {
13512	s.MediaPackageGroupSettings = v
13513	return s
13514}
13515
13516// SetMsSmoothGroupSettings sets the MsSmoothGroupSettings field's value.
13517func (s *OutputGroupSettings) SetMsSmoothGroupSettings(v *MsSmoothGroupSettings) *OutputGroupSettings {
13518	s.MsSmoothGroupSettings = v
13519	return s
13520}
13521
13522// SetRtmpGroupSettings sets the RtmpGroupSettings field's value.
13523func (s *OutputGroupSettings) SetRtmpGroupSettings(v *RtmpGroupSettings) *OutputGroupSettings {
13524	s.RtmpGroupSettings = v
13525	return s
13526}
13527
13528// SetUdpGroupSettings sets the UdpGroupSettings field's value.
13529func (s *OutputGroupSettings) SetUdpGroupSettings(v *UdpGroupSettings) *OutputGroupSettings {
13530	s.UdpGroupSettings = v
13531	return s
13532}
13533
13534// Reference to an OutputDestination ID defined in the channel
13535type OutputLocationRef struct {
13536	_ struct{} `type:"structure"`
13537
13538	DestinationRefId *string `locationName:"destinationRefId" type:"string"`
13539}
13540
13541// String returns the string representation
13542func (s OutputLocationRef) String() string {
13543	return awsutil.Prettify(s)
13544}
13545
13546// GoString returns the string representation
13547func (s OutputLocationRef) GoString() string {
13548	return s.String()
13549}
13550
13551// SetDestinationRefId sets the DestinationRefId field's value.
13552func (s *OutputLocationRef) SetDestinationRefId(v string) *OutputLocationRef {
13553	s.DestinationRefId = &v
13554	return s
13555}
13556
13557// Output Settings
13558type OutputSettings struct {
13559	_ struct{} `type:"structure"`
13560
13561	// Archive Output Settings
13562	ArchiveOutputSettings *ArchiveOutputSettings `locationName:"archiveOutputSettings" type:"structure"`
13563
13564	// Frame Capture Output Settings
13565	FrameCaptureOutputSettings *FrameCaptureOutputSettings `locationName:"frameCaptureOutputSettings" type:"structure"`
13566
13567	// Hls Output Settings
13568	HlsOutputSettings *HlsOutputSettings `locationName:"hlsOutputSettings" type:"structure"`
13569
13570	// Media Package Output Settings
13571	MediaPackageOutputSettings *MediaPackageOutputSettings `locationName:"mediaPackageOutputSettings" type:"structure"`
13572
13573	// Ms Smooth Output Settings
13574	MsSmoothOutputSettings *MsSmoothOutputSettings `locationName:"msSmoothOutputSettings" type:"structure"`
13575
13576	// Rtmp Output Settings
13577	RtmpOutputSettings *RtmpOutputSettings `locationName:"rtmpOutputSettings" type:"structure"`
13578
13579	// Udp Output Settings
13580	UdpOutputSettings *UdpOutputSettings `locationName:"udpOutputSettings" type:"structure"`
13581}
13582
13583// String returns the string representation
13584func (s OutputSettings) String() string {
13585	return awsutil.Prettify(s)
13586}
13587
13588// GoString returns the string representation
13589func (s OutputSettings) GoString() string {
13590	return s.String()
13591}
13592
13593// Validate inspects the fields of the type to determine if they are valid.
13594func (s *OutputSettings) Validate() error {
13595	invalidParams := request.ErrInvalidParams{Context: "OutputSettings"}
13596	if s.ArchiveOutputSettings != nil {
13597		if err := s.ArchiveOutputSettings.Validate(); err != nil {
13598			invalidParams.AddNested("ArchiveOutputSettings", err.(request.ErrInvalidParams))
13599		}
13600	}
13601	if s.HlsOutputSettings != nil {
13602		if err := s.HlsOutputSettings.Validate(); err != nil {
13603			invalidParams.AddNested("HlsOutputSettings", err.(request.ErrInvalidParams))
13604		}
13605	}
13606	if s.RtmpOutputSettings != nil {
13607		if err := s.RtmpOutputSettings.Validate(); err != nil {
13608			invalidParams.AddNested("RtmpOutputSettings", err.(request.ErrInvalidParams))
13609		}
13610	}
13611	if s.UdpOutputSettings != nil {
13612		if err := s.UdpOutputSettings.Validate(); err != nil {
13613			invalidParams.AddNested("UdpOutputSettings", err.(request.ErrInvalidParams))
13614		}
13615	}
13616
13617	if invalidParams.Len() > 0 {
13618		return invalidParams
13619	}
13620	return nil
13621}
13622
13623// SetArchiveOutputSettings sets the ArchiveOutputSettings field's value.
13624func (s *OutputSettings) SetArchiveOutputSettings(v *ArchiveOutputSettings) *OutputSettings {
13625	s.ArchiveOutputSettings = v
13626	return s
13627}
13628
13629// SetFrameCaptureOutputSettings sets the FrameCaptureOutputSettings field's value.
13630func (s *OutputSettings) SetFrameCaptureOutputSettings(v *FrameCaptureOutputSettings) *OutputSettings {
13631	s.FrameCaptureOutputSettings = v
13632	return s
13633}
13634
13635// SetHlsOutputSettings sets the HlsOutputSettings field's value.
13636func (s *OutputSettings) SetHlsOutputSettings(v *HlsOutputSettings) *OutputSettings {
13637	s.HlsOutputSettings = v
13638	return s
13639}
13640
13641// SetMediaPackageOutputSettings sets the MediaPackageOutputSettings field's value.
13642func (s *OutputSettings) SetMediaPackageOutputSettings(v *MediaPackageOutputSettings) *OutputSettings {
13643	s.MediaPackageOutputSettings = v
13644	return s
13645}
13646
13647// SetMsSmoothOutputSettings sets the MsSmoothOutputSettings field's value.
13648func (s *OutputSettings) SetMsSmoothOutputSettings(v *MsSmoothOutputSettings) *OutputSettings {
13649	s.MsSmoothOutputSettings = v
13650	return s
13651}
13652
13653// SetRtmpOutputSettings sets the RtmpOutputSettings field's value.
13654func (s *OutputSettings) SetRtmpOutputSettings(v *RtmpOutputSettings) *OutputSettings {
13655	s.RtmpOutputSettings = v
13656	return s
13657}
13658
13659// SetUdpOutputSettings sets the UdpOutputSettings field's value.
13660func (s *OutputSettings) SetUdpOutputSettings(v *UdpOutputSettings) *OutputSettings {
13661	s.UdpOutputSettings = v
13662	return s
13663}
13664
13665// Pass Through Settings
13666type PassThroughSettings struct {
13667	_ struct{} `type:"structure"`
13668}
13669
13670// String returns the string representation
13671func (s PassThroughSettings) String() string {
13672	return awsutil.Prettify(s)
13673}
13674
13675// GoString returns the string representation
13676func (s PassThroughSettings) GoString() string {
13677	return s.String()
13678}
13679
13680// Settings for the action to set pause state of a channel.
13681type PauseStateScheduleActionSettings struct {
13682	_ struct{} `type:"structure"`
13683
13684	Pipelines []*PipelinePauseStateSettings `locationName:"pipelines" type:"list"`
13685}
13686
13687// String returns the string representation
13688func (s PauseStateScheduleActionSettings) String() string {
13689	return awsutil.Prettify(s)
13690}
13691
13692// GoString returns the string representation
13693func (s PauseStateScheduleActionSettings) GoString() string {
13694	return s.String()
13695}
13696
13697// Validate inspects the fields of the type to determine if they are valid.
13698func (s *PauseStateScheduleActionSettings) Validate() error {
13699	invalidParams := request.ErrInvalidParams{Context: "PauseStateScheduleActionSettings"}
13700	if s.Pipelines != nil {
13701		for i, v := range s.Pipelines {
13702			if v == nil {
13703				continue
13704			}
13705			if err := v.Validate(); err != nil {
13706				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Pipelines", i), err.(request.ErrInvalidParams))
13707			}
13708		}
13709	}
13710
13711	if invalidParams.Len() > 0 {
13712		return invalidParams
13713	}
13714	return nil
13715}
13716
13717// SetPipelines sets the Pipelines field's value.
13718func (s *PauseStateScheduleActionSettings) SetPipelines(v []*PipelinePauseStateSettings) *PauseStateScheduleActionSettings {
13719	s.Pipelines = v
13720	return s
13721}
13722
13723// Settings for pausing a pipeline.
13724type PipelinePauseStateSettings struct {
13725	_ struct{} `type:"structure"`
13726
13727	// Pipeline ID to pause ("PIPELINE_0" or "PIPELINE_1").
13728	//
13729	// PipelineId is a required field
13730	PipelineId *string `locationName:"pipelineId" type:"string" required:"true" enum:"PipelineId"`
13731}
13732
13733// String returns the string representation
13734func (s PipelinePauseStateSettings) String() string {
13735	return awsutil.Prettify(s)
13736}
13737
13738// GoString returns the string representation
13739func (s PipelinePauseStateSettings) GoString() string {
13740	return s.String()
13741}
13742
13743// Validate inspects the fields of the type to determine if they are valid.
13744func (s *PipelinePauseStateSettings) Validate() error {
13745	invalidParams := request.ErrInvalidParams{Context: "PipelinePauseStateSettings"}
13746	if s.PipelineId == nil {
13747		invalidParams.Add(request.NewErrParamRequired("PipelineId"))
13748	}
13749
13750	if invalidParams.Len() > 0 {
13751		return invalidParams
13752	}
13753	return nil
13754}
13755
13756// SetPipelineId sets the PipelineId field's value.
13757func (s *PipelinePauseStateSettings) SetPipelineId(v string) *PipelinePauseStateSettings {
13758	s.PipelineId = &v
13759	return s
13760}
13761
13762type PurchaseOfferingInput struct {
13763	_ struct{} `type:"structure"`
13764
13765	// Count is a required field
13766	Count *int64 `locationName:"count" min:"1" type:"integer" required:"true"`
13767
13768	Name *string `locationName:"name" type:"string"`
13769
13770	// OfferingId is a required field
13771	OfferingId *string `location:"uri" locationName:"offeringId" type:"string" required:"true"`
13772
13773	RequestId *string `locationName:"requestId" type:"string" idempotencyToken:"true"`
13774
13775	Start *string `locationName:"start" type:"string"`
13776
13777	Tags map[string]*string `locationName:"tags" type:"map"`
13778}
13779
13780// String returns the string representation
13781func (s PurchaseOfferingInput) String() string {
13782	return awsutil.Prettify(s)
13783}
13784
13785// GoString returns the string representation
13786func (s PurchaseOfferingInput) GoString() string {
13787	return s.String()
13788}
13789
13790// Validate inspects the fields of the type to determine if they are valid.
13791func (s *PurchaseOfferingInput) Validate() error {
13792	invalidParams := request.ErrInvalidParams{Context: "PurchaseOfferingInput"}
13793	if s.Count == nil {
13794		invalidParams.Add(request.NewErrParamRequired("Count"))
13795	}
13796	if s.Count != nil && *s.Count < 1 {
13797		invalidParams.Add(request.NewErrParamMinValue("Count", 1))
13798	}
13799	if s.OfferingId == nil {
13800		invalidParams.Add(request.NewErrParamRequired("OfferingId"))
13801	}
13802	if s.OfferingId != nil && len(*s.OfferingId) < 1 {
13803		invalidParams.Add(request.NewErrParamMinLen("OfferingId", 1))
13804	}
13805
13806	if invalidParams.Len() > 0 {
13807		return invalidParams
13808	}
13809	return nil
13810}
13811
13812// SetCount sets the Count field's value.
13813func (s *PurchaseOfferingInput) SetCount(v int64) *PurchaseOfferingInput {
13814	s.Count = &v
13815	return s
13816}
13817
13818// SetName sets the Name field's value.
13819func (s *PurchaseOfferingInput) SetName(v string) *PurchaseOfferingInput {
13820	s.Name = &v
13821	return s
13822}
13823
13824// SetOfferingId sets the OfferingId field's value.
13825func (s *PurchaseOfferingInput) SetOfferingId(v string) *PurchaseOfferingInput {
13826	s.OfferingId = &v
13827	return s
13828}
13829
13830// SetRequestId sets the RequestId field's value.
13831func (s *PurchaseOfferingInput) SetRequestId(v string) *PurchaseOfferingInput {
13832	s.RequestId = &v
13833	return s
13834}
13835
13836// SetStart sets the Start field's value.
13837func (s *PurchaseOfferingInput) SetStart(v string) *PurchaseOfferingInput {
13838	s.Start = &v
13839	return s
13840}
13841
13842// SetTags sets the Tags field's value.
13843func (s *PurchaseOfferingInput) SetTags(v map[string]*string) *PurchaseOfferingInput {
13844	s.Tags = v
13845	return s
13846}
13847
13848type PurchaseOfferingOutput struct {
13849	_ struct{} `type:"structure"`
13850
13851	// Reserved resources available to use
13852	Reservation *Reservation `locationName:"reservation" type:"structure"`
13853}
13854
13855// String returns the string representation
13856func (s PurchaseOfferingOutput) String() string {
13857	return awsutil.Prettify(s)
13858}
13859
13860// GoString returns the string representation
13861func (s PurchaseOfferingOutput) GoString() string {
13862	return s.String()
13863}
13864
13865// SetReservation sets the Reservation field's value.
13866func (s *PurchaseOfferingOutput) SetReservation(v *Reservation) *PurchaseOfferingOutput {
13867	s.Reservation = v
13868	return s
13869}
13870
13871// Remix Settings
13872type RemixSettings struct {
13873	_ struct{} `type:"structure"`
13874
13875	// Mapping of input channels to output channels, with appropriate gain adjustments.
13876	//
13877	// ChannelMappings is a required field
13878	ChannelMappings []*AudioChannelMapping `locationName:"channelMappings" type:"list" required:"true"`
13879
13880	// Number of input channels to be used.
13881	ChannelsIn *int64 `locationName:"channelsIn" min:"1" type:"integer"`
13882
13883	// Number of output channels to be produced.Valid values: 1, 2, 4, 6, 8
13884	ChannelsOut *int64 `locationName:"channelsOut" min:"1" type:"integer"`
13885}
13886
13887// String returns the string representation
13888func (s RemixSettings) String() string {
13889	return awsutil.Prettify(s)
13890}
13891
13892// GoString returns the string representation
13893func (s RemixSettings) GoString() string {
13894	return s.String()
13895}
13896
13897// Validate inspects the fields of the type to determine if they are valid.
13898func (s *RemixSettings) Validate() error {
13899	invalidParams := request.ErrInvalidParams{Context: "RemixSettings"}
13900	if s.ChannelMappings == nil {
13901		invalidParams.Add(request.NewErrParamRequired("ChannelMappings"))
13902	}
13903	if s.ChannelsIn != nil && *s.ChannelsIn < 1 {
13904		invalidParams.Add(request.NewErrParamMinValue("ChannelsIn", 1))
13905	}
13906	if s.ChannelsOut != nil && *s.ChannelsOut < 1 {
13907		invalidParams.Add(request.NewErrParamMinValue("ChannelsOut", 1))
13908	}
13909	if s.ChannelMappings != nil {
13910		for i, v := range s.ChannelMappings {
13911			if v == nil {
13912				continue
13913			}
13914			if err := v.Validate(); err != nil {
13915				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ChannelMappings", i), err.(request.ErrInvalidParams))
13916			}
13917		}
13918	}
13919
13920	if invalidParams.Len() > 0 {
13921		return invalidParams
13922	}
13923	return nil
13924}
13925
13926// SetChannelMappings sets the ChannelMappings field's value.
13927func (s *RemixSettings) SetChannelMappings(v []*AudioChannelMapping) *RemixSettings {
13928	s.ChannelMappings = v
13929	return s
13930}
13931
13932// SetChannelsIn sets the ChannelsIn field's value.
13933func (s *RemixSettings) SetChannelsIn(v int64) *RemixSettings {
13934	s.ChannelsIn = &v
13935	return s
13936}
13937
13938// SetChannelsOut sets the ChannelsOut field's value.
13939func (s *RemixSettings) SetChannelsOut(v int64) *RemixSettings {
13940	s.ChannelsOut = &v
13941	return s
13942}
13943
13944// Reserved resources available to use
13945type Reservation struct {
13946	_ struct{} `type:"structure"`
13947
13948	// Unique reservation ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:reservation:1234567'
13949	Arn *string `locationName:"arn" type:"string"`
13950
13951	// Number of reserved resources
13952	Count *int64 `locationName:"count" type:"integer"`
13953
13954	// Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'
13955	CurrencyCode *string `locationName:"currencyCode" type:"string"`
13956
13957	// Lease duration, e.g. '12'
13958	Duration *int64 `locationName:"duration" type:"integer"`
13959
13960	// Units for duration, e.g. 'MONTHS'
13961	DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"`
13962
13963	// Reservation UTC end date and time in ISO-8601 format, e.g. '2019-03-01T00:00:00'
13964	End *string `locationName:"end" type:"string"`
13965
13966	// One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering
13967	FixedPrice *float64 `locationName:"fixedPrice" type:"double"`
13968
13969	// User specified reservation name
13970	Name *string `locationName:"name" type:"string"`
13971
13972	// Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard
13973	// VQ in US West (Oregon)'
13974	OfferingDescription *string `locationName:"offeringDescription" type:"string"`
13975
13976	// Unique offering ID, e.g. '87654321'
13977	OfferingId *string `locationName:"offeringId" type:"string"`
13978
13979	// Offering type, e.g. 'NO_UPFRONT'
13980	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"`
13981
13982	// AWS region, e.g. 'us-west-2'
13983	Region *string `locationName:"region" type:"string"`
13984
13985	// Unique reservation ID, e.g. '1234567'
13986	ReservationId *string `locationName:"reservationId" type:"string"`
13987
13988	// Resource configuration details
13989	ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"`
13990
13991	// Reservation UTC start date and time in ISO-8601 format, e.g. '2018-03-01T00:00:00'
13992	Start *string `locationName:"start" type:"string"`
13993
13994	// Current state of reservation, e.g. 'ACTIVE'
13995	State *string `locationName:"state" type:"string" enum:"ReservationState"`
13996
13997	// A collection of key-value pairs
13998	Tags map[string]*string `locationName:"tags" type:"map"`
13999
14000	// Recurring usage charge for each reserved resource, e.g. '157.0'
14001	UsagePrice *float64 `locationName:"usagePrice" type:"double"`
14002}
14003
14004// String returns the string representation
14005func (s Reservation) String() string {
14006	return awsutil.Prettify(s)
14007}
14008
14009// GoString returns the string representation
14010func (s Reservation) GoString() string {
14011	return s.String()
14012}
14013
14014// SetArn sets the Arn field's value.
14015func (s *Reservation) SetArn(v string) *Reservation {
14016	s.Arn = &v
14017	return s
14018}
14019
14020// SetCount sets the Count field's value.
14021func (s *Reservation) SetCount(v int64) *Reservation {
14022	s.Count = &v
14023	return s
14024}
14025
14026// SetCurrencyCode sets the CurrencyCode field's value.
14027func (s *Reservation) SetCurrencyCode(v string) *Reservation {
14028	s.CurrencyCode = &v
14029	return s
14030}
14031
14032// SetDuration sets the Duration field's value.
14033func (s *Reservation) SetDuration(v int64) *Reservation {
14034	s.Duration = &v
14035	return s
14036}
14037
14038// SetDurationUnits sets the DurationUnits field's value.
14039func (s *Reservation) SetDurationUnits(v string) *Reservation {
14040	s.DurationUnits = &v
14041	return s
14042}
14043
14044// SetEnd sets the End field's value.
14045func (s *Reservation) SetEnd(v string) *Reservation {
14046	s.End = &v
14047	return s
14048}
14049
14050// SetFixedPrice sets the FixedPrice field's value.
14051func (s *Reservation) SetFixedPrice(v float64) *Reservation {
14052	s.FixedPrice = &v
14053	return s
14054}
14055
14056// SetName sets the Name field's value.
14057func (s *Reservation) SetName(v string) *Reservation {
14058	s.Name = &v
14059	return s
14060}
14061
14062// SetOfferingDescription sets the OfferingDescription field's value.
14063func (s *Reservation) SetOfferingDescription(v string) *Reservation {
14064	s.OfferingDescription = &v
14065	return s
14066}
14067
14068// SetOfferingId sets the OfferingId field's value.
14069func (s *Reservation) SetOfferingId(v string) *Reservation {
14070	s.OfferingId = &v
14071	return s
14072}
14073
14074// SetOfferingType sets the OfferingType field's value.
14075func (s *Reservation) SetOfferingType(v string) *Reservation {
14076	s.OfferingType = &v
14077	return s
14078}
14079
14080// SetRegion sets the Region field's value.
14081func (s *Reservation) SetRegion(v string) *Reservation {
14082	s.Region = &v
14083	return s
14084}
14085
14086// SetReservationId sets the ReservationId field's value.
14087func (s *Reservation) SetReservationId(v string) *Reservation {
14088	s.ReservationId = &v
14089	return s
14090}
14091
14092// SetResourceSpecification sets the ResourceSpecification field's value.
14093func (s *Reservation) SetResourceSpecification(v *ReservationResourceSpecification) *Reservation {
14094	s.ResourceSpecification = v
14095	return s
14096}
14097
14098// SetStart sets the Start field's value.
14099func (s *Reservation) SetStart(v string) *Reservation {
14100	s.Start = &v
14101	return s
14102}
14103
14104// SetState sets the State field's value.
14105func (s *Reservation) SetState(v string) *Reservation {
14106	s.State = &v
14107	return s
14108}
14109
14110// SetTags sets the Tags field's value.
14111func (s *Reservation) SetTags(v map[string]*string) *Reservation {
14112	s.Tags = v
14113	return s
14114}
14115
14116// SetUsagePrice sets the UsagePrice field's value.
14117func (s *Reservation) SetUsagePrice(v float64) *Reservation {
14118	s.UsagePrice = &v
14119	return s
14120}
14121
14122// Resource configuration (codec, resolution, bitrate, ...)
14123type ReservationResourceSpecification struct {
14124	_ struct{} `type:"structure"`
14125
14126	// Channel class, e.g. 'STANDARD'
14127	ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"`
14128
14129	// Codec, e.g. 'AVC'
14130	Codec *string `locationName:"codec" type:"string" enum:"ReservationCodec"`
14131
14132	// Maximum bitrate, e.g. 'MAX_20_MBPS'
14133	MaximumBitrate *string `locationName:"maximumBitrate" type:"string" enum:"ReservationMaximumBitrate"`
14134
14135	// Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
14136	MaximumFramerate *string `locationName:"maximumFramerate" type:"string" enum:"ReservationMaximumFramerate"`
14137
14138	// Resolution, e.g. 'HD'
14139	Resolution *string `locationName:"resolution" type:"string" enum:"ReservationResolution"`
14140
14141	// Resource type, 'INPUT', 'OUTPUT', or 'CHANNEL'
14142	ResourceType *string `locationName:"resourceType" type:"string" enum:"ReservationResourceType"`
14143
14144	// Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only)
14145	SpecialFeature *string `locationName:"specialFeature" type:"string" enum:"ReservationSpecialFeature"`
14146
14147	// Video quality, e.g. 'STANDARD' (Outputs only)
14148	VideoQuality *string `locationName:"videoQuality" type:"string" enum:"ReservationVideoQuality"`
14149}
14150
14151// String returns the string representation
14152func (s ReservationResourceSpecification) String() string {
14153	return awsutil.Prettify(s)
14154}
14155
14156// GoString returns the string representation
14157func (s ReservationResourceSpecification) GoString() string {
14158	return s.String()
14159}
14160
14161// SetChannelClass sets the ChannelClass field's value.
14162func (s *ReservationResourceSpecification) SetChannelClass(v string) *ReservationResourceSpecification {
14163	s.ChannelClass = &v
14164	return s
14165}
14166
14167// SetCodec sets the Codec field's value.
14168func (s *ReservationResourceSpecification) SetCodec(v string) *ReservationResourceSpecification {
14169	s.Codec = &v
14170	return s
14171}
14172
14173// SetMaximumBitrate sets the MaximumBitrate field's value.
14174func (s *ReservationResourceSpecification) SetMaximumBitrate(v string) *ReservationResourceSpecification {
14175	s.MaximumBitrate = &v
14176	return s
14177}
14178
14179// SetMaximumFramerate sets the MaximumFramerate field's value.
14180func (s *ReservationResourceSpecification) SetMaximumFramerate(v string) *ReservationResourceSpecification {
14181	s.MaximumFramerate = &v
14182	return s
14183}
14184
14185// SetResolution sets the Resolution field's value.
14186func (s *ReservationResourceSpecification) SetResolution(v string) *ReservationResourceSpecification {
14187	s.Resolution = &v
14188	return s
14189}
14190
14191// SetResourceType sets the ResourceType field's value.
14192func (s *ReservationResourceSpecification) SetResourceType(v string) *ReservationResourceSpecification {
14193	s.ResourceType = &v
14194	return s
14195}
14196
14197// SetSpecialFeature sets the SpecialFeature field's value.
14198func (s *ReservationResourceSpecification) SetSpecialFeature(v string) *ReservationResourceSpecification {
14199	s.SpecialFeature = &v
14200	return s
14201}
14202
14203// SetVideoQuality sets the VideoQuality field's value.
14204func (s *ReservationResourceSpecification) SetVideoQuality(v string) *ReservationResourceSpecification {
14205	s.VideoQuality = &v
14206	return s
14207}
14208
14209// Rtmp Caption Info Destination Settings
14210type RtmpCaptionInfoDestinationSettings struct {
14211	_ struct{} `type:"structure"`
14212}
14213
14214// String returns the string representation
14215func (s RtmpCaptionInfoDestinationSettings) String() string {
14216	return awsutil.Prettify(s)
14217}
14218
14219// GoString returns the string representation
14220func (s RtmpCaptionInfoDestinationSettings) GoString() string {
14221	return s.String()
14222}
14223
14224// Rtmp Group Settings
14225type RtmpGroupSettings struct {
14226	_ struct{} `type:"structure"`
14227
14228	// Authentication scheme to use when connecting with CDN
14229	AuthenticationScheme *string `locationName:"authenticationScheme" type:"string" enum:"AuthenticationScheme"`
14230
14231	// Controls behavior when content cache fills up. If remote origin server stalls
14232	// the RTMP connection and does not accept content fast enough the 'Media Cache'
14233	// will fill up. When the cache reaches the duration specified by cacheLength
14234	// the cache will stop accepting new content. If set to disconnectImmediately,
14235	// the RTMP output will force a disconnect. Clear the media cache, and reconnect
14236	// after restartDelay seconds. If set to waitForServer, the RTMP output will
14237	// wait up to 5 minutes to allow the origin server to begin accepting data again.
14238	CacheFullBehavior *string `locationName:"cacheFullBehavior" type:"string" enum:"RtmpCacheFullBehavior"`
14239
14240	// Cache length, in seconds, is used to calculate buffer size.
14241	CacheLength *int64 `locationName:"cacheLength" min:"30" type:"integer"`
14242
14243	// Controls the types of data that passes to onCaptionInfo outputs. If set to
14244	// 'all' then 608 and 708 carried DTVCC data will be passed. If set to 'field1AndField2608'
14245	// then DTVCC data will be stripped out, but 608 data from both fields will
14246	// be passed. If set to 'field1608' then only the data carried in 608 from field
14247	// 1 video will be passed.
14248	CaptionData *string `locationName:"captionData" type:"string" enum:"RtmpCaptionData"`
14249
14250	// Controls the behavior of this RTMP group if input becomes unavailable.- emitOutput:
14251	// Emit a slate until input returns.- pauseOutput: Stop transmitting data until
14252	// input returns. This does not close the underlying RTMP connection.
14253	InputLossAction *string `locationName:"inputLossAction" type:"string" enum:"InputLossActionForRtmpOut"`
14254
14255	// If a streaming output fails, number of seconds to wait until a restart is
14256	// initiated. A value of 0 means never restart.
14257	RestartDelay *int64 `locationName:"restartDelay" type:"integer"`
14258}
14259
14260// String returns the string representation
14261func (s RtmpGroupSettings) String() string {
14262	return awsutil.Prettify(s)
14263}
14264
14265// GoString returns the string representation
14266func (s RtmpGroupSettings) GoString() string {
14267	return s.String()
14268}
14269
14270// Validate inspects the fields of the type to determine if they are valid.
14271func (s *RtmpGroupSettings) Validate() error {
14272	invalidParams := request.ErrInvalidParams{Context: "RtmpGroupSettings"}
14273	if s.CacheLength != nil && *s.CacheLength < 30 {
14274		invalidParams.Add(request.NewErrParamMinValue("CacheLength", 30))
14275	}
14276
14277	if invalidParams.Len() > 0 {
14278		return invalidParams
14279	}
14280	return nil
14281}
14282
14283// SetAuthenticationScheme sets the AuthenticationScheme field's value.
14284func (s *RtmpGroupSettings) SetAuthenticationScheme(v string) *RtmpGroupSettings {
14285	s.AuthenticationScheme = &v
14286	return s
14287}
14288
14289// SetCacheFullBehavior sets the CacheFullBehavior field's value.
14290func (s *RtmpGroupSettings) SetCacheFullBehavior(v string) *RtmpGroupSettings {
14291	s.CacheFullBehavior = &v
14292	return s
14293}
14294
14295// SetCacheLength sets the CacheLength field's value.
14296func (s *RtmpGroupSettings) SetCacheLength(v int64) *RtmpGroupSettings {
14297	s.CacheLength = &v
14298	return s
14299}
14300
14301// SetCaptionData sets the CaptionData field's value.
14302func (s *RtmpGroupSettings) SetCaptionData(v string) *RtmpGroupSettings {
14303	s.CaptionData = &v
14304	return s
14305}
14306
14307// SetInputLossAction sets the InputLossAction field's value.
14308func (s *RtmpGroupSettings) SetInputLossAction(v string) *RtmpGroupSettings {
14309	s.InputLossAction = &v
14310	return s
14311}
14312
14313// SetRestartDelay sets the RestartDelay field's value.
14314func (s *RtmpGroupSettings) SetRestartDelay(v int64) *RtmpGroupSettings {
14315	s.RestartDelay = &v
14316	return s
14317}
14318
14319// Rtmp Output Settings
14320type RtmpOutputSettings struct {
14321	_ struct{} `type:"structure"`
14322
14323	// If set to verifyAuthenticity, verify the tls certificate chain to a trusted
14324	// Certificate Authority (CA). This will cause rtmps outputs with self-signed
14325	// certificates to fail.
14326	CertificateMode *string `locationName:"certificateMode" type:"string" enum:"RtmpOutputCertificateMode"`
14327
14328	// Number of seconds to wait before retrying a connection to the Flash Media
14329	// server if the connection is lost.
14330	ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" min:"1" type:"integer"`
14331
14332	// The RTMP endpoint excluding the stream name (eg. rtmp://host/appname). For
14333	// connection to Akamai, a username and password must be supplied. URI fields
14334	// accept format identifiers.
14335	//
14336	// Destination is a required field
14337	Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"`
14338
14339	// Number of retry attempts.
14340	NumRetries *int64 `locationName:"numRetries" type:"integer"`
14341}
14342
14343// String returns the string representation
14344func (s RtmpOutputSettings) String() string {
14345	return awsutil.Prettify(s)
14346}
14347
14348// GoString returns the string representation
14349func (s RtmpOutputSettings) GoString() string {
14350	return s.String()
14351}
14352
14353// Validate inspects the fields of the type to determine if they are valid.
14354func (s *RtmpOutputSettings) Validate() error {
14355	invalidParams := request.ErrInvalidParams{Context: "RtmpOutputSettings"}
14356	if s.ConnectionRetryInterval != nil && *s.ConnectionRetryInterval < 1 {
14357		invalidParams.Add(request.NewErrParamMinValue("ConnectionRetryInterval", 1))
14358	}
14359	if s.Destination == nil {
14360		invalidParams.Add(request.NewErrParamRequired("Destination"))
14361	}
14362
14363	if invalidParams.Len() > 0 {
14364		return invalidParams
14365	}
14366	return nil
14367}
14368
14369// SetCertificateMode sets the CertificateMode field's value.
14370func (s *RtmpOutputSettings) SetCertificateMode(v string) *RtmpOutputSettings {
14371	s.CertificateMode = &v
14372	return s
14373}
14374
14375// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value.
14376func (s *RtmpOutputSettings) SetConnectionRetryInterval(v int64) *RtmpOutputSettings {
14377	s.ConnectionRetryInterval = &v
14378	return s
14379}
14380
14381// SetDestination sets the Destination field's value.
14382func (s *RtmpOutputSettings) SetDestination(v *OutputLocationRef) *RtmpOutputSettings {
14383	s.Destination = v
14384	return s
14385}
14386
14387// SetNumRetries sets the NumRetries field's value.
14388func (s *RtmpOutputSettings) SetNumRetries(v int64) *RtmpOutputSettings {
14389	s.NumRetries = &v
14390	return s
14391}
14392
14393// Contains information on a single schedule action.
14394type ScheduleAction struct {
14395	_ struct{} `type:"structure"`
14396
14397	// The name of the action, must be unique within the schedule. This name provides
14398	// the main reference to an action once it is added to the schedule. A name
14399	// is unique if it is no longer in the schedule. The schedule is automatically
14400	// cleaned up to remove actions with a start time of more than 1 hour ago (approximately)
14401	// so at that point a name can be reused.
14402	//
14403	// ActionName is a required field
14404	ActionName *string `locationName:"actionName" type:"string" required:"true"`
14405
14406	// Settings for this schedule action.
14407	//
14408	// ScheduleActionSettings is a required field
14409	ScheduleActionSettings *ScheduleActionSettings `locationName:"scheduleActionSettings" type:"structure" required:"true"`
14410
14411	// The time for the action to start in the channel.
14412	//
14413	// ScheduleActionStartSettings is a required field
14414	ScheduleActionStartSettings *ScheduleActionStartSettings `locationName:"scheduleActionStartSettings" type:"structure" required:"true"`
14415}
14416
14417// String returns the string representation
14418func (s ScheduleAction) String() string {
14419	return awsutil.Prettify(s)
14420}
14421
14422// GoString returns the string representation
14423func (s ScheduleAction) GoString() string {
14424	return s.String()
14425}
14426
14427// Validate inspects the fields of the type to determine if they are valid.
14428func (s *ScheduleAction) Validate() error {
14429	invalidParams := request.ErrInvalidParams{Context: "ScheduleAction"}
14430	if s.ActionName == nil {
14431		invalidParams.Add(request.NewErrParamRequired("ActionName"))
14432	}
14433	if s.ScheduleActionSettings == nil {
14434		invalidParams.Add(request.NewErrParamRequired("ScheduleActionSettings"))
14435	}
14436	if s.ScheduleActionStartSettings == nil {
14437		invalidParams.Add(request.NewErrParamRequired("ScheduleActionStartSettings"))
14438	}
14439	if s.ScheduleActionSettings != nil {
14440		if err := s.ScheduleActionSettings.Validate(); err != nil {
14441			invalidParams.AddNested("ScheduleActionSettings", err.(request.ErrInvalidParams))
14442		}
14443	}
14444	if s.ScheduleActionStartSettings != nil {
14445		if err := s.ScheduleActionStartSettings.Validate(); err != nil {
14446			invalidParams.AddNested("ScheduleActionStartSettings", err.(request.ErrInvalidParams))
14447		}
14448	}
14449
14450	if invalidParams.Len() > 0 {
14451		return invalidParams
14452	}
14453	return nil
14454}
14455
14456// SetActionName sets the ActionName field's value.
14457func (s *ScheduleAction) SetActionName(v string) *ScheduleAction {
14458	s.ActionName = &v
14459	return s
14460}
14461
14462// SetScheduleActionSettings sets the ScheduleActionSettings field's value.
14463func (s *ScheduleAction) SetScheduleActionSettings(v *ScheduleActionSettings) *ScheduleAction {
14464	s.ScheduleActionSettings = v
14465	return s
14466}
14467
14468// SetScheduleActionStartSettings sets the ScheduleActionStartSettings field's value.
14469func (s *ScheduleAction) SetScheduleActionStartSettings(v *ScheduleActionStartSettings) *ScheduleAction {
14470	s.ScheduleActionStartSettings = v
14471	return s
14472}
14473
14474// Holds the settings for a single schedule action.
14475type ScheduleActionSettings struct {
14476	_ struct{} `type:"structure"`
14477
14478	// Action to insert HLS metadata
14479	HlsTimedMetadataSettings *HlsTimedMetadataScheduleActionSettings `locationName:"hlsTimedMetadataSettings" type:"structure"`
14480
14481	// Action to switch the input
14482	InputSwitchSettings *InputSwitchScheduleActionSettings `locationName:"inputSwitchSettings" type:"structure"`
14483
14484	// Action to pause or unpause one or both channel pipelines
14485	PauseStateSettings *PauseStateScheduleActionSettings `locationName:"pauseStateSettings" type:"structure"`
14486
14487	// Action to insert SCTE-35 return_to_network message
14488	Scte35ReturnToNetworkSettings *Scte35ReturnToNetworkScheduleActionSettings `locationName:"scte35ReturnToNetworkSettings" type:"structure"`
14489
14490	// Action to insert SCTE-35 splice_insert message
14491	Scte35SpliceInsertSettings *Scte35SpliceInsertScheduleActionSettings `locationName:"scte35SpliceInsertSettings" type:"structure"`
14492
14493	// Action to insert SCTE-35 time_signal message
14494	Scte35TimeSignalSettings *Scte35TimeSignalScheduleActionSettings `locationName:"scte35TimeSignalSettings" type:"structure"`
14495
14496	// Action to activate a static image overlay
14497	StaticImageActivateSettings *StaticImageActivateScheduleActionSettings `locationName:"staticImageActivateSettings" type:"structure"`
14498
14499	// Action to deactivate a static image overlay
14500	StaticImageDeactivateSettings *StaticImageDeactivateScheduleActionSettings `locationName:"staticImageDeactivateSettings" type:"structure"`
14501}
14502
14503// String returns the string representation
14504func (s ScheduleActionSettings) String() string {
14505	return awsutil.Prettify(s)
14506}
14507
14508// GoString returns the string representation
14509func (s ScheduleActionSettings) GoString() string {
14510	return s.String()
14511}
14512
14513// Validate inspects the fields of the type to determine if they are valid.
14514func (s *ScheduleActionSettings) Validate() error {
14515	invalidParams := request.ErrInvalidParams{Context: "ScheduleActionSettings"}
14516	if s.HlsTimedMetadataSettings != nil {
14517		if err := s.HlsTimedMetadataSettings.Validate(); err != nil {
14518			invalidParams.AddNested("HlsTimedMetadataSettings", err.(request.ErrInvalidParams))
14519		}
14520	}
14521	if s.InputSwitchSettings != nil {
14522		if err := s.InputSwitchSettings.Validate(); err != nil {
14523			invalidParams.AddNested("InputSwitchSettings", err.(request.ErrInvalidParams))
14524		}
14525	}
14526	if s.PauseStateSettings != nil {
14527		if err := s.PauseStateSettings.Validate(); err != nil {
14528			invalidParams.AddNested("PauseStateSettings", err.(request.ErrInvalidParams))
14529		}
14530	}
14531	if s.Scte35ReturnToNetworkSettings != nil {
14532		if err := s.Scte35ReturnToNetworkSettings.Validate(); err != nil {
14533			invalidParams.AddNested("Scte35ReturnToNetworkSettings", err.(request.ErrInvalidParams))
14534		}
14535	}
14536	if s.Scte35SpliceInsertSettings != nil {
14537		if err := s.Scte35SpliceInsertSettings.Validate(); err != nil {
14538			invalidParams.AddNested("Scte35SpliceInsertSettings", err.(request.ErrInvalidParams))
14539		}
14540	}
14541	if s.Scte35TimeSignalSettings != nil {
14542		if err := s.Scte35TimeSignalSettings.Validate(); err != nil {
14543			invalidParams.AddNested("Scte35TimeSignalSettings", err.(request.ErrInvalidParams))
14544		}
14545	}
14546	if s.StaticImageActivateSettings != nil {
14547		if err := s.StaticImageActivateSettings.Validate(); err != nil {
14548			invalidParams.AddNested("StaticImageActivateSettings", err.(request.ErrInvalidParams))
14549		}
14550	}
14551
14552	if invalidParams.Len() > 0 {
14553		return invalidParams
14554	}
14555	return nil
14556}
14557
14558// SetHlsTimedMetadataSettings sets the HlsTimedMetadataSettings field's value.
14559func (s *ScheduleActionSettings) SetHlsTimedMetadataSettings(v *HlsTimedMetadataScheduleActionSettings) *ScheduleActionSettings {
14560	s.HlsTimedMetadataSettings = v
14561	return s
14562}
14563
14564// SetInputSwitchSettings sets the InputSwitchSettings field's value.
14565func (s *ScheduleActionSettings) SetInputSwitchSettings(v *InputSwitchScheduleActionSettings) *ScheduleActionSettings {
14566	s.InputSwitchSettings = v
14567	return s
14568}
14569
14570// SetPauseStateSettings sets the PauseStateSettings field's value.
14571func (s *ScheduleActionSettings) SetPauseStateSettings(v *PauseStateScheduleActionSettings) *ScheduleActionSettings {
14572	s.PauseStateSettings = v
14573	return s
14574}
14575
14576// SetScte35ReturnToNetworkSettings sets the Scte35ReturnToNetworkSettings field's value.
14577func (s *ScheduleActionSettings) SetScte35ReturnToNetworkSettings(v *Scte35ReturnToNetworkScheduleActionSettings) *ScheduleActionSettings {
14578	s.Scte35ReturnToNetworkSettings = v
14579	return s
14580}
14581
14582// SetScte35SpliceInsertSettings sets the Scte35SpliceInsertSettings field's value.
14583func (s *ScheduleActionSettings) SetScte35SpliceInsertSettings(v *Scte35SpliceInsertScheduleActionSettings) *ScheduleActionSettings {
14584	s.Scte35SpliceInsertSettings = v
14585	return s
14586}
14587
14588// SetScte35TimeSignalSettings sets the Scte35TimeSignalSettings field's value.
14589func (s *ScheduleActionSettings) SetScte35TimeSignalSettings(v *Scte35TimeSignalScheduleActionSettings) *ScheduleActionSettings {
14590	s.Scte35TimeSignalSettings = v
14591	return s
14592}
14593
14594// SetStaticImageActivateSettings sets the StaticImageActivateSettings field's value.
14595func (s *ScheduleActionSettings) SetStaticImageActivateSettings(v *StaticImageActivateScheduleActionSettings) *ScheduleActionSettings {
14596	s.StaticImageActivateSettings = v
14597	return s
14598}
14599
14600// SetStaticImageDeactivateSettings sets the StaticImageDeactivateSettings field's value.
14601func (s *ScheduleActionSettings) SetStaticImageDeactivateSettings(v *StaticImageDeactivateScheduleActionSettings) *ScheduleActionSettings {
14602	s.StaticImageDeactivateSettings = v
14603	return s
14604}
14605
14606// Settings to specify the start time for an action.
14607type ScheduleActionStartSettings struct {
14608	_ struct{} `type:"structure"`
14609
14610	// Holds the start time for the action.
14611	FixedModeScheduleActionStartSettings *FixedModeScheduleActionStartSettings `locationName:"fixedModeScheduleActionStartSettings" type:"structure"`
14612
14613	// Specifies an action to follow for scheduling this action.
14614	FollowModeScheduleActionStartSettings *FollowModeScheduleActionStartSettings `locationName:"followModeScheduleActionStartSettings" type:"structure"`
14615}
14616
14617// String returns the string representation
14618func (s ScheduleActionStartSettings) String() string {
14619	return awsutil.Prettify(s)
14620}
14621
14622// GoString returns the string representation
14623func (s ScheduleActionStartSettings) GoString() string {
14624	return s.String()
14625}
14626
14627// Validate inspects the fields of the type to determine if they are valid.
14628func (s *ScheduleActionStartSettings) Validate() error {
14629	invalidParams := request.ErrInvalidParams{Context: "ScheduleActionStartSettings"}
14630	if s.FixedModeScheduleActionStartSettings != nil {
14631		if err := s.FixedModeScheduleActionStartSettings.Validate(); err != nil {
14632			invalidParams.AddNested("FixedModeScheduleActionStartSettings", err.(request.ErrInvalidParams))
14633		}
14634	}
14635	if s.FollowModeScheduleActionStartSettings != nil {
14636		if err := s.FollowModeScheduleActionStartSettings.Validate(); err != nil {
14637			invalidParams.AddNested("FollowModeScheduleActionStartSettings", err.(request.ErrInvalidParams))
14638		}
14639	}
14640
14641	if invalidParams.Len() > 0 {
14642		return invalidParams
14643	}
14644	return nil
14645}
14646
14647// SetFixedModeScheduleActionStartSettings sets the FixedModeScheduleActionStartSettings field's value.
14648func (s *ScheduleActionStartSettings) SetFixedModeScheduleActionStartSettings(v *FixedModeScheduleActionStartSettings) *ScheduleActionStartSettings {
14649	s.FixedModeScheduleActionStartSettings = v
14650	return s
14651}
14652
14653// SetFollowModeScheduleActionStartSettings sets the FollowModeScheduleActionStartSettings field's value.
14654func (s *ScheduleActionStartSettings) SetFollowModeScheduleActionStartSettings(v *FollowModeScheduleActionStartSettings) *ScheduleActionStartSettings {
14655	s.FollowModeScheduleActionStartSettings = v
14656	return s
14657}
14658
14659// Scte20 Plus Embedded Destination Settings
14660type Scte20PlusEmbeddedDestinationSettings struct {
14661	_ struct{} `type:"structure"`
14662}
14663
14664// String returns the string representation
14665func (s Scte20PlusEmbeddedDestinationSettings) String() string {
14666	return awsutil.Prettify(s)
14667}
14668
14669// GoString returns the string representation
14670func (s Scte20PlusEmbeddedDestinationSettings) GoString() string {
14671	return s.String()
14672}
14673
14674// Scte20 Source Settings
14675type Scte20SourceSettings struct {
14676	_ struct{} `type:"structure"`
14677
14678	// If upconvert, 608 data is both passed through via the "608 compatibility
14679	// bytes" fields of the 708 wrapper as well as translated into 708. 708 data
14680	// present in the source content will be discarded.
14681	Convert608To708 *string `locationName:"convert608To708" type:"string" enum:"Scte20Convert608To708"`
14682
14683	// Specifies the 608/708 channel number within the video track from which to
14684	// extract captions. Unused for passthrough.
14685	Source608ChannelNumber *int64 `locationName:"source608ChannelNumber" min:"1" type:"integer"`
14686}
14687
14688// String returns the string representation
14689func (s Scte20SourceSettings) String() string {
14690	return awsutil.Prettify(s)
14691}
14692
14693// GoString returns the string representation
14694func (s Scte20SourceSettings) GoString() string {
14695	return s.String()
14696}
14697
14698// Validate inspects the fields of the type to determine if they are valid.
14699func (s *Scte20SourceSettings) Validate() error {
14700	invalidParams := request.ErrInvalidParams{Context: "Scte20SourceSettings"}
14701	if s.Source608ChannelNumber != nil && *s.Source608ChannelNumber < 1 {
14702		invalidParams.Add(request.NewErrParamMinValue("Source608ChannelNumber", 1))
14703	}
14704
14705	if invalidParams.Len() > 0 {
14706		return invalidParams
14707	}
14708	return nil
14709}
14710
14711// SetConvert608To708 sets the Convert608To708 field's value.
14712func (s *Scte20SourceSettings) SetConvert608To708(v string) *Scte20SourceSettings {
14713	s.Convert608To708 = &v
14714	return s
14715}
14716
14717// SetSource608ChannelNumber sets the Source608ChannelNumber field's value.
14718func (s *Scte20SourceSettings) SetSource608ChannelNumber(v int64) *Scte20SourceSettings {
14719	s.Source608ChannelNumber = &v
14720	return s
14721}
14722
14723// Scte27 Destination Settings
14724type Scte27DestinationSettings struct {
14725	_ struct{} `type:"structure"`
14726}
14727
14728// String returns the string representation
14729func (s Scte27DestinationSettings) String() string {
14730	return awsutil.Prettify(s)
14731}
14732
14733// GoString returns the string representation
14734func (s Scte27DestinationSettings) GoString() string {
14735	return s.String()
14736}
14737
14738// Scte27 Source Settings
14739type Scte27SourceSettings struct {
14740	_ struct{} `type:"structure"`
14741
14742	// The pid field is used in conjunction with the caption selector languageCode
14743	// field as follows: - Specify PID and Language: Extracts captions from that
14744	// PID; the language is "informational". - Specify PID and omit Language: Extracts
14745	// the specified PID. - Omit PID and specify Language: Extracts the specified
14746	// language, whichever PID that happens to be. - Omit PID and omit Language:
14747	// Valid only if source is DVB-Sub that is being passed through; all languages
14748	// will be passed through.
14749	Pid *int64 `locationName:"pid" min:"1" type:"integer"`
14750}
14751
14752// String returns the string representation
14753func (s Scte27SourceSettings) String() string {
14754	return awsutil.Prettify(s)
14755}
14756
14757// GoString returns the string representation
14758func (s Scte27SourceSettings) GoString() string {
14759	return s.String()
14760}
14761
14762// Validate inspects the fields of the type to determine if they are valid.
14763func (s *Scte27SourceSettings) Validate() error {
14764	invalidParams := request.ErrInvalidParams{Context: "Scte27SourceSettings"}
14765	if s.Pid != nil && *s.Pid < 1 {
14766		invalidParams.Add(request.NewErrParamMinValue("Pid", 1))
14767	}
14768
14769	if invalidParams.Len() > 0 {
14770		return invalidParams
14771	}
14772	return nil
14773}
14774
14775// SetPid sets the Pid field's value.
14776func (s *Scte27SourceSettings) SetPid(v int64) *Scte27SourceSettings {
14777	s.Pid = &v
14778	return s
14779}
14780
14781// Corresponds to SCTE-35 delivery_not_restricted_flag parameter. To declare
14782// delivery restrictions, include this element and its four "restriction" flags.
14783// To declare that there are no restrictions, omit this element.
14784type Scte35DeliveryRestrictions struct {
14785	_ struct{} `type:"structure"`
14786
14787	// Corresponds to SCTE-35 archive_allowed_flag.
14788	//
14789	// ArchiveAllowedFlag is a required field
14790	ArchiveAllowedFlag *string `locationName:"archiveAllowedFlag" type:"string" required:"true" enum:"Scte35ArchiveAllowedFlag"`
14791
14792	// Corresponds to SCTE-35 device_restrictions parameter.
14793	//
14794	// DeviceRestrictions is a required field
14795	DeviceRestrictions *string `locationName:"deviceRestrictions" type:"string" required:"true" enum:"Scte35DeviceRestrictions"`
14796
14797	// Corresponds to SCTE-35 no_regional_blackout_flag parameter.
14798	//
14799	// NoRegionalBlackoutFlag is a required field
14800	NoRegionalBlackoutFlag *string `locationName:"noRegionalBlackoutFlag" type:"string" required:"true" enum:"Scte35NoRegionalBlackoutFlag"`
14801
14802	// Corresponds to SCTE-35 web_delivery_allowed_flag parameter.
14803	//
14804	// WebDeliveryAllowedFlag is a required field
14805	WebDeliveryAllowedFlag *string `locationName:"webDeliveryAllowedFlag" type:"string" required:"true" enum:"Scte35WebDeliveryAllowedFlag"`
14806}
14807
14808// String returns the string representation
14809func (s Scte35DeliveryRestrictions) String() string {
14810	return awsutil.Prettify(s)
14811}
14812
14813// GoString returns the string representation
14814func (s Scte35DeliveryRestrictions) GoString() string {
14815	return s.String()
14816}
14817
14818// Validate inspects the fields of the type to determine if they are valid.
14819func (s *Scte35DeliveryRestrictions) Validate() error {
14820	invalidParams := request.ErrInvalidParams{Context: "Scte35DeliveryRestrictions"}
14821	if s.ArchiveAllowedFlag == nil {
14822		invalidParams.Add(request.NewErrParamRequired("ArchiveAllowedFlag"))
14823	}
14824	if s.DeviceRestrictions == nil {
14825		invalidParams.Add(request.NewErrParamRequired("DeviceRestrictions"))
14826	}
14827	if s.NoRegionalBlackoutFlag == nil {
14828		invalidParams.Add(request.NewErrParamRequired("NoRegionalBlackoutFlag"))
14829	}
14830	if s.WebDeliveryAllowedFlag == nil {
14831		invalidParams.Add(request.NewErrParamRequired("WebDeliveryAllowedFlag"))
14832	}
14833
14834	if invalidParams.Len() > 0 {
14835		return invalidParams
14836	}
14837	return nil
14838}
14839
14840// SetArchiveAllowedFlag sets the ArchiveAllowedFlag field's value.
14841func (s *Scte35DeliveryRestrictions) SetArchiveAllowedFlag(v string) *Scte35DeliveryRestrictions {
14842	s.ArchiveAllowedFlag = &v
14843	return s
14844}
14845
14846// SetDeviceRestrictions sets the DeviceRestrictions field's value.
14847func (s *Scte35DeliveryRestrictions) SetDeviceRestrictions(v string) *Scte35DeliveryRestrictions {
14848	s.DeviceRestrictions = &v
14849	return s
14850}
14851
14852// SetNoRegionalBlackoutFlag sets the NoRegionalBlackoutFlag field's value.
14853func (s *Scte35DeliveryRestrictions) SetNoRegionalBlackoutFlag(v string) *Scte35DeliveryRestrictions {
14854	s.NoRegionalBlackoutFlag = &v
14855	return s
14856}
14857
14858// SetWebDeliveryAllowedFlag sets the WebDeliveryAllowedFlag field's value.
14859func (s *Scte35DeliveryRestrictions) SetWebDeliveryAllowedFlag(v string) *Scte35DeliveryRestrictions {
14860	s.WebDeliveryAllowedFlag = &v
14861	return s
14862}
14863
14864// Holds one set of SCTE-35 Descriptor Settings.
14865type Scte35Descriptor struct {
14866	_ struct{} `type:"structure"`
14867
14868	// SCTE-35 Descriptor Settings.
14869	//
14870	// Scte35DescriptorSettings is a required field
14871	Scte35DescriptorSettings *Scte35DescriptorSettings `locationName:"scte35DescriptorSettings" type:"structure" required:"true"`
14872}
14873
14874// String returns the string representation
14875func (s Scte35Descriptor) String() string {
14876	return awsutil.Prettify(s)
14877}
14878
14879// GoString returns the string representation
14880func (s Scte35Descriptor) GoString() string {
14881	return s.String()
14882}
14883
14884// Validate inspects the fields of the type to determine if they are valid.
14885func (s *Scte35Descriptor) Validate() error {
14886	invalidParams := request.ErrInvalidParams{Context: "Scte35Descriptor"}
14887	if s.Scte35DescriptorSettings == nil {
14888		invalidParams.Add(request.NewErrParamRequired("Scte35DescriptorSettings"))
14889	}
14890	if s.Scte35DescriptorSettings != nil {
14891		if err := s.Scte35DescriptorSettings.Validate(); err != nil {
14892			invalidParams.AddNested("Scte35DescriptorSettings", err.(request.ErrInvalidParams))
14893		}
14894	}
14895
14896	if invalidParams.Len() > 0 {
14897		return invalidParams
14898	}
14899	return nil
14900}
14901
14902// SetScte35DescriptorSettings sets the Scte35DescriptorSettings field's value.
14903func (s *Scte35Descriptor) SetScte35DescriptorSettings(v *Scte35DescriptorSettings) *Scte35Descriptor {
14904	s.Scte35DescriptorSettings = v
14905	return s
14906}
14907
14908// SCTE-35 Descriptor settings.
14909type Scte35DescriptorSettings struct {
14910	_ struct{} `type:"structure"`
14911
14912	// SCTE-35 Segmentation Descriptor.
14913	//
14914	// SegmentationDescriptorScte35DescriptorSettings is a required field
14915	SegmentationDescriptorScte35DescriptorSettings *Scte35SegmentationDescriptor `locationName:"segmentationDescriptorScte35DescriptorSettings" type:"structure" required:"true"`
14916}
14917
14918// String returns the string representation
14919func (s Scte35DescriptorSettings) String() string {
14920	return awsutil.Prettify(s)
14921}
14922
14923// GoString returns the string representation
14924func (s Scte35DescriptorSettings) GoString() string {
14925	return s.String()
14926}
14927
14928// Validate inspects the fields of the type to determine if they are valid.
14929func (s *Scte35DescriptorSettings) Validate() error {
14930	invalidParams := request.ErrInvalidParams{Context: "Scte35DescriptorSettings"}
14931	if s.SegmentationDescriptorScte35DescriptorSettings == nil {
14932		invalidParams.Add(request.NewErrParamRequired("SegmentationDescriptorScte35DescriptorSettings"))
14933	}
14934	if s.SegmentationDescriptorScte35DescriptorSettings != nil {
14935		if err := s.SegmentationDescriptorScte35DescriptorSettings.Validate(); err != nil {
14936			invalidParams.AddNested("SegmentationDescriptorScte35DescriptorSettings", err.(request.ErrInvalidParams))
14937		}
14938	}
14939
14940	if invalidParams.Len() > 0 {
14941		return invalidParams
14942	}
14943	return nil
14944}
14945
14946// SetSegmentationDescriptorScte35DescriptorSettings sets the SegmentationDescriptorScte35DescriptorSettings field's value.
14947func (s *Scte35DescriptorSettings) SetSegmentationDescriptorScte35DescriptorSettings(v *Scte35SegmentationDescriptor) *Scte35DescriptorSettings {
14948	s.SegmentationDescriptorScte35DescriptorSettings = v
14949	return s
14950}
14951
14952// Settings for a SCTE-35 return_to_network message.
14953type Scte35ReturnToNetworkScheduleActionSettings struct {
14954	_ struct{} `type:"structure"`
14955
14956	// The splice_event_id for the SCTE-35 splice_insert, as defined in SCTE-35.
14957	//
14958	// SpliceEventId is a required field
14959	SpliceEventId *int64 `locationName:"spliceEventId" type:"long" required:"true"`
14960}
14961
14962// String returns the string representation
14963func (s Scte35ReturnToNetworkScheduleActionSettings) String() string {
14964	return awsutil.Prettify(s)
14965}
14966
14967// GoString returns the string representation
14968func (s Scte35ReturnToNetworkScheduleActionSettings) GoString() string {
14969	return s.String()
14970}
14971
14972// Validate inspects the fields of the type to determine if they are valid.
14973func (s *Scte35ReturnToNetworkScheduleActionSettings) Validate() error {
14974	invalidParams := request.ErrInvalidParams{Context: "Scte35ReturnToNetworkScheduleActionSettings"}
14975	if s.SpliceEventId == nil {
14976		invalidParams.Add(request.NewErrParamRequired("SpliceEventId"))
14977	}
14978
14979	if invalidParams.Len() > 0 {
14980		return invalidParams
14981	}
14982	return nil
14983}
14984
14985// SetSpliceEventId sets the SpliceEventId field's value.
14986func (s *Scte35ReturnToNetworkScheduleActionSettings) SetSpliceEventId(v int64) *Scte35ReturnToNetworkScheduleActionSettings {
14987	s.SpliceEventId = &v
14988	return s
14989}
14990
14991// Corresponds to SCTE-35 segmentation_descriptor.
14992type Scte35SegmentationDescriptor struct {
14993	_ struct{} `type:"structure"`
14994
14995	// Holds the four SCTE-35 delivery restriction parameters.
14996	DeliveryRestrictions *Scte35DeliveryRestrictions `locationName:"deliveryRestrictions" type:"structure"`
14997
14998	// Corresponds to SCTE-35 segment_num. A value that is valid for the specified
14999	// segmentation_type_id.
15000	SegmentNum *int64 `locationName:"segmentNum" type:"integer"`
15001
15002	// Corresponds to SCTE-35 segmentation_event_cancel_indicator.
15003	//
15004	// SegmentationCancelIndicator is a required field
15005	SegmentationCancelIndicator *string `locationName:"segmentationCancelIndicator" type:"string" required:"true" enum:"Scte35SegmentationCancelIndicator"`
15006
15007	// Corresponds to SCTE-35 segmentation_duration. Optional. The duration for
15008	// the time_signal, in 90 KHz ticks. To convert seconds to ticks, multiple the
15009	// seconds by 90,000. Enter time in 90 KHz clock ticks. If you do not enter
15010	// a duration, the time_signal will continue until you insert a cancellation
15011	// message.
15012	SegmentationDuration *int64 `locationName:"segmentationDuration" type:"long"`
15013
15014	// Corresponds to SCTE-35 segmentation_event_id.
15015	//
15016	// SegmentationEventId is a required field
15017	SegmentationEventId *int64 `locationName:"segmentationEventId" type:"long" required:"true"`
15018
15019	// Corresponds to SCTE-35 segmentation_type_id. One of the segmentation_type_id
15020	// values listed in the SCTE-35 specification. On the console, enter the ID
15021	// in decimal (for example, "52"). In the CLI, API, or an SDK, enter the ID
15022	// in hex (for example, "0x34") or decimal (for example, "52").
15023	SegmentationTypeId *int64 `locationName:"segmentationTypeId" type:"integer"`
15024
15025	// Corresponds to SCTE-35 segmentation_upid. Enter a string containing the hexadecimal
15026	// representation of the characters that make up the SCTE-35 segmentation_upid
15027	// value. Must contain an even number of hex characters. Do not include spaces
15028	// between each hex pair. For example, the ASCII "ADS Information" becomes hex
15029	// "41445320496e666f726d6174696f6e.
15030	SegmentationUpid *string `locationName:"segmentationUpid" type:"string"`
15031
15032	// Corresponds to SCTE-35 segmentation_upid_type. On the console, enter one
15033	// of the types listed in the SCTE-35 specification, converted to a decimal.
15034	// For example, "0x0C" hex from the specification is "12" in decimal. In the
15035	// CLI, API, or an SDK, enter one of the types listed in the SCTE-35 specification,
15036	// in either hex (for example, "0x0C" ) or in decimal (for example, "12").
15037	SegmentationUpidType *int64 `locationName:"segmentationUpidType" type:"integer"`
15038
15039	// Corresponds to SCTE-35 segments_expected. A value that is valid for the specified
15040	// segmentation_type_id.
15041	SegmentsExpected *int64 `locationName:"segmentsExpected" type:"integer"`
15042
15043	// Corresponds to SCTE-35 sub_segment_num. A value that is valid for the specified
15044	// segmentation_type_id.
15045	SubSegmentNum *int64 `locationName:"subSegmentNum" type:"integer"`
15046
15047	// Corresponds to SCTE-35 sub_segments_expected. A value that is valid for the
15048	// specified segmentation_type_id.
15049	SubSegmentsExpected *int64 `locationName:"subSegmentsExpected" type:"integer"`
15050}
15051
15052// String returns the string representation
15053func (s Scte35SegmentationDescriptor) String() string {
15054	return awsutil.Prettify(s)
15055}
15056
15057// GoString returns the string representation
15058func (s Scte35SegmentationDescriptor) GoString() string {
15059	return s.String()
15060}
15061
15062// Validate inspects the fields of the type to determine if they are valid.
15063func (s *Scte35SegmentationDescriptor) Validate() error {
15064	invalidParams := request.ErrInvalidParams{Context: "Scte35SegmentationDescriptor"}
15065	if s.SegmentationCancelIndicator == nil {
15066		invalidParams.Add(request.NewErrParamRequired("SegmentationCancelIndicator"))
15067	}
15068	if s.SegmentationEventId == nil {
15069		invalidParams.Add(request.NewErrParamRequired("SegmentationEventId"))
15070	}
15071	if s.DeliveryRestrictions != nil {
15072		if err := s.DeliveryRestrictions.Validate(); err != nil {
15073			invalidParams.AddNested("DeliveryRestrictions", err.(request.ErrInvalidParams))
15074		}
15075	}
15076
15077	if invalidParams.Len() > 0 {
15078		return invalidParams
15079	}
15080	return nil
15081}
15082
15083// SetDeliveryRestrictions sets the DeliveryRestrictions field's value.
15084func (s *Scte35SegmentationDescriptor) SetDeliveryRestrictions(v *Scte35DeliveryRestrictions) *Scte35SegmentationDescriptor {
15085	s.DeliveryRestrictions = v
15086	return s
15087}
15088
15089// SetSegmentNum sets the SegmentNum field's value.
15090func (s *Scte35SegmentationDescriptor) SetSegmentNum(v int64) *Scte35SegmentationDescriptor {
15091	s.SegmentNum = &v
15092	return s
15093}
15094
15095// SetSegmentationCancelIndicator sets the SegmentationCancelIndicator field's value.
15096func (s *Scte35SegmentationDescriptor) SetSegmentationCancelIndicator(v string) *Scte35SegmentationDescriptor {
15097	s.SegmentationCancelIndicator = &v
15098	return s
15099}
15100
15101// SetSegmentationDuration sets the SegmentationDuration field's value.
15102func (s *Scte35SegmentationDescriptor) SetSegmentationDuration(v int64) *Scte35SegmentationDescriptor {
15103	s.SegmentationDuration = &v
15104	return s
15105}
15106
15107// SetSegmentationEventId sets the SegmentationEventId field's value.
15108func (s *Scte35SegmentationDescriptor) SetSegmentationEventId(v int64) *Scte35SegmentationDescriptor {
15109	s.SegmentationEventId = &v
15110	return s
15111}
15112
15113// SetSegmentationTypeId sets the SegmentationTypeId field's value.
15114func (s *Scte35SegmentationDescriptor) SetSegmentationTypeId(v int64) *Scte35SegmentationDescriptor {
15115	s.SegmentationTypeId = &v
15116	return s
15117}
15118
15119// SetSegmentationUpid sets the SegmentationUpid field's value.
15120func (s *Scte35SegmentationDescriptor) SetSegmentationUpid(v string) *Scte35SegmentationDescriptor {
15121	s.SegmentationUpid = &v
15122	return s
15123}
15124
15125// SetSegmentationUpidType sets the SegmentationUpidType field's value.
15126func (s *Scte35SegmentationDescriptor) SetSegmentationUpidType(v int64) *Scte35SegmentationDescriptor {
15127	s.SegmentationUpidType = &v
15128	return s
15129}
15130
15131// SetSegmentsExpected sets the SegmentsExpected field's value.
15132func (s *Scte35SegmentationDescriptor) SetSegmentsExpected(v int64) *Scte35SegmentationDescriptor {
15133	s.SegmentsExpected = &v
15134	return s
15135}
15136
15137// SetSubSegmentNum sets the SubSegmentNum field's value.
15138func (s *Scte35SegmentationDescriptor) SetSubSegmentNum(v int64) *Scte35SegmentationDescriptor {
15139	s.SubSegmentNum = &v
15140	return s
15141}
15142
15143// SetSubSegmentsExpected sets the SubSegmentsExpected field's value.
15144func (s *Scte35SegmentationDescriptor) SetSubSegmentsExpected(v int64) *Scte35SegmentationDescriptor {
15145	s.SubSegmentsExpected = &v
15146	return s
15147}
15148
15149// Scte35 Splice Insert
15150type Scte35SpliceInsert struct {
15151	_ struct{} `type:"structure"`
15152
15153	// When specified, this offset (in milliseconds) is added to the input Ad Avail
15154	// PTS time. This only applies to embedded SCTE 104/35 messages and does not
15155	// apply to OOB messages.
15156	AdAvailOffset *int64 `locationName:"adAvailOffset" type:"integer"`
15157
15158	// When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to
15159	// 0 will no longer trigger blackouts or Ad Avail slates
15160	NoRegionalBlackoutFlag *string `locationName:"noRegionalBlackoutFlag" type:"string" enum:"Scte35SpliceInsertNoRegionalBlackoutBehavior"`
15161
15162	// When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to
15163	// 0 will no longer trigger blackouts or Ad Avail slates
15164	WebDeliveryAllowedFlag *string `locationName:"webDeliveryAllowedFlag" type:"string" enum:"Scte35SpliceInsertWebDeliveryAllowedBehavior"`
15165}
15166
15167// String returns the string representation
15168func (s Scte35SpliceInsert) String() string {
15169	return awsutil.Prettify(s)
15170}
15171
15172// GoString returns the string representation
15173func (s Scte35SpliceInsert) GoString() string {
15174	return s.String()
15175}
15176
15177// Validate inspects the fields of the type to determine if they are valid.
15178func (s *Scte35SpliceInsert) Validate() error {
15179	invalidParams := request.ErrInvalidParams{Context: "Scte35SpliceInsert"}
15180	if s.AdAvailOffset != nil && *s.AdAvailOffset < -1000 {
15181		invalidParams.Add(request.NewErrParamMinValue("AdAvailOffset", -1000))
15182	}
15183
15184	if invalidParams.Len() > 0 {
15185		return invalidParams
15186	}
15187	return nil
15188}
15189
15190// SetAdAvailOffset sets the AdAvailOffset field's value.
15191func (s *Scte35SpliceInsert) SetAdAvailOffset(v int64) *Scte35SpliceInsert {
15192	s.AdAvailOffset = &v
15193	return s
15194}
15195
15196// SetNoRegionalBlackoutFlag sets the NoRegionalBlackoutFlag field's value.
15197func (s *Scte35SpliceInsert) SetNoRegionalBlackoutFlag(v string) *Scte35SpliceInsert {
15198	s.NoRegionalBlackoutFlag = &v
15199	return s
15200}
15201
15202// SetWebDeliveryAllowedFlag sets the WebDeliveryAllowedFlag field's value.
15203func (s *Scte35SpliceInsert) SetWebDeliveryAllowedFlag(v string) *Scte35SpliceInsert {
15204	s.WebDeliveryAllowedFlag = &v
15205	return s
15206}
15207
15208// Settings for a SCTE-35 splice_insert message.
15209type Scte35SpliceInsertScheduleActionSettings struct {
15210	_ struct{} `type:"structure"`
15211
15212	// Optional, the duration for the splice_insert, in 90 KHz ticks. To convert
15213	// seconds to ticks, multiple the seconds by 90,000. If you enter a duration,
15214	// there is an expectation that the downstream system can read the duration
15215	// and cue in at that time. If you do not enter a duration, the splice_insert
15216	// will continue indefinitely and there is an expectation that you will enter
15217	// a return_to_network to end the splice_insert at the appropriate time.
15218	Duration *int64 `locationName:"duration" type:"long"`
15219
15220	// The splice_event_id for the SCTE-35 splice_insert, as defined in SCTE-35.
15221	//
15222	// SpliceEventId is a required field
15223	SpliceEventId *int64 `locationName:"spliceEventId" type:"long" required:"true"`
15224}
15225
15226// String returns the string representation
15227func (s Scte35SpliceInsertScheduleActionSettings) String() string {
15228	return awsutil.Prettify(s)
15229}
15230
15231// GoString returns the string representation
15232func (s Scte35SpliceInsertScheduleActionSettings) GoString() string {
15233	return s.String()
15234}
15235
15236// Validate inspects the fields of the type to determine if they are valid.
15237func (s *Scte35SpliceInsertScheduleActionSettings) Validate() error {
15238	invalidParams := request.ErrInvalidParams{Context: "Scte35SpliceInsertScheduleActionSettings"}
15239	if s.SpliceEventId == nil {
15240		invalidParams.Add(request.NewErrParamRequired("SpliceEventId"))
15241	}
15242
15243	if invalidParams.Len() > 0 {
15244		return invalidParams
15245	}
15246	return nil
15247}
15248
15249// SetDuration sets the Duration field's value.
15250func (s *Scte35SpliceInsertScheduleActionSettings) SetDuration(v int64) *Scte35SpliceInsertScheduleActionSettings {
15251	s.Duration = &v
15252	return s
15253}
15254
15255// SetSpliceEventId sets the SpliceEventId field's value.
15256func (s *Scte35SpliceInsertScheduleActionSettings) SetSpliceEventId(v int64) *Scte35SpliceInsertScheduleActionSettings {
15257	s.SpliceEventId = &v
15258	return s
15259}
15260
15261// Scte35 Time Signal Apos
15262type Scte35TimeSignalApos struct {
15263	_ struct{} `type:"structure"`
15264
15265	// When specified, this offset (in milliseconds) is added to the input Ad Avail
15266	// PTS time. This only applies to embedded SCTE 104/35 messages and does not
15267	// apply to OOB messages.
15268	AdAvailOffset *int64 `locationName:"adAvailOffset" type:"integer"`
15269
15270	// When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to
15271	// 0 will no longer trigger blackouts or Ad Avail slates
15272	NoRegionalBlackoutFlag *string `locationName:"noRegionalBlackoutFlag" type:"string" enum:"Scte35AposNoRegionalBlackoutBehavior"`
15273
15274	// When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to
15275	// 0 will no longer trigger blackouts or Ad Avail slates
15276	WebDeliveryAllowedFlag *string `locationName:"webDeliveryAllowedFlag" type:"string" enum:"Scte35AposWebDeliveryAllowedBehavior"`
15277}
15278
15279// String returns the string representation
15280func (s Scte35TimeSignalApos) String() string {
15281	return awsutil.Prettify(s)
15282}
15283
15284// GoString returns the string representation
15285func (s Scte35TimeSignalApos) GoString() string {
15286	return s.String()
15287}
15288
15289// Validate inspects the fields of the type to determine if they are valid.
15290func (s *Scte35TimeSignalApos) Validate() error {
15291	invalidParams := request.ErrInvalidParams{Context: "Scte35TimeSignalApos"}
15292	if s.AdAvailOffset != nil && *s.AdAvailOffset < -1000 {
15293		invalidParams.Add(request.NewErrParamMinValue("AdAvailOffset", -1000))
15294	}
15295
15296	if invalidParams.Len() > 0 {
15297		return invalidParams
15298	}
15299	return nil
15300}
15301
15302// SetAdAvailOffset sets the AdAvailOffset field's value.
15303func (s *Scte35TimeSignalApos) SetAdAvailOffset(v int64) *Scte35TimeSignalApos {
15304	s.AdAvailOffset = &v
15305	return s
15306}
15307
15308// SetNoRegionalBlackoutFlag sets the NoRegionalBlackoutFlag field's value.
15309func (s *Scte35TimeSignalApos) SetNoRegionalBlackoutFlag(v string) *Scte35TimeSignalApos {
15310	s.NoRegionalBlackoutFlag = &v
15311	return s
15312}
15313
15314// SetWebDeliveryAllowedFlag sets the WebDeliveryAllowedFlag field's value.
15315func (s *Scte35TimeSignalApos) SetWebDeliveryAllowedFlag(v string) *Scte35TimeSignalApos {
15316	s.WebDeliveryAllowedFlag = &v
15317	return s
15318}
15319
15320// Settings for a SCTE-35 time_signal.
15321type Scte35TimeSignalScheduleActionSettings struct {
15322	_ struct{} `type:"structure"`
15323
15324	// The list of SCTE-35 descriptors accompanying the SCTE-35 time_signal.
15325	//
15326	// Scte35Descriptors is a required field
15327	Scte35Descriptors []*Scte35Descriptor `locationName:"scte35Descriptors" type:"list" required:"true"`
15328}
15329
15330// String returns the string representation
15331func (s Scte35TimeSignalScheduleActionSettings) String() string {
15332	return awsutil.Prettify(s)
15333}
15334
15335// GoString returns the string representation
15336func (s Scte35TimeSignalScheduleActionSettings) GoString() string {
15337	return s.String()
15338}
15339
15340// Validate inspects the fields of the type to determine if they are valid.
15341func (s *Scte35TimeSignalScheduleActionSettings) Validate() error {
15342	invalidParams := request.ErrInvalidParams{Context: "Scte35TimeSignalScheduleActionSettings"}
15343	if s.Scte35Descriptors == nil {
15344		invalidParams.Add(request.NewErrParamRequired("Scte35Descriptors"))
15345	}
15346	if s.Scte35Descriptors != nil {
15347		for i, v := range s.Scte35Descriptors {
15348			if v == nil {
15349				continue
15350			}
15351			if err := v.Validate(); err != nil {
15352				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Scte35Descriptors", i), err.(request.ErrInvalidParams))
15353			}
15354		}
15355	}
15356
15357	if invalidParams.Len() > 0 {
15358		return invalidParams
15359	}
15360	return nil
15361}
15362
15363// SetScte35Descriptors sets the Scte35Descriptors field's value.
15364func (s *Scte35TimeSignalScheduleActionSettings) SetScte35Descriptors(v []*Scte35Descriptor) *Scte35TimeSignalScheduleActionSettings {
15365	s.Scte35Descriptors = v
15366	return s
15367}
15368
15369// Smpte Tt Destination Settings
15370type SmpteTtDestinationSettings struct {
15371	_ struct{} `type:"structure"`
15372}
15373
15374// String returns the string representation
15375func (s SmpteTtDestinationSettings) String() string {
15376	return awsutil.Prettify(s)
15377}
15378
15379// GoString returns the string representation
15380func (s SmpteTtDestinationSettings) GoString() string {
15381	return s.String()
15382}
15383
15384// Standard Hls Settings
15385type StandardHlsSettings struct {
15386	_ struct{} `type:"structure"`
15387
15388	// List all the audio groups that are used with the video output stream. Input
15389	// all the audio GROUP-IDs that are associated to the video, separate by ','.
15390	AudioRenditionSets *string `locationName:"audioRenditionSets" type:"string"`
15391
15392	// Settings information for the .m3u8 container
15393	//
15394	// M3u8Settings is a required field
15395	M3u8Settings *M3u8Settings `locationName:"m3u8Settings" type:"structure" required:"true"`
15396}
15397
15398// String returns the string representation
15399func (s StandardHlsSettings) String() string {
15400	return awsutil.Prettify(s)
15401}
15402
15403// GoString returns the string representation
15404func (s StandardHlsSettings) GoString() string {
15405	return s.String()
15406}
15407
15408// Validate inspects the fields of the type to determine if they are valid.
15409func (s *StandardHlsSettings) Validate() error {
15410	invalidParams := request.ErrInvalidParams{Context: "StandardHlsSettings"}
15411	if s.M3u8Settings == nil {
15412		invalidParams.Add(request.NewErrParamRequired("M3u8Settings"))
15413	}
15414
15415	if invalidParams.Len() > 0 {
15416		return invalidParams
15417	}
15418	return nil
15419}
15420
15421// SetAudioRenditionSets sets the AudioRenditionSets field's value.
15422func (s *StandardHlsSettings) SetAudioRenditionSets(v string) *StandardHlsSettings {
15423	s.AudioRenditionSets = &v
15424	return s
15425}
15426
15427// SetM3u8Settings sets the M3u8Settings field's value.
15428func (s *StandardHlsSettings) SetM3u8Settings(v *M3u8Settings) *StandardHlsSettings {
15429	s.M3u8Settings = v
15430	return s
15431}
15432
15433type StartChannelInput struct {
15434	_ struct{} `type:"structure"`
15435
15436	// ChannelId is a required field
15437	ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"`
15438}
15439
15440// String returns the string representation
15441func (s StartChannelInput) String() string {
15442	return awsutil.Prettify(s)
15443}
15444
15445// GoString returns the string representation
15446func (s StartChannelInput) GoString() string {
15447	return s.String()
15448}
15449
15450// Validate inspects the fields of the type to determine if they are valid.
15451func (s *StartChannelInput) Validate() error {
15452	invalidParams := request.ErrInvalidParams{Context: "StartChannelInput"}
15453	if s.ChannelId == nil {
15454		invalidParams.Add(request.NewErrParamRequired("ChannelId"))
15455	}
15456	if s.ChannelId != nil && len(*s.ChannelId) < 1 {
15457		invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1))
15458	}
15459
15460	if invalidParams.Len() > 0 {
15461		return invalidParams
15462	}
15463	return nil
15464}
15465
15466// SetChannelId sets the ChannelId field's value.
15467func (s *StartChannelInput) SetChannelId(v string) *StartChannelInput {
15468	s.ChannelId = &v
15469	return s
15470}
15471
15472type StartChannelOutput struct {
15473	_ struct{} `type:"structure"`
15474
15475	Arn *string `locationName:"arn" type:"string"`
15476
15477	// A standard channel has two encoding pipelines and a single pipeline channel
15478	// only has one.
15479	ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"`
15480
15481	Destinations []*OutputDestination `locationName:"destinations" type:"list"`
15482
15483	EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"`
15484
15485	// Encoder Settings
15486	EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"`
15487
15488	Id *string `locationName:"id" type:"string"`
15489
15490	InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"`
15491
15492	InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"`
15493
15494	// The log level the user wants for their channel.
15495	LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"`
15496
15497	Name *string `locationName:"name" type:"string"`
15498
15499	PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"`
15500
15501	RoleArn *string `locationName:"roleArn" type:"string"`
15502
15503	State *string `locationName:"state" type:"string" enum:"ChannelState"`
15504
15505	Tags map[string]*string `locationName:"tags" type:"map"`
15506}
15507
15508// String returns the string representation
15509func (s StartChannelOutput) String() string {
15510	return awsutil.Prettify(s)
15511}
15512
15513// GoString returns the string representation
15514func (s StartChannelOutput) GoString() string {
15515	return s.String()
15516}
15517
15518// SetArn sets the Arn field's value.
15519func (s *StartChannelOutput) SetArn(v string) *StartChannelOutput {
15520	s.Arn = &v
15521	return s
15522}
15523
15524// SetChannelClass sets the ChannelClass field's value.
15525func (s *StartChannelOutput) SetChannelClass(v string) *StartChannelOutput {
15526	s.ChannelClass = &v
15527	return s
15528}
15529
15530// SetDestinations sets the Destinations field's value.
15531func (s *StartChannelOutput) SetDestinations(v []*OutputDestination) *StartChannelOutput {
15532	s.Destinations = v
15533	return s
15534}
15535
15536// SetEgressEndpoints sets the EgressEndpoints field's value.
15537func (s *StartChannelOutput) SetEgressEndpoints(v []*ChannelEgressEndpoint) *StartChannelOutput {
15538	s.EgressEndpoints = v
15539	return s
15540}
15541
15542// SetEncoderSettings sets the EncoderSettings field's value.
15543func (s *StartChannelOutput) SetEncoderSettings(v *EncoderSettings) *StartChannelOutput {
15544	s.EncoderSettings = v
15545	return s
15546}
15547
15548// SetId sets the Id field's value.
15549func (s *StartChannelOutput) SetId(v string) *StartChannelOutput {
15550	s.Id = &v
15551	return s
15552}
15553
15554// SetInputAttachments sets the InputAttachments field's value.
15555func (s *StartChannelOutput) SetInputAttachments(v []*InputAttachment) *StartChannelOutput {
15556	s.InputAttachments = v
15557	return s
15558}
15559
15560// SetInputSpecification sets the InputSpecification field's value.
15561func (s *StartChannelOutput) SetInputSpecification(v *InputSpecification) *StartChannelOutput {
15562	s.InputSpecification = v
15563	return s
15564}
15565
15566// SetLogLevel sets the LogLevel field's value.
15567func (s *StartChannelOutput) SetLogLevel(v string) *StartChannelOutput {
15568	s.LogLevel = &v
15569	return s
15570}
15571
15572// SetName sets the Name field's value.
15573func (s *StartChannelOutput) SetName(v string) *StartChannelOutput {
15574	s.Name = &v
15575	return s
15576}
15577
15578// SetPipelinesRunningCount sets the PipelinesRunningCount field's value.
15579func (s *StartChannelOutput) SetPipelinesRunningCount(v int64) *StartChannelOutput {
15580	s.PipelinesRunningCount = &v
15581	return s
15582}
15583
15584// SetRoleArn sets the RoleArn field's value.
15585func (s *StartChannelOutput) SetRoleArn(v string) *StartChannelOutput {
15586	s.RoleArn = &v
15587	return s
15588}
15589
15590// SetState sets the State field's value.
15591func (s *StartChannelOutput) SetState(v string) *StartChannelOutput {
15592	s.State = &v
15593	return s
15594}
15595
15596// SetTags sets the Tags field's value.
15597func (s *StartChannelOutput) SetTags(v map[string]*string) *StartChannelOutput {
15598	s.Tags = v
15599	return s
15600}
15601
15602// Settings for the action to activate a static image.
15603type StaticImageActivateScheduleActionSettings struct {
15604	_ struct{} `type:"structure"`
15605
15606	// The duration in milliseconds for the image to remain on the video. If omitted
15607	// or set to 0 the duration is unlimited and the image will remain until it
15608	// is explicitly deactivated.
15609	Duration *int64 `locationName:"duration" type:"integer"`
15610
15611	// The time in milliseconds for the image to fade in. The fade-in starts at
15612	// the start time of the overlay. Default is 0 (no fade-in).
15613	FadeIn *int64 `locationName:"fadeIn" type:"integer"`
15614
15615	// Applies only if a duration is specified. The time in milliseconds for the
15616	// image to fade out. The fade-out starts when the duration time is hit, so
15617	// it effectively extends the duration. Default is 0 (no fade-out).
15618	FadeOut *int64 `locationName:"fadeOut" type:"integer"`
15619
15620	// The height of the image when inserted into the video, in pixels. The overlay
15621	// will be scaled up or down to the specified height. Leave blank to use the
15622	// native height of the overlay.
15623	Height *int64 `locationName:"height" min:"1" type:"integer"`
15624
15625	// The location and filename of the image file to overlay on the video. The
15626	// file must be a 32-bit BMP, PNG, or TGA file, and must not be larger (in pixels)
15627	// than the input video.
15628	//
15629	// Image is a required field
15630	Image *InputLocation `locationName:"image" type:"structure" required:"true"`
15631
15632	// Placement of the left edge of the overlay relative to the left edge of the
15633	// video frame, in pixels. 0 (the default) is the left edge of the frame. If
15634	// the placement causes the overlay to extend beyond the right edge of the underlying
15635	// video, then the overlay is cropped on the right.
15636	ImageX *int64 `locationName:"imageX" type:"integer"`
15637
15638	// Placement of the top edge of the overlay relative to the top edge of the
15639	// video frame, in pixels. 0 (the default) is the top edge of the frame. If
15640	// the placement causes the overlay to extend beyond the bottom edge of the
15641	// underlying video, then the overlay is cropped on the bottom.
15642	ImageY *int64 `locationName:"imageY" type:"integer"`
15643
15644	// The number of the layer, 0 to 7. There are 8 layers that can be overlaid
15645	// on the video, each layer with a different image. The layers are in Z order,
15646	// which means that overlays with higher values of layer are inserted on top
15647	// of overlays with lower values of layer. Default is 0.
15648	Layer *int64 `locationName:"layer" type:"integer"`
15649
15650	// Opacity of image where 0 is transparent and 100 is fully opaque. Default
15651	// is 100.
15652	Opacity *int64 `locationName:"opacity" type:"integer"`
15653
15654	// The width of the image when inserted into the video, in pixels. The overlay
15655	// will be scaled up or down to the specified width. Leave blank to use the
15656	// native width of the overlay.
15657	Width *int64 `locationName:"width" min:"1" type:"integer"`
15658}
15659
15660// String returns the string representation
15661func (s StaticImageActivateScheduleActionSettings) String() string {
15662	return awsutil.Prettify(s)
15663}
15664
15665// GoString returns the string representation
15666func (s StaticImageActivateScheduleActionSettings) GoString() string {
15667	return s.String()
15668}
15669
15670// Validate inspects the fields of the type to determine if they are valid.
15671func (s *StaticImageActivateScheduleActionSettings) Validate() error {
15672	invalidParams := request.ErrInvalidParams{Context: "StaticImageActivateScheduleActionSettings"}
15673	if s.Height != nil && *s.Height < 1 {
15674		invalidParams.Add(request.NewErrParamMinValue("Height", 1))
15675	}
15676	if s.Image == nil {
15677		invalidParams.Add(request.NewErrParamRequired("Image"))
15678	}
15679	if s.Width != nil && *s.Width < 1 {
15680		invalidParams.Add(request.NewErrParamMinValue("Width", 1))
15681	}
15682	if s.Image != nil {
15683		if err := s.Image.Validate(); err != nil {
15684			invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
15685		}
15686	}
15687
15688	if invalidParams.Len() > 0 {
15689		return invalidParams
15690	}
15691	return nil
15692}
15693
15694// SetDuration sets the Duration field's value.
15695func (s *StaticImageActivateScheduleActionSettings) SetDuration(v int64) *StaticImageActivateScheduleActionSettings {
15696	s.Duration = &v
15697	return s
15698}
15699
15700// SetFadeIn sets the FadeIn field's value.
15701func (s *StaticImageActivateScheduleActionSettings) SetFadeIn(v int64) *StaticImageActivateScheduleActionSettings {
15702	s.FadeIn = &v
15703	return s
15704}
15705
15706// SetFadeOut sets the FadeOut field's value.
15707func (s *StaticImageActivateScheduleActionSettings) SetFadeOut(v int64) *StaticImageActivateScheduleActionSettings {
15708	s.FadeOut = &v
15709	return s
15710}
15711
15712// SetHeight sets the Height field's value.
15713func (s *StaticImageActivateScheduleActionSettings) SetHeight(v int64) *StaticImageActivateScheduleActionSettings {
15714	s.Height = &v
15715	return s
15716}
15717
15718// SetImage sets the Image field's value.
15719func (s *StaticImageActivateScheduleActionSettings) SetImage(v *InputLocation) *StaticImageActivateScheduleActionSettings {
15720	s.Image = v
15721	return s
15722}
15723
15724// SetImageX sets the ImageX field's value.
15725func (s *StaticImageActivateScheduleActionSettings) SetImageX(v int64) *StaticImageActivateScheduleActionSettings {
15726	s.ImageX = &v
15727	return s
15728}
15729
15730// SetImageY sets the ImageY field's value.
15731func (s *StaticImageActivateScheduleActionSettings) SetImageY(v int64) *StaticImageActivateScheduleActionSettings {
15732	s.ImageY = &v
15733	return s
15734}
15735
15736// SetLayer sets the Layer field's value.
15737func (s *StaticImageActivateScheduleActionSettings) SetLayer(v int64) *StaticImageActivateScheduleActionSettings {
15738	s.Layer = &v
15739	return s
15740}
15741
15742// SetOpacity sets the Opacity field's value.
15743func (s *StaticImageActivateScheduleActionSettings) SetOpacity(v int64) *StaticImageActivateScheduleActionSettings {
15744	s.Opacity = &v
15745	return s
15746}
15747
15748// SetWidth sets the Width field's value.
15749func (s *StaticImageActivateScheduleActionSettings) SetWidth(v int64) *StaticImageActivateScheduleActionSettings {
15750	s.Width = &v
15751	return s
15752}
15753
15754// Settings for the action to deactivate the image in a specific layer.
15755type StaticImageDeactivateScheduleActionSettings struct {
15756	_ struct{} `type:"structure"`
15757
15758	// The time in milliseconds for the image to fade out. Default is 0 (no fade-out).
15759	FadeOut *int64 `locationName:"fadeOut" type:"integer"`
15760
15761	// The image overlay layer to deactivate, 0 to 7. Default is 0.
15762	Layer *int64 `locationName:"layer" type:"integer"`
15763}
15764
15765// String returns the string representation
15766func (s StaticImageDeactivateScheduleActionSettings) String() string {
15767	return awsutil.Prettify(s)
15768}
15769
15770// GoString returns the string representation
15771func (s StaticImageDeactivateScheduleActionSettings) GoString() string {
15772	return s.String()
15773}
15774
15775// SetFadeOut sets the FadeOut field's value.
15776func (s *StaticImageDeactivateScheduleActionSettings) SetFadeOut(v int64) *StaticImageDeactivateScheduleActionSettings {
15777	s.FadeOut = &v
15778	return s
15779}
15780
15781// SetLayer sets the Layer field's value.
15782func (s *StaticImageDeactivateScheduleActionSettings) SetLayer(v int64) *StaticImageDeactivateScheduleActionSettings {
15783	s.Layer = &v
15784	return s
15785}
15786
15787// Static Key Settings
15788type StaticKeySettings struct {
15789	_ struct{} `type:"structure"`
15790
15791	// The URL of the license server used for protecting content.
15792	KeyProviderServer *InputLocation `locationName:"keyProviderServer" type:"structure"`
15793
15794	// Static key value as a 32 character hexadecimal string.
15795	//
15796	// StaticKeyValue is a required field
15797	StaticKeyValue *string `locationName:"staticKeyValue" min:"32" type:"string" required:"true"`
15798}
15799
15800// String returns the string representation
15801func (s StaticKeySettings) String() string {
15802	return awsutil.Prettify(s)
15803}
15804
15805// GoString returns the string representation
15806func (s StaticKeySettings) GoString() string {
15807	return s.String()
15808}
15809
15810// Validate inspects the fields of the type to determine if they are valid.
15811func (s *StaticKeySettings) Validate() error {
15812	invalidParams := request.ErrInvalidParams{Context: "StaticKeySettings"}
15813	if s.StaticKeyValue == nil {
15814		invalidParams.Add(request.NewErrParamRequired("StaticKeyValue"))
15815	}
15816	if s.StaticKeyValue != nil && len(*s.StaticKeyValue) < 32 {
15817		invalidParams.Add(request.NewErrParamMinLen("StaticKeyValue", 32))
15818	}
15819	if s.KeyProviderServer != nil {
15820		if err := s.KeyProviderServer.Validate(); err != nil {
15821			invalidParams.AddNested("KeyProviderServer", err.(request.ErrInvalidParams))
15822		}
15823	}
15824
15825	if invalidParams.Len() > 0 {
15826		return invalidParams
15827	}
15828	return nil
15829}
15830
15831// SetKeyProviderServer sets the KeyProviderServer field's value.
15832func (s *StaticKeySettings) SetKeyProviderServer(v *InputLocation) *StaticKeySettings {
15833	s.KeyProviderServer = v
15834	return s
15835}
15836
15837// SetStaticKeyValue sets the StaticKeyValue field's value.
15838func (s *StaticKeySettings) SetStaticKeyValue(v string) *StaticKeySettings {
15839	s.StaticKeyValue = &v
15840	return s
15841}
15842
15843type StopChannelInput struct {
15844	_ struct{} `type:"structure"`
15845
15846	// ChannelId is a required field
15847	ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"`
15848}
15849
15850// String returns the string representation
15851func (s StopChannelInput) String() string {
15852	return awsutil.Prettify(s)
15853}
15854
15855// GoString returns the string representation
15856func (s StopChannelInput) GoString() string {
15857	return s.String()
15858}
15859
15860// Validate inspects the fields of the type to determine if they are valid.
15861func (s *StopChannelInput) Validate() error {
15862	invalidParams := request.ErrInvalidParams{Context: "StopChannelInput"}
15863	if s.ChannelId == nil {
15864		invalidParams.Add(request.NewErrParamRequired("ChannelId"))
15865	}
15866	if s.ChannelId != nil && len(*s.ChannelId) < 1 {
15867		invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1))
15868	}
15869
15870	if invalidParams.Len() > 0 {
15871		return invalidParams
15872	}
15873	return nil
15874}
15875
15876// SetChannelId sets the ChannelId field's value.
15877func (s *StopChannelInput) SetChannelId(v string) *StopChannelInput {
15878	s.ChannelId = &v
15879	return s
15880}
15881
15882type StopChannelOutput struct {
15883	_ struct{} `type:"structure"`
15884
15885	Arn *string `locationName:"arn" type:"string"`
15886
15887	// A standard channel has two encoding pipelines and a single pipeline channel
15888	// only has one.
15889	ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"`
15890
15891	Destinations []*OutputDestination `locationName:"destinations" type:"list"`
15892
15893	EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"`
15894
15895	// Encoder Settings
15896	EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"`
15897
15898	Id *string `locationName:"id" type:"string"`
15899
15900	InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"`
15901
15902	InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"`
15903
15904	// The log level the user wants for their channel.
15905	LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"`
15906
15907	Name *string `locationName:"name" type:"string"`
15908
15909	PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"`
15910
15911	RoleArn *string `locationName:"roleArn" type:"string"`
15912
15913	State *string `locationName:"state" type:"string" enum:"ChannelState"`
15914
15915	Tags map[string]*string `locationName:"tags" type:"map"`
15916}
15917
15918// String returns the string representation
15919func (s StopChannelOutput) String() string {
15920	return awsutil.Prettify(s)
15921}
15922
15923// GoString returns the string representation
15924func (s StopChannelOutput) GoString() string {
15925	return s.String()
15926}
15927
15928// SetArn sets the Arn field's value.
15929func (s *StopChannelOutput) SetArn(v string) *StopChannelOutput {
15930	s.Arn = &v
15931	return s
15932}
15933
15934// SetChannelClass sets the ChannelClass field's value.
15935func (s *StopChannelOutput) SetChannelClass(v string) *StopChannelOutput {
15936	s.ChannelClass = &v
15937	return s
15938}
15939
15940// SetDestinations sets the Destinations field's value.
15941func (s *StopChannelOutput) SetDestinations(v []*OutputDestination) *StopChannelOutput {
15942	s.Destinations = v
15943	return s
15944}
15945
15946// SetEgressEndpoints sets the EgressEndpoints field's value.
15947func (s *StopChannelOutput) SetEgressEndpoints(v []*ChannelEgressEndpoint) *StopChannelOutput {
15948	s.EgressEndpoints = v
15949	return s
15950}
15951
15952// SetEncoderSettings sets the EncoderSettings field's value.
15953func (s *StopChannelOutput) SetEncoderSettings(v *EncoderSettings) *StopChannelOutput {
15954	s.EncoderSettings = v
15955	return s
15956}
15957
15958// SetId sets the Id field's value.
15959func (s *StopChannelOutput) SetId(v string) *StopChannelOutput {
15960	s.Id = &v
15961	return s
15962}
15963
15964// SetInputAttachments sets the InputAttachments field's value.
15965func (s *StopChannelOutput) SetInputAttachments(v []*InputAttachment) *StopChannelOutput {
15966	s.InputAttachments = v
15967	return s
15968}
15969
15970// SetInputSpecification sets the InputSpecification field's value.
15971func (s *StopChannelOutput) SetInputSpecification(v *InputSpecification) *StopChannelOutput {
15972	s.InputSpecification = v
15973	return s
15974}
15975
15976// SetLogLevel sets the LogLevel field's value.
15977func (s *StopChannelOutput) SetLogLevel(v string) *StopChannelOutput {
15978	s.LogLevel = &v
15979	return s
15980}
15981
15982// SetName sets the Name field's value.
15983func (s *StopChannelOutput) SetName(v string) *StopChannelOutput {
15984	s.Name = &v
15985	return s
15986}
15987
15988// SetPipelinesRunningCount sets the PipelinesRunningCount field's value.
15989func (s *StopChannelOutput) SetPipelinesRunningCount(v int64) *StopChannelOutput {
15990	s.PipelinesRunningCount = &v
15991	return s
15992}
15993
15994// SetRoleArn sets the RoleArn field's value.
15995func (s *StopChannelOutput) SetRoleArn(v string) *StopChannelOutput {
15996	s.RoleArn = &v
15997	return s
15998}
15999
16000// SetState sets the State field's value.
16001func (s *StopChannelOutput) SetState(v string) *StopChannelOutput {
16002	s.State = &v
16003	return s
16004}
16005
16006// SetTags sets the Tags field's value.
16007func (s *StopChannelOutput) SetTags(v map[string]*string) *StopChannelOutput {
16008	s.Tags = v
16009	return s
16010}
16011
16012// Teletext Destination Settings
16013type TeletextDestinationSettings struct {
16014	_ struct{} `type:"structure"`
16015}
16016
16017// String returns the string representation
16018func (s TeletextDestinationSettings) String() string {
16019	return awsutil.Prettify(s)
16020}
16021
16022// GoString returns the string representation
16023func (s TeletextDestinationSettings) GoString() string {
16024	return s.String()
16025}
16026
16027// Teletext Source Settings
16028type TeletextSourceSettings struct {
16029	_ struct{} `type:"structure"`
16030
16031	// Specifies the teletext page number within the data stream from which to extract
16032	// captions. Range of 0x100 (256) to 0x8FF (2303). Unused for passthrough. Should
16033	// be specified as a hexadecimal string with no "0x" prefix.
16034	PageNumber *string `locationName:"pageNumber" type:"string"`
16035}
16036
16037// String returns the string representation
16038func (s TeletextSourceSettings) String() string {
16039	return awsutil.Prettify(s)
16040}
16041
16042// GoString returns the string representation
16043func (s TeletextSourceSettings) GoString() string {
16044	return s.String()
16045}
16046
16047// SetPageNumber sets the PageNumber field's value.
16048func (s *TeletextSourceSettings) SetPageNumber(v string) *TeletextSourceSettings {
16049	s.PageNumber = &v
16050	return s
16051}
16052
16053// Timecode Config
16054type TimecodeConfig struct {
16055	_ struct{} `type:"structure"`
16056
16057	// Identifies the source for the timecode that will be associated with the events
16058	// outputs.-Embedded (embedded): Initialize the output timecode with timecode
16059	// from the the source. If no embedded timecode is detected in the source, the
16060	// system falls back to using "Start at 0" (zerobased).-System Clock (systemclock):
16061	// Use the UTC time.-Start at 0 (zerobased): The time of the first frame of
16062	// the event will be 00:00:00:00.
16063	//
16064	// Source is a required field
16065	Source *string `locationName:"source" type:"string" required:"true" enum:"TimecodeConfigSource"`
16066
16067	// Threshold in frames beyond which output timecode is resynchronized to the
16068	// input timecode. Discrepancies below this threshold are permitted to avoid
16069	// unnecessary discontinuities in the output timecode. No timecode sync when
16070	// this is not specified.
16071	SyncThreshold *int64 `locationName:"syncThreshold" min:"1" type:"integer"`
16072}
16073
16074// String returns the string representation
16075func (s TimecodeConfig) String() string {
16076	return awsutil.Prettify(s)
16077}
16078
16079// GoString returns the string representation
16080func (s TimecodeConfig) GoString() string {
16081	return s.String()
16082}
16083
16084// Validate inspects the fields of the type to determine if they are valid.
16085func (s *TimecodeConfig) Validate() error {
16086	invalidParams := request.ErrInvalidParams{Context: "TimecodeConfig"}
16087	if s.Source == nil {
16088		invalidParams.Add(request.NewErrParamRequired("Source"))
16089	}
16090	if s.SyncThreshold != nil && *s.SyncThreshold < 1 {
16091		invalidParams.Add(request.NewErrParamMinValue("SyncThreshold", 1))
16092	}
16093
16094	if invalidParams.Len() > 0 {
16095		return invalidParams
16096	}
16097	return nil
16098}
16099
16100// SetSource sets the Source field's value.
16101func (s *TimecodeConfig) SetSource(v string) *TimecodeConfig {
16102	s.Source = &v
16103	return s
16104}
16105
16106// SetSyncThreshold sets the SyncThreshold field's value.
16107func (s *TimecodeConfig) SetSyncThreshold(v int64) *TimecodeConfig {
16108	s.SyncThreshold = &v
16109	return s
16110}
16111
16112// Ttml Destination Settings
16113type TtmlDestinationSettings struct {
16114	_ struct{} `type:"structure"`
16115
16116	// When set to passthrough, passes through style and position information from
16117	// a TTML-like input source (TTML, SMPTE-TT, CFF-TT) to the CFF-TT output or
16118	// TTML output.
16119	StyleControl *string `locationName:"styleControl" type:"string" enum:"TtmlDestinationStyleControl"`
16120}
16121
16122// String returns the string representation
16123func (s TtmlDestinationSettings) String() string {
16124	return awsutil.Prettify(s)
16125}
16126
16127// GoString returns the string representation
16128func (s TtmlDestinationSettings) GoString() string {
16129	return s.String()
16130}
16131
16132// SetStyleControl sets the StyleControl field's value.
16133func (s *TtmlDestinationSettings) SetStyleControl(v string) *TtmlDestinationSettings {
16134	s.StyleControl = &v
16135	return s
16136}
16137
16138// Udp Container Settings
16139type UdpContainerSettings struct {
16140	_ struct{} `type:"structure"`
16141
16142	// M2ts Settings
16143	M2tsSettings *M2tsSettings `locationName:"m2tsSettings" type:"structure"`
16144}
16145
16146// String returns the string representation
16147func (s UdpContainerSettings) String() string {
16148	return awsutil.Prettify(s)
16149}
16150
16151// GoString returns the string representation
16152func (s UdpContainerSettings) GoString() string {
16153	return s.String()
16154}
16155
16156// Validate inspects the fields of the type to determine if they are valid.
16157func (s *UdpContainerSettings) Validate() error {
16158	invalidParams := request.ErrInvalidParams{Context: "UdpContainerSettings"}
16159	if s.M2tsSettings != nil {
16160		if err := s.M2tsSettings.Validate(); err != nil {
16161			invalidParams.AddNested("M2tsSettings", err.(request.ErrInvalidParams))
16162		}
16163	}
16164
16165	if invalidParams.Len() > 0 {
16166		return invalidParams
16167	}
16168	return nil
16169}
16170
16171// SetM2tsSettings sets the M2tsSettings field's value.
16172func (s *UdpContainerSettings) SetM2tsSettings(v *M2tsSettings) *UdpContainerSettings {
16173	s.M2tsSettings = v
16174	return s
16175}
16176
16177// Udp Group Settings
16178type UdpGroupSettings struct {
16179	_ struct{} `type:"structure"`
16180
16181	// Specifies behavior of last resort when input video is lost, and no more backup
16182	// inputs are available. When dropTs is selected the entire transport stream
16183	// will stop being emitted. When dropProgram is selected the program can be
16184	// dropped from the transport stream (and replaced with null packets to meet
16185	// the TS bitrate requirement). Or, when emitProgram is chosen the transport
16186	// stream will continue to be produced normally with repeat frames, black frames,
16187	// or slate frames substituted for the absent input video.
16188	InputLossAction *string `locationName:"inputLossAction" type:"string" enum:"InputLossActionForUdpOut"`
16189
16190	// Indicates ID3 frame that has the timecode.
16191	TimedMetadataId3Frame *string `locationName:"timedMetadataId3Frame" type:"string" enum:"UdpTimedMetadataId3Frame"`
16192
16193	// Timed Metadata interval in seconds.
16194	TimedMetadataId3Period *int64 `locationName:"timedMetadataId3Period" type:"integer"`
16195}
16196
16197// String returns the string representation
16198func (s UdpGroupSettings) String() string {
16199	return awsutil.Prettify(s)
16200}
16201
16202// GoString returns the string representation
16203func (s UdpGroupSettings) GoString() string {
16204	return s.String()
16205}
16206
16207// SetInputLossAction sets the InputLossAction field's value.
16208func (s *UdpGroupSettings) SetInputLossAction(v string) *UdpGroupSettings {
16209	s.InputLossAction = &v
16210	return s
16211}
16212
16213// SetTimedMetadataId3Frame sets the TimedMetadataId3Frame field's value.
16214func (s *UdpGroupSettings) SetTimedMetadataId3Frame(v string) *UdpGroupSettings {
16215	s.TimedMetadataId3Frame = &v
16216	return s
16217}
16218
16219// SetTimedMetadataId3Period sets the TimedMetadataId3Period field's value.
16220func (s *UdpGroupSettings) SetTimedMetadataId3Period(v int64) *UdpGroupSettings {
16221	s.TimedMetadataId3Period = &v
16222	return s
16223}
16224
16225// Udp Output Settings
16226type UdpOutputSettings struct {
16227	_ struct{} `type:"structure"`
16228
16229	// UDP output buffering in milliseconds. Larger values increase latency through
16230	// the transcoder but simultaneously assist the transcoder in maintaining a
16231	// constant, low-jitter UDP/RTP output while accommodating clock recovery, input
16232	// switching, input disruptions, picture reordering, etc.
16233	BufferMsec *int64 `locationName:"bufferMsec" type:"integer"`
16234
16235	// Udp Container Settings
16236	//
16237	// ContainerSettings is a required field
16238	ContainerSettings *UdpContainerSettings `locationName:"containerSettings" type:"structure" required:"true"`
16239
16240	// Destination address and port number for RTP or UDP packets. Can be unicast
16241	// or multicast RTP or UDP (eg. rtp://239.10.10.10:5001 or udp://10.100.100.100:5002).
16242	//
16243	// Destination is a required field
16244	Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"`
16245
16246	// Settings for enabling and adjusting Forward Error Correction on UDP outputs.
16247	FecOutputSettings *FecOutputSettings `locationName:"fecOutputSettings" type:"structure"`
16248}
16249
16250// String returns the string representation
16251func (s UdpOutputSettings) String() string {
16252	return awsutil.Prettify(s)
16253}
16254
16255// GoString returns the string representation
16256func (s UdpOutputSettings) GoString() string {
16257	return s.String()
16258}
16259
16260// Validate inspects the fields of the type to determine if they are valid.
16261func (s *UdpOutputSettings) Validate() error {
16262	invalidParams := request.ErrInvalidParams{Context: "UdpOutputSettings"}
16263	if s.ContainerSettings == nil {
16264		invalidParams.Add(request.NewErrParamRequired("ContainerSettings"))
16265	}
16266	if s.Destination == nil {
16267		invalidParams.Add(request.NewErrParamRequired("Destination"))
16268	}
16269	if s.ContainerSettings != nil {
16270		if err := s.ContainerSettings.Validate(); err != nil {
16271			invalidParams.AddNested("ContainerSettings", err.(request.ErrInvalidParams))
16272		}
16273	}
16274	if s.FecOutputSettings != nil {
16275		if err := s.FecOutputSettings.Validate(); err != nil {
16276			invalidParams.AddNested("FecOutputSettings", err.(request.ErrInvalidParams))
16277		}
16278	}
16279
16280	if invalidParams.Len() > 0 {
16281		return invalidParams
16282	}
16283	return nil
16284}
16285
16286// SetBufferMsec sets the BufferMsec field's value.
16287func (s *UdpOutputSettings) SetBufferMsec(v int64) *UdpOutputSettings {
16288	s.BufferMsec = &v
16289	return s
16290}
16291
16292// SetContainerSettings sets the ContainerSettings field's value.
16293func (s *UdpOutputSettings) SetContainerSettings(v *UdpContainerSettings) *UdpOutputSettings {
16294	s.ContainerSettings = v
16295	return s
16296}
16297
16298// SetDestination sets the Destination field's value.
16299func (s *UdpOutputSettings) SetDestination(v *OutputLocationRef) *UdpOutputSettings {
16300	s.Destination = v
16301	return s
16302}
16303
16304// SetFecOutputSettings sets the FecOutputSettings field's value.
16305func (s *UdpOutputSettings) SetFecOutputSettings(v *FecOutputSettings) *UdpOutputSettings {
16306	s.FecOutputSettings = v
16307	return s
16308}
16309
16310type UpdateChannelClassInput struct {
16311	_ struct{} `type:"structure"`
16312
16313	// A standard channel has two encoding pipelines and a single pipeline channel
16314	// only has one.
16315	//
16316	// ChannelClass is a required field
16317	ChannelClass *string `locationName:"channelClass" type:"string" required:"true" enum:"ChannelClass"`
16318
16319	// ChannelId is a required field
16320	ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"`
16321
16322	Destinations []*OutputDestination `locationName:"destinations" type:"list"`
16323}
16324
16325// String returns the string representation
16326func (s UpdateChannelClassInput) String() string {
16327	return awsutil.Prettify(s)
16328}
16329
16330// GoString returns the string representation
16331func (s UpdateChannelClassInput) GoString() string {
16332	return s.String()
16333}
16334
16335// Validate inspects the fields of the type to determine if they are valid.
16336func (s *UpdateChannelClassInput) Validate() error {
16337	invalidParams := request.ErrInvalidParams{Context: "UpdateChannelClassInput"}
16338	if s.ChannelClass == nil {
16339		invalidParams.Add(request.NewErrParamRequired("ChannelClass"))
16340	}
16341	if s.ChannelId == nil {
16342		invalidParams.Add(request.NewErrParamRequired("ChannelId"))
16343	}
16344	if s.ChannelId != nil && len(*s.ChannelId) < 1 {
16345		invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1))
16346	}
16347	if s.Destinations != nil {
16348		for i, v := range s.Destinations {
16349			if v == nil {
16350				continue
16351			}
16352			if err := v.Validate(); err != nil {
16353				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Destinations", i), err.(request.ErrInvalidParams))
16354			}
16355		}
16356	}
16357
16358	if invalidParams.Len() > 0 {
16359		return invalidParams
16360	}
16361	return nil
16362}
16363
16364// SetChannelClass sets the ChannelClass field's value.
16365func (s *UpdateChannelClassInput) SetChannelClass(v string) *UpdateChannelClassInput {
16366	s.ChannelClass = &v
16367	return s
16368}
16369
16370// SetChannelId sets the ChannelId field's value.
16371func (s *UpdateChannelClassInput) SetChannelId(v string) *UpdateChannelClassInput {
16372	s.ChannelId = &v
16373	return s
16374}
16375
16376// SetDestinations sets the Destinations field's value.
16377func (s *UpdateChannelClassInput) SetDestinations(v []*OutputDestination) *UpdateChannelClassInput {
16378	s.Destinations = v
16379	return s
16380}
16381
16382type UpdateChannelClassOutput struct {
16383	_ struct{} `type:"structure"`
16384
16385	Channel *Channel `locationName:"channel" type:"structure"`
16386}
16387
16388// String returns the string representation
16389func (s UpdateChannelClassOutput) String() string {
16390	return awsutil.Prettify(s)
16391}
16392
16393// GoString returns the string representation
16394func (s UpdateChannelClassOutput) GoString() string {
16395	return s.String()
16396}
16397
16398// SetChannel sets the Channel field's value.
16399func (s *UpdateChannelClassOutput) SetChannel(v *Channel) *UpdateChannelClassOutput {
16400	s.Channel = v
16401	return s
16402}
16403
16404type UpdateChannelInput struct {
16405	_ struct{} `type:"structure"`
16406
16407	// ChannelId is a required field
16408	ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"`
16409
16410	Destinations []*OutputDestination `locationName:"destinations" type:"list"`
16411
16412	// Encoder Settings
16413	EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"`
16414
16415	InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"`
16416
16417	InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"`
16418
16419	// The log level the user wants for their channel.
16420	LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"`
16421
16422	Name *string `locationName:"name" type:"string"`
16423
16424	RoleArn *string `locationName:"roleArn" type:"string"`
16425}
16426
16427// String returns the string representation
16428func (s UpdateChannelInput) String() string {
16429	return awsutil.Prettify(s)
16430}
16431
16432// GoString returns the string representation
16433func (s UpdateChannelInput) GoString() string {
16434	return s.String()
16435}
16436
16437// Validate inspects the fields of the type to determine if they are valid.
16438func (s *UpdateChannelInput) Validate() error {
16439	invalidParams := request.ErrInvalidParams{Context: "UpdateChannelInput"}
16440	if s.ChannelId == nil {
16441		invalidParams.Add(request.NewErrParamRequired("ChannelId"))
16442	}
16443	if s.ChannelId != nil && len(*s.ChannelId) < 1 {
16444		invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1))
16445	}
16446	if s.Destinations != nil {
16447		for i, v := range s.Destinations {
16448			if v == nil {
16449				continue
16450			}
16451			if err := v.Validate(); err != nil {
16452				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Destinations", i), err.(request.ErrInvalidParams))
16453			}
16454		}
16455	}
16456	if s.EncoderSettings != nil {
16457		if err := s.EncoderSettings.Validate(); err != nil {
16458			invalidParams.AddNested("EncoderSettings", err.(request.ErrInvalidParams))
16459		}
16460	}
16461	if s.InputAttachments != nil {
16462		for i, v := range s.InputAttachments {
16463			if v == nil {
16464				continue
16465			}
16466			if err := v.Validate(); err != nil {
16467				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputAttachments", i), err.(request.ErrInvalidParams))
16468			}
16469		}
16470	}
16471
16472	if invalidParams.Len() > 0 {
16473		return invalidParams
16474	}
16475	return nil
16476}
16477
16478// SetChannelId sets the ChannelId field's value.
16479func (s *UpdateChannelInput) SetChannelId(v string) *UpdateChannelInput {
16480	s.ChannelId = &v
16481	return s
16482}
16483
16484// SetDestinations sets the Destinations field's value.
16485func (s *UpdateChannelInput) SetDestinations(v []*OutputDestination) *UpdateChannelInput {
16486	s.Destinations = v
16487	return s
16488}
16489
16490// SetEncoderSettings sets the EncoderSettings field's value.
16491func (s *UpdateChannelInput) SetEncoderSettings(v *EncoderSettings) *UpdateChannelInput {
16492	s.EncoderSettings = v
16493	return s
16494}
16495
16496// SetInputAttachments sets the InputAttachments field's value.
16497func (s *UpdateChannelInput) SetInputAttachments(v []*InputAttachment) *UpdateChannelInput {
16498	s.InputAttachments = v
16499	return s
16500}
16501
16502// SetInputSpecification sets the InputSpecification field's value.
16503func (s *UpdateChannelInput) SetInputSpecification(v *InputSpecification) *UpdateChannelInput {
16504	s.InputSpecification = v
16505	return s
16506}
16507
16508// SetLogLevel sets the LogLevel field's value.
16509func (s *UpdateChannelInput) SetLogLevel(v string) *UpdateChannelInput {
16510	s.LogLevel = &v
16511	return s
16512}
16513
16514// SetName sets the Name field's value.
16515func (s *UpdateChannelInput) SetName(v string) *UpdateChannelInput {
16516	s.Name = &v
16517	return s
16518}
16519
16520// SetRoleArn sets the RoleArn field's value.
16521func (s *UpdateChannelInput) SetRoleArn(v string) *UpdateChannelInput {
16522	s.RoleArn = &v
16523	return s
16524}
16525
16526type UpdateChannelOutput struct {
16527	_ struct{} `type:"structure"`
16528
16529	Channel *Channel `locationName:"channel" type:"structure"`
16530}
16531
16532// String returns the string representation
16533func (s UpdateChannelOutput) String() string {
16534	return awsutil.Prettify(s)
16535}
16536
16537// GoString returns the string representation
16538func (s UpdateChannelOutput) GoString() string {
16539	return s.String()
16540}
16541
16542// SetChannel sets the Channel field's value.
16543func (s *UpdateChannelOutput) SetChannel(v *Channel) *UpdateChannelOutput {
16544	s.Channel = v
16545	return s
16546}
16547
16548type UpdateInputInput struct {
16549	_ struct{} `type:"structure"`
16550
16551	Destinations []*InputDestinationRequest `locationName:"destinations" type:"list"`
16552
16553	// InputId is a required field
16554	InputId *string `location:"uri" locationName:"inputId" type:"string" required:"true"`
16555
16556	InputSecurityGroups []*string `locationName:"inputSecurityGroups" type:"list"`
16557
16558	MediaConnectFlows []*MediaConnectFlowRequest `locationName:"mediaConnectFlows" type:"list"`
16559
16560	Name *string `locationName:"name" type:"string"`
16561
16562	RoleArn *string `locationName:"roleArn" type:"string"`
16563
16564	Sources []*InputSourceRequest `locationName:"sources" type:"list"`
16565}
16566
16567// String returns the string representation
16568func (s UpdateInputInput) String() string {
16569	return awsutil.Prettify(s)
16570}
16571
16572// GoString returns the string representation
16573func (s UpdateInputInput) GoString() string {
16574	return s.String()
16575}
16576
16577// Validate inspects the fields of the type to determine if they are valid.
16578func (s *UpdateInputInput) Validate() error {
16579	invalidParams := request.ErrInvalidParams{Context: "UpdateInputInput"}
16580	if s.InputId == nil {
16581		invalidParams.Add(request.NewErrParamRequired("InputId"))
16582	}
16583	if s.InputId != nil && len(*s.InputId) < 1 {
16584		invalidParams.Add(request.NewErrParamMinLen("InputId", 1))
16585	}
16586
16587	if invalidParams.Len() > 0 {
16588		return invalidParams
16589	}
16590	return nil
16591}
16592
16593// SetDestinations sets the Destinations field's value.
16594func (s *UpdateInputInput) SetDestinations(v []*InputDestinationRequest) *UpdateInputInput {
16595	s.Destinations = v
16596	return s
16597}
16598
16599// SetInputId sets the InputId field's value.
16600func (s *UpdateInputInput) SetInputId(v string) *UpdateInputInput {
16601	s.InputId = &v
16602	return s
16603}
16604
16605// SetInputSecurityGroups sets the InputSecurityGroups field's value.
16606func (s *UpdateInputInput) SetInputSecurityGroups(v []*string) *UpdateInputInput {
16607	s.InputSecurityGroups = v
16608	return s
16609}
16610
16611// SetMediaConnectFlows sets the MediaConnectFlows field's value.
16612func (s *UpdateInputInput) SetMediaConnectFlows(v []*MediaConnectFlowRequest) *UpdateInputInput {
16613	s.MediaConnectFlows = v
16614	return s
16615}
16616
16617// SetName sets the Name field's value.
16618func (s *UpdateInputInput) SetName(v string) *UpdateInputInput {
16619	s.Name = &v
16620	return s
16621}
16622
16623// SetRoleArn sets the RoleArn field's value.
16624func (s *UpdateInputInput) SetRoleArn(v string) *UpdateInputInput {
16625	s.RoleArn = &v
16626	return s
16627}
16628
16629// SetSources sets the Sources field's value.
16630func (s *UpdateInputInput) SetSources(v []*InputSourceRequest) *UpdateInputInput {
16631	s.Sources = v
16632	return s
16633}
16634
16635type UpdateInputOutput struct {
16636	_ struct{} `type:"structure"`
16637
16638	Input *Input `locationName:"input" type:"structure"`
16639}
16640
16641// String returns the string representation
16642func (s UpdateInputOutput) String() string {
16643	return awsutil.Prettify(s)
16644}
16645
16646// GoString returns the string representation
16647func (s UpdateInputOutput) GoString() string {
16648	return s.String()
16649}
16650
16651// SetInput sets the Input field's value.
16652func (s *UpdateInputOutput) SetInput(v *Input) *UpdateInputOutput {
16653	s.Input = v
16654	return s
16655}
16656
16657type UpdateInputSecurityGroupInput struct {
16658	_ struct{} `type:"structure"`
16659
16660	// InputSecurityGroupId is a required field
16661	InputSecurityGroupId *string `location:"uri" locationName:"inputSecurityGroupId" type:"string" required:"true"`
16662
16663	Tags map[string]*string `locationName:"tags" type:"map"`
16664
16665	WhitelistRules []*InputWhitelistRuleCidr `locationName:"whitelistRules" type:"list"`
16666}
16667
16668// String returns the string representation
16669func (s UpdateInputSecurityGroupInput) String() string {
16670	return awsutil.Prettify(s)
16671}
16672
16673// GoString returns the string representation
16674func (s UpdateInputSecurityGroupInput) GoString() string {
16675	return s.String()
16676}
16677
16678// Validate inspects the fields of the type to determine if they are valid.
16679func (s *UpdateInputSecurityGroupInput) Validate() error {
16680	invalidParams := request.ErrInvalidParams{Context: "UpdateInputSecurityGroupInput"}
16681	if s.InputSecurityGroupId == nil {
16682		invalidParams.Add(request.NewErrParamRequired("InputSecurityGroupId"))
16683	}
16684	if s.InputSecurityGroupId != nil && len(*s.InputSecurityGroupId) < 1 {
16685		invalidParams.Add(request.NewErrParamMinLen("InputSecurityGroupId", 1))
16686	}
16687
16688	if invalidParams.Len() > 0 {
16689		return invalidParams
16690	}
16691	return nil
16692}
16693
16694// SetInputSecurityGroupId sets the InputSecurityGroupId field's value.
16695func (s *UpdateInputSecurityGroupInput) SetInputSecurityGroupId(v string) *UpdateInputSecurityGroupInput {
16696	s.InputSecurityGroupId = &v
16697	return s
16698}
16699
16700// SetTags sets the Tags field's value.
16701func (s *UpdateInputSecurityGroupInput) SetTags(v map[string]*string) *UpdateInputSecurityGroupInput {
16702	s.Tags = v
16703	return s
16704}
16705
16706// SetWhitelistRules sets the WhitelistRules field's value.
16707func (s *UpdateInputSecurityGroupInput) SetWhitelistRules(v []*InputWhitelistRuleCidr) *UpdateInputSecurityGroupInput {
16708	s.WhitelistRules = v
16709	return s
16710}
16711
16712type UpdateInputSecurityGroupOutput struct {
16713	_ struct{} `type:"structure"`
16714
16715	// An Input Security Group
16716	SecurityGroup *InputSecurityGroup `locationName:"securityGroup" type:"structure"`
16717}
16718
16719// String returns the string representation
16720func (s UpdateInputSecurityGroupOutput) String() string {
16721	return awsutil.Prettify(s)
16722}
16723
16724// GoString returns the string representation
16725func (s UpdateInputSecurityGroupOutput) GoString() string {
16726	return s.String()
16727}
16728
16729// SetSecurityGroup sets the SecurityGroup field's value.
16730func (s *UpdateInputSecurityGroupOutput) SetSecurityGroup(v *InputSecurityGroup) *UpdateInputSecurityGroupOutput {
16731	s.SecurityGroup = v
16732	return s
16733}
16734
16735type UpdateReservationInput struct {
16736	_ struct{} `type:"structure"`
16737
16738	Name *string `locationName:"name" type:"string"`
16739
16740	// ReservationId is a required field
16741	ReservationId *string `location:"uri" locationName:"reservationId" type:"string" required:"true"`
16742}
16743
16744// String returns the string representation
16745func (s UpdateReservationInput) String() string {
16746	return awsutil.Prettify(s)
16747}
16748
16749// GoString returns the string representation
16750func (s UpdateReservationInput) GoString() string {
16751	return s.String()
16752}
16753
16754// Validate inspects the fields of the type to determine if they are valid.
16755func (s *UpdateReservationInput) Validate() error {
16756	invalidParams := request.ErrInvalidParams{Context: "UpdateReservationInput"}
16757	if s.ReservationId == nil {
16758		invalidParams.Add(request.NewErrParamRequired("ReservationId"))
16759	}
16760	if s.ReservationId != nil && len(*s.ReservationId) < 1 {
16761		invalidParams.Add(request.NewErrParamMinLen("ReservationId", 1))
16762	}
16763
16764	if invalidParams.Len() > 0 {
16765		return invalidParams
16766	}
16767	return nil
16768}
16769
16770// SetName sets the Name field's value.
16771func (s *UpdateReservationInput) SetName(v string) *UpdateReservationInput {
16772	s.Name = &v
16773	return s
16774}
16775
16776// SetReservationId sets the ReservationId field's value.
16777func (s *UpdateReservationInput) SetReservationId(v string) *UpdateReservationInput {
16778	s.ReservationId = &v
16779	return s
16780}
16781
16782type UpdateReservationOutput struct {
16783	_ struct{} `type:"structure"`
16784
16785	// Reserved resources available to use
16786	Reservation *Reservation `locationName:"reservation" type:"structure"`
16787}
16788
16789// String returns the string representation
16790func (s UpdateReservationOutput) String() string {
16791	return awsutil.Prettify(s)
16792}
16793
16794// GoString returns the string representation
16795func (s UpdateReservationOutput) GoString() string {
16796	return s.String()
16797}
16798
16799// SetReservation sets the Reservation field's value.
16800func (s *UpdateReservationOutput) SetReservation(v *Reservation) *UpdateReservationOutput {
16801	s.Reservation = v
16802	return s
16803}
16804
16805type ValidationError struct {
16806	_ struct{} `type:"structure"`
16807
16808	ElementPath *string `locationName:"elementPath" type:"string"`
16809
16810	ErrorMessage *string `locationName:"errorMessage" type:"string"`
16811}
16812
16813// String returns the string representation
16814func (s ValidationError) String() string {
16815	return awsutil.Prettify(s)
16816}
16817
16818// GoString returns the string representation
16819func (s ValidationError) GoString() string {
16820	return s.String()
16821}
16822
16823// SetElementPath sets the ElementPath field's value.
16824func (s *ValidationError) SetElementPath(v string) *ValidationError {
16825	s.ElementPath = &v
16826	return s
16827}
16828
16829// SetErrorMessage sets the ErrorMessage field's value.
16830func (s *ValidationError) SetErrorMessage(v string) *ValidationError {
16831	s.ErrorMessage = &v
16832	return s
16833}
16834
16835// Video Codec Settings
16836type VideoCodecSettings struct {
16837	_ struct{} `type:"structure"`
16838
16839	// Frame Capture Settings
16840	FrameCaptureSettings *FrameCaptureSettings `locationName:"frameCaptureSettings" type:"structure"`
16841
16842	// H264 Settings
16843	H264Settings *H264Settings `locationName:"h264Settings" type:"structure"`
16844}
16845
16846// String returns the string representation
16847func (s VideoCodecSettings) String() string {
16848	return awsutil.Prettify(s)
16849}
16850
16851// GoString returns the string representation
16852func (s VideoCodecSettings) GoString() string {
16853	return s.String()
16854}
16855
16856// Validate inspects the fields of the type to determine if they are valid.
16857func (s *VideoCodecSettings) Validate() error {
16858	invalidParams := request.ErrInvalidParams{Context: "VideoCodecSettings"}
16859	if s.FrameCaptureSettings != nil {
16860		if err := s.FrameCaptureSettings.Validate(); err != nil {
16861			invalidParams.AddNested("FrameCaptureSettings", err.(request.ErrInvalidParams))
16862		}
16863	}
16864	if s.H264Settings != nil {
16865		if err := s.H264Settings.Validate(); err != nil {
16866			invalidParams.AddNested("H264Settings", err.(request.ErrInvalidParams))
16867		}
16868	}
16869
16870	if invalidParams.Len() > 0 {
16871		return invalidParams
16872	}
16873	return nil
16874}
16875
16876// SetFrameCaptureSettings sets the FrameCaptureSettings field's value.
16877func (s *VideoCodecSettings) SetFrameCaptureSettings(v *FrameCaptureSettings) *VideoCodecSettings {
16878	s.FrameCaptureSettings = v
16879	return s
16880}
16881
16882// SetH264Settings sets the H264Settings field's value.
16883func (s *VideoCodecSettings) SetH264Settings(v *H264Settings) *VideoCodecSettings {
16884	s.H264Settings = v
16885	return s
16886}
16887
16888// Video settings for this stream.
16889type VideoDescription struct {
16890	_ struct{} `type:"structure"`
16891
16892	// Video codec settings.
16893	CodecSettings *VideoCodecSettings `locationName:"codecSettings" type:"structure"`
16894
16895	// Output video height, in pixels. Must be an even number. For most codecs,
16896	// you can leave this field and width blank in order to use the height and width
16897	// (resolution) from the source. Note, however, that leaving blank is not recommended.
16898	// For the Frame Capture codec, height and width are required.
16899	Height *int64 `locationName:"height" type:"integer"`
16900
16901	// The name of this VideoDescription. Outputs will use this name to uniquely
16902	// identify this Description. Description names should be unique within this
16903	// Live Event.
16904	//
16905	// Name is a required field
16906	Name *string `locationName:"name" type:"string" required:"true"`
16907
16908	// Indicates how to respond to the AFD values in the input stream. RESPOND causes
16909	// input video to be clipped, depending on the AFD value, input display aspect
16910	// ratio, and output display aspect ratio, and (except for FRAMECAPTURE codec)
16911	// includes the values in the output. PASSTHROUGH (does not apply to FRAMECAPTURE
16912	// codec) ignores the AFD values and includes the values in the output, so input
16913	// video is not clipped. NONE ignores the AFD values and does not include the
16914	// values through to the output, so input video is not clipped.
16915	RespondToAfd *string `locationName:"respondToAfd" type:"string" enum:"VideoDescriptionRespondToAfd"`
16916
16917	// STRETCHTOOUTPUT configures the output position to stretch the video to the
16918	// specified output resolution (height and width). This option will override
16919	// any position value. DEFAULT may insert black boxes (pillar boxes or letter
16920	// boxes) around the video to provide the specified output resolution.
16921	ScalingBehavior *string `locationName:"scalingBehavior" type:"string" enum:"VideoDescriptionScalingBehavior"`
16922
16923	// Changes the strength of the anti-alias filter used for scaling. 0 is the
16924	// softest setting, 100 is the sharpest. A setting of 50 is recommended for
16925	// most content.
16926	Sharpness *int64 `locationName:"sharpness" type:"integer"`
16927
16928	// Output video width, in pixels. Must be an even number. For most codecs, you
16929	// can leave this field and height blank in order to use the height and width
16930	// (resolution) from the source. Note, however, that leaving blank is not recommended.
16931	// For the Frame Capture codec, height and width are required.
16932	Width *int64 `locationName:"width" type:"integer"`
16933}
16934
16935// String returns the string representation
16936func (s VideoDescription) String() string {
16937	return awsutil.Prettify(s)
16938}
16939
16940// GoString returns the string representation
16941func (s VideoDescription) GoString() string {
16942	return s.String()
16943}
16944
16945// Validate inspects the fields of the type to determine if they are valid.
16946func (s *VideoDescription) Validate() error {
16947	invalidParams := request.ErrInvalidParams{Context: "VideoDescription"}
16948	if s.Name == nil {
16949		invalidParams.Add(request.NewErrParamRequired("Name"))
16950	}
16951	if s.CodecSettings != nil {
16952		if err := s.CodecSettings.Validate(); err != nil {
16953			invalidParams.AddNested("CodecSettings", err.(request.ErrInvalidParams))
16954		}
16955	}
16956
16957	if invalidParams.Len() > 0 {
16958		return invalidParams
16959	}
16960	return nil
16961}
16962
16963// SetCodecSettings sets the CodecSettings field's value.
16964func (s *VideoDescription) SetCodecSettings(v *VideoCodecSettings) *VideoDescription {
16965	s.CodecSettings = v
16966	return s
16967}
16968
16969// SetHeight sets the Height field's value.
16970func (s *VideoDescription) SetHeight(v int64) *VideoDescription {
16971	s.Height = &v
16972	return s
16973}
16974
16975// SetName sets the Name field's value.
16976func (s *VideoDescription) SetName(v string) *VideoDescription {
16977	s.Name = &v
16978	return s
16979}
16980
16981// SetRespondToAfd sets the RespondToAfd field's value.
16982func (s *VideoDescription) SetRespondToAfd(v string) *VideoDescription {
16983	s.RespondToAfd = &v
16984	return s
16985}
16986
16987// SetScalingBehavior sets the ScalingBehavior field's value.
16988func (s *VideoDescription) SetScalingBehavior(v string) *VideoDescription {
16989	s.ScalingBehavior = &v
16990	return s
16991}
16992
16993// SetSharpness sets the Sharpness field's value.
16994func (s *VideoDescription) SetSharpness(v int64) *VideoDescription {
16995	s.Sharpness = &v
16996	return s
16997}
16998
16999// SetWidth sets the Width field's value.
17000func (s *VideoDescription) SetWidth(v int64) *VideoDescription {
17001	s.Width = &v
17002	return s
17003}
17004
17005// Specifies a particular video stream within an input source. An input may
17006// have only a single video selector.
17007type VideoSelector struct {
17008	_ struct{} `type:"structure"`
17009
17010	// Specifies the colorspace of an input. This setting works in tandem with colorSpaceConversion
17011	// to determine if any conversion will be performed.
17012	ColorSpace *string `locationName:"colorSpace" type:"string" enum:"VideoSelectorColorSpace"`
17013
17014	// Applies only if colorSpace is a value other than follow. This field controls
17015	// how the value in the colorSpace field will be used. fallback means that when
17016	// the input does include color space data, that data will be used, but when
17017	// the input has no color space data, the value in colorSpace will be used.
17018	// Choose fallback if your input is sometimes missing color space data, but
17019	// when it does have color space data, that data is correct. force means to
17020	// always use the value in colorSpace. Choose force if your input usually has
17021	// no color space data or might have unreliable color space data.
17022	ColorSpaceUsage *string `locationName:"colorSpaceUsage" type:"string" enum:"VideoSelectorColorSpaceUsage"`
17023
17024	// The video selector settings.
17025	SelectorSettings *VideoSelectorSettings `locationName:"selectorSettings" type:"structure"`
17026}
17027
17028// String returns the string representation
17029func (s VideoSelector) String() string {
17030	return awsutil.Prettify(s)
17031}
17032
17033// GoString returns the string representation
17034func (s VideoSelector) GoString() string {
17035	return s.String()
17036}
17037
17038// SetColorSpace sets the ColorSpace field's value.
17039func (s *VideoSelector) SetColorSpace(v string) *VideoSelector {
17040	s.ColorSpace = &v
17041	return s
17042}
17043
17044// SetColorSpaceUsage sets the ColorSpaceUsage field's value.
17045func (s *VideoSelector) SetColorSpaceUsage(v string) *VideoSelector {
17046	s.ColorSpaceUsage = &v
17047	return s
17048}
17049
17050// SetSelectorSettings sets the SelectorSettings field's value.
17051func (s *VideoSelector) SetSelectorSettings(v *VideoSelectorSettings) *VideoSelector {
17052	s.SelectorSettings = v
17053	return s
17054}
17055
17056// Video Selector Pid
17057type VideoSelectorPid struct {
17058	_ struct{} `type:"structure"`
17059
17060	// Selects a specific PID from within a video source.
17061	Pid *int64 `locationName:"pid" type:"integer"`
17062}
17063
17064// String returns the string representation
17065func (s VideoSelectorPid) String() string {
17066	return awsutil.Prettify(s)
17067}
17068
17069// GoString returns the string representation
17070func (s VideoSelectorPid) GoString() string {
17071	return s.String()
17072}
17073
17074// SetPid sets the Pid field's value.
17075func (s *VideoSelectorPid) SetPid(v int64) *VideoSelectorPid {
17076	s.Pid = &v
17077	return s
17078}
17079
17080// Video Selector Program Id
17081type VideoSelectorProgramId struct {
17082	_ struct{} `type:"structure"`
17083
17084	// Selects a specific program from within a multi-program transport stream.
17085	// If the program doesn't exist, the first program within the transport stream
17086	// will be selected by default.
17087	ProgramId *int64 `locationName:"programId" type:"integer"`
17088}
17089
17090// String returns the string representation
17091func (s VideoSelectorProgramId) String() string {
17092	return awsutil.Prettify(s)
17093}
17094
17095// GoString returns the string representation
17096func (s VideoSelectorProgramId) GoString() string {
17097	return s.String()
17098}
17099
17100// SetProgramId sets the ProgramId field's value.
17101func (s *VideoSelectorProgramId) SetProgramId(v int64) *VideoSelectorProgramId {
17102	s.ProgramId = &v
17103	return s
17104}
17105
17106// Video Selector Settings
17107type VideoSelectorSettings struct {
17108	_ struct{} `type:"structure"`
17109
17110	// Video Selector Pid
17111	VideoSelectorPid *VideoSelectorPid `locationName:"videoSelectorPid" type:"structure"`
17112
17113	// Video Selector Program Id
17114	VideoSelectorProgramId *VideoSelectorProgramId `locationName:"videoSelectorProgramId" type:"structure"`
17115}
17116
17117// String returns the string representation
17118func (s VideoSelectorSettings) String() string {
17119	return awsutil.Prettify(s)
17120}
17121
17122// GoString returns the string representation
17123func (s VideoSelectorSettings) GoString() string {
17124	return s.String()
17125}
17126
17127// SetVideoSelectorPid sets the VideoSelectorPid field's value.
17128func (s *VideoSelectorSettings) SetVideoSelectorPid(v *VideoSelectorPid) *VideoSelectorSettings {
17129	s.VideoSelectorPid = v
17130	return s
17131}
17132
17133// SetVideoSelectorProgramId sets the VideoSelectorProgramId field's value.
17134func (s *VideoSelectorSettings) SetVideoSelectorProgramId(v *VideoSelectorProgramId) *VideoSelectorSettings {
17135	s.VideoSelectorProgramId = v
17136	return s
17137}
17138
17139// Webvtt Destination Settings
17140type WebvttDestinationSettings struct {
17141	_ struct{} `type:"structure"`
17142}
17143
17144// String returns the string representation
17145func (s WebvttDestinationSettings) String() string {
17146	return awsutil.Prettify(s)
17147}
17148
17149// GoString returns the string representation
17150func (s WebvttDestinationSettings) GoString() string {
17151	return s.String()
17152}
17153
17154// Aac Coding Mode
17155const (
17156	// AacCodingModeAdReceiverMix is a AacCodingMode enum value
17157	AacCodingModeAdReceiverMix = "AD_RECEIVER_MIX"
17158
17159	// AacCodingModeCodingMode10 is a AacCodingMode enum value
17160	AacCodingModeCodingMode10 = "CODING_MODE_1_0"
17161
17162	// AacCodingModeCodingMode11 is a AacCodingMode enum value
17163	AacCodingModeCodingMode11 = "CODING_MODE_1_1"
17164
17165	// AacCodingModeCodingMode20 is a AacCodingMode enum value
17166	AacCodingModeCodingMode20 = "CODING_MODE_2_0"
17167
17168	// AacCodingModeCodingMode51 is a AacCodingMode enum value
17169	AacCodingModeCodingMode51 = "CODING_MODE_5_1"
17170)
17171
17172// Aac Input Type
17173const (
17174	// AacInputTypeBroadcasterMixedAd is a AacInputType enum value
17175	AacInputTypeBroadcasterMixedAd = "BROADCASTER_MIXED_AD"
17176
17177	// AacInputTypeNormal is a AacInputType enum value
17178	AacInputTypeNormal = "NORMAL"
17179)
17180
17181// Aac Profile
17182const (
17183	// AacProfileHev1 is a AacProfile enum value
17184	AacProfileHev1 = "HEV1"
17185
17186	// AacProfileHev2 is a AacProfile enum value
17187	AacProfileHev2 = "HEV2"
17188
17189	// AacProfileLc is a AacProfile enum value
17190	AacProfileLc = "LC"
17191)
17192
17193// Aac Rate Control Mode
17194const (
17195	// AacRateControlModeCbr is a AacRateControlMode enum value
17196	AacRateControlModeCbr = "CBR"
17197
17198	// AacRateControlModeVbr is a AacRateControlMode enum value
17199	AacRateControlModeVbr = "VBR"
17200)
17201
17202// Aac Raw Format
17203const (
17204	// AacRawFormatLatmLoas is a AacRawFormat enum value
17205	AacRawFormatLatmLoas = "LATM_LOAS"
17206
17207	// AacRawFormatNone is a AacRawFormat enum value
17208	AacRawFormatNone = "NONE"
17209)
17210
17211// Aac Spec
17212const (
17213	// AacSpecMpeg2 is a AacSpec enum value
17214	AacSpecMpeg2 = "MPEG2"
17215
17216	// AacSpecMpeg4 is a AacSpec enum value
17217	AacSpecMpeg4 = "MPEG4"
17218)
17219
17220// Aac Vbr Quality
17221const (
17222	// AacVbrQualityHigh is a AacVbrQuality enum value
17223	AacVbrQualityHigh = "HIGH"
17224
17225	// AacVbrQualityLow is a AacVbrQuality enum value
17226	AacVbrQualityLow = "LOW"
17227
17228	// AacVbrQualityMediumHigh is a AacVbrQuality enum value
17229	AacVbrQualityMediumHigh = "MEDIUM_HIGH"
17230
17231	// AacVbrQualityMediumLow is a AacVbrQuality enum value
17232	AacVbrQualityMediumLow = "MEDIUM_LOW"
17233)
17234
17235// Ac3 Bitstream Mode
17236const (
17237	// Ac3BitstreamModeCommentary is a Ac3BitstreamMode enum value
17238	Ac3BitstreamModeCommentary = "COMMENTARY"
17239
17240	// Ac3BitstreamModeCompleteMain is a Ac3BitstreamMode enum value
17241	Ac3BitstreamModeCompleteMain = "COMPLETE_MAIN"
17242
17243	// Ac3BitstreamModeDialogue is a Ac3BitstreamMode enum value
17244	Ac3BitstreamModeDialogue = "DIALOGUE"
17245
17246	// Ac3BitstreamModeEmergency is a Ac3BitstreamMode enum value
17247	Ac3BitstreamModeEmergency = "EMERGENCY"
17248
17249	// Ac3BitstreamModeHearingImpaired is a Ac3BitstreamMode enum value
17250	Ac3BitstreamModeHearingImpaired = "HEARING_IMPAIRED"
17251
17252	// Ac3BitstreamModeMusicAndEffects is a Ac3BitstreamMode enum value
17253	Ac3BitstreamModeMusicAndEffects = "MUSIC_AND_EFFECTS"
17254
17255	// Ac3BitstreamModeVisuallyImpaired is a Ac3BitstreamMode enum value
17256	Ac3BitstreamModeVisuallyImpaired = "VISUALLY_IMPAIRED"
17257
17258	// Ac3BitstreamModeVoiceOver is a Ac3BitstreamMode enum value
17259	Ac3BitstreamModeVoiceOver = "VOICE_OVER"
17260)
17261
17262// Ac3 Coding Mode
17263const (
17264	// Ac3CodingModeCodingMode10 is a Ac3CodingMode enum value
17265	Ac3CodingModeCodingMode10 = "CODING_MODE_1_0"
17266
17267	// Ac3CodingModeCodingMode11 is a Ac3CodingMode enum value
17268	Ac3CodingModeCodingMode11 = "CODING_MODE_1_1"
17269
17270	// Ac3CodingModeCodingMode20 is a Ac3CodingMode enum value
17271	Ac3CodingModeCodingMode20 = "CODING_MODE_2_0"
17272
17273	// Ac3CodingModeCodingMode32Lfe is a Ac3CodingMode enum value
17274	Ac3CodingModeCodingMode32Lfe = "CODING_MODE_3_2_LFE"
17275)
17276
17277// Ac3 Drc Profile
17278const (
17279	// Ac3DrcProfileFilmStandard is a Ac3DrcProfile enum value
17280	Ac3DrcProfileFilmStandard = "FILM_STANDARD"
17281
17282	// Ac3DrcProfileNone is a Ac3DrcProfile enum value
17283	Ac3DrcProfileNone = "NONE"
17284)
17285
17286// Ac3 Lfe Filter
17287const (
17288	// Ac3LfeFilterDisabled is a Ac3LfeFilter enum value
17289	Ac3LfeFilterDisabled = "DISABLED"
17290
17291	// Ac3LfeFilterEnabled is a Ac3LfeFilter enum value
17292	Ac3LfeFilterEnabled = "ENABLED"
17293)
17294
17295// Ac3 Metadata Control
17296const (
17297	// Ac3MetadataControlFollowInput is a Ac3MetadataControl enum value
17298	Ac3MetadataControlFollowInput = "FOLLOW_INPUT"
17299
17300	// Ac3MetadataControlUseConfigured is a Ac3MetadataControl enum value
17301	Ac3MetadataControlUseConfigured = "USE_CONFIGURED"
17302)
17303
17304// Afd Signaling
17305const (
17306	// AfdSignalingAuto is a AfdSignaling enum value
17307	AfdSignalingAuto = "AUTO"
17308
17309	// AfdSignalingFixed is a AfdSignaling enum value
17310	AfdSignalingFixed = "FIXED"
17311
17312	// AfdSignalingNone is a AfdSignaling enum value
17313	AfdSignalingNone = "NONE"
17314)
17315
17316// Audio Description Audio Type Control
17317const (
17318	// AudioDescriptionAudioTypeControlFollowInput is a AudioDescriptionAudioTypeControl enum value
17319	AudioDescriptionAudioTypeControlFollowInput = "FOLLOW_INPUT"
17320
17321	// AudioDescriptionAudioTypeControlUseConfigured is a AudioDescriptionAudioTypeControl enum value
17322	AudioDescriptionAudioTypeControlUseConfigured = "USE_CONFIGURED"
17323)
17324
17325// Audio Description Language Code Control
17326const (
17327	// AudioDescriptionLanguageCodeControlFollowInput is a AudioDescriptionLanguageCodeControl enum value
17328	AudioDescriptionLanguageCodeControlFollowInput = "FOLLOW_INPUT"
17329
17330	// AudioDescriptionLanguageCodeControlUseConfigured is a AudioDescriptionLanguageCodeControl enum value
17331	AudioDescriptionLanguageCodeControlUseConfigured = "USE_CONFIGURED"
17332)
17333
17334// Audio Language Selection Policy
17335const (
17336	// AudioLanguageSelectionPolicyLoose is a AudioLanguageSelectionPolicy enum value
17337	AudioLanguageSelectionPolicyLoose = "LOOSE"
17338
17339	// AudioLanguageSelectionPolicyStrict is a AudioLanguageSelectionPolicy enum value
17340	AudioLanguageSelectionPolicyStrict = "STRICT"
17341)
17342
17343// Audio Normalization Algorithm
17344const (
17345	// AudioNormalizationAlgorithmItu17701 is a AudioNormalizationAlgorithm enum value
17346	AudioNormalizationAlgorithmItu17701 = "ITU_1770_1"
17347
17348	// AudioNormalizationAlgorithmItu17702 is a AudioNormalizationAlgorithm enum value
17349	AudioNormalizationAlgorithmItu17702 = "ITU_1770_2"
17350)
17351
17352// Audio Normalization Algorithm Control
17353const (
17354	// AudioNormalizationAlgorithmControlCorrectAudio is a AudioNormalizationAlgorithmControl enum value
17355	AudioNormalizationAlgorithmControlCorrectAudio = "CORRECT_AUDIO"
17356)
17357
17358// Audio Only Hls Track Type
17359const (
17360	// AudioOnlyHlsTrackTypeAlternateAudioAutoSelect is a AudioOnlyHlsTrackType enum value
17361	AudioOnlyHlsTrackTypeAlternateAudioAutoSelect = "ALTERNATE_AUDIO_AUTO_SELECT"
17362
17363	// AudioOnlyHlsTrackTypeAlternateAudioAutoSelectDefault is a AudioOnlyHlsTrackType enum value
17364	AudioOnlyHlsTrackTypeAlternateAudioAutoSelectDefault = "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT"
17365
17366	// AudioOnlyHlsTrackTypeAlternateAudioNotAutoSelect is a AudioOnlyHlsTrackType enum value
17367	AudioOnlyHlsTrackTypeAlternateAudioNotAutoSelect = "ALTERNATE_AUDIO_NOT_AUTO_SELECT"
17368
17369	// AudioOnlyHlsTrackTypeAudioOnlyVariantStream is a AudioOnlyHlsTrackType enum value
17370	AudioOnlyHlsTrackTypeAudioOnlyVariantStream = "AUDIO_ONLY_VARIANT_STREAM"
17371)
17372
17373// Audio Type
17374const (
17375	// AudioTypeCleanEffects is a AudioType enum value
17376	AudioTypeCleanEffects = "CLEAN_EFFECTS"
17377
17378	// AudioTypeHearingImpaired is a AudioType enum value
17379	AudioTypeHearingImpaired = "HEARING_IMPAIRED"
17380
17381	// AudioTypeUndefined is a AudioType enum value
17382	AudioTypeUndefined = "UNDEFINED"
17383
17384	// AudioTypeVisualImpairedCommentary is a AudioType enum value
17385	AudioTypeVisualImpairedCommentary = "VISUAL_IMPAIRED_COMMENTARY"
17386)
17387
17388// Authentication Scheme
17389const (
17390	// AuthenticationSchemeAkamai is a AuthenticationScheme enum value
17391	AuthenticationSchemeAkamai = "AKAMAI"
17392
17393	// AuthenticationSchemeCommon is a AuthenticationScheme enum value
17394	AuthenticationSchemeCommon = "COMMON"
17395)
17396
17397// Avail Blanking State
17398const (
17399	// AvailBlankingStateDisabled is a AvailBlankingState enum value
17400	AvailBlankingStateDisabled = "DISABLED"
17401
17402	// AvailBlankingStateEnabled is a AvailBlankingState enum value
17403	AvailBlankingStateEnabled = "ENABLED"
17404)
17405
17406// Blackout Slate Network End Blackout
17407const (
17408	// BlackoutSlateNetworkEndBlackoutDisabled is a BlackoutSlateNetworkEndBlackout enum value
17409	BlackoutSlateNetworkEndBlackoutDisabled = "DISABLED"
17410
17411	// BlackoutSlateNetworkEndBlackoutEnabled is a BlackoutSlateNetworkEndBlackout enum value
17412	BlackoutSlateNetworkEndBlackoutEnabled = "ENABLED"
17413)
17414
17415// Blackout Slate State
17416const (
17417	// BlackoutSlateStateDisabled is a BlackoutSlateState enum value
17418	BlackoutSlateStateDisabled = "DISABLED"
17419
17420	// BlackoutSlateStateEnabled is a BlackoutSlateState enum value
17421	BlackoutSlateStateEnabled = "ENABLED"
17422)
17423
17424// Burn In Alignment
17425const (
17426	// BurnInAlignmentCentered is a BurnInAlignment enum value
17427	BurnInAlignmentCentered = "CENTERED"
17428
17429	// BurnInAlignmentLeft is a BurnInAlignment enum value
17430	BurnInAlignmentLeft = "LEFT"
17431
17432	// BurnInAlignmentSmart is a BurnInAlignment enum value
17433	BurnInAlignmentSmart = "SMART"
17434)
17435
17436// Burn In Background Color
17437const (
17438	// BurnInBackgroundColorBlack is a BurnInBackgroundColor enum value
17439	BurnInBackgroundColorBlack = "BLACK"
17440
17441	// BurnInBackgroundColorNone is a BurnInBackgroundColor enum value
17442	BurnInBackgroundColorNone = "NONE"
17443
17444	// BurnInBackgroundColorWhite is a BurnInBackgroundColor enum value
17445	BurnInBackgroundColorWhite = "WHITE"
17446)
17447
17448// Burn In Font Color
17449const (
17450	// BurnInFontColorBlack is a BurnInFontColor enum value
17451	BurnInFontColorBlack = "BLACK"
17452
17453	// BurnInFontColorBlue is a BurnInFontColor enum value
17454	BurnInFontColorBlue = "BLUE"
17455
17456	// BurnInFontColorGreen is a BurnInFontColor enum value
17457	BurnInFontColorGreen = "GREEN"
17458
17459	// BurnInFontColorRed is a BurnInFontColor enum value
17460	BurnInFontColorRed = "RED"
17461
17462	// BurnInFontColorWhite is a BurnInFontColor enum value
17463	BurnInFontColorWhite = "WHITE"
17464
17465	// BurnInFontColorYellow is a BurnInFontColor enum value
17466	BurnInFontColorYellow = "YELLOW"
17467)
17468
17469// Burn In Outline Color
17470const (
17471	// BurnInOutlineColorBlack is a BurnInOutlineColor enum value
17472	BurnInOutlineColorBlack = "BLACK"
17473
17474	// BurnInOutlineColorBlue is a BurnInOutlineColor enum value
17475	BurnInOutlineColorBlue = "BLUE"
17476
17477	// BurnInOutlineColorGreen is a BurnInOutlineColor enum value
17478	BurnInOutlineColorGreen = "GREEN"
17479
17480	// BurnInOutlineColorRed is a BurnInOutlineColor enum value
17481	BurnInOutlineColorRed = "RED"
17482
17483	// BurnInOutlineColorWhite is a BurnInOutlineColor enum value
17484	BurnInOutlineColorWhite = "WHITE"
17485
17486	// BurnInOutlineColorYellow is a BurnInOutlineColor enum value
17487	BurnInOutlineColorYellow = "YELLOW"
17488)
17489
17490// Burn In Shadow Color
17491const (
17492	// BurnInShadowColorBlack is a BurnInShadowColor enum value
17493	BurnInShadowColorBlack = "BLACK"
17494
17495	// BurnInShadowColorNone is a BurnInShadowColor enum value
17496	BurnInShadowColorNone = "NONE"
17497
17498	// BurnInShadowColorWhite is a BurnInShadowColor enum value
17499	BurnInShadowColorWhite = "WHITE"
17500)
17501
17502// Burn In Teletext Grid Control
17503const (
17504	// BurnInTeletextGridControlFixed is a BurnInTeletextGridControl enum value
17505	BurnInTeletextGridControlFixed = "FIXED"
17506
17507	// BurnInTeletextGridControlScaled is a BurnInTeletextGridControl enum value
17508	BurnInTeletextGridControlScaled = "SCALED"
17509)
17510
17511// A standard channel has two encoding pipelines and a single pipeline channel
17512// only has one.
17513const (
17514	// ChannelClassStandard is a ChannelClass enum value
17515	ChannelClassStandard = "STANDARD"
17516
17517	// ChannelClassSinglePipeline is a ChannelClass enum value
17518	ChannelClassSinglePipeline = "SINGLE_PIPELINE"
17519)
17520
17521const (
17522	// ChannelStateCreating is a ChannelState enum value
17523	ChannelStateCreating = "CREATING"
17524
17525	// ChannelStateCreateFailed is a ChannelState enum value
17526	ChannelStateCreateFailed = "CREATE_FAILED"
17527
17528	// ChannelStateIdle is a ChannelState enum value
17529	ChannelStateIdle = "IDLE"
17530
17531	// ChannelStateStarting is a ChannelState enum value
17532	ChannelStateStarting = "STARTING"
17533
17534	// ChannelStateRunning is a ChannelState enum value
17535	ChannelStateRunning = "RUNNING"
17536
17537	// ChannelStateRecovering is a ChannelState enum value
17538	ChannelStateRecovering = "RECOVERING"
17539
17540	// ChannelStateStopping is a ChannelState enum value
17541	ChannelStateStopping = "STOPPING"
17542
17543	// ChannelStateDeleting is a ChannelState enum value
17544	ChannelStateDeleting = "DELETING"
17545
17546	// ChannelStateDeleted is a ChannelState enum value
17547	ChannelStateDeleted = "DELETED"
17548
17549	// ChannelStateUpdating is a ChannelState enum value
17550	ChannelStateUpdating = "UPDATING"
17551
17552	// ChannelStateUpdateFailed is a ChannelState enum value
17553	ChannelStateUpdateFailed = "UPDATE_FAILED"
17554)
17555
17556// Dvb Sdt Output Sdt
17557const (
17558	// DvbSdtOutputSdtSdtFollow is a DvbSdtOutputSdt enum value
17559	DvbSdtOutputSdtSdtFollow = "SDT_FOLLOW"
17560
17561	// DvbSdtOutputSdtSdtFollowIfPresent is a DvbSdtOutputSdt enum value
17562	DvbSdtOutputSdtSdtFollowIfPresent = "SDT_FOLLOW_IF_PRESENT"
17563
17564	// DvbSdtOutputSdtSdtManual is a DvbSdtOutputSdt enum value
17565	DvbSdtOutputSdtSdtManual = "SDT_MANUAL"
17566
17567	// DvbSdtOutputSdtSdtNone is a DvbSdtOutputSdt enum value
17568	DvbSdtOutputSdtSdtNone = "SDT_NONE"
17569)
17570
17571// Dvb Sub Destination Alignment
17572const (
17573	// DvbSubDestinationAlignmentCentered is a DvbSubDestinationAlignment enum value
17574	DvbSubDestinationAlignmentCentered = "CENTERED"
17575
17576	// DvbSubDestinationAlignmentLeft is a DvbSubDestinationAlignment enum value
17577	DvbSubDestinationAlignmentLeft = "LEFT"
17578
17579	// DvbSubDestinationAlignmentSmart is a DvbSubDestinationAlignment enum value
17580	DvbSubDestinationAlignmentSmart = "SMART"
17581)
17582
17583// Dvb Sub Destination Background Color
17584const (
17585	// DvbSubDestinationBackgroundColorBlack is a DvbSubDestinationBackgroundColor enum value
17586	DvbSubDestinationBackgroundColorBlack = "BLACK"
17587
17588	// DvbSubDestinationBackgroundColorNone is a DvbSubDestinationBackgroundColor enum value
17589	DvbSubDestinationBackgroundColorNone = "NONE"
17590
17591	// DvbSubDestinationBackgroundColorWhite is a DvbSubDestinationBackgroundColor enum value
17592	DvbSubDestinationBackgroundColorWhite = "WHITE"
17593)
17594
17595// Dvb Sub Destination Font Color
17596const (
17597	// DvbSubDestinationFontColorBlack is a DvbSubDestinationFontColor enum value
17598	DvbSubDestinationFontColorBlack = "BLACK"
17599
17600	// DvbSubDestinationFontColorBlue is a DvbSubDestinationFontColor enum value
17601	DvbSubDestinationFontColorBlue = "BLUE"
17602
17603	// DvbSubDestinationFontColorGreen is a DvbSubDestinationFontColor enum value
17604	DvbSubDestinationFontColorGreen = "GREEN"
17605
17606	// DvbSubDestinationFontColorRed is a DvbSubDestinationFontColor enum value
17607	DvbSubDestinationFontColorRed = "RED"
17608
17609	// DvbSubDestinationFontColorWhite is a DvbSubDestinationFontColor enum value
17610	DvbSubDestinationFontColorWhite = "WHITE"
17611
17612	// DvbSubDestinationFontColorYellow is a DvbSubDestinationFontColor enum value
17613	DvbSubDestinationFontColorYellow = "YELLOW"
17614)
17615
17616// Dvb Sub Destination Outline Color
17617const (
17618	// DvbSubDestinationOutlineColorBlack is a DvbSubDestinationOutlineColor enum value
17619	DvbSubDestinationOutlineColorBlack = "BLACK"
17620
17621	// DvbSubDestinationOutlineColorBlue is a DvbSubDestinationOutlineColor enum value
17622	DvbSubDestinationOutlineColorBlue = "BLUE"
17623
17624	// DvbSubDestinationOutlineColorGreen is a DvbSubDestinationOutlineColor enum value
17625	DvbSubDestinationOutlineColorGreen = "GREEN"
17626
17627	// DvbSubDestinationOutlineColorRed is a DvbSubDestinationOutlineColor enum value
17628	DvbSubDestinationOutlineColorRed = "RED"
17629
17630	// DvbSubDestinationOutlineColorWhite is a DvbSubDestinationOutlineColor enum value
17631	DvbSubDestinationOutlineColorWhite = "WHITE"
17632
17633	// DvbSubDestinationOutlineColorYellow is a DvbSubDestinationOutlineColor enum value
17634	DvbSubDestinationOutlineColorYellow = "YELLOW"
17635)
17636
17637// Dvb Sub Destination Shadow Color
17638const (
17639	// DvbSubDestinationShadowColorBlack is a DvbSubDestinationShadowColor enum value
17640	DvbSubDestinationShadowColorBlack = "BLACK"
17641
17642	// DvbSubDestinationShadowColorNone is a DvbSubDestinationShadowColor enum value
17643	DvbSubDestinationShadowColorNone = "NONE"
17644
17645	// DvbSubDestinationShadowColorWhite is a DvbSubDestinationShadowColor enum value
17646	DvbSubDestinationShadowColorWhite = "WHITE"
17647)
17648
17649// Dvb Sub Destination Teletext Grid Control
17650const (
17651	// DvbSubDestinationTeletextGridControlFixed is a DvbSubDestinationTeletextGridControl enum value
17652	DvbSubDestinationTeletextGridControlFixed = "FIXED"
17653
17654	// DvbSubDestinationTeletextGridControlScaled is a DvbSubDestinationTeletextGridControl enum value
17655	DvbSubDestinationTeletextGridControlScaled = "SCALED"
17656)
17657
17658// Eac3 Attenuation Control
17659const (
17660	// Eac3AttenuationControlAttenuate3Db is a Eac3AttenuationControl enum value
17661	Eac3AttenuationControlAttenuate3Db = "ATTENUATE_3_DB"
17662
17663	// Eac3AttenuationControlNone is a Eac3AttenuationControl enum value
17664	Eac3AttenuationControlNone = "NONE"
17665)
17666
17667// Eac3 Bitstream Mode
17668const (
17669	// Eac3BitstreamModeCommentary is a Eac3BitstreamMode enum value
17670	Eac3BitstreamModeCommentary = "COMMENTARY"
17671
17672	// Eac3BitstreamModeCompleteMain is a Eac3BitstreamMode enum value
17673	Eac3BitstreamModeCompleteMain = "COMPLETE_MAIN"
17674
17675	// Eac3BitstreamModeEmergency is a Eac3BitstreamMode enum value
17676	Eac3BitstreamModeEmergency = "EMERGENCY"
17677
17678	// Eac3BitstreamModeHearingImpaired is a Eac3BitstreamMode enum value
17679	Eac3BitstreamModeHearingImpaired = "HEARING_IMPAIRED"
17680
17681	// Eac3BitstreamModeVisuallyImpaired is a Eac3BitstreamMode enum value
17682	Eac3BitstreamModeVisuallyImpaired = "VISUALLY_IMPAIRED"
17683)
17684
17685// Eac3 Coding Mode
17686const (
17687	// Eac3CodingModeCodingMode10 is a Eac3CodingMode enum value
17688	Eac3CodingModeCodingMode10 = "CODING_MODE_1_0"
17689
17690	// Eac3CodingModeCodingMode20 is a Eac3CodingMode enum value
17691	Eac3CodingModeCodingMode20 = "CODING_MODE_2_0"
17692
17693	// Eac3CodingModeCodingMode32 is a Eac3CodingMode enum value
17694	Eac3CodingModeCodingMode32 = "CODING_MODE_3_2"
17695)
17696
17697// Eac3 Dc Filter
17698const (
17699	// Eac3DcFilterDisabled is a Eac3DcFilter enum value
17700	Eac3DcFilterDisabled = "DISABLED"
17701
17702	// Eac3DcFilterEnabled is a Eac3DcFilter enum value
17703	Eac3DcFilterEnabled = "ENABLED"
17704)
17705
17706// Eac3 Drc Line
17707const (
17708	// Eac3DrcLineFilmLight is a Eac3DrcLine enum value
17709	Eac3DrcLineFilmLight = "FILM_LIGHT"
17710
17711	// Eac3DrcLineFilmStandard is a Eac3DrcLine enum value
17712	Eac3DrcLineFilmStandard = "FILM_STANDARD"
17713
17714	// Eac3DrcLineMusicLight is a Eac3DrcLine enum value
17715	Eac3DrcLineMusicLight = "MUSIC_LIGHT"
17716
17717	// Eac3DrcLineMusicStandard is a Eac3DrcLine enum value
17718	Eac3DrcLineMusicStandard = "MUSIC_STANDARD"
17719
17720	// Eac3DrcLineNone is a Eac3DrcLine enum value
17721	Eac3DrcLineNone = "NONE"
17722
17723	// Eac3DrcLineSpeech is a Eac3DrcLine enum value
17724	Eac3DrcLineSpeech = "SPEECH"
17725)
17726
17727// Eac3 Drc Rf
17728const (
17729	// Eac3DrcRfFilmLight is a Eac3DrcRf enum value
17730	Eac3DrcRfFilmLight = "FILM_LIGHT"
17731
17732	// Eac3DrcRfFilmStandard is a Eac3DrcRf enum value
17733	Eac3DrcRfFilmStandard = "FILM_STANDARD"
17734
17735	// Eac3DrcRfMusicLight is a Eac3DrcRf enum value
17736	Eac3DrcRfMusicLight = "MUSIC_LIGHT"
17737
17738	// Eac3DrcRfMusicStandard is a Eac3DrcRf enum value
17739	Eac3DrcRfMusicStandard = "MUSIC_STANDARD"
17740
17741	// Eac3DrcRfNone is a Eac3DrcRf enum value
17742	Eac3DrcRfNone = "NONE"
17743
17744	// Eac3DrcRfSpeech is a Eac3DrcRf enum value
17745	Eac3DrcRfSpeech = "SPEECH"
17746)
17747
17748// Eac3 Lfe Control
17749const (
17750	// Eac3LfeControlLfe is a Eac3LfeControl enum value
17751	Eac3LfeControlLfe = "LFE"
17752
17753	// Eac3LfeControlNoLfe is a Eac3LfeControl enum value
17754	Eac3LfeControlNoLfe = "NO_LFE"
17755)
17756
17757// Eac3 Lfe Filter
17758const (
17759	// Eac3LfeFilterDisabled is a Eac3LfeFilter enum value
17760	Eac3LfeFilterDisabled = "DISABLED"
17761
17762	// Eac3LfeFilterEnabled is a Eac3LfeFilter enum value
17763	Eac3LfeFilterEnabled = "ENABLED"
17764)
17765
17766// Eac3 Metadata Control
17767const (
17768	// Eac3MetadataControlFollowInput is a Eac3MetadataControl enum value
17769	Eac3MetadataControlFollowInput = "FOLLOW_INPUT"
17770
17771	// Eac3MetadataControlUseConfigured is a Eac3MetadataControl enum value
17772	Eac3MetadataControlUseConfigured = "USE_CONFIGURED"
17773)
17774
17775// Eac3 Passthrough Control
17776const (
17777	// Eac3PassthroughControlNoPassthrough is a Eac3PassthroughControl enum value
17778	Eac3PassthroughControlNoPassthrough = "NO_PASSTHROUGH"
17779
17780	// Eac3PassthroughControlWhenPossible is a Eac3PassthroughControl enum value
17781	Eac3PassthroughControlWhenPossible = "WHEN_POSSIBLE"
17782)
17783
17784// Eac3 Phase Control
17785const (
17786	// Eac3PhaseControlNoShift is a Eac3PhaseControl enum value
17787	Eac3PhaseControlNoShift = "NO_SHIFT"
17788
17789	// Eac3PhaseControlShift90Degrees is a Eac3PhaseControl enum value
17790	Eac3PhaseControlShift90Degrees = "SHIFT_90_DEGREES"
17791)
17792
17793// Eac3 Stereo Downmix
17794const (
17795	// Eac3StereoDownmixDpl2 is a Eac3StereoDownmix enum value
17796	Eac3StereoDownmixDpl2 = "DPL2"
17797
17798	// Eac3StereoDownmixLoRo is a Eac3StereoDownmix enum value
17799	Eac3StereoDownmixLoRo = "LO_RO"
17800
17801	// Eac3StereoDownmixLtRt is a Eac3StereoDownmix enum value
17802	Eac3StereoDownmixLtRt = "LT_RT"
17803
17804	// Eac3StereoDownmixNotIndicated is a Eac3StereoDownmix enum value
17805	Eac3StereoDownmixNotIndicated = "NOT_INDICATED"
17806)
17807
17808// Eac3 Surround Ex Mode
17809const (
17810	// Eac3SurroundExModeDisabled is a Eac3SurroundExMode enum value
17811	Eac3SurroundExModeDisabled = "DISABLED"
17812
17813	// Eac3SurroundExModeEnabled is a Eac3SurroundExMode enum value
17814	Eac3SurroundExModeEnabled = "ENABLED"
17815
17816	// Eac3SurroundExModeNotIndicated is a Eac3SurroundExMode enum value
17817	Eac3SurroundExModeNotIndicated = "NOT_INDICATED"
17818)
17819
17820// Eac3 Surround Mode
17821const (
17822	// Eac3SurroundModeDisabled is a Eac3SurroundMode enum value
17823	Eac3SurroundModeDisabled = "DISABLED"
17824
17825	// Eac3SurroundModeEnabled is a Eac3SurroundMode enum value
17826	Eac3SurroundModeEnabled = "ENABLED"
17827
17828	// Eac3SurroundModeNotIndicated is a Eac3SurroundMode enum value
17829	Eac3SurroundModeNotIndicated = "NOT_INDICATED"
17830)
17831
17832// Embedded Convert608 To708
17833const (
17834	// EmbeddedConvert608To708Disabled is a EmbeddedConvert608To708 enum value
17835	EmbeddedConvert608To708Disabled = "DISABLED"
17836
17837	// EmbeddedConvert608To708Upconvert is a EmbeddedConvert608To708 enum value
17838	EmbeddedConvert608To708Upconvert = "UPCONVERT"
17839)
17840
17841// Embedded Scte20 Detection
17842const (
17843	// EmbeddedScte20DetectionAuto is a EmbeddedScte20Detection enum value
17844	EmbeddedScte20DetectionAuto = "AUTO"
17845
17846	// EmbeddedScte20DetectionOff is a EmbeddedScte20Detection enum value
17847	EmbeddedScte20DetectionOff = "OFF"
17848)
17849
17850// Fec Output Include Fec
17851const (
17852	// FecOutputIncludeFecColumn is a FecOutputIncludeFec enum value
17853	FecOutputIncludeFecColumn = "COLUMN"
17854
17855	// FecOutputIncludeFecColumnAndRow is a FecOutputIncludeFec enum value
17856	FecOutputIncludeFecColumnAndRow = "COLUMN_AND_ROW"
17857)
17858
17859// Fixed Afd
17860const (
17861	// FixedAfdAfd0000 is a FixedAfd enum value
17862	FixedAfdAfd0000 = "AFD_0000"
17863
17864	// FixedAfdAfd0010 is a FixedAfd enum value
17865	FixedAfdAfd0010 = "AFD_0010"
17866
17867	// FixedAfdAfd0011 is a FixedAfd enum value
17868	FixedAfdAfd0011 = "AFD_0011"
17869
17870	// FixedAfdAfd0100 is a FixedAfd enum value
17871	FixedAfdAfd0100 = "AFD_0100"
17872
17873	// FixedAfdAfd1000 is a FixedAfd enum value
17874	FixedAfdAfd1000 = "AFD_1000"
17875
17876	// FixedAfdAfd1001 is a FixedAfd enum value
17877	FixedAfdAfd1001 = "AFD_1001"
17878
17879	// FixedAfdAfd1010 is a FixedAfd enum value
17880	FixedAfdAfd1010 = "AFD_1010"
17881
17882	// FixedAfdAfd1011 is a FixedAfd enum value
17883	FixedAfdAfd1011 = "AFD_1011"
17884
17885	// FixedAfdAfd1101 is a FixedAfd enum value
17886	FixedAfdAfd1101 = "AFD_1101"
17887
17888	// FixedAfdAfd1110 is a FixedAfd enum value
17889	FixedAfdAfd1110 = "AFD_1110"
17890
17891	// FixedAfdAfd1111 is a FixedAfd enum value
17892	FixedAfdAfd1111 = "AFD_1111"
17893)
17894
17895// Follow reference point.
17896const (
17897	// FollowPointEnd is a FollowPoint enum value
17898	FollowPointEnd = "END"
17899
17900	// FollowPointStart is a FollowPoint enum value
17901	FollowPointStart = "START"
17902)
17903
17904// Global Configuration Input End Action
17905const (
17906	// GlobalConfigurationInputEndActionNone is a GlobalConfigurationInputEndAction enum value
17907	GlobalConfigurationInputEndActionNone = "NONE"
17908
17909	// GlobalConfigurationInputEndActionSwitchAndLoopInputs is a GlobalConfigurationInputEndAction enum value
17910	GlobalConfigurationInputEndActionSwitchAndLoopInputs = "SWITCH_AND_LOOP_INPUTS"
17911)
17912
17913// Global Configuration Low Framerate Inputs
17914const (
17915	// GlobalConfigurationLowFramerateInputsDisabled is a GlobalConfigurationLowFramerateInputs enum value
17916	GlobalConfigurationLowFramerateInputsDisabled = "DISABLED"
17917
17918	// GlobalConfigurationLowFramerateInputsEnabled is a GlobalConfigurationLowFramerateInputs enum value
17919	GlobalConfigurationLowFramerateInputsEnabled = "ENABLED"
17920)
17921
17922// Global Configuration Output Locking Mode
17923const (
17924	// GlobalConfigurationOutputLockingModeEpochLocking is a GlobalConfigurationOutputLockingMode enum value
17925	GlobalConfigurationOutputLockingModeEpochLocking = "EPOCH_LOCKING"
17926
17927	// GlobalConfigurationOutputLockingModePipelineLocking is a GlobalConfigurationOutputLockingMode enum value
17928	GlobalConfigurationOutputLockingModePipelineLocking = "PIPELINE_LOCKING"
17929)
17930
17931// Global Configuration Output Timing Source
17932const (
17933	// GlobalConfigurationOutputTimingSourceInputClock is a GlobalConfigurationOutputTimingSource enum value
17934	GlobalConfigurationOutputTimingSourceInputClock = "INPUT_CLOCK"
17935
17936	// GlobalConfigurationOutputTimingSourceSystemClock is a GlobalConfigurationOutputTimingSource enum value
17937	GlobalConfigurationOutputTimingSourceSystemClock = "SYSTEM_CLOCK"
17938)
17939
17940// H264 Adaptive Quantization
17941const (
17942	// H264AdaptiveQuantizationHigh is a H264AdaptiveQuantization enum value
17943	H264AdaptiveQuantizationHigh = "HIGH"
17944
17945	// H264AdaptiveQuantizationHigher is a H264AdaptiveQuantization enum value
17946	H264AdaptiveQuantizationHigher = "HIGHER"
17947
17948	// H264AdaptiveQuantizationLow is a H264AdaptiveQuantization enum value
17949	H264AdaptiveQuantizationLow = "LOW"
17950
17951	// H264AdaptiveQuantizationMax is a H264AdaptiveQuantization enum value
17952	H264AdaptiveQuantizationMax = "MAX"
17953
17954	// H264AdaptiveQuantizationMedium is a H264AdaptiveQuantization enum value
17955	H264AdaptiveQuantizationMedium = "MEDIUM"
17956
17957	// H264AdaptiveQuantizationOff is a H264AdaptiveQuantization enum value
17958	H264AdaptiveQuantizationOff = "OFF"
17959)
17960
17961// H264 Color Metadata
17962const (
17963	// H264ColorMetadataIgnore is a H264ColorMetadata enum value
17964	H264ColorMetadataIgnore = "IGNORE"
17965
17966	// H264ColorMetadataInsert is a H264ColorMetadata enum value
17967	H264ColorMetadataInsert = "INSERT"
17968)
17969
17970// H264 Entropy Encoding
17971const (
17972	// H264EntropyEncodingCabac is a H264EntropyEncoding enum value
17973	H264EntropyEncodingCabac = "CABAC"
17974
17975	// H264EntropyEncodingCavlc is a H264EntropyEncoding enum value
17976	H264EntropyEncodingCavlc = "CAVLC"
17977)
17978
17979// H264 Flicker Aq
17980const (
17981	// H264FlickerAqDisabled is a H264FlickerAq enum value
17982	H264FlickerAqDisabled = "DISABLED"
17983
17984	// H264FlickerAqEnabled is a H264FlickerAq enum value
17985	H264FlickerAqEnabled = "ENABLED"
17986)
17987
17988// H264 Framerate Control
17989const (
17990	// H264FramerateControlInitializeFromSource is a H264FramerateControl enum value
17991	H264FramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
17992
17993	// H264FramerateControlSpecified is a H264FramerateControl enum value
17994	H264FramerateControlSpecified = "SPECIFIED"
17995)
17996
17997// H264 Gop BReference
17998const (
17999	// H264GopBReferenceDisabled is a H264GopBReference enum value
18000	H264GopBReferenceDisabled = "DISABLED"
18001
18002	// H264GopBReferenceEnabled is a H264GopBReference enum value
18003	H264GopBReferenceEnabled = "ENABLED"
18004)
18005
18006// H264 Gop Size Units
18007const (
18008	// H264GopSizeUnitsFrames is a H264GopSizeUnits enum value
18009	H264GopSizeUnitsFrames = "FRAMES"
18010
18011	// H264GopSizeUnitsSeconds is a H264GopSizeUnits enum value
18012	H264GopSizeUnitsSeconds = "SECONDS"
18013)
18014
18015// H264 Level
18016const (
18017	// H264LevelH264Level1 is a H264Level enum value
18018	H264LevelH264Level1 = "H264_LEVEL_1"
18019
18020	// H264LevelH264Level11 is a H264Level enum value
18021	H264LevelH264Level11 = "H264_LEVEL_1_1"
18022
18023	// H264LevelH264Level12 is a H264Level enum value
18024	H264LevelH264Level12 = "H264_LEVEL_1_2"
18025
18026	// H264LevelH264Level13 is a H264Level enum value
18027	H264LevelH264Level13 = "H264_LEVEL_1_3"
18028
18029	// H264LevelH264Level2 is a H264Level enum value
18030	H264LevelH264Level2 = "H264_LEVEL_2"
18031
18032	// H264LevelH264Level21 is a H264Level enum value
18033	H264LevelH264Level21 = "H264_LEVEL_2_1"
18034
18035	// H264LevelH264Level22 is a H264Level enum value
18036	H264LevelH264Level22 = "H264_LEVEL_2_2"
18037
18038	// H264LevelH264Level3 is a H264Level enum value
18039	H264LevelH264Level3 = "H264_LEVEL_3"
18040
18041	// H264LevelH264Level31 is a H264Level enum value
18042	H264LevelH264Level31 = "H264_LEVEL_3_1"
18043
18044	// H264LevelH264Level32 is a H264Level enum value
18045	H264LevelH264Level32 = "H264_LEVEL_3_2"
18046
18047	// H264LevelH264Level4 is a H264Level enum value
18048	H264LevelH264Level4 = "H264_LEVEL_4"
18049
18050	// H264LevelH264Level41 is a H264Level enum value
18051	H264LevelH264Level41 = "H264_LEVEL_4_1"
18052
18053	// H264LevelH264Level42 is a H264Level enum value
18054	H264LevelH264Level42 = "H264_LEVEL_4_2"
18055
18056	// H264LevelH264Level5 is a H264Level enum value
18057	H264LevelH264Level5 = "H264_LEVEL_5"
18058
18059	// H264LevelH264Level51 is a H264Level enum value
18060	H264LevelH264Level51 = "H264_LEVEL_5_1"
18061
18062	// H264LevelH264Level52 is a H264Level enum value
18063	H264LevelH264Level52 = "H264_LEVEL_5_2"
18064
18065	// H264LevelH264LevelAuto is a H264Level enum value
18066	H264LevelH264LevelAuto = "H264_LEVEL_AUTO"
18067)
18068
18069// H264 Look Ahead Rate Control
18070const (
18071	// H264LookAheadRateControlHigh is a H264LookAheadRateControl enum value
18072	H264LookAheadRateControlHigh = "HIGH"
18073
18074	// H264LookAheadRateControlLow is a H264LookAheadRateControl enum value
18075	H264LookAheadRateControlLow = "LOW"
18076
18077	// H264LookAheadRateControlMedium is a H264LookAheadRateControl enum value
18078	H264LookAheadRateControlMedium = "MEDIUM"
18079)
18080
18081// H264 Par Control
18082const (
18083	// H264ParControlInitializeFromSource is a H264ParControl enum value
18084	H264ParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE"
18085
18086	// H264ParControlSpecified is a H264ParControl enum value
18087	H264ParControlSpecified = "SPECIFIED"
18088)
18089
18090// H264 Profile
18091const (
18092	// H264ProfileBaseline is a H264Profile enum value
18093	H264ProfileBaseline = "BASELINE"
18094
18095	// H264ProfileHigh is a H264Profile enum value
18096	H264ProfileHigh = "HIGH"
18097
18098	// H264ProfileHigh10bit is a H264Profile enum value
18099	H264ProfileHigh10bit = "HIGH_10BIT"
18100
18101	// H264ProfileHigh422 is a H264Profile enum value
18102	H264ProfileHigh422 = "HIGH_422"
18103
18104	// H264ProfileHigh42210bit is a H264Profile enum value
18105	H264ProfileHigh42210bit = "HIGH_422_10BIT"
18106
18107	// H264ProfileMain is a H264Profile enum value
18108	H264ProfileMain = "MAIN"
18109)
18110
18111// H264 Rate Control Mode
18112const (
18113	// H264RateControlModeCbr is a H264RateControlMode enum value
18114	H264RateControlModeCbr = "CBR"
18115
18116	// H264RateControlModeQvbr is a H264RateControlMode enum value
18117	H264RateControlModeQvbr = "QVBR"
18118
18119	// H264RateControlModeVbr is a H264RateControlMode enum value
18120	H264RateControlModeVbr = "VBR"
18121)
18122
18123// H264 Scan Type
18124const (
18125	// H264ScanTypeInterlaced is a H264ScanType enum value
18126	H264ScanTypeInterlaced = "INTERLACED"
18127
18128	// H264ScanTypeProgressive is a H264ScanType enum value
18129	H264ScanTypeProgressive = "PROGRESSIVE"
18130)
18131
18132// H264 Scene Change Detect
18133const (
18134	// H264SceneChangeDetectDisabled is a H264SceneChangeDetect enum value
18135	H264SceneChangeDetectDisabled = "DISABLED"
18136
18137	// H264SceneChangeDetectEnabled is a H264SceneChangeDetect enum value
18138	H264SceneChangeDetectEnabled = "ENABLED"
18139)
18140
18141// H264 Spatial Aq
18142const (
18143	// H264SpatialAqDisabled is a H264SpatialAq enum value
18144	H264SpatialAqDisabled = "DISABLED"
18145
18146	// H264SpatialAqEnabled is a H264SpatialAq enum value
18147	H264SpatialAqEnabled = "ENABLED"
18148)
18149
18150// H264 Sub Gop Length
18151const (
18152	// H264SubGopLengthDynamic is a H264SubGopLength enum value
18153	H264SubGopLengthDynamic = "DYNAMIC"
18154
18155	// H264SubGopLengthFixed is a H264SubGopLength enum value
18156	H264SubGopLengthFixed = "FIXED"
18157)
18158
18159// H264 Syntax
18160const (
18161	// H264SyntaxDefault is a H264Syntax enum value
18162	H264SyntaxDefault = "DEFAULT"
18163
18164	// H264SyntaxRp2027 is a H264Syntax enum value
18165	H264SyntaxRp2027 = "RP2027"
18166)
18167
18168// H264 Temporal Aq
18169const (
18170	// H264TemporalAqDisabled is a H264TemporalAq enum value
18171	H264TemporalAqDisabled = "DISABLED"
18172
18173	// H264TemporalAqEnabled is a H264TemporalAq enum value
18174	H264TemporalAqEnabled = "ENABLED"
18175)
18176
18177// H264 Timecode Insertion Behavior
18178const (
18179	// H264TimecodeInsertionBehaviorDisabled is a H264TimecodeInsertionBehavior enum value
18180	H264TimecodeInsertionBehaviorDisabled = "DISABLED"
18181
18182	// H264TimecodeInsertionBehaviorPicTimingSei is a H264TimecodeInsertionBehavior enum value
18183	H264TimecodeInsertionBehaviorPicTimingSei = "PIC_TIMING_SEI"
18184)
18185
18186// Hls Ad Markers
18187const (
18188	// HlsAdMarkersAdobe is a HlsAdMarkers enum value
18189	HlsAdMarkersAdobe = "ADOBE"
18190
18191	// HlsAdMarkersElemental is a HlsAdMarkers enum value
18192	HlsAdMarkersElemental = "ELEMENTAL"
18193
18194	// HlsAdMarkersElementalScte35 is a HlsAdMarkers enum value
18195	HlsAdMarkersElementalScte35 = "ELEMENTAL_SCTE35"
18196)
18197
18198// Hls Akamai Http Transfer Mode
18199const (
18200	// HlsAkamaiHttpTransferModeChunked is a HlsAkamaiHttpTransferMode enum value
18201	HlsAkamaiHttpTransferModeChunked = "CHUNKED"
18202
18203	// HlsAkamaiHttpTransferModeNonChunked is a HlsAkamaiHttpTransferMode enum value
18204	HlsAkamaiHttpTransferModeNonChunked = "NON_CHUNKED"
18205)
18206
18207// Hls Caption Language Setting
18208const (
18209	// HlsCaptionLanguageSettingInsert is a HlsCaptionLanguageSetting enum value
18210	HlsCaptionLanguageSettingInsert = "INSERT"
18211
18212	// HlsCaptionLanguageSettingNone is a HlsCaptionLanguageSetting enum value
18213	HlsCaptionLanguageSettingNone = "NONE"
18214
18215	// HlsCaptionLanguageSettingOmit is a HlsCaptionLanguageSetting enum value
18216	HlsCaptionLanguageSettingOmit = "OMIT"
18217)
18218
18219// Hls Client Cache
18220const (
18221	// HlsClientCacheDisabled is a HlsClientCache enum value
18222	HlsClientCacheDisabled = "DISABLED"
18223
18224	// HlsClientCacheEnabled is a HlsClientCache enum value
18225	HlsClientCacheEnabled = "ENABLED"
18226)
18227
18228// Hls Codec Specification
18229const (
18230	// HlsCodecSpecificationRfc4281 is a HlsCodecSpecification enum value
18231	HlsCodecSpecificationRfc4281 = "RFC_4281"
18232
18233	// HlsCodecSpecificationRfc6381 is a HlsCodecSpecification enum value
18234	HlsCodecSpecificationRfc6381 = "RFC_6381"
18235)
18236
18237// Hls Directory Structure
18238const (
18239	// HlsDirectoryStructureSingleDirectory is a HlsDirectoryStructure enum value
18240	HlsDirectoryStructureSingleDirectory = "SINGLE_DIRECTORY"
18241
18242	// HlsDirectoryStructureSubdirectoryPerStream is a HlsDirectoryStructure enum value
18243	HlsDirectoryStructureSubdirectoryPerStream = "SUBDIRECTORY_PER_STREAM"
18244)
18245
18246// Hls Encryption Type
18247const (
18248	// HlsEncryptionTypeAes128 is a HlsEncryptionType enum value
18249	HlsEncryptionTypeAes128 = "AES128"
18250
18251	// HlsEncryptionTypeSampleAes is a HlsEncryptionType enum value
18252	HlsEncryptionTypeSampleAes = "SAMPLE_AES"
18253)
18254
18255// Hls Iv In Manifest
18256const (
18257	// HlsIvInManifestExclude is a HlsIvInManifest enum value
18258	HlsIvInManifestExclude = "EXCLUDE"
18259
18260	// HlsIvInManifestInclude is a HlsIvInManifest enum value
18261	HlsIvInManifestInclude = "INCLUDE"
18262)
18263
18264// Hls Iv Source
18265const (
18266	// HlsIvSourceExplicit is a HlsIvSource enum value
18267	HlsIvSourceExplicit = "EXPLICIT"
18268
18269	// HlsIvSourceFollowsSegmentNumber is a HlsIvSource enum value
18270	HlsIvSourceFollowsSegmentNumber = "FOLLOWS_SEGMENT_NUMBER"
18271)
18272
18273// Hls Manifest Compression
18274const (
18275	// HlsManifestCompressionGzip is a HlsManifestCompression enum value
18276	HlsManifestCompressionGzip = "GZIP"
18277
18278	// HlsManifestCompressionNone is a HlsManifestCompression enum value
18279	HlsManifestCompressionNone = "NONE"
18280)
18281
18282// Hls Manifest Duration Format
18283const (
18284	// HlsManifestDurationFormatFloatingPoint is a HlsManifestDurationFormat enum value
18285	HlsManifestDurationFormatFloatingPoint = "FLOATING_POINT"
18286
18287	// HlsManifestDurationFormatInteger is a HlsManifestDurationFormat enum value
18288	HlsManifestDurationFormatInteger = "INTEGER"
18289)
18290
18291// Hls Media Store Storage Class
18292const (
18293	// HlsMediaStoreStorageClassTemporal is a HlsMediaStoreStorageClass enum value
18294	HlsMediaStoreStorageClassTemporal = "TEMPORAL"
18295)
18296
18297// Hls Mode
18298const (
18299	// HlsModeLive is a HlsMode enum value
18300	HlsModeLive = "LIVE"
18301
18302	// HlsModeVod is a HlsMode enum value
18303	HlsModeVod = "VOD"
18304)
18305
18306// Hls Output Selection
18307const (
18308	// HlsOutputSelectionManifestsAndSegments is a HlsOutputSelection enum value
18309	HlsOutputSelectionManifestsAndSegments = "MANIFESTS_AND_SEGMENTS"
18310
18311	// HlsOutputSelectionSegmentsOnly is a HlsOutputSelection enum value
18312	HlsOutputSelectionSegmentsOnly = "SEGMENTS_ONLY"
18313)
18314
18315// Hls Program Date Time
18316const (
18317	// HlsProgramDateTimeExclude is a HlsProgramDateTime enum value
18318	HlsProgramDateTimeExclude = "EXCLUDE"
18319
18320	// HlsProgramDateTimeInclude is a HlsProgramDateTime enum value
18321	HlsProgramDateTimeInclude = "INCLUDE"
18322)
18323
18324// Hls Redundant Manifest
18325const (
18326	// HlsRedundantManifestDisabled is a HlsRedundantManifest enum value
18327	HlsRedundantManifestDisabled = "DISABLED"
18328
18329	// HlsRedundantManifestEnabled is a HlsRedundantManifest enum value
18330	HlsRedundantManifestEnabled = "ENABLED"
18331)
18332
18333// Hls Segmentation Mode
18334const (
18335	// HlsSegmentationModeUseInputSegmentation is a HlsSegmentationMode enum value
18336	HlsSegmentationModeUseInputSegmentation = "USE_INPUT_SEGMENTATION"
18337
18338	// HlsSegmentationModeUseSegmentDuration is a HlsSegmentationMode enum value
18339	HlsSegmentationModeUseSegmentDuration = "USE_SEGMENT_DURATION"
18340)
18341
18342// Hls Stream Inf Resolution
18343const (
18344	// HlsStreamInfResolutionExclude is a HlsStreamInfResolution enum value
18345	HlsStreamInfResolutionExclude = "EXCLUDE"
18346
18347	// HlsStreamInfResolutionInclude is a HlsStreamInfResolution enum value
18348	HlsStreamInfResolutionInclude = "INCLUDE"
18349)
18350
18351// Hls Timed Metadata Id3 Frame
18352const (
18353	// HlsTimedMetadataId3FrameNone is a HlsTimedMetadataId3Frame enum value
18354	HlsTimedMetadataId3FrameNone = "NONE"
18355
18356	// HlsTimedMetadataId3FramePriv is a HlsTimedMetadataId3Frame enum value
18357	HlsTimedMetadataId3FramePriv = "PRIV"
18358
18359	// HlsTimedMetadataId3FrameTdrl is a HlsTimedMetadataId3Frame enum value
18360	HlsTimedMetadataId3FrameTdrl = "TDRL"
18361)
18362
18363// Hls Ts File Mode
18364const (
18365	// HlsTsFileModeSegmentedFiles is a HlsTsFileMode enum value
18366	HlsTsFileModeSegmentedFiles = "SEGMENTED_FILES"
18367
18368	// HlsTsFileModeSingleFile is a HlsTsFileMode enum value
18369	HlsTsFileModeSingleFile = "SINGLE_FILE"
18370)
18371
18372// Hls Webdav Http Transfer Mode
18373const (
18374	// HlsWebdavHttpTransferModeChunked is a HlsWebdavHttpTransferMode enum value
18375	HlsWebdavHttpTransferModeChunked = "CHUNKED"
18376
18377	// HlsWebdavHttpTransferModeNonChunked is a HlsWebdavHttpTransferMode enum value
18378	HlsWebdavHttpTransferModeNonChunked = "NON_CHUNKED"
18379)
18380
18381// When set to "standard", an I-Frame only playlist will be written out for
18382// each video output in the output group. This I-Frame only playlist will contain
18383// byte range offsets pointing to the I-frame(s) in each segment.
18384const (
18385	// IFrameOnlyPlaylistTypeDisabled is a IFrameOnlyPlaylistType enum value
18386	IFrameOnlyPlaylistTypeDisabled = "DISABLED"
18387
18388	// IFrameOnlyPlaylistTypeStandard is a IFrameOnlyPlaylistType enum value
18389	IFrameOnlyPlaylistTypeStandard = "STANDARD"
18390)
18391
18392// A standard input has two sources and a single pipeline input only has one.
18393const (
18394	// InputClassStandard is a InputClass enum value
18395	InputClassStandard = "STANDARD"
18396
18397	// InputClassSinglePipeline is a InputClass enum value
18398	InputClassSinglePipeline = "SINGLE_PIPELINE"
18399)
18400
18401// codec in increasing order of complexity
18402const (
18403	// InputCodecMpeg2 is a InputCodec enum value
18404	InputCodecMpeg2 = "MPEG2"
18405
18406	// InputCodecAvc is a InputCodec enum value
18407	InputCodecAvc = "AVC"
18408
18409	// InputCodecHevc is a InputCodec enum value
18410	InputCodecHevc = "HEVC"
18411)
18412
18413// Input Deblock Filter
18414const (
18415	// InputDeblockFilterDisabled is a InputDeblockFilter enum value
18416	InputDeblockFilterDisabled = "DISABLED"
18417
18418	// InputDeblockFilterEnabled is a InputDeblockFilter enum value
18419	InputDeblockFilterEnabled = "ENABLED"
18420)
18421
18422// Input Denoise Filter
18423const (
18424	// InputDenoiseFilterDisabled is a InputDenoiseFilter enum value
18425	InputDenoiseFilterDisabled = "DISABLED"
18426
18427	// InputDenoiseFilterEnabled is a InputDenoiseFilter enum value
18428	InputDenoiseFilterEnabled = "ENABLED"
18429)
18430
18431// Input Filter
18432const (
18433	// InputFilterAuto is a InputFilter enum value
18434	InputFilterAuto = "AUTO"
18435
18436	// InputFilterDisabled is a InputFilter enum value
18437	InputFilterDisabled = "DISABLED"
18438
18439	// InputFilterForced is a InputFilter enum value
18440	InputFilterForced = "FORCED"
18441)
18442
18443// Input Loss Action For Hls Out
18444const (
18445	// InputLossActionForHlsOutEmitOutput is a InputLossActionForHlsOut enum value
18446	InputLossActionForHlsOutEmitOutput = "EMIT_OUTPUT"
18447
18448	// InputLossActionForHlsOutPauseOutput is a InputLossActionForHlsOut enum value
18449	InputLossActionForHlsOutPauseOutput = "PAUSE_OUTPUT"
18450)
18451
18452// Input Loss Action For Ms Smooth Out
18453const (
18454	// InputLossActionForMsSmoothOutEmitOutput is a InputLossActionForMsSmoothOut enum value
18455	InputLossActionForMsSmoothOutEmitOutput = "EMIT_OUTPUT"
18456
18457	// InputLossActionForMsSmoothOutPauseOutput is a InputLossActionForMsSmoothOut enum value
18458	InputLossActionForMsSmoothOutPauseOutput = "PAUSE_OUTPUT"
18459)
18460
18461// Input Loss Action For Rtmp Out
18462const (
18463	// InputLossActionForRtmpOutEmitOutput is a InputLossActionForRtmpOut enum value
18464	InputLossActionForRtmpOutEmitOutput = "EMIT_OUTPUT"
18465
18466	// InputLossActionForRtmpOutPauseOutput is a InputLossActionForRtmpOut enum value
18467	InputLossActionForRtmpOutPauseOutput = "PAUSE_OUTPUT"
18468)
18469
18470// Input Loss Action For Udp Out
18471const (
18472	// InputLossActionForUdpOutDropProgram is a InputLossActionForUdpOut enum value
18473	InputLossActionForUdpOutDropProgram = "DROP_PROGRAM"
18474
18475	// InputLossActionForUdpOutDropTs is a InputLossActionForUdpOut enum value
18476	InputLossActionForUdpOutDropTs = "DROP_TS"
18477
18478	// InputLossActionForUdpOutEmitProgram is a InputLossActionForUdpOut enum value
18479	InputLossActionForUdpOutEmitProgram = "EMIT_PROGRAM"
18480)
18481
18482// Input Loss Image Type
18483const (
18484	// InputLossImageTypeColor is a InputLossImageType enum value
18485	InputLossImageTypeColor = "COLOR"
18486
18487	// InputLossImageTypeSlate is a InputLossImageType enum value
18488	InputLossImageTypeSlate = "SLATE"
18489)
18490
18491// Maximum input bitrate in megabits per second. Bitrates up to 50 Mbps are
18492// supported currently.
18493const (
18494	// InputMaximumBitrateMax10Mbps is a InputMaximumBitrate enum value
18495	InputMaximumBitrateMax10Mbps = "MAX_10_MBPS"
18496
18497	// InputMaximumBitrateMax20Mbps is a InputMaximumBitrate enum value
18498	InputMaximumBitrateMax20Mbps = "MAX_20_MBPS"
18499
18500	// InputMaximumBitrateMax50Mbps is a InputMaximumBitrate enum value
18501	InputMaximumBitrateMax50Mbps = "MAX_50_MBPS"
18502)
18503
18504// Input resolution based on lines of vertical resolution in the input; SD is
18505// less than 720 lines, HD is 720 to 1080 lines, UHD is greater than 1080 lines
18506const (
18507	// InputResolutionSd is a InputResolution enum value
18508	InputResolutionSd = "SD"
18509
18510	// InputResolutionHd is a InputResolution enum value
18511	InputResolutionHd = "HD"
18512
18513	// InputResolutionUhd is a InputResolution enum value
18514	InputResolutionUhd = "UHD"
18515)
18516
18517const (
18518	// InputSecurityGroupStateIdle is a InputSecurityGroupState enum value
18519	InputSecurityGroupStateIdle = "IDLE"
18520
18521	// InputSecurityGroupStateInUse is a InputSecurityGroupState enum value
18522	InputSecurityGroupStateInUse = "IN_USE"
18523
18524	// InputSecurityGroupStateUpdating is a InputSecurityGroupState enum value
18525	InputSecurityGroupStateUpdating = "UPDATING"
18526
18527	// InputSecurityGroupStateDeleted is a InputSecurityGroupState enum value
18528	InputSecurityGroupStateDeleted = "DELETED"
18529)
18530
18531// Input Source End Behavior
18532const (
18533	// InputSourceEndBehaviorContinue is a InputSourceEndBehavior enum value
18534	InputSourceEndBehaviorContinue = "CONTINUE"
18535
18536	// InputSourceEndBehaviorLoop is a InputSourceEndBehavior enum value
18537	InputSourceEndBehaviorLoop = "LOOP"
18538)
18539
18540const (
18541	// InputStateCreating is a InputState enum value
18542	InputStateCreating = "CREATING"
18543
18544	// InputStateDetached is a InputState enum value
18545	InputStateDetached = "DETACHED"
18546
18547	// InputStateAttached is a InputState enum value
18548	InputStateAttached = "ATTACHED"
18549
18550	// InputStateDeleting is a InputState enum value
18551	InputStateDeleting = "DELETING"
18552
18553	// InputStateDeleted is a InputState enum value
18554	InputStateDeleted = "DELETED"
18555)
18556
18557const (
18558	// InputTypeUdpPush is a InputType enum value
18559	InputTypeUdpPush = "UDP_PUSH"
18560
18561	// InputTypeRtpPush is a InputType enum value
18562	InputTypeRtpPush = "RTP_PUSH"
18563
18564	// InputTypeRtmpPush is a InputType enum value
18565	InputTypeRtmpPush = "RTMP_PUSH"
18566
18567	// InputTypeRtmpPull is a InputType enum value
18568	InputTypeRtmpPull = "RTMP_PULL"
18569
18570	// InputTypeUrlPull is a InputType enum value
18571	InputTypeUrlPull = "URL_PULL"
18572
18573	// InputTypeMp4File is a InputType enum value
18574	InputTypeMp4File = "MP4_FILE"
18575
18576	// InputTypeMediaconnect is a InputType enum value
18577	InputTypeMediaconnect = "MEDIACONNECT"
18578)
18579
18580// The log level the user wants for their channel.
18581const (
18582	// LogLevelError is a LogLevel enum value
18583	LogLevelError = "ERROR"
18584
18585	// LogLevelWarning is a LogLevel enum value
18586	LogLevelWarning = "WARNING"
18587
18588	// LogLevelInfo is a LogLevel enum value
18589	LogLevelInfo = "INFO"
18590
18591	// LogLevelDebug is a LogLevel enum value
18592	LogLevelDebug = "DEBUG"
18593
18594	// LogLevelDisabled is a LogLevel enum value
18595	LogLevelDisabled = "DISABLED"
18596)
18597
18598// M2ts Absent Input Audio Behavior
18599const (
18600	// M2tsAbsentInputAudioBehaviorDrop is a M2tsAbsentInputAudioBehavior enum value
18601	M2tsAbsentInputAudioBehaviorDrop = "DROP"
18602
18603	// M2tsAbsentInputAudioBehaviorEncodeSilence is a M2tsAbsentInputAudioBehavior enum value
18604	M2tsAbsentInputAudioBehaviorEncodeSilence = "ENCODE_SILENCE"
18605)
18606
18607// M2ts Arib
18608const (
18609	// M2tsAribDisabled is a M2tsArib enum value
18610	M2tsAribDisabled = "DISABLED"
18611
18612	// M2tsAribEnabled is a M2tsArib enum value
18613	M2tsAribEnabled = "ENABLED"
18614)
18615
18616// M2ts Arib Captions Pid Control
18617const (
18618	// M2tsAribCaptionsPidControlAuto is a M2tsAribCaptionsPidControl enum value
18619	M2tsAribCaptionsPidControlAuto = "AUTO"
18620
18621	// M2tsAribCaptionsPidControlUseConfigured is a M2tsAribCaptionsPidControl enum value
18622	M2tsAribCaptionsPidControlUseConfigured = "USE_CONFIGURED"
18623)
18624
18625// M2ts Audio Buffer Model
18626const (
18627	// M2tsAudioBufferModelAtsc is a M2tsAudioBufferModel enum value
18628	M2tsAudioBufferModelAtsc = "ATSC"
18629
18630	// M2tsAudioBufferModelDvb is a M2tsAudioBufferModel enum value
18631	M2tsAudioBufferModelDvb = "DVB"
18632)
18633
18634// M2ts Audio Interval
18635const (
18636	// M2tsAudioIntervalVideoAndFixedIntervals is a M2tsAudioInterval enum value
18637	M2tsAudioIntervalVideoAndFixedIntervals = "VIDEO_AND_FIXED_INTERVALS"
18638
18639	// M2tsAudioIntervalVideoInterval is a M2tsAudioInterval enum value
18640	M2tsAudioIntervalVideoInterval = "VIDEO_INTERVAL"
18641)
18642
18643// M2ts Audio Stream Type
18644const (
18645	// M2tsAudioStreamTypeAtsc is a M2tsAudioStreamType enum value
18646	M2tsAudioStreamTypeAtsc = "ATSC"
18647
18648	// M2tsAudioStreamTypeDvb is a M2tsAudioStreamType enum value
18649	M2tsAudioStreamTypeDvb = "DVB"
18650)
18651
18652// M2ts Buffer Model
18653const (
18654	// M2tsBufferModelMultiplex is a M2tsBufferModel enum value
18655	M2tsBufferModelMultiplex = "MULTIPLEX"
18656
18657	// M2tsBufferModelNone is a M2tsBufferModel enum value
18658	M2tsBufferModelNone = "NONE"
18659)
18660
18661// M2ts Cc Descriptor
18662const (
18663	// M2tsCcDescriptorDisabled is a M2tsCcDescriptor enum value
18664	M2tsCcDescriptorDisabled = "DISABLED"
18665
18666	// M2tsCcDescriptorEnabled is a M2tsCcDescriptor enum value
18667	M2tsCcDescriptorEnabled = "ENABLED"
18668)
18669
18670// M2ts Ebif Control
18671const (
18672	// M2tsEbifControlNone is a M2tsEbifControl enum value
18673	M2tsEbifControlNone = "NONE"
18674
18675	// M2tsEbifControlPassthrough is a M2tsEbifControl enum value
18676	M2tsEbifControlPassthrough = "PASSTHROUGH"
18677)
18678
18679// M2ts Ebp Placement
18680const (
18681	// M2tsEbpPlacementVideoAndAudioPids is a M2tsEbpPlacement enum value
18682	M2tsEbpPlacementVideoAndAudioPids = "VIDEO_AND_AUDIO_PIDS"
18683
18684	// M2tsEbpPlacementVideoPid is a M2tsEbpPlacement enum value
18685	M2tsEbpPlacementVideoPid = "VIDEO_PID"
18686)
18687
18688// M2ts Es Rate In Pes
18689const (
18690	// M2tsEsRateInPesExclude is a M2tsEsRateInPes enum value
18691	M2tsEsRateInPesExclude = "EXCLUDE"
18692
18693	// M2tsEsRateInPesInclude is a M2tsEsRateInPes enum value
18694	M2tsEsRateInPesInclude = "INCLUDE"
18695)
18696
18697// M2ts Klv
18698const (
18699	// M2tsKlvNone is a M2tsKlv enum value
18700	M2tsKlvNone = "NONE"
18701
18702	// M2tsKlvPassthrough is a M2tsKlv enum value
18703	M2tsKlvPassthrough = "PASSTHROUGH"
18704)
18705
18706// M2ts Pcr Control
18707const (
18708	// M2tsPcrControlConfiguredPcrPeriod is a M2tsPcrControl enum value
18709	M2tsPcrControlConfiguredPcrPeriod = "CONFIGURED_PCR_PERIOD"
18710
18711	// M2tsPcrControlPcrEveryPesPacket is a M2tsPcrControl enum value
18712	M2tsPcrControlPcrEveryPesPacket = "PCR_EVERY_PES_PACKET"
18713)
18714
18715// M2ts Rate Mode
18716const (
18717	// M2tsRateModeCbr is a M2tsRateMode enum value
18718	M2tsRateModeCbr = "CBR"
18719
18720	// M2tsRateModeVbr is a M2tsRateMode enum value
18721	M2tsRateModeVbr = "VBR"
18722)
18723
18724// M2ts Scte35 Control
18725const (
18726	// M2tsScte35ControlNone is a M2tsScte35Control enum value
18727	M2tsScte35ControlNone = "NONE"
18728
18729	// M2tsScte35ControlPassthrough is a M2tsScte35Control enum value
18730	M2tsScte35ControlPassthrough = "PASSTHROUGH"
18731)
18732
18733// M2ts Segmentation Markers
18734const (
18735	// M2tsSegmentationMarkersEbp is a M2tsSegmentationMarkers enum value
18736	M2tsSegmentationMarkersEbp = "EBP"
18737
18738	// M2tsSegmentationMarkersEbpLegacy is a M2tsSegmentationMarkers enum value
18739	M2tsSegmentationMarkersEbpLegacy = "EBP_LEGACY"
18740
18741	// M2tsSegmentationMarkersNone is a M2tsSegmentationMarkers enum value
18742	M2tsSegmentationMarkersNone = "NONE"
18743
18744	// M2tsSegmentationMarkersPsiSegstart is a M2tsSegmentationMarkers enum value
18745	M2tsSegmentationMarkersPsiSegstart = "PSI_SEGSTART"
18746
18747	// M2tsSegmentationMarkersRaiAdapt is a M2tsSegmentationMarkers enum value
18748	M2tsSegmentationMarkersRaiAdapt = "RAI_ADAPT"
18749
18750	// M2tsSegmentationMarkersRaiSegstart is a M2tsSegmentationMarkers enum value
18751	M2tsSegmentationMarkersRaiSegstart = "RAI_SEGSTART"
18752)
18753
18754// M2ts Segmentation Style
18755const (
18756	// M2tsSegmentationStyleMaintainCadence is a M2tsSegmentationStyle enum value
18757	M2tsSegmentationStyleMaintainCadence = "MAINTAIN_CADENCE"
18758
18759	// M2tsSegmentationStyleResetCadence is a M2tsSegmentationStyle enum value
18760	M2tsSegmentationStyleResetCadence = "RESET_CADENCE"
18761)
18762
18763// M2ts Timed Metadata Behavior
18764const (
18765	// M2tsTimedMetadataBehaviorNoPassthrough is a M2tsTimedMetadataBehavior enum value
18766	M2tsTimedMetadataBehaviorNoPassthrough = "NO_PASSTHROUGH"
18767
18768	// M2tsTimedMetadataBehaviorPassthrough is a M2tsTimedMetadataBehavior enum value
18769	M2tsTimedMetadataBehaviorPassthrough = "PASSTHROUGH"
18770)
18771
18772// M3u8 Pcr Control
18773const (
18774	// M3u8PcrControlConfiguredPcrPeriod is a M3u8PcrControl enum value
18775	M3u8PcrControlConfiguredPcrPeriod = "CONFIGURED_PCR_PERIOD"
18776
18777	// M3u8PcrControlPcrEveryPesPacket is a M3u8PcrControl enum value
18778	M3u8PcrControlPcrEveryPesPacket = "PCR_EVERY_PES_PACKET"
18779)
18780
18781// M3u8 Scte35 Behavior
18782const (
18783	// M3u8Scte35BehaviorNoPassthrough is a M3u8Scte35Behavior enum value
18784	M3u8Scte35BehaviorNoPassthrough = "NO_PASSTHROUGH"
18785
18786	// M3u8Scte35BehaviorPassthrough is a M3u8Scte35Behavior enum value
18787	M3u8Scte35BehaviorPassthrough = "PASSTHROUGH"
18788)
18789
18790// M3u8 Timed Metadata Behavior
18791const (
18792	// M3u8TimedMetadataBehaviorNoPassthrough is a M3u8TimedMetadataBehavior enum value
18793	M3u8TimedMetadataBehaviorNoPassthrough = "NO_PASSTHROUGH"
18794
18795	// M3u8TimedMetadataBehaviorPassthrough is a M3u8TimedMetadataBehavior enum value
18796	M3u8TimedMetadataBehaviorPassthrough = "PASSTHROUGH"
18797)
18798
18799// Mp2 Coding Mode
18800const (
18801	// Mp2CodingModeCodingMode10 is a Mp2CodingMode enum value
18802	Mp2CodingModeCodingMode10 = "CODING_MODE_1_0"
18803
18804	// Mp2CodingModeCodingMode20 is a Mp2CodingMode enum value
18805	Mp2CodingModeCodingMode20 = "CODING_MODE_2_0"
18806)
18807
18808// Network Input Server Validation
18809const (
18810	// NetworkInputServerValidationCheckCryptographyAndValidateName is a NetworkInputServerValidation enum value
18811	NetworkInputServerValidationCheckCryptographyAndValidateName = "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME"
18812
18813	// NetworkInputServerValidationCheckCryptographyOnly is a NetworkInputServerValidation enum value
18814	NetworkInputServerValidationCheckCryptographyOnly = "CHECK_CRYPTOGRAPHY_ONLY"
18815)
18816
18817// Units for duration, e.g. 'MONTHS'
18818const (
18819	// OfferingDurationUnitsMonths is a OfferingDurationUnits enum value
18820	OfferingDurationUnitsMonths = "MONTHS"
18821)
18822
18823// Offering type, e.g. 'NO_UPFRONT'
18824const (
18825	// OfferingTypeNoUpfront is a OfferingType enum value
18826	OfferingTypeNoUpfront = "NO_UPFRONT"
18827)
18828
18829// Pipeline ID
18830const (
18831	// PipelineIdPipeline0 is a PipelineId enum value
18832	PipelineIdPipeline0 = "PIPELINE_0"
18833
18834	// PipelineIdPipeline1 is a PipelineId enum value
18835	PipelineIdPipeline1 = "PIPELINE_1"
18836)
18837
18838// Codec, 'MPEG2', 'AVC', 'HEVC', or 'AUDIO'
18839const (
18840	// ReservationCodecMpeg2 is a ReservationCodec enum value
18841	ReservationCodecMpeg2 = "MPEG2"
18842
18843	// ReservationCodecAvc is a ReservationCodec enum value
18844	ReservationCodecAvc = "AVC"
18845
18846	// ReservationCodecHevc is a ReservationCodec enum value
18847	ReservationCodecHevc = "HEVC"
18848
18849	// ReservationCodecAudio is a ReservationCodec enum value
18850	ReservationCodecAudio = "AUDIO"
18851)
18852
18853// Maximum bitrate in megabits per second
18854const (
18855	// ReservationMaximumBitrateMax10Mbps is a ReservationMaximumBitrate enum value
18856	ReservationMaximumBitrateMax10Mbps = "MAX_10_MBPS"
18857
18858	// ReservationMaximumBitrateMax20Mbps is a ReservationMaximumBitrate enum value
18859	ReservationMaximumBitrateMax20Mbps = "MAX_20_MBPS"
18860
18861	// ReservationMaximumBitrateMax50Mbps is a ReservationMaximumBitrate enum value
18862	ReservationMaximumBitrateMax50Mbps = "MAX_50_MBPS"
18863)
18864
18865// Maximum framerate in frames per second (Outputs only)
18866const (
18867	// ReservationMaximumFramerateMax30Fps is a ReservationMaximumFramerate enum value
18868	ReservationMaximumFramerateMax30Fps = "MAX_30_FPS"
18869
18870	// ReservationMaximumFramerateMax60Fps is a ReservationMaximumFramerate enum value
18871	ReservationMaximumFramerateMax60Fps = "MAX_60_FPS"
18872)
18873
18874// Resolution based on lines of vertical resolution; SD is less than 720 lines,
18875// HD is 720 to 1080 lines, UHD is greater than 1080 lines
18876const (
18877	// ReservationResolutionSd is a ReservationResolution enum value
18878	ReservationResolutionSd = "SD"
18879
18880	// ReservationResolutionHd is a ReservationResolution enum value
18881	ReservationResolutionHd = "HD"
18882
18883	// ReservationResolutionUhd is a ReservationResolution enum value
18884	ReservationResolutionUhd = "UHD"
18885)
18886
18887// Resource type, 'INPUT', 'OUTPUT', or 'CHANNEL'
18888const (
18889	// ReservationResourceTypeInput is a ReservationResourceType enum value
18890	ReservationResourceTypeInput = "INPUT"
18891
18892	// ReservationResourceTypeOutput is a ReservationResourceType enum value
18893	ReservationResourceTypeOutput = "OUTPUT"
18894
18895	// ReservationResourceTypeChannel is a ReservationResourceType enum value
18896	ReservationResourceTypeChannel = "CHANNEL"
18897)
18898
18899// Special features, 'ADVANCED_AUDIO' or 'AUDIO_NORMALIZATION'
18900const (
18901	// ReservationSpecialFeatureAdvancedAudio is a ReservationSpecialFeature enum value
18902	ReservationSpecialFeatureAdvancedAudio = "ADVANCED_AUDIO"
18903
18904	// ReservationSpecialFeatureAudioNormalization is a ReservationSpecialFeature enum value
18905	ReservationSpecialFeatureAudioNormalization = "AUDIO_NORMALIZATION"
18906)
18907
18908// Current reservation state
18909const (
18910	// ReservationStateActive is a ReservationState enum value
18911	ReservationStateActive = "ACTIVE"
18912
18913	// ReservationStateExpired is a ReservationState enum value
18914	ReservationStateExpired = "EXPIRED"
18915
18916	// ReservationStateCanceled is a ReservationState enum value
18917	ReservationStateCanceled = "CANCELED"
18918
18919	// ReservationStateDeleted is a ReservationState enum value
18920	ReservationStateDeleted = "DELETED"
18921)
18922
18923// Video quality, e.g. 'STANDARD' (Outputs only)
18924const (
18925	// ReservationVideoQualityStandard is a ReservationVideoQuality enum value
18926	ReservationVideoQualityStandard = "STANDARD"
18927
18928	// ReservationVideoQualityEnhanced is a ReservationVideoQuality enum value
18929	ReservationVideoQualityEnhanced = "ENHANCED"
18930
18931	// ReservationVideoQualityPremium is a ReservationVideoQuality enum value
18932	ReservationVideoQualityPremium = "PREMIUM"
18933)
18934
18935// Rtmp Cache Full Behavior
18936const (
18937	// RtmpCacheFullBehaviorDisconnectImmediately is a RtmpCacheFullBehavior enum value
18938	RtmpCacheFullBehaviorDisconnectImmediately = "DISCONNECT_IMMEDIATELY"
18939
18940	// RtmpCacheFullBehaviorWaitForServer is a RtmpCacheFullBehavior enum value
18941	RtmpCacheFullBehaviorWaitForServer = "WAIT_FOR_SERVER"
18942)
18943
18944// Rtmp Caption Data
18945const (
18946	// RtmpCaptionDataAll is a RtmpCaptionData enum value
18947	RtmpCaptionDataAll = "ALL"
18948
18949	// RtmpCaptionDataField1608 is a RtmpCaptionData enum value
18950	RtmpCaptionDataField1608 = "FIELD1_608"
18951
18952	// RtmpCaptionDataField1AndField2608 is a RtmpCaptionData enum value
18953	RtmpCaptionDataField1AndField2608 = "FIELD1_AND_FIELD2_608"
18954)
18955
18956// Rtmp Output Certificate Mode
18957const (
18958	// RtmpOutputCertificateModeSelfSigned is a RtmpOutputCertificateMode enum value
18959	RtmpOutputCertificateModeSelfSigned = "SELF_SIGNED"
18960
18961	// RtmpOutputCertificateModeVerifyAuthenticity is a RtmpOutputCertificateMode enum value
18962	RtmpOutputCertificateModeVerifyAuthenticity = "VERIFY_AUTHENTICITY"
18963)
18964
18965// Scte20 Convert608 To708
18966const (
18967	// Scte20Convert608To708Disabled is a Scte20Convert608To708 enum value
18968	Scte20Convert608To708Disabled = "DISABLED"
18969
18970	// Scte20Convert608To708Upconvert is a Scte20Convert608To708 enum value
18971	Scte20Convert608To708Upconvert = "UPCONVERT"
18972)
18973
18974// Scte35 Apos No Regional Blackout Behavior
18975const (
18976	// Scte35AposNoRegionalBlackoutBehaviorFollow is a Scte35AposNoRegionalBlackoutBehavior enum value
18977	Scte35AposNoRegionalBlackoutBehaviorFollow = "FOLLOW"
18978
18979	// Scte35AposNoRegionalBlackoutBehaviorIgnore is a Scte35AposNoRegionalBlackoutBehavior enum value
18980	Scte35AposNoRegionalBlackoutBehaviorIgnore = "IGNORE"
18981)
18982
18983// Scte35 Apos Web Delivery Allowed Behavior
18984const (
18985	// Scte35AposWebDeliveryAllowedBehaviorFollow is a Scte35AposWebDeliveryAllowedBehavior enum value
18986	Scte35AposWebDeliveryAllowedBehaviorFollow = "FOLLOW"
18987
18988	// Scte35AposWebDeliveryAllowedBehaviorIgnore is a Scte35AposWebDeliveryAllowedBehavior enum value
18989	Scte35AposWebDeliveryAllowedBehaviorIgnore = "IGNORE"
18990)
18991
18992// Corresponds to the archive_allowed parameter. A value of ARCHIVE_NOT_ALLOWED
18993// corresponds to 0 (false) in the SCTE-35 specification. If you include one
18994// of the "restriction" flags then you must include all four of them.
18995const (
18996	// Scte35ArchiveAllowedFlagArchiveNotAllowed is a Scte35ArchiveAllowedFlag enum value
18997	Scte35ArchiveAllowedFlagArchiveNotAllowed = "ARCHIVE_NOT_ALLOWED"
18998
18999	// Scte35ArchiveAllowedFlagArchiveAllowed is a Scte35ArchiveAllowedFlag enum value
19000	Scte35ArchiveAllowedFlagArchiveAllowed = "ARCHIVE_ALLOWED"
19001)
19002
19003// Corresponds to the device_restrictions parameter in a segmentation_descriptor.
19004// If you include one of the "restriction" flags then you must include all four
19005// of them.
19006const (
19007	// Scte35DeviceRestrictionsNone is a Scte35DeviceRestrictions enum value
19008	Scte35DeviceRestrictionsNone = "NONE"
19009
19010	// Scte35DeviceRestrictionsRestrictGroup0 is a Scte35DeviceRestrictions enum value
19011	Scte35DeviceRestrictionsRestrictGroup0 = "RESTRICT_GROUP0"
19012
19013	// Scte35DeviceRestrictionsRestrictGroup1 is a Scte35DeviceRestrictions enum value
19014	Scte35DeviceRestrictionsRestrictGroup1 = "RESTRICT_GROUP1"
19015
19016	// Scte35DeviceRestrictionsRestrictGroup2 is a Scte35DeviceRestrictions enum value
19017	Scte35DeviceRestrictionsRestrictGroup2 = "RESTRICT_GROUP2"
19018)
19019
19020// Corresponds to the no_regional_blackout_flag parameter. A value of REGIONAL_BLACKOUT
19021// corresponds to 0 (false) in the SCTE-35 specification. If you include one
19022// of the "restriction" flags then you must include all four of them.
19023const (
19024	// Scte35NoRegionalBlackoutFlagRegionalBlackout is a Scte35NoRegionalBlackoutFlag enum value
19025	Scte35NoRegionalBlackoutFlagRegionalBlackout = "REGIONAL_BLACKOUT"
19026
19027	// Scte35NoRegionalBlackoutFlagNoRegionalBlackout is a Scte35NoRegionalBlackoutFlag enum value
19028	Scte35NoRegionalBlackoutFlagNoRegionalBlackout = "NO_REGIONAL_BLACKOUT"
19029)
19030
19031// Corresponds to SCTE-35 segmentation_event_cancel_indicator. SEGMENTATION_EVENT_NOT_CANCELED
19032// corresponds to 0 in the SCTE-35 specification and indicates that this is
19033// an insertion request. SEGMENTATION_EVENT_CANCELED corresponds to 1 in the
19034// SCTE-35 specification and indicates that this is a cancelation request, in
19035// which case complete this field and the existing event ID to cancel.
19036const (
19037	// Scte35SegmentationCancelIndicatorSegmentationEventNotCanceled is a Scte35SegmentationCancelIndicator enum value
19038	Scte35SegmentationCancelIndicatorSegmentationEventNotCanceled = "SEGMENTATION_EVENT_NOT_CANCELED"
19039
19040	// Scte35SegmentationCancelIndicatorSegmentationEventCanceled is a Scte35SegmentationCancelIndicator enum value
19041	Scte35SegmentationCancelIndicatorSegmentationEventCanceled = "SEGMENTATION_EVENT_CANCELED"
19042)
19043
19044// Scte35 Splice Insert No Regional Blackout Behavior
19045const (
19046	// Scte35SpliceInsertNoRegionalBlackoutBehaviorFollow is a Scte35SpliceInsertNoRegionalBlackoutBehavior enum value
19047	Scte35SpliceInsertNoRegionalBlackoutBehaviorFollow = "FOLLOW"
19048
19049	// Scte35SpliceInsertNoRegionalBlackoutBehaviorIgnore is a Scte35SpliceInsertNoRegionalBlackoutBehavior enum value
19050	Scte35SpliceInsertNoRegionalBlackoutBehaviorIgnore = "IGNORE"
19051)
19052
19053// Scte35 Splice Insert Web Delivery Allowed Behavior
19054const (
19055	// Scte35SpliceInsertWebDeliveryAllowedBehaviorFollow is a Scte35SpliceInsertWebDeliveryAllowedBehavior enum value
19056	Scte35SpliceInsertWebDeliveryAllowedBehaviorFollow = "FOLLOW"
19057
19058	// Scte35SpliceInsertWebDeliveryAllowedBehaviorIgnore is a Scte35SpliceInsertWebDeliveryAllowedBehavior enum value
19059	Scte35SpliceInsertWebDeliveryAllowedBehaviorIgnore = "IGNORE"
19060)
19061
19062// Corresponds to the web_delivery_allowed_flag parameter. A value of WEB_DELIVERY_NOT_ALLOWED
19063// corresponds to 0 (false) in the SCTE-35 specification. If you include one
19064// of the "restriction" flags then you must include all four of them.
19065const (
19066	// Scte35WebDeliveryAllowedFlagWebDeliveryNotAllowed is a Scte35WebDeliveryAllowedFlag enum value
19067	Scte35WebDeliveryAllowedFlagWebDeliveryNotAllowed = "WEB_DELIVERY_NOT_ALLOWED"
19068
19069	// Scte35WebDeliveryAllowedFlagWebDeliveryAllowed is a Scte35WebDeliveryAllowedFlag enum value
19070	Scte35WebDeliveryAllowedFlagWebDeliveryAllowed = "WEB_DELIVERY_ALLOWED"
19071)
19072
19073// Smooth Group Audio Only Timecode Control
19074const (
19075	// SmoothGroupAudioOnlyTimecodeControlPassthrough is a SmoothGroupAudioOnlyTimecodeControl enum value
19076	SmoothGroupAudioOnlyTimecodeControlPassthrough = "PASSTHROUGH"
19077
19078	// SmoothGroupAudioOnlyTimecodeControlUseConfiguredClock is a SmoothGroupAudioOnlyTimecodeControl enum value
19079	SmoothGroupAudioOnlyTimecodeControlUseConfiguredClock = "USE_CONFIGURED_CLOCK"
19080)
19081
19082// Smooth Group Certificate Mode
19083const (
19084	// SmoothGroupCertificateModeSelfSigned is a SmoothGroupCertificateMode enum value
19085	SmoothGroupCertificateModeSelfSigned = "SELF_SIGNED"
19086
19087	// SmoothGroupCertificateModeVerifyAuthenticity is a SmoothGroupCertificateMode enum value
19088	SmoothGroupCertificateModeVerifyAuthenticity = "VERIFY_AUTHENTICITY"
19089)
19090
19091// Smooth Group Event Id Mode
19092const (
19093	// SmoothGroupEventIdModeNoEventId is a SmoothGroupEventIdMode enum value
19094	SmoothGroupEventIdModeNoEventId = "NO_EVENT_ID"
19095
19096	// SmoothGroupEventIdModeUseConfigured is a SmoothGroupEventIdMode enum value
19097	SmoothGroupEventIdModeUseConfigured = "USE_CONFIGURED"
19098
19099	// SmoothGroupEventIdModeUseTimestamp is a SmoothGroupEventIdMode enum value
19100	SmoothGroupEventIdModeUseTimestamp = "USE_TIMESTAMP"
19101)
19102
19103// Smooth Group Event Stop Behavior
19104const (
19105	// SmoothGroupEventStopBehaviorNone is a SmoothGroupEventStopBehavior enum value
19106	SmoothGroupEventStopBehaviorNone = "NONE"
19107
19108	// SmoothGroupEventStopBehaviorSendEos is a SmoothGroupEventStopBehavior enum value
19109	SmoothGroupEventStopBehaviorSendEos = "SEND_EOS"
19110)
19111
19112// Smooth Group Segmentation Mode
19113const (
19114	// SmoothGroupSegmentationModeUseInputSegmentation is a SmoothGroupSegmentationMode enum value
19115	SmoothGroupSegmentationModeUseInputSegmentation = "USE_INPUT_SEGMENTATION"
19116
19117	// SmoothGroupSegmentationModeUseSegmentDuration is a SmoothGroupSegmentationMode enum value
19118	SmoothGroupSegmentationModeUseSegmentDuration = "USE_SEGMENT_DURATION"
19119)
19120
19121// Smooth Group Sparse Track Type
19122const (
19123	// SmoothGroupSparseTrackTypeNone is a SmoothGroupSparseTrackType enum value
19124	SmoothGroupSparseTrackTypeNone = "NONE"
19125
19126	// SmoothGroupSparseTrackTypeScte35 is a SmoothGroupSparseTrackType enum value
19127	SmoothGroupSparseTrackTypeScte35 = "SCTE_35"
19128)
19129
19130// Smooth Group Stream Manifest Behavior
19131const (
19132	// SmoothGroupStreamManifestBehaviorDoNotSend is a SmoothGroupStreamManifestBehavior enum value
19133	SmoothGroupStreamManifestBehaviorDoNotSend = "DO_NOT_SEND"
19134
19135	// SmoothGroupStreamManifestBehaviorSend is a SmoothGroupStreamManifestBehavior enum value
19136	SmoothGroupStreamManifestBehaviorSend = "SEND"
19137)
19138
19139// Smooth Group Timestamp Offset Mode
19140const (
19141	// SmoothGroupTimestampOffsetModeUseConfiguredOffset is a SmoothGroupTimestampOffsetMode enum value
19142	SmoothGroupTimestampOffsetModeUseConfiguredOffset = "USE_CONFIGURED_OFFSET"
19143
19144	// SmoothGroupTimestampOffsetModeUseEventStartDate is a SmoothGroupTimestampOffsetMode enum value
19145	SmoothGroupTimestampOffsetModeUseEventStartDate = "USE_EVENT_START_DATE"
19146)
19147
19148// Timecode Config Source
19149const (
19150	// TimecodeConfigSourceEmbedded is a TimecodeConfigSource enum value
19151	TimecodeConfigSourceEmbedded = "EMBEDDED"
19152
19153	// TimecodeConfigSourceSystemclock is a TimecodeConfigSource enum value
19154	TimecodeConfigSourceSystemclock = "SYSTEMCLOCK"
19155
19156	// TimecodeConfigSourceZerobased is a TimecodeConfigSource enum value
19157	TimecodeConfigSourceZerobased = "ZEROBASED"
19158)
19159
19160// Ttml Destination Style Control
19161const (
19162	// TtmlDestinationStyleControlPassthrough is a TtmlDestinationStyleControl enum value
19163	TtmlDestinationStyleControlPassthrough = "PASSTHROUGH"
19164
19165	// TtmlDestinationStyleControlUseConfigured is a TtmlDestinationStyleControl enum value
19166	TtmlDestinationStyleControlUseConfigured = "USE_CONFIGURED"
19167)
19168
19169// Udp Timed Metadata Id3 Frame
19170const (
19171	// UdpTimedMetadataId3FrameNone is a UdpTimedMetadataId3Frame enum value
19172	UdpTimedMetadataId3FrameNone = "NONE"
19173
19174	// UdpTimedMetadataId3FramePriv is a UdpTimedMetadataId3Frame enum value
19175	UdpTimedMetadataId3FramePriv = "PRIV"
19176
19177	// UdpTimedMetadataId3FrameTdrl is a UdpTimedMetadataId3Frame enum value
19178	UdpTimedMetadataId3FrameTdrl = "TDRL"
19179)
19180
19181// Video Description Respond To Afd
19182const (
19183	// VideoDescriptionRespondToAfdNone is a VideoDescriptionRespondToAfd enum value
19184	VideoDescriptionRespondToAfdNone = "NONE"
19185
19186	// VideoDescriptionRespondToAfdPassthrough is a VideoDescriptionRespondToAfd enum value
19187	VideoDescriptionRespondToAfdPassthrough = "PASSTHROUGH"
19188
19189	// VideoDescriptionRespondToAfdRespond is a VideoDescriptionRespondToAfd enum value
19190	VideoDescriptionRespondToAfdRespond = "RESPOND"
19191)
19192
19193// Video Description Scaling Behavior
19194const (
19195	// VideoDescriptionScalingBehaviorDefault is a VideoDescriptionScalingBehavior enum value
19196	VideoDescriptionScalingBehaviorDefault = "DEFAULT"
19197
19198	// VideoDescriptionScalingBehaviorStretchToOutput is a VideoDescriptionScalingBehavior enum value
19199	VideoDescriptionScalingBehaviorStretchToOutput = "STRETCH_TO_OUTPUT"
19200)
19201
19202// Video Selector Color Space
19203const (
19204	// VideoSelectorColorSpaceFollow is a VideoSelectorColorSpace enum value
19205	VideoSelectorColorSpaceFollow = "FOLLOW"
19206
19207	// VideoSelectorColorSpaceRec601 is a VideoSelectorColorSpace enum value
19208	VideoSelectorColorSpaceRec601 = "REC_601"
19209
19210	// VideoSelectorColorSpaceRec709 is a VideoSelectorColorSpace enum value
19211	VideoSelectorColorSpaceRec709 = "REC_709"
19212)
19213
19214// Video Selector Color Space Usage
19215const (
19216	// VideoSelectorColorSpaceUsageFallback is a VideoSelectorColorSpaceUsage enum value
19217	VideoSelectorColorSpaceUsageFallback = "FALLBACK"
19218
19219	// VideoSelectorColorSpaceUsageForce is a VideoSelectorColorSpaceUsage enum value
19220	VideoSelectorColorSpaceUsageForce = "FORCE"
19221)
19222