1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package mediapackage
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 opCreateChannel = "CreateChannel"
16
17// CreateChannelRequest generates a "aws/request.Request" representing the
18// client's request for the CreateChannel 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 CreateChannel for more information on using the CreateChannel
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 CreateChannelRequest method.
33//    req, resp := client.CreateChannelRequest(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/mediapackage-2017-10-12/CreateChannel
41func (c *MediaPackage) CreateChannelRequest(input *CreateChannelInput) (req *request.Request, output *CreateChannelOutput) {
42	op := &request.Operation{
43		Name:       opCreateChannel,
44		HTTPMethod: "POST",
45		HTTPPath:   "/channels",
46	}
47
48	if input == nil {
49		input = &CreateChannelInput{}
50	}
51
52	output = &CreateChannelOutput{}
53	req = c.newRequest(op, input, output)
54	return
55}
56
57// CreateChannel API operation for AWS Elemental MediaPackage.
58//
59// Creates a new Channel.
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 MediaPackage's
66// API operation CreateChannel for usage and error information.
67//
68// Returned Error Types:
69//   * UnprocessableEntityException
70//
71//   * InternalServerErrorException
72//
73//   * ForbiddenException
74//
75//   * NotFoundException
76//
77//   * ServiceUnavailableException
78//
79//   * TooManyRequestsException
80//
81// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/CreateChannel
82func (c *MediaPackage) CreateChannel(input *CreateChannelInput) (*CreateChannelOutput, error) {
83	req, out := c.CreateChannelRequest(input)
84	return out, req.Send()
85}
86
87// CreateChannelWithContext is the same as CreateChannel with the addition of
88// the ability to pass a context and additional request options.
89//
90// See CreateChannel for details on how to use this API operation.
91//
92// The context must be non-nil and will be used for request cancellation. If
93// the context is nil a panic will occur. In the future the SDK may create
94// sub-contexts for http.Requests. See https://golang.org/pkg/context/
95// for more information on using Contexts.
96func (c *MediaPackage) CreateChannelWithContext(ctx aws.Context, input *CreateChannelInput, opts ...request.Option) (*CreateChannelOutput, error) {
97	req, out := c.CreateChannelRequest(input)
98	req.SetContext(ctx)
99	req.ApplyOptions(opts...)
100	return out, req.Send()
101}
102
103const opCreateHarvestJob = "CreateHarvestJob"
104
105// CreateHarvestJobRequest generates a "aws/request.Request" representing the
106// client's request for the CreateHarvestJob operation. The "output" return
107// value will be populated with the request's response once the request completes
108// successfully.
109//
110// Use "Send" method on the returned Request to send the API call to the service.
111// the "output" return value is not valid until after Send returns without error.
112//
113// See CreateHarvestJob for more information on using the CreateHarvestJob
114// API call, and error handling.
115//
116// This method is useful when you want to inject custom logic or configuration
117// into the SDK's request lifecycle. Such as custom headers, or retry logic.
118//
119//
120//    // Example sending a request using the CreateHarvestJobRequest method.
121//    req, resp := client.CreateHarvestJobRequest(params)
122//
123//    err := req.Send()
124//    if err == nil { // resp is now filled
125//        fmt.Println(resp)
126//    }
127//
128// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/CreateHarvestJob
129func (c *MediaPackage) CreateHarvestJobRequest(input *CreateHarvestJobInput) (req *request.Request, output *CreateHarvestJobOutput) {
130	op := &request.Operation{
131		Name:       opCreateHarvestJob,
132		HTTPMethod: "POST",
133		HTTPPath:   "/harvest_jobs",
134	}
135
136	if input == nil {
137		input = &CreateHarvestJobInput{}
138	}
139
140	output = &CreateHarvestJobOutput{}
141	req = c.newRequest(op, input, output)
142	return
143}
144
145// CreateHarvestJob API operation for AWS Elemental MediaPackage.
146//
147// Creates a new HarvestJob record.
148//
149// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
150// with awserr.Error's Code and Message methods to get detailed information about
151// the error.
152//
153// See the AWS API reference guide for AWS Elemental MediaPackage's
154// API operation CreateHarvestJob for usage and error information.
155//
156// Returned Error Types:
157//   * UnprocessableEntityException
158//
159//   * InternalServerErrorException
160//
161//   * ForbiddenException
162//
163//   * NotFoundException
164//
165//   * ServiceUnavailableException
166//
167//   * TooManyRequestsException
168//
169// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/CreateHarvestJob
170func (c *MediaPackage) CreateHarvestJob(input *CreateHarvestJobInput) (*CreateHarvestJobOutput, error) {
171	req, out := c.CreateHarvestJobRequest(input)
172	return out, req.Send()
173}
174
175// CreateHarvestJobWithContext is the same as CreateHarvestJob with the addition of
176// the ability to pass a context and additional request options.
177//
178// See CreateHarvestJob for details on how to use this API operation.
179//
180// The context must be non-nil and will be used for request cancellation. If
181// the context is nil a panic will occur. In the future the SDK may create
182// sub-contexts for http.Requests. See https://golang.org/pkg/context/
183// for more information on using Contexts.
184func (c *MediaPackage) CreateHarvestJobWithContext(ctx aws.Context, input *CreateHarvestJobInput, opts ...request.Option) (*CreateHarvestJobOutput, error) {
185	req, out := c.CreateHarvestJobRequest(input)
186	req.SetContext(ctx)
187	req.ApplyOptions(opts...)
188	return out, req.Send()
189}
190
191const opCreateOriginEndpoint = "CreateOriginEndpoint"
192
193// CreateOriginEndpointRequest generates a "aws/request.Request" representing the
194// client's request for the CreateOriginEndpoint operation. The "output" return
195// value will be populated with the request's response once the request completes
196// successfully.
197//
198// Use "Send" method on the returned Request to send the API call to the service.
199// the "output" return value is not valid until after Send returns without error.
200//
201// See CreateOriginEndpoint for more information on using the CreateOriginEndpoint
202// API call, and error handling.
203//
204// This method is useful when you want to inject custom logic or configuration
205// into the SDK's request lifecycle. Such as custom headers, or retry logic.
206//
207//
208//    // Example sending a request using the CreateOriginEndpointRequest method.
209//    req, resp := client.CreateOriginEndpointRequest(params)
210//
211//    err := req.Send()
212//    if err == nil { // resp is now filled
213//        fmt.Println(resp)
214//    }
215//
216// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/CreateOriginEndpoint
217func (c *MediaPackage) CreateOriginEndpointRequest(input *CreateOriginEndpointInput) (req *request.Request, output *CreateOriginEndpointOutput) {
218	op := &request.Operation{
219		Name:       opCreateOriginEndpoint,
220		HTTPMethod: "POST",
221		HTTPPath:   "/origin_endpoints",
222	}
223
224	if input == nil {
225		input = &CreateOriginEndpointInput{}
226	}
227
228	output = &CreateOriginEndpointOutput{}
229	req = c.newRequest(op, input, output)
230	return
231}
232
233// CreateOriginEndpoint API operation for AWS Elemental MediaPackage.
234//
235// Creates a new OriginEndpoint record.
236//
237// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
238// with awserr.Error's Code and Message methods to get detailed information about
239// the error.
240//
241// See the AWS API reference guide for AWS Elemental MediaPackage's
242// API operation CreateOriginEndpoint for usage and error information.
243//
244// Returned Error Types:
245//   * UnprocessableEntityException
246//
247//   * InternalServerErrorException
248//
249//   * ForbiddenException
250//
251//   * NotFoundException
252//
253//   * ServiceUnavailableException
254//
255//   * TooManyRequestsException
256//
257// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/CreateOriginEndpoint
258func (c *MediaPackage) CreateOriginEndpoint(input *CreateOriginEndpointInput) (*CreateOriginEndpointOutput, error) {
259	req, out := c.CreateOriginEndpointRequest(input)
260	return out, req.Send()
261}
262
263// CreateOriginEndpointWithContext is the same as CreateOriginEndpoint with the addition of
264// the ability to pass a context and additional request options.
265//
266// See CreateOriginEndpoint for details on how to use this API operation.
267//
268// The context must be non-nil and will be used for request cancellation. If
269// the context is nil a panic will occur. In the future the SDK may create
270// sub-contexts for http.Requests. See https://golang.org/pkg/context/
271// for more information on using Contexts.
272func (c *MediaPackage) CreateOriginEndpointWithContext(ctx aws.Context, input *CreateOriginEndpointInput, opts ...request.Option) (*CreateOriginEndpointOutput, error) {
273	req, out := c.CreateOriginEndpointRequest(input)
274	req.SetContext(ctx)
275	req.ApplyOptions(opts...)
276	return out, req.Send()
277}
278
279const opDeleteChannel = "DeleteChannel"
280
281// DeleteChannelRequest generates a "aws/request.Request" representing the
282// client's request for the DeleteChannel operation. The "output" return
283// value will be populated with the request's response once the request completes
284// successfully.
285//
286// Use "Send" method on the returned Request to send the API call to the service.
287// the "output" return value is not valid until after Send returns without error.
288//
289// See DeleteChannel for more information on using the DeleteChannel
290// API call, and error handling.
291//
292// This method is useful when you want to inject custom logic or configuration
293// into the SDK's request lifecycle. Such as custom headers, or retry logic.
294//
295//
296//    // Example sending a request using the DeleteChannelRequest method.
297//    req, resp := client.DeleteChannelRequest(params)
298//
299//    err := req.Send()
300//    if err == nil { // resp is now filled
301//        fmt.Println(resp)
302//    }
303//
304// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DeleteChannel
305func (c *MediaPackage) DeleteChannelRequest(input *DeleteChannelInput) (req *request.Request, output *DeleteChannelOutput) {
306	op := &request.Operation{
307		Name:       opDeleteChannel,
308		HTTPMethod: "DELETE",
309		HTTPPath:   "/channels/{id}",
310	}
311
312	if input == nil {
313		input = &DeleteChannelInput{}
314	}
315
316	output = &DeleteChannelOutput{}
317	req = c.newRequest(op, input, output)
318	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
319	return
320}
321
322// DeleteChannel API operation for AWS Elemental MediaPackage.
323//
324// Deletes an existing Channel.
325//
326// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
327// with awserr.Error's Code and Message methods to get detailed information about
328// the error.
329//
330// See the AWS API reference guide for AWS Elemental MediaPackage's
331// API operation DeleteChannel for usage and error information.
332//
333// Returned Error Types:
334//   * UnprocessableEntityException
335//
336//   * InternalServerErrorException
337//
338//   * ForbiddenException
339//
340//   * NotFoundException
341//
342//   * ServiceUnavailableException
343//
344//   * TooManyRequestsException
345//
346// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DeleteChannel
347func (c *MediaPackage) DeleteChannel(input *DeleteChannelInput) (*DeleteChannelOutput, error) {
348	req, out := c.DeleteChannelRequest(input)
349	return out, req.Send()
350}
351
352// DeleteChannelWithContext is the same as DeleteChannel with the addition of
353// the ability to pass a context and additional request options.
354//
355// See DeleteChannel for details on how to use this API operation.
356//
357// The context must be non-nil and will be used for request cancellation. If
358// the context is nil a panic will occur. In the future the SDK may create
359// sub-contexts for http.Requests. See https://golang.org/pkg/context/
360// for more information on using Contexts.
361func (c *MediaPackage) DeleteChannelWithContext(ctx aws.Context, input *DeleteChannelInput, opts ...request.Option) (*DeleteChannelOutput, error) {
362	req, out := c.DeleteChannelRequest(input)
363	req.SetContext(ctx)
364	req.ApplyOptions(opts...)
365	return out, req.Send()
366}
367
368const opDeleteOriginEndpoint = "DeleteOriginEndpoint"
369
370// DeleteOriginEndpointRequest generates a "aws/request.Request" representing the
371// client's request for the DeleteOriginEndpoint operation. The "output" return
372// value will be populated with the request's response once the request completes
373// successfully.
374//
375// Use "Send" method on the returned Request to send the API call to the service.
376// the "output" return value is not valid until after Send returns without error.
377//
378// See DeleteOriginEndpoint for more information on using the DeleteOriginEndpoint
379// API call, and error handling.
380//
381// This method is useful when you want to inject custom logic or configuration
382// into the SDK's request lifecycle. Such as custom headers, or retry logic.
383//
384//
385//    // Example sending a request using the DeleteOriginEndpointRequest method.
386//    req, resp := client.DeleteOriginEndpointRequest(params)
387//
388//    err := req.Send()
389//    if err == nil { // resp is now filled
390//        fmt.Println(resp)
391//    }
392//
393// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DeleteOriginEndpoint
394func (c *MediaPackage) DeleteOriginEndpointRequest(input *DeleteOriginEndpointInput) (req *request.Request, output *DeleteOriginEndpointOutput) {
395	op := &request.Operation{
396		Name:       opDeleteOriginEndpoint,
397		HTTPMethod: "DELETE",
398		HTTPPath:   "/origin_endpoints/{id}",
399	}
400
401	if input == nil {
402		input = &DeleteOriginEndpointInput{}
403	}
404
405	output = &DeleteOriginEndpointOutput{}
406	req = c.newRequest(op, input, output)
407	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
408	return
409}
410
411// DeleteOriginEndpoint API operation for AWS Elemental MediaPackage.
412//
413// Deletes an existing OriginEndpoint.
414//
415// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
416// with awserr.Error's Code and Message methods to get detailed information about
417// the error.
418//
419// See the AWS API reference guide for AWS Elemental MediaPackage's
420// API operation DeleteOriginEndpoint for usage and error information.
421//
422// Returned Error Types:
423//   * UnprocessableEntityException
424//
425//   * InternalServerErrorException
426//
427//   * ForbiddenException
428//
429//   * NotFoundException
430//
431//   * ServiceUnavailableException
432//
433//   * TooManyRequestsException
434//
435// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DeleteOriginEndpoint
436func (c *MediaPackage) DeleteOriginEndpoint(input *DeleteOriginEndpointInput) (*DeleteOriginEndpointOutput, error) {
437	req, out := c.DeleteOriginEndpointRequest(input)
438	return out, req.Send()
439}
440
441// DeleteOriginEndpointWithContext is the same as DeleteOriginEndpoint with the addition of
442// the ability to pass a context and additional request options.
443//
444// See DeleteOriginEndpoint for details on how to use this API operation.
445//
446// The context must be non-nil and will be used for request cancellation. If
447// the context is nil a panic will occur. In the future the SDK may create
448// sub-contexts for http.Requests. See https://golang.org/pkg/context/
449// for more information on using Contexts.
450func (c *MediaPackage) DeleteOriginEndpointWithContext(ctx aws.Context, input *DeleteOriginEndpointInput, opts ...request.Option) (*DeleteOriginEndpointOutput, error) {
451	req, out := c.DeleteOriginEndpointRequest(input)
452	req.SetContext(ctx)
453	req.ApplyOptions(opts...)
454	return out, req.Send()
455}
456
457const opDescribeChannel = "DescribeChannel"
458
459// DescribeChannelRequest generates a "aws/request.Request" representing the
460// client's request for the DescribeChannel operation. The "output" return
461// value will be populated with the request's response once the request completes
462// successfully.
463//
464// Use "Send" method on the returned Request to send the API call to the service.
465// the "output" return value is not valid until after Send returns without error.
466//
467// See DescribeChannel for more information on using the DescribeChannel
468// API call, and error handling.
469//
470// This method is useful when you want to inject custom logic or configuration
471// into the SDK's request lifecycle. Such as custom headers, or retry logic.
472//
473//
474//    // Example sending a request using the DescribeChannelRequest method.
475//    req, resp := client.DescribeChannelRequest(params)
476//
477//    err := req.Send()
478//    if err == nil { // resp is now filled
479//        fmt.Println(resp)
480//    }
481//
482// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeChannel
483func (c *MediaPackage) DescribeChannelRequest(input *DescribeChannelInput) (req *request.Request, output *DescribeChannelOutput) {
484	op := &request.Operation{
485		Name:       opDescribeChannel,
486		HTTPMethod: "GET",
487		HTTPPath:   "/channels/{id}",
488	}
489
490	if input == nil {
491		input = &DescribeChannelInput{}
492	}
493
494	output = &DescribeChannelOutput{}
495	req = c.newRequest(op, input, output)
496	return
497}
498
499// DescribeChannel API operation for AWS Elemental MediaPackage.
500//
501// Gets details about a Channel.
502//
503// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
504// with awserr.Error's Code and Message methods to get detailed information about
505// the error.
506//
507// See the AWS API reference guide for AWS Elemental MediaPackage's
508// API operation DescribeChannel for usage and error information.
509//
510// Returned Error Types:
511//   * UnprocessableEntityException
512//
513//   * InternalServerErrorException
514//
515//   * ForbiddenException
516//
517//   * NotFoundException
518//
519//   * ServiceUnavailableException
520//
521//   * TooManyRequestsException
522//
523// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeChannel
524func (c *MediaPackage) DescribeChannel(input *DescribeChannelInput) (*DescribeChannelOutput, error) {
525	req, out := c.DescribeChannelRequest(input)
526	return out, req.Send()
527}
528
529// DescribeChannelWithContext is the same as DescribeChannel with the addition of
530// the ability to pass a context and additional request options.
531//
532// See DescribeChannel for details on how to use this API operation.
533//
534// The context must be non-nil and will be used for request cancellation. If
535// the context is nil a panic will occur. In the future the SDK may create
536// sub-contexts for http.Requests. See https://golang.org/pkg/context/
537// for more information on using Contexts.
538func (c *MediaPackage) DescribeChannelWithContext(ctx aws.Context, input *DescribeChannelInput, opts ...request.Option) (*DescribeChannelOutput, error) {
539	req, out := c.DescribeChannelRequest(input)
540	req.SetContext(ctx)
541	req.ApplyOptions(opts...)
542	return out, req.Send()
543}
544
545const opDescribeHarvestJob = "DescribeHarvestJob"
546
547// DescribeHarvestJobRequest generates a "aws/request.Request" representing the
548// client's request for the DescribeHarvestJob operation. The "output" return
549// value will be populated with the request's response once the request completes
550// successfully.
551//
552// Use "Send" method on the returned Request to send the API call to the service.
553// the "output" return value is not valid until after Send returns without error.
554//
555// See DescribeHarvestJob for more information on using the DescribeHarvestJob
556// API call, and error handling.
557//
558// This method is useful when you want to inject custom logic or configuration
559// into the SDK's request lifecycle. Such as custom headers, or retry logic.
560//
561//
562//    // Example sending a request using the DescribeHarvestJobRequest method.
563//    req, resp := client.DescribeHarvestJobRequest(params)
564//
565//    err := req.Send()
566//    if err == nil { // resp is now filled
567//        fmt.Println(resp)
568//    }
569//
570// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeHarvestJob
571func (c *MediaPackage) DescribeHarvestJobRequest(input *DescribeHarvestJobInput) (req *request.Request, output *DescribeHarvestJobOutput) {
572	op := &request.Operation{
573		Name:       opDescribeHarvestJob,
574		HTTPMethod: "GET",
575		HTTPPath:   "/harvest_jobs/{id}",
576	}
577
578	if input == nil {
579		input = &DescribeHarvestJobInput{}
580	}
581
582	output = &DescribeHarvestJobOutput{}
583	req = c.newRequest(op, input, output)
584	return
585}
586
587// DescribeHarvestJob API operation for AWS Elemental MediaPackage.
588//
589// Gets details about an existing HarvestJob.
590//
591// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
592// with awserr.Error's Code and Message methods to get detailed information about
593// the error.
594//
595// See the AWS API reference guide for AWS Elemental MediaPackage's
596// API operation DescribeHarvestJob for usage and error information.
597//
598// Returned Error Types:
599//   * UnprocessableEntityException
600//
601//   * InternalServerErrorException
602//
603//   * ForbiddenException
604//
605//   * NotFoundException
606//
607//   * ServiceUnavailableException
608//
609//   * TooManyRequestsException
610//
611// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeHarvestJob
612func (c *MediaPackage) DescribeHarvestJob(input *DescribeHarvestJobInput) (*DescribeHarvestJobOutput, error) {
613	req, out := c.DescribeHarvestJobRequest(input)
614	return out, req.Send()
615}
616
617// DescribeHarvestJobWithContext is the same as DescribeHarvestJob with the addition of
618// the ability to pass a context and additional request options.
619//
620// See DescribeHarvestJob for details on how to use this API operation.
621//
622// The context must be non-nil and will be used for request cancellation. If
623// the context is nil a panic will occur. In the future the SDK may create
624// sub-contexts for http.Requests. See https://golang.org/pkg/context/
625// for more information on using Contexts.
626func (c *MediaPackage) DescribeHarvestJobWithContext(ctx aws.Context, input *DescribeHarvestJobInput, opts ...request.Option) (*DescribeHarvestJobOutput, error) {
627	req, out := c.DescribeHarvestJobRequest(input)
628	req.SetContext(ctx)
629	req.ApplyOptions(opts...)
630	return out, req.Send()
631}
632
633const opDescribeOriginEndpoint = "DescribeOriginEndpoint"
634
635// DescribeOriginEndpointRequest generates a "aws/request.Request" representing the
636// client's request for the DescribeOriginEndpoint operation. The "output" return
637// value will be populated with the request's response once the request completes
638// successfully.
639//
640// Use "Send" method on the returned Request to send the API call to the service.
641// the "output" return value is not valid until after Send returns without error.
642//
643// See DescribeOriginEndpoint for more information on using the DescribeOriginEndpoint
644// API call, and error handling.
645//
646// This method is useful when you want to inject custom logic or configuration
647// into the SDK's request lifecycle. Such as custom headers, or retry logic.
648//
649//
650//    // Example sending a request using the DescribeOriginEndpointRequest method.
651//    req, resp := client.DescribeOriginEndpointRequest(params)
652//
653//    err := req.Send()
654//    if err == nil { // resp is now filled
655//        fmt.Println(resp)
656//    }
657//
658// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeOriginEndpoint
659func (c *MediaPackage) DescribeOriginEndpointRequest(input *DescribeOriginEndpointInput) (req *request.Request, output *DescribeOriginEndpointOutput) {
660	op := &request.Operation{
661		Name:       opDescribeOriginEndpoint,
662		HTTPMethod: "GET",
663		HTTPPath:   "/origin_endpoints/{id}",
664	}
665
666	if input == nil {
667		input = &DescribeOriginEndpointInput{}
668	}
669
670	output = &DescribeOriginEndpointOutput{}
671	req = c.newRequest(op, input, output)
672	return
673}
674
675// DescribeOriginEndpoint API operation for AWS Elemental MediaPackage.
676//
677// Gets details about an existing OriginEndpoint.
678//
679// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
680// with awserr.Error's Code and Message methods to get detailed information about
681// the error.
682//
683// See the AWS API reference guide for AWS Elemental MediaPackage's
684// API operation DescribeOriginEndpoint for usage and error information.
685//
686// Returned Error Types:
687//   * UnprocessableEntityException
688//
689//   * InternalServerErrorException
690//
691//   * ForbiddenException
692//
693//   * NotFoundException
694//
695//   * ServiceUnavailableException
696//
697//   * TooManyRequestsException
698//
699// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeOriginEndpoint
700func (c *MediaPackage) DescribeOriginEndpoint(input *DescribeOriginEndpointInput) (*DescribeOriginEndpointOutput, error) {
701	req, out := c.DescribeOriginEndpointRequest(input)
702	return out, req.Send()
703}
704
705// DescribeOriginEndpointWithContext is the same as DescribeOriginEndpoint with the addition of
706// the ability to pass a context and additional request options.
707//
708// See DescribeOriginEndpoint for details on how to use this API operation.
709//
710// The context must be non-nil and will be used for request cancellation. If
711// the context is nil a panic will occur. In the future the SDK may create
712// sub-contexts for http.Requests. See https://golang.org/pkg/context/
713// for more information on using Contexts.
714func (c *MediaPackage) DescribeOriginEndpointWithContext(ctx aws.Context, input *DescribeOriginEndpointInput, opts ...request.Option) (*DescribeOriginEndpointOutput, error) {
715	req, out := c.DescribeOriginEndpointRequest(input)
716	req.SetContext(ctx)
717	req.ApplyOptions(opts...)
718	return out, req.Send()
719}
720
721const opListChannels = "ListChannels"
722
723// ListChannelsRequest generates a "aws/request.Request" representing the
724// client's request for the ListChannels operation. The "output" return
725// value will be populated with the request's response once the request completes
726// successfully.
727//
728// Use "Send" method on the returned Request to send the API call to the service.
729// the "output" return value is not valid until after Send returns without error.
730//
731// See ListChannels for more information on using the ListChannels
732// API call, and error handling.
733//
734// This method is useful when you want to inject custom logic or configuration
735// into the SDK's request lifecycle. Such as custom headers, or retry logic.
736//
737//
738//    // Example sending a request using the ListChannelsRequest method.
739//    req, resp := client.ListChannelsRequest(params)
740//
741//    err := req.Send()
742//    if err == nil { // resp is now filled
743//        fmt.Println(resp)
744//    }
745//
746// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListChannels
747func (c *MediaPackage) ListChannelsRequest(input *ListChannelsInput) (req *request.Request, output *ListChannelsOutput) {
748	op := &request.Operation{
749		Name:       opListChannels,
750		HTTPMethod: "GET",
751		HTTPPath:   "/channels",
752		Paginator: &request.Paginator{
753			InputTokens:     []string{"NextToken"},
754			OutputTokens:    []string{"NextToken"},
755			LimitToken:      "MaxResults",
756			TruncationToken: "",
757		},
758	}
759
760	if input == nil {
761		input = &ListChannelsInput{}
762	}
763
764	output = &ListChannelsOutput{}
765	req = c.newRequest(op, input, output)
766	return
767}
768
769// ListChannels API operation for AWS Elemental MediaPackage.
770//
771// Returns a collection of Channels.
772//
773// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
774// with awserr.Error's Code and Message methods to get detailed information about
775// the error.
776//
777// See the AWS API reference guide for AWS Elemental MediaPackage's
778// API operation ListChannels for usage and error information.
779//
780// Returned Error Types:
781//   * UnprocessableEntityException
782//
783//   * InternalServerErrorException
784//
785//   * ForbiddenException
786//
787//   * NotFoundException
788//
789//   * ServiceUnavailableException
790//
791//   * TooManyRequestsException
792//
793// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListChannels
794func (c *MediaPackage) ListChannels(input *ListChannelsInput) (*ListChannelsOutput, error) {
795	req, out := c.ListChannelsRequest(input)
796	return out, req.Send()
797}
798
799// ListChannelsWithContext is the same as ListChannels with the addition of
800// the ability to pass a context and additional request options.
801//
802// See ListChannels for details on how to use this API operation.
803//
804// The context must be non-nil and will be used for request cancellation. If
805// the context is nil a panic will occur. In the future the SDK may create
806// sub-contexts for http.Requests. See https://golang.org/pkg/context/
807// for more information on using Contexts.
808func (c *MediaPackage) ListChannelsWithContext(ctx aws.Context, input *ListChannelsInput, opts ...request.Option) (*ListChannelsOutput, error) {
809	req, out := c.ListChannelsRequest(input)
810	req.SetContext(ctx)
811	req.ApplyOptions(opts...)
812	return out, req.Send()
813}
814
815// ListChannelsPages iterates over the pages of a ListChannels operation,
816// calling the "fn" function with the response data for each page. To stop
817// iterating, return false from the fn function.
818//
819// See ListChannels method for more information on how to use this operation.
820//
821// Note: This operation can generate multiple requests to a service.
822//
823//    // Example iterating over at most 3 pages of a ListChannels operation.
824//    pageNum := 0
825//    err := client.ListChannelsPages(params,
826//        func(page *mediapackage.ListChannelsOutput, lastPage bool) bool {
827//            pageNum++
828//            fmt.Println(page)
829//            return pageNum <= 3
830//        })
831//
832func (c *MediaPackage) ListChannelsPages(input *ListChannelsInput, fn func(*ListChannelsOutput, bool) bool) error {
833	return c.ListChannelsPagesWithContext(aws.BackgroundContext(), input, fn)
834}
835
836// ListChannelsPagesWithContext same as ListChannelsPages except
837// it takes a Context and allows setting request options on the pages.
838//
839// The context must be non-nil and will be used for request cancellation. If
840// the context is nil a panic will occur. In the future the SDK may create
841// sub-contexts for http.Requests. See https://golang.org/pkg/context/
842// for more information on using Contexts.
843func (c *MediaPackage) ListChannelsPagesWithContext(ctx aws.Context, input *ListChannelsInput, fn func(*ListChannelsOutput, bool) bool, opts ...request.Option) error {
844	p := request.Pagination{
845		NewRequest: func() (*request.Request, error) {
846			var inCpy *ListChannelsInput
847			if input != nil {
848				tmp := *input
849				inCpy = &tmp
850			}
851			req, _ := c.ListChannelsRequest(inCpy)
852			req.SetContext(ctx)
853			req.ApplyOptions(opts...)
854			return req, nil
855		},
856	}
857
858	for p.Next() {
859		if !fn(p.Page().(*ListChannelsOutput), !p.HasNextPage()) {
860			break
861		}
862	}
863
864	return p.Err()
865}
866
867const opListHarvestJobs = "ListHarvestJobs"
868
869// ListHarvestJobsRequest generates a "aws/request.Request" representing the
870// client's request for the ListHarvestJobs operation. The "output" return
871// value will be populated with the request's response once the request completes
872// successfully.
873//
874// Use "Send" method on the returned Request to send the API call to the service.
875// the "output" return value is not valid until after Send returns without error.
876//
877// See ListHarvestJobs for more information on using the ListHarvestJobs
878// API call, and error handling.
879//
880// This method is useful when you want to inject custom logic or configuration
881// into the SDK's request lifecycle. Such as custom headers, or retry logic.
882//
883//
884//    // Example sending a request using the ListHarvestJobsRequest method.
885//    req, resp := client.ListHarvestJobsRequest(params)
886//
887//    err := req.Send()
888//    if err == nil { // resp is now filled
889//        fmt.Println(resp)
890//    }
891//
892// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListHarvestJobs
893func (c *MediaPackage) ListHarvestJobsRequest(input *ListHarvestJobsInput) (req *request.Request, output *ListHarvestJobsOutput) {
894	op := &request.Operation{
895		Name:       opListHarvestJobs,
896		HTTPMethod: "GET",
897		HTTPPath:   "/harvest_jobs",
898		Paginator: &request.Paginator{
899			InputTokens:     []string{"NextToken"},
900			OutputTokens:    []string{"NextToken"},
901			LimitToken:      "MaxResults",
902			TruncationToken: "",
903		},
904	}
905
906	if input == nil {
907		input = &ListHarvestJobsInput{}
908	}
909
910	output = &ListHarvestJobsOutput{}
911	req = c.newRequest(op, input, output)
912	return
913}
914
915// ListHarvestJobs API operation for AWS Elemental MediaPackage.
916//
917// Returns a collection of HarvestJob records.
918//
919// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
920// with awserr.Error's Code and Message methods to get detailed information about
921// the error.
922//
923// See the AWS API reference guide for AWS Elemental MediaPackage's
924// API operation ListHarvestJobs for usage and error information.
925//
926// Returned Error Types:
927//   * UnprocessableEntityException
928//
929//   * InternalServerErrorException
930//
931//   * ForbiddenException
932//
933//   * NotFoundException
934//
935//   * ServiceUnavailableException
936//
937//   * TooManyRequestsException
938//
939// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListHarvestJobs
940func (c *MediaPackage) ListHarvestJobs(input *ListHarvestJobsInput) (*ListHarvestJobsOutput, error) {
941	req, out := c.ListHarvestJobsRequest(input)
942	return out, req.Send()
943}
944
945// ListHarvestJobsWithContext is the same as ListHarvestJobs with the addition of
946// the ability to pass a context and additional request options.
947//
948// See ListHarvestJobs for details on how to use this API operation.
949//
950// The context must be non-nil and will be used for request cancellation. If
951// the context is nil a panic will occur. In the future the SDK may create
952// sub-contexts for http.Requests. See https://golang.org/pkg/context/
953// for more information on using Contexts.
954func (c *MediaPackage) ListHarvestJobsWithContext(ctx aws.Context, input *ListHarvestJobsInput, opts ...request.Option) (*ListHarvestJobsOutput, error) {
955	req, out := c.ListHarvestJobsRequest(input)
956	req.SetContext(ctx)
957	req.ApplyOptions(opts...)
958	return out, req.Send()
959}
960
961// ListHarvestJobsPages iterates over the pages of a ListHarvestJobs operation,
962// calling the "fn" function with the response data for each page. To stop
963// iterating, return false from the fn function.
964//
965// See ListHarvestJobs method for more information on how to use this operation.
966//
967// Note: This operation can generate multiple requests to a service.
968//
969//    // Example iterating over at most 3 pages of a ListHarvestJobs operation.
970//    pageNum := 0
971//    err := client.ListHarvestJobsPages(params,
972//        func(page *mediapackage.ListHarvestJobsOutput, lastPage bool) bool {
973//            pageNum++
974//            fmt.Println(page)
975//            return pageNum <= 3
976//        })
977//
978func (c *MediaPackage) ListHarvestJobsPages(input *ListHarvestJobsInput, fn func(*ListHarvestJobsOutput, bool) bool) error {
979	return c.ListHarvestJobsPagesWithContext(aws.BackgroundContext(), input, fn)
980}
981
982// ListHarvestJobsPagesWithContext same as ListHarvestJobsPages except
983// it takes a Context and allows setting request options on the pages.
984//
985// The context must be non-nil and will be used for request cancellation. If
986// the context is nil a panic will occur. In the future the SDK may create
987// sub-contexts for http.Requests. See https://golang.org/pkg/context/
988// for more information on using Contexts.
989func (c *MediaPackage) ListHarvestJobsPagesWithContext(ctx aws.Context, input *ListHarvestJobsInput, fn func(*ListHarvestJobsOutput, bool) bool, opts ...request.Option) error {
990	p := request.Pagination{
991		NewRequest: func() (*request.Request, error) {
992			var inCpy *ListHarvestJobsInput
993			if input != nil {
994				tmp := *input
995				inCpy = &tmp
996			}
997			req, _ := c.ListHarvestJobsRequest(inCpy)
998			req.SetContext(ctx)
999			req.ApplyOptions(opts...)
1000			return req, nil
1001		},
1002	}
1003
1004	for p.Next() {
1005		if !fn(p.Page().(*ListHarvestJobsOutput), !p.HasNextPage()) {
1006			break
1007		}
1008	}
1009
1010	return p.Err()
1011}
1012
1013const opListOriginEndpoints = "ListOriginEndpoints"
1014
1015// ListOriginEndpointsRequest generates a "aws/request.Request" representing the
1016// client's request for the ListOriginEndpoints operation. The "output" return
1017// value will be populated with the request's response once the request completes
1018// successfully.
1019//
1020// Use "Send" method on the returned Request to send the API call to the service.
1021// the "output" return value is not valid until after Send returns without error.
1022//
1023// See ListOriginEndpoints for more information on using the ListOriginEndpoints
1024// API call, and error handling.
1025//
1026// This method is useful when you want to inject custom logic or configuration
1027// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1028//
1029//
1030//    // Example sending a request using the ListOriginEndpointsRequest method.
1031//    req, resp := client.ListOriginEndpointsRequest(params)
1032//
1033//    err := req.Send()
1034//    if err == nil { // resp is now filled
1035//        fmt.Println(resp)
1036//    }
1037//
1038// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListOriginEndpoints
1039func (c *MediaPackage) ListOriginEndpointsRequest(input *ListOriginEndpointsInput) (req *request.Request, output *ListOriginEndpointsOutput) {
1040	op := &request.Operation{
1041		Name:       opListOriginEndpoints,
1042		HTTPMethod: "GET",
1043		HTTPPath:   "/origin_endpoints",
1044		Paginator: &request.Paginator{
1045			InputTokens:     []string{"NextToken"},
1046			OutputTokens:    []string{"NextToken"},
1047			LimitToken:      "MaxResults",
1048			TruncationToken: "",
1049		},
1050	}
1051
1052	if input == nil {
1053		input = &ListOriginEndpointsInput{}
1054	}
1055
1056	output = &ListOriginEndpointsOutput{}
1057	req = c.newRequest(op, input, output)
1058	return
1059}
1060
1061// ListOriginEndpoints API operation for AWS Elemental MediaPackage.
1062//
1063// Returns a collection of OriginEndpoint records.
1064//
1065// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1066// with awserr.Error's Code and Message methods to get detailed information about
1067// the error.
1068//
1069// See the AWS API reference guide for AWS Elemental MediaPackage's
1070// API operation ListOriginEndpoints for usage and error information.
1071//
1072// Returned Error Types:
1073//   * UnprocessableEntityException
1074//
1075//   * InternalServerErrorException
1076//
1077//   * ForbiddenException
1078//
1079//   * NotFoundException
1080//
1081//   * ServiceUnavailableException
1082//
1083//   * TooManyRequestsException
1084//
1085// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListOriginEndpoints
1086func (c *MediaPackage) ListOriginEndpoints(input *ListOriginEndpointsInput) (*ListOriginEndpointsOutput, error) {
1087	req, out := c.ListOriginEndpointsRequest(input)
1088	return out, req.Send()
1089}
1090
1091// ListOriginEndpointsWithContext is the same as ListOriginEndpoints with the addition of
1092// the ability to pass a context and additional request options.
1093//
1094// See ListOriginEndpoints for details on how to use this API operation.
1095//
1096// The context must be non-nil and will be used for request cancellation. If
1097// the context is nil a panic will occur. In the future the SDK may create
1098// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1099// for more information on using Contexts.
1100func (c *MediaPackage) ListOriginEndpointsWithContext(ctx aws.Context, input *ListOriginEndpointsInput, opts ...request.Option) (*ListOriginEndpointsOutput, error) {
1101	req, out := c.ListOriginEndpointsRequest(input)
1102	req.SetContext(ctx)
1103	req.ApplyOptions(opts...)
1104	return out, req.Send()
1105}
1106
1107// ListOriginEndpointsPages iterates over the pages of a ListOriginEndpoints operation,
1108// calling the "fn" function with the response data for each page. To stop
1109// iterating, return false from the fn function.
1110//
1111// See ListOriginEndpoints method for more information on how to use this operation.
1112//
1113// Note: This operation can generate multiple requests to a service.
1114//
1115//    // Example iterating over at most 3 pages of a ListOriginEndpoints operation.
1116//    pageNum := 0
1117//    err := client.ListOriginEndpointsPages(params,
1118//        func(page *mediapackage.ListOriginEndpointsOutput, lastPage bool) bool {
1119//            pageNum++
1120//            fmt.Println(page)
1121//            return pageNum <= 3
1122//        })
1123//
1124func (c *MediaPackage) ListOriginEndpointsPages(input *ListOriginEndpointsInput, fn func(*ListOriginEndpointsOutput, bool) bool) error {
1125	return c.ListOriginEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
1126}
1127
1128// ListOriginEndpointsPagesWithContext same as ListOriginEndpointsPages except
1129// it takes a Context and allows setting request options on the pages.
1130//
1131// The context must be non-nil and will be used for request cancellation. If
1132// the context is nil a panic will occur. In the future the SDK may create
1133// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1134// for more information on using Contexts.
1135func (c *MediaPackage) ListOriginEndpointsPagesWithContext(ctx aws.Context, input *ListOriginEndpointsInput, fn func(*ListOriginEndpointsOutput, bool) bool, opts ...request.Option) error {
1136	p := request.Pagination{
1137		NewRequest: func() (*request.Request, error) {
1138			var inCpy *ListOriginEndpointsInput
1139			if input != nil {
1140				tmp := *input
1141				inCpy = &tmp
1142			}
1143			req, _ := c.ListOriginEndpointsRequest(inCpy)
1144			req.SetContext(ctx)
1145			req.ApplyOptions(opts...)
1146			return req, nil
1147		},
1148	}
1149
1150	for p.Next() {
1151		if !fn(p.Page().(*ListOriginEndpointsOutput), !p.HasNextPage()) {
1152			break
1153		}
1154	}
1155
1156	return p.Err()
1157}
1158
1159const opListTagsForResource = "ListTagsForResource"
1160
1161// ListTagsForResourceRequest generates a "aws/request.Request" representing the
1162// client's request for the ListTagsForResource operation. The "output" return
1163// value will be populated with the request's response once the request completes
1164// successfully.
1165//
1166// Use "Send" method on the returned Request to send the API call to the service.
1167// the "output" return value is not valid until after Send returns without error.
1168//
1169// See ListTagsForResource for more information on using the ListTagsForResource
1170// API call, and error handling.
1171//
1172// This method is useful when you want to inject custom logic or configuration
1173// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1174//
1175//
1176//    // Example sending a request using the ListTagsForResourceRequest method.
1177//    req, resp := client.ListTagsForResourceRequest(params)
1178//
1179//    err := req.Send()
1180//    if err == nil { // resp is now filled
1181//        fmt.Println(resp)
1182//    }
1183//
1184// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListTagsForResource
1185func (c *MediaPackage) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
1186	op := &request.Operation{
1187		Name:       opListTagsForResource,
1188		HTTPMethod: "GET",
1189		HTTPPath:   "/tags/{resource-arn}",
1190	}
1191
1192	if input == nil {
1193		input = &ListTagsForResourceInput{}
1194	}
1195
1196	output = &ListTagsForResourceOutput{}
1197	req = c.newRequest(op, input, output)
1198	return
1199}
1200
1201// ListTagsForResource API operation for AWS Elemental MediaPackage.
1202//
1203// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1204// with awserr.Error's Code and Message methods to get detailed information about
1205// the error.
1206//
1207// See the AWS API reference guide for AWS Elemental MediaPackage's
1208// API operation ListTagsForResource for usage and error information.
1209// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListTagsForResource
1210func (c *MediaPackage) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
1211	req, out := c.ListTagsForResourceRequest(input)
1212	return out, req.Send()
1213}
1214
1215// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
1216// the ability to pass a context and additional request options.
1217//
1218// See ListTagsForResource for details on how to use this API operation.
1219//
1220// The context must be non-nil and will be used for request cancellation. If
1221// the context is nil a panic will occur. In the future the SDK may create
1222// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1223// for more information on using Contexts.
1224func (c *MediaPackage) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
1225	req, out := c.ListTagsForResourceRequest(input)
1226	req.SetContext(ctx)
1227	req.ApplyOptions(opts...)
1228	return out, req.Send()
1229}
1230
1231const opRotateChannelCredentials = "RotateChannelCredentials"
1232
1233// RotateChannelCredentialsRequest generates a "aws/request.Request" representing the
1234// client's request for the RotateChannelCredentials operation. The "output" return
1235// value will be populated with the request's response once the request completes
1236// successfully.
1237//
1238// Use "Send" method on the returned Request to send the API call to the service.
1239// the "output" return value is not valid until after Send returns without error.
1240//
1241// See RotateChannelCredentials for more information on using the RotateChannelCredentials
1242// API call, and error handling.
1243//
1244// This method is useful when you want to inject custom logic or configuration
1245// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1246//
1247//
1248//    // Example sending a request using the RotateChannelCredentialsRequest method.
1249//    req, resp := client.RotateChannelCredentialsRequest(params)
1250//
1251//    err := req.Send()
1252//    if err == nil { // resp is now filled
1253//        fmt.Println(resp)
1254//    }
1255//
1256// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/RotateChannelCredentials
1257//
1258// Deprecated: This API is deprecated. Please use RotateIngestEndpointCredentials instead
1259func (c *MediaPackage) RotateChannelCredentialsRequest(input *RotateChannelCredentialsInput) (req *request.Request, output *RotateChannelCredentialsOutput) {
1260	if c.Client.Config.Logger != nil {
1261		c.Client.Config.Logger.Log("This operation, RotateChannelCredentials, has been deprecated")
1262	}
1263	op := &request.Operation{
1264		Name:       opRotateChannelCredentials,
1265		HTTPMethod: "PUT",
1266		HTTPPath:   "/channels/{id}/credentials",
1267	}
1268
1269	if input == nil {
1270		input = &RotateChannelCredentialsInput{}
1271	}
1272
1273	output = &RotateChannelCredentialsOutput{}
1274	req = c.newRequest(op, input, output)
1275	return
1276}
1277
1278// RotateChannelCredentials API operation for AWS Elemental MediaPackage.
1279//
1280// Changes the Channel's first IngestEndpoint's username and password. WARNING
1281// - This API is deprecated. Please use RotateIngestEndpointCredentials instead
1282//
1283// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1284// with awserr.Error's Code and Message methods to get detailed information about
1285// the error.
1286//
1287// See the AWS API reference guide for AWS Elemental MediaPackage's
1288// API operation RotateChannelCredentials for usage and error information.
1289//
1290// Returned Error Types:
1291//   * UnprocessableEntityException
1292//
1293//   * InternalServerErrorException
1294//
1295//   * ForbiddenException
1296//
1297//   * NotFoundException
1298//
1299//   * ServiceUnavailableException
1300//
1301//   * TooManyRequestsException
1302//
1303// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/RotateChannelCredentials
1304//
1305// Deprecated: This API is deprecated. Please use RotateIngestEndpointCredentials instead
1306func (c *MediaPackage) RotateChannelCredentials(input *RotateChannelCredentialsInput) (*RotateChannelCredentialsOutput, error) {
1307	req, out := c.RotateChannelCredentialsRequest(input)
1308	return out, req.Send()
1309}
1310
1311// RotateChannelCredentialsWithContext is the same as RotateChannelCredentials with the addition of
1312// the ability to pass a context and additional request options.
1313//
1314// See RotateChannelCredentials for details on how to use this API operation.
1315//
1316// The context must be non-nil and will be used for request cancellation. If
1317// the context is nil a panic will occur. In the future the SDK may create
1318// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1319// for more information on using Contexts.
1320//
1321// Deprecated: This API is deprecated. Please use RotateIngestEndpointCredentials instead
1322func (c *MediaPackage) RotateChannelCredentialsWithContext(ctx aws.Context, input *RotateChannelCredentialsInput, opts ...request.Option) (*RotateChannelCredentialsOutput, error) {
1323	req, out := c.RotateChannelCredentialsRequest(input)
1324	req.SetContext(ctx)
1325	req.ApplyOptions(opts...)
1326	return out, req.Send()
1327}
1328
1329const opRotateIngestEndpointCredentials = "RotateIngestEndpointCredentials"
1330
1331// RotateIngestEndpointCredentialsRequest generates a "aws/request.Request" representing the
1332// client's request for the RotateIngestEndpointCredentials operation. The "output" return
1333// value will be populated with the request's response once the request completes
1334// successfully.
1335//
1336// Use "Send" method on the returned Request to send the API call to the service.
1337// the "output" return value is not valid until after Send returns without error.
1338//
1339// See RotateIngestEndpointCredentials for more information on using the RotateIngestEndpointCredentials
1340// API call, and error handling.
1341//
1342// This method is useful when you want to inject custom logic or configuration
1343// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1344//
1345//
1346//    // Example sending a request using the RotateIngestEndpointCredentialsRequest method.
1347//    req, resp := client.RotateIngestEndpointCredentialsRequest(params)
1348//
1349//    err := req.Send()
1350//    if err == nil { // resp is now filled
1351//        fmt.Println(resp)
1352//    }
1353//
1354// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/RotateIngestEndpointCredentials
1355func (c *MediaPackage) RotateIngestEndpointCredentialsRequest(input *RotateIngestEndpointCredentialsInput) (req *request.Request, output *RotateIngestEndpointCredentialsOutput) {
1356	op := &request.Operation{
1357		Name:       opRotateIngestEndpointCredentials,
1358		HTTPMethod: "PUT",
1359		HTTPPath:   "/channels/{id}/ingest_endpoints/{ingest_endpoint_id}/credentials",
1360	}
1361
1362	if input == nil {
1363		input = &RotateIngestEndpointCredentialsInput{}
1364	}
1365
1366	output = &RotateIngestEndpointCredentialsOutput{}
1367	req = c.newRequest(op, input, output)
1368	return
1369}
1370
1371// RotateIngestEndpointCredentials API operation for AWS Elemental MediaPackage.
1372//
1373// Rotate the IngestEndpoint's username and password, as specified by the IngestEndpoint's
1374// id.
1375//
1376// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1377// with awserr.Error's Code and Message methods to get detailed information about
1378// the error.
1379//
1380// See the AWS API reference guide for AWS Elemental MediaPackage's
1381// API operation RotateIngestEndpointCredentials for usage and error information.
1382//
1383// Returned Error Types:
1384//   * UnprocessableEntityException
1385//
1386//   * InternalServerErrorException
1387//
1388//   * ForbiddenException
1389//
1390//   * NotFoundException
1391//
1392//   * ServiceUnavailableException
1393//
1394//   * TooManyRequestsException
1395//
1396// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/RotateIngestEndpointCredentials
1397func (c *MediaPackage) RotateIngestEndpointCredentials(input *RotateIngestEndpointCredentialsInput) (*RotateIngestEndpointCredentialsOutput, error) {
1398	req, out := c.RotateIngestEndpointCredentialsRequest(input)
1399	return out, req.Send()
1400}
1401
1402// RotateIngestEndpointCredentialsWithContext is the same as RotateIngestEndpointCredentials with the addition of
1403// the ability to pass a context and additional request options.
1404//
1405// See RotateIngestEndpointCredentials for details on how to use this API operation.
1406//
1407// The context must be non-nil and will be used for request cancellation. If
1408// the context is nil a panic will occur. In the future the SDK may create
1409// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1410// for more information on using Contexts.
1411func (c *MediaPackage) RotateIngestEndpointCredentialsWithContext(ctx aws.Context, input *RotateIngestEndpointCredentialsInput, opts ...request.Option) (*RotateIngestEndpointCredentialsOutput, error) {
1412	req, out := c.RotateIngestEndpointCredentialsRequest(input)
1413	req.SetContext(ctx)
1414	req.ApplyOptions(opts...)
1415	return out, req.Send()
1416}
1417
1418const opTagResource = "TagResource"
1419
1420// TagResourceRequest generates a "aws/request.Request" representing the
1421// client's request for the TagResource operation. The "output" return
1422// value will be populated with the request's response once the request completes
1423// successfully.
1424//
1425// Use "Send" method on the returned Request to send the API call to the service.
1426// the "output" return value is not valid until after Send returns without error.
1427//
1428// See TagResource for more information on using the TagResource
1429// API call, and error handling.
1430//
1431// This method is useful when you want to inject custom logic or configuration
1432// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1433//
1434//
1435//    // Example sending a request using the TagResourceRequest method.
1436//    req, resp := client.TagResourceRequest(params)
1437//
1438//    err := req.Send()
1439//    if err == nil { // resp is now filled
1440//        fmt.Println(resp)
1441//    }
1442//
1443// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/TagResource
1444func (c *MediaPackage) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
1445	op := &request.Operation{
1446		Name:       opTagResource,
1447		HTTPMethod: "POST",
1448		HTTPPath:   "/tags/{resource-arn}",
1449	}
1450
1451	if input == nil {
1452		input = &TagResourceInput{}
1453	}
1454
1455	output = &TagResourceOutput{}
1456	req = c.newRequest(op, input, output)
1457	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1458	return
1459}
1460
1461// TagResource API operation for AWS Elemental MediaPackage.
1462//
1463// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1464// with awserr.Error's Code and Message methods to get detailed information about
1465// the error.
1466//
1467// See the AWS API reference guide for AWS Elemental MediaPackage's
1468// API operation TagResource for usage and error information.
1469// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/TagResource
1470func (c *MediaPackage) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
1471	req, out := c.TagResourceRequest(input)
1472	return out, req.Send()
1473}
1474
1475// TagResourceWithContext is the same as TagResource with the addition of
1476// the ability to pass a context and additional request options.
1477//
1478// See TagResource for details on how to use this API operation.
1479//
1480// The context must be non-nil and will be used for request cancellation. If
1481// the context is nil a panic will occur. In the future the SDK may create
1482// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1483// for more information on using Contexts.
1484func (c *MediaPackage) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
1485	req, out := c.TagResourceRequest(input)
1486	req.SetContext(ctx)
1487	req.ApplyOptions(opts...)
1488	return out, req.Send()
1489}
1490
1491const opUntagResource = "UntagResource"
1492
1493// UntagResourceRequest generates a "aws/request.Request" representing the
1494// client's request for the UntagResource operation. The "output" return
1495// value will be populated with the request's response once the request completes
1496// successfully.
1497//
1498// Use "Send" method on the returned Request to send the API call to the service.
1499// the "output" return value is not valid until after Send returns without error.
1500//
1501// See UntagResource for more information on using the UntagResource
1502// API call, and error handling.
1503//
1504// This method is useful when you want to inject custom logic or configuration
1505// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1506//
1507//
1508//    // Example sending a request using the UntagResourceRequest method.
1509//    req, resp := client.UntagResourceRequest(params)
1510//
1511//    err := req.Send()
1512//    if err == nil { // resp is now filled
1513//        fmt.Println(resp)
1514//    }
1515//
1516// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UntagResource
1517func (c *MediaPackage) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
1518	op := &request.Operation{
1519		Name:       opUntagResource,
1520		HTTPMethod: "DELETE",
1521		HTTPPath:   "/tags/{resource-arn}",
1522	}
1523
1524	if input == nil {
1525		input = &UntagResourceInput{}
1526	}
1527
1528	output = &UntagResourceOutput{}
1529	req = c.newRequest(op, input, output)
1530	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1531	return
1532}
1533
1534// UntagResource API operation for AWS Elemental MediaPackage.
1535//
1536// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1537// with awserr.Error's Code and Message methods to get detailed information about
1538// the error.
1539//
1540// See the AWS API reference guide for AWS Elemental MediaPackage's
1541// API operation UntagResource for usage and error information.
1542// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UntagResource
1543func (c *MediaPackage) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
1544	req, out := c.UntagResourceRequest(input)
1545	return out, req.Send()
1546}
1547
1548// UntagResourceWithContext is the same as UntagResource with the addition of
1549// the ability to pass a context and additional request options.
1550//
1551// See UntagResource for details on how to use this API operation.
1552//
1553// The context must be non-nil and will be used for request cancellation. If
1554// the context is nil a panic will occur. In the future the SDK may create
1555// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1556// for more information on using Contexts.
1557func (c *MediaPackage) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
1558	req, out := c.UntagResourceRequest(input)
1559	req.SetContext(ctx)
1560	req.ApplyOptions(opts...)
1561	return out, req.Send()
1562}
1563
1564const opUpdateChannel = "UpdateChannel"
1565
1566// UpdateChannelRequest generates a "aws/request.Request" representing the
1567// client's request for the UpdateChannel operation. The "output" return
1568// value will be populated with the request's response once the request completes
1569// successfully.
1570//
1571// Use "Send" method on the returned Request to send the API call to the service.
1572// the "output" return value is not valid until after Send returns without error.
1573//
1574// See UpdateChannel for more information on using the UpdateChannel
1575// API call, and error handling.
1576//
1577// This method is useful when you want to inject custom logic or configuration
1578// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1579//
1580//
1581//    // Example sending a request using the UpdateChannelRequest method.
1582//    req, resp := client.UpdateChannelRequest(params)
1583//
1584//    err := req.Send()
1585//    if err == nil { // resp is now filled
1586//        fmt.Println(resp)
1587//    }
1588//
1589// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UpdateChannel
1590func (c *MediaPackage) UpdateChannelRequest(input *UpdateChannelInput) (req *request.Request, output *UpdateChannelOutput) {
1591	op := &request.Operation{
1592		Name:       opUpdateChannel,
1593		HTTPMethod: "PUT",
1594		HTTPPath:   "/channels/{id}",
1595	}
1596
1597	if input == nil {
1598		input = &UpdateChannelInput{}
1599	}
1600
1601	output = &UpdateChannelOutput{}
1602	req = c.newRequest(op, input, output)
1603	return
1604}
1605
1606// UpdateChannel API operation for AWS Elemental MediaPackage.
1607//
1608// Updates an existing Channel.
1609//
1610// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1611// with awserr.Error's Code and Message methods to get detailed information about
1612// the error.
1613//
1614// See the AWS API reference guide for AWS Elemental MediaPackage's
1615// API operation UpdateChannel for usage and error information.
1616//
1617// Returned Error Types:
1618//   * UnprocessableEntityException
1619//
1620//   * InternalServerErrorException
1621//
1622//   * ForbiddenException
1623//
1624//   * NotFoundException
1625//
1626//   * ServiceUnavailableException
1627//
1628//   * TooManyRequestsException
1629//
1630// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UpdateChannel
1631func (c *MediaPackage) UpdateChannel(input *UpdateChannelInput) (*UpdateChannelOutput, error) {
1632	req, out := c.UpdateChannelRequest(input)
1633	return out, req.Send()
1634}
1635
1636// UpdateChannelWithContext is the same as UpdateChannel with the addition of
1637// the ability to pass a context and additional request options.
1638//
1639// See UpdateChannel for details on how to use this API operation.
1640//
1641// The context must be non-nil and will be used for request cancellation. If
1642// the context is nil a panic will occur. In the future the SDK may create
1643// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1644// for more information on using Contexts.
1645func (c *MediaPackage) UpdateChannelWithContext(ctx aws.Context, input *UpdateChannelInput, opts ...request.Option) (*UpdateChannelOutput, error) {
1646	req, out := c.UpdateChannelRequest(input)
1647	req.SetContext(ctx)
1648	req.ApplyOptions(opts...)
1649	return out, req.Send()
1650}
1651
1652const opUpdateOriginEndpoint = "UpdateOriginEndpoint"
1653
1654// UpdateOriginEndpointRequest generates a "aws/request.Request" representing the
1655// client's request for the UpdateOriginEndpoint operation. The "output" return
1656// value will be populated with the request's response once the request completes
1657// successfully.
1658//
1659// Use "Send" method on the returned Request to send the API call to the service.
1660// the "output" return value is not valid until after Send returns without error.
1661//
1662// See UpdateOriginEndpoint for more information on using the UpdateOriginEndpoint
1663// API call, and error handling.
1664//
1665// This method is useful when you want to inject custom logic or configuration
1666// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1667//
1668//
1669//    // Example sending a request using the UpdateOriginEndpointRequest method.
1670//    req, resp := client.UpdateOriginEndpointRequest(params)
1671//
1672//    err := req.Send()
1673//    if err == nil { // resp is now filled
1674//        fmt.Println(resp)
1675//    }
1676//
1677// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UpdateOriginEndpoint
1678func (c *MediaPackage) UpdateOriginEndpointRequest(input *UpdateOriginEndpointInput) (req *request.Request, output *UpdateOriginEndpointOutput) {
1679	op := &request.Operation{
1680		Name:       opUpdateOriginEndpoint,
1681		HTTPMethod: "PUT",
1682		HTTPPath:   "/origin_endpoints/{id}",
1683	}
1684
1685	if input == nil {
1686		input = &UpdateOriginEndpointInput{}
1687	}
1688
1689	output = &UpdateOriginEndpointOutput{}
1690	req = c.newRequest(op, input, output)
1691	return
1692}
1693
1694// UpdateOriginEndpoint API operation for AWS Elemental MediaPackage.
1695//
1696// Updates an existing OriginEndpoint.
1697//
1698// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1699// with awserr.Error's Code and Message methods to get detailed information about
1700// the error.
1701//
1702// See the AWS API reference guide for AWS Elemental MediaPackage's
1703// API operation UpdateOriginEndpoint for usage and error information.
1704//
1705// Returned Error Types:
1706//   * UnprocessableEntityException
1707//
1708//   * InternalServerErrorException
1709//
1710//   * ForbiddenException
1711//
1712//   * NotFoundException
1713//
1714//   * ServiceUnavailableException
1715//
1716//   * TooManyRequestsException
1717//
1718// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UpdateOriginEndpoint
1719func (c *MediaPackage) UpdateOriginEndpoint(input *UpdateOriginEndpointInput) (*UpdateOriginEndpointOutput, error) {
1720	req, out := c.UpdateOriginEndpointRequest(input)
1721	return out, req.Send()
1722}
1723
1724// UpdateOriginEndpointWithContext is the same as UpdateOriginEndpoint with the addition of
1725// the ability to pass a context and additional request options.
1726//
1727// See UpdateOriginEndpoint for details on how to use this API operation.
1728//
1729// The context must be non-nil and will be used for request cancellation. If
1730// the context is nil a panic will occur. In the future the SDK may create
1731// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1732// for more information on using Contexts.
1733func (c *MediaPackage) UpdateOriginEndpointWithContext(ctx aws.Context, input *UpdateOriginEndpointInput, opts ...request.Option) (*UpdateOriginEndpointOutput, error) {
1734	req, out := c.UpdateOriginEndpointRequest(input)
1735	req.SetContext(ctx)
1736	req.ApplyOptions(opts...)
1737	return out, req.Send()
1738}
1739
1740// CDN Authorization credentials
1741type Authorization struct {
1742	_ struct{} `type:"structure"`
1743
1744	// The Amazon Resource Name (ARN) for the secret in Secrets Manager that your
1745	// Content Distribution Network (CDN) uses for authorization to access your
1746	// endpoint.
1747	//
1748	// CdnIdentifierSecret is a required field
1749	CdnIdentifierSecret *string `locationName:"cdnIdentifierSecret" type:"string" required:"true"`
1750
1751	// The Amazon Resource Name (ARN) for the IAM role that allows MediaPackage
1752	// to communicate with AWS Secrets Manager.
1753	//
1754	// SecretsRoleArn is a required field
1755	SecretsRoleArn *string `locationName:"secretsRoleArn" type:"string" required:"true"`
1756}
1757
1758// String returns the string representation
1759func (s Authorization) String() string {
1760	return awsutil.Prettify(s)
1761}
1762
1763// GoString returns the string representation
1764func (s Authorization) GoString() string {
1765	return s.String()
1766}
1767
1768// Validate inspects the fields of the type to determine if they are valid.
1769func (s *Authorization) Validate() error {
1770	invalidParams := request.ErrInvalidParams{Context: "Authorization"}
1771	if s.CdnIdentifierSecret == nil {
1772		invalidParams.Add(request.NewErrParamRequired("CdnIdentifierSecret"))
1773	}
1774	if s.SecretsRoleArn == nil {
1775		invalidParams.Add(request.NewErrParamRequired("SecretsRoleArn"))
1776	}
1777
1778	if invalidParams.Len() > 0 {
1779		return invalidParams
1780	}
1781	return nil
1782}
1783
1784// SetCdnIdentifierSecret sets the CdnIdentifierSecret field's value.
1785func (s *Authorization) SetCdnIdentifierSecret(v string) *Authorization {
1786	s.CdnIdentifierSecret = &v
1787	return s
1788}
1789
1790// SetSecretsRoleArn sets the SecretsRoleArn field's value.
1791func (s *Authorization) SetSecretsRoleArn(v string) *Authorization {
1792	s.SecretsRoleArn = &v
1793	return s
1794}
1795
1796// A Channel resource configuration.
1797type Channel struct {
1798	_ struct{} `type:"structure"`
1799
1800	// The Amazon Resource Name (ARN) assigned to the Channel.
1801	Arn *string `locationName:"arn" type:"string"`
1802
1803	// A short text description of the Channel.
1804	Description *string `locationName:"description" type:"string"`
1805
1806	// An HTTP Live Streaming (HLS) ingest resource configuration.
1807	HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"`
1808
1809	// The ID of the Channel.
1810	Id *string `locationName:"id" type:"string"`
1811
1812	// A collection of tags associated with a resource
1813	Tags map[string]*string `locationName:"tags" type:"map"`
1814}
1815
1816// String returns the string representation
1817func (s Channel) String() string {
1818	return awsutil.Prettify(s)
1819}
1820
1821// GoString returns the string representation
1822func (s Channel) GoString() string {
1823	return s.String()
1824}
1825
1826// SetArn sets the Arn field's value.
1827func (s *Channel) SetArn(v string) *Channel {
1828	s.Arn = &v
1829	return s
1830}
1831
1832// SetDescription sets the Description field's value.
1833func (s *Channel) SetDescription(v string) *Channel {
1834	s.Description = &v
1835	return s
1836}
1837
1838// SetHlsIngest sets the HlsIngest field's value.
1839func (s *Channel) SetHlsIngest(v *HlsIngest) *Channel {
1840	s.HlsIngest = v
1841	return s
1842}
1843
1844// SetId sets the Id field's value.
1845func (s *Channel) SetId(v string) *Channel {
1846	s.Id = &v
1847	return s
1848}
1849
1850// SetTags sets the Tags field's value.
1851func (s *Channel) SetTags(v map[string]*string) *Channel {
1852	s.Tags = v
1853	return s
1854}
1855
1856// A Common Media Application Format (CMAF) encryption configuration.
1857type CmafEncryption struct {
1858	_ struct{} `type:"structure"`
1859
1860	// Time (in seconds) between each encryption key rotation.
1861	KeyRotationIntervalSeconds *int64 `locationName:"keyRotationIntervalSeconds" type:"integer"`
1862
1863	// A configuration for accessing an external Secure Packager and Encoder Key
1864	// Exchange (SPEKE) service that will provide encryption keys.
1865	//
1866	// SpekeKeyProvider is a required field
1867	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"`
1868}
1869
1870// String returns the string representation
1871func (s CmafEncryption) String() string {
1872	return awsutil.Prettify(s)
1873}
1874
1875// GoString returns the string representation
1876func (s CmafEncryption) GoString() string {
1877	return s.String()
1878}
1879
1880// Validate inspects the fields of the type to determine if they are valid.
1881func (s *CmafEncryption) Validate() error {
1882	invalidParams := request.ErrInvalidParams{Context: "CmafEncryption"}
1883	if s.SpekeKeyProvider == nil {
1884		invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider"))
1885	}
1886	if s.SpekeKeyProvider != nil {
1887		if err := s.SpekeKeyProvider.Validate(); err != nil {
1888			invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams))
1889		}
1890	}
1891
1892	if invalidParams.Len() > 0 {
1893		return invalidParams
1894	}
1895	return nil
1896}
1897
1898// SetKeyRotationIntervalSeconds sets the KeyRotationIntervalSeconds field's value.
1899func (s *CmafEncryption) SetKeyRotationIntervalSeconds(v int64) *CmafEncryption {
1900	s.KeyRotationIntervalSeconds = &v
1901	return s
1902}
1903
1904// SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
1905func (s *CmafEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *CmafEncryption {
1906	s.SpekeKeyProvider = v
1907	return s
1908}
1909
1910// A Common Media Application Format (CMAF) packaging configuration.
1911type CmafPackage struct {
1912	_ struct{} `type:"structure"`
1913
1914	// A Common Media Application Format (CMAF) encryption configuration.
1915	Encryption *CmafEncryption `locationName:"encryption" type:"structure"`
1916
1917	// A list of HLS manifest configurations
1918	HlsManifests []*HlsManifest `locationName:"hlsManifests" type:"list"`
1919
1920	// Duration (in seconds) of each segment. Actual segments will berounded to
1921	// the nearest multiple of the source segment duration.
1922	SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"`
1923
1924	// An optional custom string that is prepended to the name of each segment.
1925	// If not specified, it defaults to the ChannelId.
1926	SegmentPrefix *string `locationName:"segmentPrefix" type:"string"`
1927
1928	// A StreamSelection configuration.
1929	StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"`
1930}
1931
1932// String returns the string representation
1933func (s CmafPackage) String() string {
1934	return awsutil.Prettify(s)
1935}
1936
1937// GoString returns the string representation
1938func (s CmafPackage) GoString() string {
1939	return s.String()
1940}
1941
1942// SetEncryption sets the Encryption field's value.
1943func (s *CmafPackage) SetEncryption(v *CmafEncryption) *CmafPackage {
1944	s.Encryption = v
1945	return s
1946}
1947
1948// SetHlsManifests sets the HlsManifests field's value.
1949func (s *CmafPackage) SetHlsManifests(v []*HlsManifest) *CmafPackage {
1950	s.HlsManifests = v
1951	return s
1952}
1953
1954// SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value.
1955func (s *CmafPackage) SetSegmentDurationSeconds(v int64) *CmafPackage {
1956	s.SegmentDurationSeconds = &v
1957	return s
1958}
1959
1960// SetSegmentPrefix sets the SegmentPrefix field's value.
1961func (s *CmafPackage) SetSegmentPrefix(v string) *CmafPackage {
1962	s.SegmentPrefix = &v
1963	return s
1964}
1965
1966// SetStreamSelection sets the StreamSelection field's value.
1967func (s *CmafPackage) SetStreamSelection(v *StreamSelection) *CmafPackage {
1968	s.StreamSelection = v
1969	return s
1970}
1971
1972// A Common Media Application Format (CMAF) packaging configuration.
1973type CmafPackageCreateOrUpdateParameters struct {
1974	_ struct{} `type:"structure"`
1975
1976	// A Common Media Application Format (CMAF) encryption configuration.
1977	Encryption *CmafEncryption `locationName:"encryption" type:"structure"`
1978
1979	// A list of HLS manifest configurations
1980	HlsManifests []*HlsManifestCreateOrUpdateParameters `locationName:"hlsManifests" type:"list"`
1981
1982	// Duration (in seconds) of each segment. Actual segments will berounded to
1983	// the nearest multiple of the source segment duration.
1984	SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"`
1985
1986	// An optional custom string that is prepended to the name of each segment.
1987	// If not specified, it defaults to the ChannelId.
1988	SegmentPrefix *string `locationName:"segmentPrefix" type:"string"`
1989
1990	// A StreamSelection configuration.
1991	StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"`
1992}
1993
1994// String returns the string representation
1995func (s CmafPackageCreateOrUpdateParameters) String() string {
1996	return awsutil.Prettify(s)
1997}
1998
1999// GoString returns the string representation
2000func (s CmafPackageCreateOrUpdateParameters) GoString() string {
2001	return s.String()
2002}
2003
2004// Validate inspects the fields of the type to determine if they are valid.
2005func (s *CmafPackageCreateOrUpdateParameters) Validate() error {
2006	invalidParams := request.ErrInvalidParams{Context: "CmafPackageCreateOrUpdateParameters"}
2007	if s.Encryption != nil {
2008		if err := s.Encryption.Validate(); err != nil {
2009			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
2010		}
2011	}
2012	if s.HlsManifests != nil {
2013		for i, v := range s.HlsManifests {
2014			if v == nil {
2015				continue
2016			}
2017			if err := v.Validate(); err != nil {
2018				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "HlsManifests", i), err.(request.ErrInvalidParams))
2019			}
2020		}
2021	}
2022
2023	if invalidParams.Len() > 0 {
2024		return invalidParams
2025	}
2026	return nil
2027}
2028
2029// SetEncryption sets the Encryption field's value.
2030func (s *CmafPackageCreateOrUpdateParameters) SetEncryption(v *CmafEncryption) *CmafPackageCreateOrUpdateParameters {
2031	s.Encryption = v
2032	return s
2033}
2034
2035// SetHlsManifests sets the HlsManifests field's value.
2036func (s *CmafPackageCreateOrUpdateParameters) SetHlsManifests(v []*HlsManifestCreateOrUpdateParameters) *CmafPackageCreateOrUpdateParameters {
2037	s.HlsManifests = v
2038	return s
2039}
2040
2041// SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value.
2042func (s *CmafPackageCreateOrUpdateParameters) SetSegmentDurationSeconds(v int64) *CmafPackageCreateOrUpdateParameters {
2043	s.SegmentDurationSeconds = &v
2044	return s
2045}
2046
2047// SetSegmentPrefix sets the SegmentPrefix field's value.
2048func (s *CmafPackageCreateOrUpdateParameters) SetSegmentPrefix(v string) *CmafPackageCreateOrUpdateParameters {
2049	s.SegmentPrefix = &v
2050	return s
2051}
2052
2053// SetStreamSelection sets the StreamSelection field's value.
2054func (s *CmafPackageCreateOrUpdateParameters) SetStreamSelection(v *StreamSelection) *CmafPackageCreateOrUpdateParameters {
2055	s.StreamSelection = v
2056	return s
2057}
2058
2059type CreateChannelInput struct {
2060	_ struct{} `type:"structure"`
2061
2062	Description *string `locationName:"description" type:"string"`
2063
2064	// Id is a required field
2065	Id *string `locationName:"id" type:"string" required:"true"`
2066
2067	// A collection of tags associated with a resource
2068	Tags map[string]*string `locationName:"tags" type:"map"`
2069}
2070
2071// String returns the string representation
2072func (s CreateChannelInput) String() string {
2073	return awsutil.Prettify(s)
2074}
2075
2076// GoString returns the string representation
2077func (s CreateChannelInput) GoString() string {
2078	return s.String()
2079}
2080
2081// Validate inspects the fields of the type to determine if they are valid.
2082func (s *CreateChannelInput) Validate() error {
2083	invalidParams := request.ErrInvalidParams{Context: "CreateChannelInput"}
2084	if s.Id == nil {
2085		invalidParams.Add(request.NewErrParamRequired("Id"))
2086	}
2087
2088	if invalidParams.Len() > 0 {
2089		return invalidParams
2090	}
2091	return nil
2092}
2093
2094// SetDescription sets the Description field's value.
2095func (s *CreateChannelInput) SetDescription(v string) *CreateChannelInput {
2096	s.Description = &v
2097	return s
2098}
2099
2100// SetId sets the Id field's value.
2101func (s *CreateChannelInput) SetId(v string) *CreateChannelInput {
2102	s.Id = &v
2103	return s
2104}
2105
2106// SetTags sets the Tags field's value.
2107func (s *CreateChannelInput) SetTags(v map[string]*string) *CreateChannelInput {
2108	s.Tags = v
2109	return s
2110}
2111
2112type CreateChannelOutput struct {
2113	_ struct{} `type:"structure"`
2114
2115	Arn *string `locationName:"arn" type:"string"`
2116
2117	Description *string `locationName:"description" type:"string"`
2118
2119	// An HTTP Live Streaming (HLS) ingest resource configuration.
2120	HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"`
2121
2122	Id *string `locationName:"id" type:"string"`
2123
2124	// A collection of tags associated with a resource
2125	Tags map[string]*string `locationName:"tags" type:"map"`
2126}
2127
2128// String returns the string representation
2129func (s CreateChannelOutput) String() string {
2130	return awsutil.Prettify(s)
2131}
2132
2133// GoString returns the string representation
2134func (s CreateChannelOutput) GoString() string {
2135	return s.String()
2136}
2137
2138// SetArn sets the Arn field's value.
2139func (s *CreateChannelOutput) SetArn(v string) *CreateChannelOutput {
2140	s.Arn = &v
2141	return s
2142}
2143
2144// SetDescription sets the Description field's value.
2145func (s *CreateChannelOutput) SetDescription(v string) *CreateChannelOutput {
2146	s.Description = &v
2147	return s
2148}
2149
2150// SetHlsIngest sets the HlsIngest field's value.
2151func (s *CreateChannelOutput) SetHlsIngest(v *HlsIngest) *CreateChannelOutput {
2152	s.HlsIngest = v
2153	return s
2154}
2155
2156// SetId sets the Id field's value.
2157func (s *CreateChannelOutput) SetId(v string) *CreateChannelOutput {
2158	s.Id = &v
2159	return s
2160}
2161
2162// SetTags sets the Tags field's value.
2163func (s *CreateChannelOutput) SetTags(v map[string]*string) *CreateChannelOutput {
2164	s.Tags = v
2165	return s
2166}
2167
2168type CreateHarvestJobInput struct {
2169	_ struct{} `type:"structure"`
2170
2171	// EndTime is a required field
2172	EndTime *string `locationName:"endTime" type:"string" required:"true"`
2173
2174	// Id is a required field
2175	Id *string `locationName:"id" type:"string" required:"true"`
2176
2177	// OriginEndpointId is a required field
2178	OriginEndpointId *string `locationName:"originEndpointId" type:"string" required:"true"`
2179
2180	// Configuration parameters for where in an S3 bucket to place the harvested
2181	// content
2182	//
2183	// S3Destination is a required field
2184	S3Destination *S3Destination `locationName:"s3Destination" type:"structure" required:"true"`
2185
2186	// StartTime is a required field
2187	StartTime *string `locationName:"startTime" type:"string" required:"true"`
2188}
2189
2190// String returns the string representation
2191func (s CreateHarvestJobInput) String() string {
2192	return awsutil.Prettify(s)
2193}
2194
2195// GoString returns the string representation
2196func (s CreateHarvestJobInput) GoString() string {
2197	return s.String()
2198}
2199
2200// Validate inspects the fields of the type to determine if they are valid.
2201func (s *CreateHarvestJobInput) Validate() error {
2202	invalidParams := request.ErrInvalidParams{Context: "CreateHarvestJobInput"}
2203	if s.EndTime == nil {
2204		invalidParams.Add(request.NewErrParamRequired("EndTime"))
2205	}
2206	if s.Id == nil {
2207		invalidParams.Add(request.NewErrParamRequired("Id"))
2208	}
2209	if s.OriginEndpointId == nil {
2210		invalidParams.Add(request.NewErrParamRequired("OriginEndpointId"))
2211	}
2212	if s.S3Destination == nil {
2213		invalidParams.Add(request.NewErrParamRequired("S3Destination"))
2214	}
2215	if s.StartTime == nil {
2216		invalidParams.Add(request.NewErrParamRequired("StartTime"))
2217	}
2218	if s.S3Destination != nil {
2219		if err := s.S3Destination.Validate(); err != nil {
2220			invalidParams.AddNested("S3Destination", err.(request.ErrInvalidParams))
2221		}
2222	}
2223
2224	if invalidParams.Len() > 0 {
2225		return invalidParams
2226	}
2227	return nil
2228}
2229
2230// SetEndTime sets the EndTime field's value.
2231func (s *CreateHarvestJobInput) SetEndTime(v string) *CreateHarvestJobInput {
2232	s.EndTime = &v
2233	return s
2234}
2235
2236// SetId sets the Id field's value.
2237func (s *CreateHarvestJobInput) SetId(v string) *CreateHarvestJobInput {
2238	s.Id = &v
2239	return s
2240}
2241
2242// SetOriginEndpointId sets the OriginEndpointId field's value.
2243func (s *CreateHarvestJobInput) SetOriginEndpointId(v string) *CreateHarvestJobInput {
2244	s.OriginEndpointId = &v
2245	return s
2246}
2247
2248// SetS3Destination sets the S3Destination field's value.
2249func (s *CreateHarvestJobInput) SetS3Destination(v *S3Destination) *CreateHarvestJobInput {
2250	s.S3Destination = v
2251	return s
2252}
2253
2254// SetStartTime sets the StartTime field's value.
2255func (s *CreateHarvestJobInput) SetStartTime(v string) *CreateHarvestJobInput {
2256	s.StartTime = &v
2257	return s
2258}
2259
2260type CreateHarvestJobOutput struct {
2261	_ struct{} `type:"structure"`
2262
2263	Arn *string `locationName:"arn" type:"string"`
2264
2265	ChannelId *string `locationName:"channelId" type:"string"`
2266
2267	CreatedAt *string `locationName:"createdAt" type:"string"`
2268
2269	EndTime *string `locationName:"endTime" type:"string"`
2270
2271	Id *string `locationName:"id" type:"string"`
2272
2273	OriginEndpointId *string `locationName:"originEndpointId" type:"string"`
2274
2275	// Configuration parameters for where in an S3 bucket to place the harvested
2276	// content
2277	S3Destination *S3Destination `locationName:"s3Destination" type:"structure"`
2278
2279	StartTime *string `locationName:"startTime" type:"string"`
2280
2281	Status *string `locationName:"status" type:"string" enum:"Status"`
2282}
2283
2284// String returns the string representation
2285func (s CreateHarvestJobOutput) String() string {
2286	return awsutil.Prettify(s)
2287}
2288
2289// GoString returns the string representation
2290func (s CreateHarvestJobOutput) GoString() string {
2291	return s.String()
2292}
2293
2294// SetArn sets the Arn field's value.
2295func (s *CreateHarvestJobOutput) SetArn(v string) *CreateHarvestJobOutput {
2296	s.Arn = &v
2297	return s
2298}
2299
2300// SetChannelId sets the ChannelId field's value.
2301func (s *CreateHarvestJobOutput) SetChannelId(v string) *CreateHarvestJobOutput {
2302	s.ChannelId = &v
2303	return s
2304}
2305
2306// SetCreatedAt sets the CreatedAt field's value.
2307func (s *CreateHarvestJobOutput) SetCreatedAt(v string) *CreateHarvestJobOutput {
2308	s.CreatedAt = &v
2309	return s
2310}
2311
2312// SetEndTime sets the EndTime field's value.
2313func (s *CreateHarvestJobOutput) SetEndTime(v string) *CreateHarvestJobOutput {
2314	s.EndTime = &v
2315	return s
2316}
2317
2318// SetId sets the Id field's value.
2319func (s *CreateHarvestJobOutput) SetId(v string) *CreateHarvestJobOutput {
2320	s.Id = &v
2321	return s
2322}
2323
2324// SetOriginEndpointId sets the OriginEndpointId field's value.
2325func (s *CreateHarvestJobOutput) SetOriginEndpointId(v string) *CreateHarvestJobOutput {
2326	s.OriginEndpointId = &v
2327	return s
2328}
2329
2330// SetS3Destination sets the S3Destination field's value.
2331func (s *CreateHarvestJobOutput) SetS3Destination(v *S3Destination) *CreateHarvestJobOutput {
2332	s.S3Destination = v
2333	return s
2334}
2335
2336// SetStartTime sets the StartTime field's value.
2337func (s *CreateHarvestJobOutput) SetStartTime(v string) *CreateHarvestJobOutput {
2338	s.StartTime = &v
2339	return s
2340}
2341
2342// SetStatus sets the Status field's value.
2343func (s *CreateHarvestJobOutput) SetStatus(v string) *CreateHarvestJobOutput {
2344	s.Status = &v
2345	return s
2346}
2347
2348type CreateOriginEndpointInput struct {
2349	_ struct{} `type:"structure"`
2350
2351	// CDN Authorization credentials
2352	Authorization *Authorization `locationName:"authorization" type:"structure"`
2353
2354	// ChannelId is a required field
2355	ChannelId *string `locationName:"channelId" type:"string" required:"true"`
2356
2357	// A Common Media Application Format (CMAF) packaging configuration.
2358	CmafPackage *CmafPackageCreateOrUpdateParameters `locationName:"cmafPackage" type:"structure"`
2359
2360	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
2361	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
2362
2363	Description *string `locationName:"description" type:"string"`
2364
2365	// An HTTP Live Streaming (HLS) packaging configuration.
2366	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
2367
2368	// Id is a required field
2369	Id *string `locationName:"id" type:"string" required:"true"`
2370
2371	ManifestName *string `locationName:"manifestName" type:"string"`
2372
2373	// A Microsoft Smooth Streaming (MSS) packaging configuration.
2374	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
2375
2376	Origination *string `locationName:"origination" type:"string" enum:"Origination"`
2377
2378	StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"`
2379
2380	// A collection of tags associated with a resource
2381	Tags map[string]*string `locationName:"tags" type:"map"`
2382
2383	TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"`
2384
2385	Whitelist []*string `locationName:"whitelist" type:"list"`
2386}
2387
2388// String returns the string representation
2389func (s CreateOriginEndpointInput) String() string {
2390	return awsutil.Prettify(s)
2391}
2392
2393// GoString returns the string representation
2394func (s CreateOriginEndpointInput) GoString() string {
2395	return s.String()
2396}
2397
2398// Validate inspects the fields of the type to determine if they are valid.
2399func (s *CreateOriginEndpointInput) Validate() error {
2400	invalidParams := request.ErrInvalidParams{Context: "CreateOriginEndpointInput"}
2401	if s.ChannelId == nil {
2402		invalidParams.Add(request.NewErrParamRequired("ChannelId"))
2403	}
2404	if s.Id == nil {
2405		invalidParams.Add(request.NewErrParamRequired("Id"))
2406	}
2407	if s.Authorization != nil {
2408		if err := s.Authorization.Validate(); err != nil {
2409			invalidParams.AddNested("Authorization", err.(request.ErrInvalidParams))
2410		}
2411	}
2412	if s.CmafPackage != nil {
2413		if err := s.CmafPackage.Validate(); err != nil {
2414			invalidParams.AddNested("CmafPackage", err.(request.ErrInvalidParams))
2415		}
2416	}
2417	if s.DashPackage != nil {
2418		if err := s.DashPackage.Validate(); err != nil {
2419			invalidParams.AddNested("DashPackage", err.(request.ErrInvalidParams))
2420		}
2421	}
2422	if s.HlsPackage != nil {
2423		if err := s.HlsPackage.Validate(); err != nil {
2424			invalidParams.AddNested("HlsPackage", err.(request.ErrInvalidParams))
2425		}
2426	}
2427	if s.MssPackage != nil {
2428		if err := s.MssPackage.Validate(); err != nil {
2429			invalidParams.AddNested("MssPackage", err.(request.ErrInvalidParams))
2430		}
2431	}
2432
2433	if invalidParams.Len() > 0 {
2434		return invalidParams
2435	}
2436	return nil
2437}
2438
2439// SetAuthorization sets the Authorization field's value.
2440func (s *CreateOriginEndpointInput) SetAuthorization(v *Authorization) *CreateOriginEndpointInput {
2441	s.Authorization = v
2442	return s
2443}
2444
2445// SetChannelId sets the ChannelId field's value.
2446func (s *CreateOriginEndpointInput) SetChannelId(v string) *CreateOriginEndpointInput {
2447	s.ChannelId = &v
2448	return s
2449}
2450
2451// SetCmafPackage sets the CmafPackage field's value.
2452func (s *CreateOriginEndpointInput) SetCmafPackage(v *CmafPackageCreateOrUpdateParameters) *CreateOriginEndpointInput {
2453	s.CmafPackage = v
2454	return s
2455}
2456
2457// SetDashPackage sets the DashPackage field's value.
2458func (s *CreateOriginEndpointInput) SetDashPackage(v *DashPackage) *CreateOriginEndpointInput {
2459	s.DashPackage = v
2460	return s
2461}
2462
2463// SetDescription sets the Description field's value.
2464func (s *CreateOriginEndpointInput) SetDescription(v string) *CreateOriginEndpointInput {
2465	s.Description = &v
2466	return s
2467}
2468
2469// SetHlsPackage sets the HlsPackage field's value.
2470func (s *CreateOriginEndpointInput) SetHlsPackage(v *HlsPackage) *CreateOriginEndpointInput {
2471	s.HlsPackage = v
2472	return s
2473}
2474
2475// SetId sets the Id field's value.
2476func (s *CreateOriginEndpointInput) SetId(v string) *CreateOriginEndpointInput {
2477	s.Id = &v
2478	return s
2479}
2480
2481// SetManifestName sets the ManifestName field's value.
2482func (s *CreateOriginEndpointInput) SetManifestName(v string) *CreateOriginEndpointInput {
2483	s.ManifestName = &v
2484	return s
2485}
2486
2487// SetMssPackage sets the MssPackage field's value.
2488func (s *CreateOriginEndpointInput) SetMssPackage(v *MssPackage) *CreateOriginEndpointInput {
2489	s.MssPackage = v
2490	return s
2491}
2492
2493// SetOrigination sets the Origination field's value.
2494func (s *CreateOriginEndpointInput) SetOrigination(v string) *CreateOriginEndpointInput {
2495	s.Origination = &v
2496	return s
2497}
2498
2499// SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value.
2500func (s *CreateOriginEndpointInput) SetStartoverWindowSeconds(v int64) *CreateOriginEndpointInput {
2501	s.StartoverWindowSeconds = &v
2502	return s
2503}
2504
2505// SetTags sets the Tags field's value.
2506func (s *CreateOriginEndpointInput) SetTags(v map[string]*string) *CreateOriginEndpointInput {
2507	s.Tags = v
2508	return s
2509}
2510
2511// SetTimeDelaySeconds sets the TimeDelaySeconds field's value.
2512func (s *CreateOriginEndpointInput) SetTimeDelaySeconds(v int64) *CreateOriginEndpointInput {
2513	s.TimeDelaySeconds = &v
2514	return s
2515}
2516
2517// SetWhitelist sets the Whitelist field's value.
2518func (s *CreateOriginEndpointInput) SetWhitelist(v []*string) *CreateOriginEndpointInput {
2519	s.Whitelist = v
2520	return s
2521}
2522
2523type CreateOriginEndpointOutput struct {
2524	_ struct{} `type:"structure"`
2525
2526	Arn *string `locationName:"arn" type:"string"`
2527
2528	// CDN Authorization credentials
2529	Authorization *Authorization `locationName:"authorization" type:"structure"`
2530
2531	ChannelId *string `locationName:"channelId" type:"string"`
2532
2533	// A Common Media Application Format (CMAF) packaging configuration.
2534	CmafPackage *CmafPackage `locationName:"cmafPackage" type:"structure"`
2535
2536	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
2537	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
2538
2539	Description *string `locationName:"description" type:"string"`
2540
2541	// An HTTP Live Streaming (HLS) packaging configuration.
2542	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
2543
2544	Id *string `locationName:"id" type:"string"`
2545
2546	ManifestName *string `locationName:"manifestName" type:"string"`
2547
2548	// A Microsoft Smooth Streaming (MSS) packaging configuration.
2549	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
2550
2551	Origination *string `locationName:"origination" type:"string" enum:"Origination"`
2552
2553	StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"`
2554
2555	// A collection of tags associated with a resource
2556	Tags map[string]*string `locationName:"tags" type:"map"`
2557
2558	TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"`
2559
2560	Url *string `locationName:"url" type:"string"`
2561
2562	Whitelist []*string `locationName:"whitelist" type:"list"`
2563}
2564
2565// String returns the string representation
2566func (s CreateOriginEndpointOutput) String() string {
2567	return awsutil.Prettify(s)
2568}
2569
2570// GoString returns the string representation
2571func (s CreateOriginEndpointOutput) GoString() string {
2572	return s.String()
2573}
2574
2575// SetArn sets the Arn field's value.
2576func (s *CreateOriginEndpointOutput) SetArn(v string) *CreateOriginEndpointOutput {
2577	s.Arn = &v
2578	return s
2579}
2580
2581// SetAuthorization sets the Authorization field's value.
2582func (s *CreateOriginEndpointOutput) SetAuthorization(v *Authorization) *CreateOriginEndpointOutput {
2583	s.Authorization = v
2584	return s
2585}
2586
2587// SetChannelId sets the ChannelId field's value.
2588func (s *CreateOriginEndpointOutput) SetChannelId(v string) *CreateOriginEndpointOutput {
2589	s.ChannelId = &v
2590	return s
2591}
2592
2593// SetCmafPackage sets the CmafPackage field's value.
2594func (s *CreateOriginEndpointOutput) SetCmafPackage(v *CmafPackage) *CreateOriginEndpointOutput {
2595	s.CmafPackage = v
2596	return s
2597}
2598
2599// SetDashPackage sets the DashPackage field's value.
2600func (s *CreateOriginEndpointOutput) SetDashPackage(v *DashPackage) *CreateOriginEndpointOutput {
2601	s.DashPackage = v
2602	return s
2603}
2604
2605// SetDescription sets the Description field's value.
2606func (s *CreateOriginEndpointOutput) SetDescription(v string) *CreateOriginEndpointOutput {
2607	s.Description = &v
2608	return s
2609}
2610
2611// SetHlsPackage sets the HlsPackage field's value.
2612func (s *CreateOriginEndpointOutput) SetHlsPackage(v *HlsPackage) *CreateOriginEndpointOutput {
2613	s.HlsPackage = v
2614	return s
2615}
2616
2617// SetId sets the Id field's value.
2618func (s *CreateOriginEndpointOutput) SetId(v string) *CreateOriginEndpointOutput {
2619	s.Id = &v
2620	return s
2621}
2622
2623// SetManifestName sets the ManifestName field's value.
2624func (s *CreateOriginEndpointOutput) SetManifestName(v string) *CreateOriginEndpointOutput {
2625	s.ManifestName = &v
2626	return s
2627}
2628
2629// SetMssPackage sets the MssPackage field's value.
2630func (s *CreateOriginEndpointOutput) SetMssPackage(v *MssPackage) *CreateOriginEndpointOutput {
2631	s.MssPackage = v
2632	return s
2633}
2634
2635// SetOrigination sets the Origination field's value.
2636func (s *CreateOriginEndpointOutput) SetOrigination(v string) *CreateOriginEndpointOutput {
2637	s.Origination = &v
2638	return s
2639}
2640
2641// SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value.
2642func (s *CreateOriginEndpointOutput) SetStartoverWindowSeconds(v int64) *CreateOriginEndpointOutput {
2643	s.StartoverWindowSeconds = &v
2644	return s
2645}
2646
2647// SetTags sets the Tags field's value.
2648func (s *CreateOriginEndpointOutput) SetTags(v map[string]*string) *CreateOriginEndpointOutput {
2649	s.Tags = v
2650	return s
2651}
2652
2653// SetTimeDelaySeconds sets the TimeDelaySeconds field's value.
2654func (s *CreateOriginEndpointOutput) SetTimeDelaySeconds(v int64) *CreateOriginEndpointOutput {
2655	s.TimeDelaySeconds = &v
2656	return s
2657}
2658
2659// SetUrl sets the Url field's value.
2660func (s *CreateOriginEndpointOutput) SetUrl(v string) *CreateOriginEndpointOutput {
2661	s.Url = &v
2662	return s
2663}
2664
2665// SetWhitelist sets the Whitelist field's value.
2666func (s *CreateOriginEndpointOutput) SetWhitelist(v []*string) *CreateOriginEndpointOutput {
2667	s.Whitelist = v
2668	return s
2669}
2670
2671// A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration.
2672type DashEncryption struct {
2673	_ struct{} `type:"structure"`
2674
2675	// Time (in seconds) between each encryption key rotation.
2676	KeyRotationIntervalSeconds *int64 `locationName:"keyRotationIntervalSeconds" type:"integer"`
2677
2678	// A configuration for accessing an external Secure Packager and Encoder Key
2679	// Exchange (SPEKE) service that will provide encryption keys.
2680	//
2681	// SpekeKeyProvider is a required field
2682	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"`
2683}
2684
2685// String returns the string representation
2686func (s DashEncryption) String() string {
2687	return awsutil.Prettify(s)
2688}
2689
2690// GoString returns the string representation
2691func (s DashEncryption) GoString() string {
2692	return s.String()
2693}
2694
2695// Validate inspects the fields of the type to determine if they are valid.
2696func (s *DashEncryption) Validate() error {
2697	invalidParams := request.ErrInvalidParams{Context: "DashEncryption"}
2698	if s.SpekeKeyProvider == nil {
2699		invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider"))
2700	}
2701	if s.SpekeKeyProvider != nil {
2702		if err := s.SpekeKeyProvider.Validate(); err != nil {
2703			invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams))
2704		}
2705	}
2706
2707	if invalidParams.Len() > 0 {
2708		return invalidParams
2709	}
2710	return nil
2711}
2712
2713// SetKeyRotationIntervalSeconds sets the KeyRotationIntervalSeconds field's value.
2714func (s *DashEncryption) SetKeyRotationIntervalSeconds(v int64) *DashEncryption {
2715	s.KeyRotationIntervalSeconds = &v
2716	return s
2717}
2718
2719// SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
2720func (s *DashEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *DashEncryption {
2721	s.SpekeKeyProvider = v
2722	return s
2723}
2724
2725// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
2726type DashPackage struct {
2727	_ struct{} `type:"structure"`
2728
2729	// A list of SCTE-35 message types that are treated as ad markers in the output.
2730	// If empty, noad markers are output. Specify multiple items to create ad markers
2731	// for all of the includedmessage types.
2732	AdTriggers []*string `locationName:"adTriggers" type:"list"`
2733
2734	// This setting allows the delivery restriction flags on SCTE-35 segmentation
2735	// descriptors todetermine whether a message signals an ad. Choosing "NONE"
2736	// means no SCTE-35 messages becomeads. Choosing "RESTRICTED" means SCTE-35
2737	// messages of the types specified in AdTriggers thatcontain delivery restrictions
2738	// will be treated as ads. Choosing "UNRESTRICTED" means SCTE-35messages of
2739	// the types specified in AdTriggers that do not contain delivery restrictions
2740	// willbe treated as ads. Choosing "BOTH" means all SCTE-35 messages of the
2741	// types specified inAdTriggers will be treated as ads. Note that Splice Insert
2742	// messages do not have these flagsand are always treated as ads if specified
2743	// in AdTriggers.
2744	AdsOnDeliveryRestrictions *string `locationName:"adsOnDeliveryRestrictions" type:"string" enum:"AdsOnDeliveryRestrictions"`
2745
2746	// A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration.
2747	Encryption *DashEncryption `locationName:"encryption" type:"structure"`
2748
2749	// Determines the position of some tags in the Media Presentation Description
2750	// (MPD). When set to FULL, elements like SegmentTemplate and ContentProtection
2751	// are included in each Representation. When set to COMPACT, duplicate elements
2752	// are combined and presented at the AdaptationSet level.
2753	ManifestLayout *string `locationName:"manifestLayout" type:"string" enum:"ManifestLayout"`
2754
2755	// Time window (in seconds) contained in each manifest.
2756	ManifestWindowSeconds *int64 `locationName:"manifestWindowSeconds" type:"integer"`
2757
2758	// Minimum duration (in seconds) that a player will buffer media before starting
2759	// the presentation.
2760	MinBufferTimeSeconds *int64 `locationName:"minBufferTimeSeconds" type:"integer"`
2761
2762	// Minimum duration (in seconds) between potential changes to the Dynamic Adaptive
2763	// Streaming over HTTP (DASH) Media Presentation Description (MPD).
2764	MinUpdatePeriodSeconds *int64 `locationName:"minUpdatePeriodSeconds" type:"integer"`
2765
2766	// A list of triggers that controls when the outgoing Dynamic Adaptive Streaming
2767	// over HTTP (DASH)Media Presentation Description (MPD) will be partitioned
2768	// into multiple periods. If empty, the content will notbe partitioned into
2769	// more than one period. If the list contains "ADS", new periods will be created
2770	// wherethe Channel source contains SCTE-35 ad markers.
2771	PeriodTriggers []*string `locationName:"periodTriggers" type:"list"`
2772
2773	// The Dynamic Adaptive Streaming over HTTP (DASH) profile type. When set to
2774	// "HBBTV_1_5", HbbTV 1.5 compliant output is enabled.
2775	Profile *string `locationName:"profile" type:"string" enum:"Profile"`
2776
2777	// Duration (in seconds) of each segment. Actual segments will berounded to
2778	// the nearest multiple of the source segment duration.
2779	SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"`
2780
2781	// Determines the type of SegmentTemplate included in the Media Presentation
2782	// Description (MPD). When set to NUMBER_WITH_TIMELINE, a full timeline is presented
2783	// in each SegmentTemplate, with $Number$ media URLs. When set to TIME_WITH_TIMELINE,
2784	// a full timeline is presented in each SegmentTemplate, with $Time$ media URLs.
2785	// When set to NUMBER_WITH_DURATION, only a duration is included in each SegmentTemplate,
2786	// with $Number$ media URLs.
2787	SegmentTemplateFormat *string `locationName:"segmentTemplateFormat" type:"string" enum:"SegmentTemplateFormat"`
2788
2789	// A StreamSelection configuration.
2790	StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"`
2791
2792	// Duration (in seconds) to delay live content before presentation.
2793	SuggestedPresentationDelaySeconds *int64 `locationName:"suggestedPresentationDelaySeconds" type:"integer"`
2794}
2795
2796// String returns the string representation
2797func (s DashPackage) String() string {
2798	return awsutil.Prettify(s)
2799}
2800
2801// GoString returns the string representation
2802func (s DashPackage) GoString() string {
2803	return s.String()
2804}
2805
2806// Validate inspects the fields of the type to determine if they are valid.
2807func (s *DashPackage) Validate() error {
2808	invalidParams := request.ErrInvalidParams{Context: "DashPackage"}
2809	if s.Encryption != nil {
2810		if err := s.Encryption.Validate(); err != nil {
2811			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
2812		}
2813	}
2814
2815	if invalidParams.Len() > 0 {
2816		return invalidParams
2817	}
2818	return nil
2819}
2820
2821// SetAdTriggers sets the AdTriggers field's value.
2822func (s *DashPackage) SetAdTriggers(v []*string) *DashPackage {
2823	s.AdTriggers = v
2824	return s
2825}
2826
2827// SetAdsOnDeliveryRestrictions sets the AdsOnDeliveryRestrictions field's value.
2828func (s *DashPackage) SetAdsOnDeliveryRestrictions(v string) *DashPackage {
2829	s.AdsOnDeliveryRestrictions = &v
2830	return s
2831}
2832
2833// SetEncryption sets the Encryption field's value.
2834func (s *DashPackage) SetEncryption(v *DashEncryption) *DashPackage {
2835	s.Encryption = v
2836	return s
2837}
2838
2839// SetManifestLayout sets the ManifestLayout field's value.
2840func (s *DashPackage) SetManifestLayout(v string) *DashPackage {
2841	s.ManifestLayout = &v
2842	return s
2843}
2844
2845// SetManifestWindowSeconds sets the ManifestWindowSeconds field's value.
2846func (s *DashPackage) SetManifestWindowSeconds(v int64) *DashPackage {
2847	s.ManifestWindowSeconds = &v
2848	return s
2849}
2850
2851// SetMinBufferTimeSeconds sets the MinBufferTimeSeconds field's value.
2852func (s *DashPackage) SetMinBufferTimeSeconds(v int64) *DashPackage {
2853	s.MinBufferTimeSeconds = &v
2854	return s
2855}
2856
2857// SetMinUpdatePeriodSeconds sets the MinUpdatePeriodSeconds field's value.
2858func (s *DashPackage) SetMinUpdatePeriodSeconds(v int64) *DashPackage {
2859	s.MinUpdatePeriodSeconds = &v
2860	return s
2861}
2862
2863// SetPeriodTriggers sets the PeriodTriggers field's value.
2864func (s *DashPackage) SetPeriodTriggers(v []*string) *DashPackage {
2865	s.PeriodTriggers = v
2866	return s
2867}
2868
2869// SetProfile sets the Profile field's value.
2870func (s *DashPackage) SetProfile(v string) *DashPackage {
2871	s.Profile = &v
2872	return s
2873}
2874
2875// SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value.
2876func (s *DashPackage) SetSegmentDurationSeconds(v int64) *DashPackage {
2877	s.SegmentDurationSeconds = &v
2878	return s
2879}
2880
2881// SetSegmentTemplateFormat sets the SegmentTemplateFormat field's value.
2882func (s *DashPackage) SetSegmentTemplateFormat(v string) *DashPackage {
2883	s.SegmentTemplateFormat = &v
2884	return s
2885}
2886
2887// SetStreamSelection sets the StreamSelection field's value.
2888func (s *DashPackage) SetStreamSelection(v *StreamSelection) *DashPackage {
2889	s.StreamSelection = v
2890	return s
2891}
2892
2893// SetSuggestedPresentationDelaySeconds sets the SuggestedPresentationDelaySeconds field's value.
2894func (s *DashPackage) SetSuggestedPresentationDelaySeconds(v int64) *DashPackage {
2895	s.SuggestedPresentationDelaySeconds = &v
2896	return s
2897}
2898
2899type DeleteChannelInput struct {
2900	_ struct{} `type:"structure"`
2901
2902	// Id is a required field
2903	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
2904}
2905
2906// String returns the string representation
2907func (s DeleteChannelInput) String() string {
2908	return awsutil.Prettify(s)
2909}
2910
2911// GoString returns the string representation
2912func (s DeleteChannelInput) GoString() string {
2913	return s.String()
2914}
2915
2916// Validate inspects the fields of the type to determine if they are valid.
2917func (s *DeleteChannelInput) Validate() error {
2918	invalidParams := request.ErrInvalidParams{Context: "DeleteChannelInput"}
2919	if s.Id == nil {
2920		invalidParams.Add(request.NewErrParamRequired("Id"))
2921	}
2922	if s.Id != nil && len(*s.Id) < 1 {
2923		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
2924	}
2925
2926	if invalidParams.Len() > 0 {
2927		return invalidParams
2928	}
2929	return nil
2930}
2931
2932// SetId sets the Id field's value.
2933func (s *DeleteChannelInput) SetId(v string) *DeleteChannelInput {
2934	s.Id = &v
2935	return s
2936}
2937
2938type DeleteChannelOutput struct {
2939	_ struct{} `type:"structure"`
2940}
2941
2942// String returns the string representation
2943func (s DeleteChannelOutput) String() string {
2944	return awsutil.Prettify(s)
2945}
2946
2947// GoString returns the string representation
2948func (s DeleteChannelOutput) GoString() string {
2949	return s.String()
2950}
2951
2952type DeleteOriginEndpointInput struct {
2953	_ struct{} `type:"structure"`
2954
2955	// Id is a required field
2956	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
2957}
2958
2959// String returns the string representation
2960func (s DeleteOriginEndpointInput) String() string {
2961	return awsutil.Prettify(s)
2962}
2963
2964// GoString returns the string representation
2965func (s DeleteOriginEndpointInput) GoString() string {
2966	return s.String()
2967}
2968
2969// Validate inspects the fields of the type to determine if they are valid.
2970func (s *DeleteOriginEndpointInput) Validate() error {
2971	invalidParams := request.ErrInvalidParams{Context: "DeleteOriginEndpointInput"}
2972	if s.Id == nil {
2973		invalidParams.Add(request.NewErrParamRequired("Id"))
2974	}
2975	if s.Id != nil && len(*s.Id) < 1 {
2976		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
2977	}
2978
2979	if invalidParams.Len() > 0 {
2980		return invalidParams
2981	}
2982	return nil
2983}
2984
2985// SetId sets the Id field's value.
2986func (s *DeleteOriginEndpointInput) SetId(v string) *DeleteOriginEndpointInput {
2987	s.Id = &v
2988	return s
2989}
2990
2991type DeleteOriginEndpointOutput struct {
2992	_ struct{} `type:"structure"`
2993}
2994
2995// String returns the string representation
2996func (s DeleteOriginEndpointOutput) String() string {
2997	return awsutil.Prettify(s)
2998}
2999
3000// GoString returns the string representation
3001func (s DeleteOriginEndpointOutput) GoString() string {
3002	return s.String()
3003}
3004
3005type DescribeChannelInput struct {
3006	_ struct{} `type:"structure"`
3007
3008	// Id is a required field
3009	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
3010}
3011
3012// String returns the string representation
3013func (s DescribeChannelInput) String() string {
3014	return awsutil.Prettify(s)
3015}
3016
3017// GoString returns the string representation
3018func (s DescribeChannelInput) GoString() string {
3019	return s.String()
3020}
3021
3022// Validate inspects the fields of the type to determine if they are valid.
3023func (s *DescribeChannelInput) Validate() error {
3024	invalidParams := request.ErrInvalidParams{Context: "DescribeChannelInput"}
3025	if s.Id == nil {
3026		invalidParams.Add(request.NewErrParamRequired("Id"))
3027	}
3028	if s.Id != nil && len(*s.Id) < 1 {
3029		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
3030	}
3031
3032	if invalidParams.Len() > 0 {
3033		return invalidParams
3034	}
3035	return nil
3036}
3037
3038// SetId sets the Id field's value.
3039func (s *DescribeChannelInput) SetId(v string) *DescribeChannelInput {
3040	s.Id = &v
3041	return s
3042}
3043
3044type DescribeChannelOutput struct {
3045	_ struct{} `type:"structure"`
3046
3047	Arn *string `locationName:"arn" type:"string"`
3048
3049	Description *string `locationName:"description" type:"string"`
3050
3051	// An HTTP Live Streaming (HLS) ingest resource configuration.
3052	HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"`
3053
3054	Id *string `locationName:"id" type:"string"`
3055
3056	// A collection of tags associated with a resource
3057	Tags map[string]*string `locationName:"tags" type:"map"`
3058}
3059
3060// String returns the string representation
3061func (s DescribeChannelOutput) String() string {
3062	return awsutil.Prettify(s)
3063}
3064
3065// GoString returns the string representation
3066func (s DescribeChannelOutput) GoString() string {
3067	return s.String()
3068}
3069
3070// SetArn sets the Arn field's value.
3071func (s *DescribeChannelOutput) SetArn(v string) *DescribeChannelOutput {
3072	s.Arn = &v
3073	return s
3074}
3075
3076// SetDescription sets the Description field's value.
3077func (s *DescribeChannelOutput) SetDescription(v string) *DescribeChannelOutput {
3078	s.Description = &v
3079	return s
3080}
3081
3082// SetHlsIngest sets the HlsIngest field's value.
3083func (s *DescribeChannelOutput) SetHlsIngest(v *HlsIngest) *DescribeChannelOutput {
3084	s.HlsIngest = v
3085	return s
3086}
3087
3088// SetId sets the Id field's value.
3089func (s *DescribeChannelOutput) SetId(v string) *DescribeChannelOutput {
3090	s.Id = &v
3091	return s
3092}
3093
3094// SetTags sets the Tags field's value.
3095func (s *DescribeChannelOutput) SetTags(v map[string]*string) *DescribeChannelOutput {
3096	s.Tags = v
3097	return s
3098}
3099
3100type DescribeHarvestJobInput struct {
3101	_ struct{} `type:"structure"`
3102
3103	// Id is a required field
3104	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
3105}
3106
3107// String returns the string representation
3108func (s DescribeHarvestJobInput) String() string {
3109	return awsutil.Prettify(s)
3110}
3111
3112// GoString returns the string representation
3113func (s DescribeHarvestJobInput) GoString() string {
3114	return s.String()
3115}
3116
3117// Validate inspects the fields of the type to determine if they are valid.
3118func (s *DescribeHarvestJobInput) Validate() error {
3119	invalidParams := request.ErrInvalidParams{Context: "DescribeHarvestJobInput"}
3120	if s.Id == nil {
3121		invalidParams.Add(request.NewErrParamRequired("Id"))
3122	}
3123	if s.Id != nil && len(*s.Id) < 1 {
3124		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
3125	}
3126
3127	if invalidParams.Len() > 0 {
3128		return invalidParams
3129	}
3130	return nil
3131}
3132
3133// SetId sets the Id field's value.
3134func (s *DescribeHarvestJobInput) SetId(v string) *DescribeHarvestJobInput {
3135	s.Id = &v
3136	return s
3137}
3138
3139type DescribeHarvestJobOutput struct {
3140	_ struct{} `type:"structure"`
3141
3142	Arn *string `locationName:"arn" type:"string"`
3143
3144	ChannelId *string `locationName:"channelId" type:"string"`
3145
3146	CreatedAt *string `locationName:"createdAt" type:"string"`
3147
3148	EndTime *string `locationName:"endTime" type:"string"`
3149
3150	Id *string `locationName:"id" type:"string"`
3151
3152	OriginEndpointId *string `locationName:"originEndpointId" type:"string"`
3153
3154	// Configuration parameters for where in an S3 bucket to place the harvested
3155	// content
3156	S3Destination *S3Destination `locationName:"s3Destination" type:"structure"`
3157
3158	StartTime *string `locationName:"startTime" type:"string"`
3159
3160	Status *string `locationName:"status" type:"string" enum:"Status"`
3161}
3162
3163// String returns the string representation
3164func (s DescribeHarvestJobOutput) String() string {
3165	return awsutil.Prettify(s)
3166}
3167
3168// GoString returns the string representation
3169func (s DescribeHarvestJobOutput) GoString() string {
3170	return s.String()
3171}
3172
3173// SetArn sets the Arn field's value.
3174func (s *DescribeHarvestJobOutput) SetArn(v string) *DescribeHarvestJobOutput {
3175	s.Arn = &v
3176	return s
3177}
3178
3179// SetChannelId sets the ChannelId field's value.
3180func (s *DescribeHarvestJobOutput) SetChannelId(v string) *DescribeHarvestJobOutput {
3181	s.ChannelId = &v
3182	return s
3183}
3184
3185// SetCreatedAt sets the CreatedAt field's value.
3186func (s *DescribeHarvestJobOutput) SetCreatedAt(v string) *DescribeHarvestJobOutput {
3187	s.CreatedAt = &v
3188	return s
3189}
3190
3191// SetEndTime sets the EndTime field's value.
3192func (s *DescribeHarvestJobOutput) SetEndTime(v string) *DescribeHarvestJobOutput {
3193	s.EndTime = &v
3194	return s
3195}
3196
3197// SetId sets the Id field's value.
3198func (s *DescribeHarvestJobOutput) SetId(v string) *DescribeHarvestJobOutput {
3199	s.Id = &v
3200	return s
3201}
3202
3203// SetOriginEndpointId sets the OriginEndpointId field's value.
3204func (s *DescribeHarvestJobOutput) SetOriginEndpointId(v string) *DescribeHarvestJobOutput {
3205	s.OriginEndpointId = &v
3206	return s
3207}
3208
3209// SetS3Destination sets the S3Destination field's value.
3210func (s *DescribeHarvestJobOutput) SetS3Destination(v *S3Destination) *DescribeHarvestJobOutput {
3211	s.S3Destination = v
3212	return s
3213}
3214
3215// SetStartTime sets the StartTime field's value.
3216func (s *DescribeHarvestJobOutput) SetStartTime(v string) *DescribeHarvestJobOutput {
3217	s.StartTime = &v
3218	return s
3219}
3220
3221// SetStatus sets the Status field's value.
3222func (s *DescribeHarvestJobOutput) SetStatus(v string) *DescribeHarvestJobOutput {
3223	s.Status = &v
3224	return s
3225}
3226
3227type DescribeOriginEndpointInput struct {
3228	_ struct{} `type:"structure"`
3229
3230	// Id is a required field
3231	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
3232}
3233
3234// String returns the string representation
3235func (s DescribeOriginEndpointInput) String() string {
3236	return awsutil.Prettify(s)
3237}
3238
3239// GoString returns the string representation
3240func (s DescribeOriginEndpointInput) GoString() string {
3241	return s.String()
3242}
3243
3244// Validate inspects the fields of the type to determine if they are valid.
3245func (s *DescribeOriginEndpointInput) Validate() error {
3246	invalidParams := request.ErrInvalidParams{Context: "DescribeOriginEndpointInput"}
3247	if s.Id == nil {
3248		invalidParams.Add(request.NewErrParamRequired("Id"))
3249	}
3250	if s.Id != nil && len(*s.Id) < 1 {
3251		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
3252	}
3253
3254	if invalidParams.Len() > 0 {
3255		return invalidParams
3256	}
3257	return nil
3258}
3259
3260// SetId sets the Id field's value.
3261func (s *DescribeOriginEndpointInput) SetId(v string) *DescribeOriginEndpointInput {
3262	s.Id = &v
3263	return s
3264}
3265
3266type DescribeOriginEndpointOutput struct {
3267	_ struct{} `type:"structure"`
3268
3269	Arn *string `locationName:"arn" type:"string"`
3270
3271	// CDN Authorization credentials
3272	Authorization *Authorization `locationName:"authorization" type:"structure"`
3273
3274	ChannelId *string `locationName:"channelId" type:"string"`
3275
3276	// A Common Media Application Format (CMAF) packaging configuration.
3277	CmafPackage *CmafPackage `locationName:"cmafPackage" type:"structure"`
3278
3279	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
3280	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
3281
3282	Description *string `locationName:"description" type:"string"`
3283
3284	// An HTTP Live Streaming (HLS) packaging configuration.
3285	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
3286
3287	Id *string `locationName:"id" type:"string"`
3288
3289	ManifestName *string `locationName:"manifestName" type:"string"`
3290
3291	// A Microsoft Smooth Streaming (MSS) packaging configuration.
3292	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
3293
3294	Origination *string `locationName:"origination" type:"string" enum:"Origination"`
3295
3296	StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"`
3297
3298	// A collection of tags associated with a resource
3299	Tags map[string]*string `locationName:"tags" type:"map"`
3300
3301	TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"`
3302
3303	Url *string `locationName:"url" type:"string"`
3304
3305	Whitelist []*string `locationName:"whitelist" type:"list"`
3306}
3307
3308// String returns the string representation
3309func (s DescribeOriginEndpointOutput) String() string {
3310	return awsutil.Prettify(s)
3311}
3312
3313// GoString returns the string representation
3314func (s DescribeOriginEndpointOutput) GoString() string {
3315	return s.String()
3316}
3317
3318// SetArn sets the Arn field's value.
3319func (s *DescribeOriginEndpointOutput) SetArn(v string) *DescribeOriginEndpointOutput {
3320	s.Arn = &v
3321	return s
3322}
3323
3324// SetAuthorization sets the Authorization field's value.
3325func (s *DescribeOriginEndpointOutput) SetAuthorization(v *Authorization) *DescribeOriginEndpointOutput {
3326	s.Authorization = v
3327	return s
3328}
3329
3330// SetChannelId sets the ChannelId field's value.
3331func (s *DescribeOriginEndpointOutput) SetChannelId(v string) *DescribeOriginEndpointOutput {
3332	s.ChannelId = &v
3333	return s
3334}
3335
3336// SetCmafPackage sets the CmafPackage field's value.
3337func (s *DescribeOriginEndpointOutput) SetCmafPackage(v *CmafPackage) *DescribeOriginEndpointOutput {
3338	s.CmafPackage = v
3339	return s
3340}
3341
3342// SetDashPackage sets the DashPackage field's value.
3343func (s *DescribeOriginEndpointOutput) SetDashPackage(v *DashPackage) *DescribeOriginEndpointOutput {
3344	s.DashPackage = v
3345	return s
3346}
3347
3348// SetDescription sets the Description field's value.
3349func (s *DescribeOriginEndpointOutput) SetDescription(v string) *DescribeOriginEndpointOutput {
3350	s.Description = &v
3351	return s
3352}
3353
3354// SetHlsPackage sets the HlsPackage field's value.
3355func (s *DescribeOriginEndpointOutput) SetHlsPackage(v *HlsPackage) *DescribeOriginEndpointOutput {
3356	s.HlsPackage = v
3357	return s
3358}
3359
3360// SetId sets the Id field's value.
3361func (s *DescribeOriginEndpointOutput) SetId(v string) *DescribeOriginEndpointOutput {
3362	s.Id = &v
3363	return s
3364}
3365
3366// SetManifestName sets the ManifestName field's value.
3367func (s *DescribeOriginEndpointOutput) SetManifestName(v string) *DescribeOriginEndpointOutput {
3368	s.ManifestName = &v
3369	return s
3370}
3371
3372// SetMssPackage sets the MssPackage field's value.
3373func (s *DescribeOriginEndpointOutput) SetMssPackage(v *MssPackage) *DescribeOriginEndpointOutput {
3374	s.MssPackage = v
3375	return s
3376}
3377
3378// SetOrigination sets the Origination field's value.
3379func (s *DescribeOriginEndpointOutput) SetOrigination(v string) *DescribeOriginEndpointOutput {
3380	s.Origination = &v
3381	return s
3382}
3383
3384// SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value.
3385func (s *DescribeOriginEndpointOutput) SetStartoverWindowSeconds(v int64) *DescribeOriginEndpointOutput {
3386	s.StartoverWindowSeconds = &v
3387	return s
3388}
3389
3390// SetTags sets the Tags field's value.
3391func (s *DescribeOriginEndpointOutput) SetTags(v map[string]*string) *DescribeOriginEndpointOutput {
3392	s.Tags = v
3393	return s
3394}
3395
3396// SetTimeDelaySeconds sets the TimeDelaySeconds field's value.
3397func (s *DescribeOriginEndpointOutput) SetTimeDelaySeconds(v int64) *DescribeOriginEndpointOutput {
3398	s.TimeDelaySeconds = &v
3399	return s
3400}
3401
3402// SetUrl sets the Url field's value.
3403func (s *DescribeOriginEndpointOutput) SetUrl(v string) *DescribeOriginEndpointOutput {
3404	s.Url = &v
3405	return s
3406}
3407
3408// SetWhitelist sets the Whitelist field's value.
3409func (s *DescribeOriginEndpointOutput) SetWhitelist(v []*string) *DescribeOriginEndpointOutput {
3410	s.Whitelist = v
3411	return s
3412}
3413
3414type ForbiddenException struct {
3415	_            struct{} `type:"structure"`
3416	respMetadata protocol.ResponseMetadata
3417
3418	Message_ *string `locationName:"message" type:"string"`
3419}
3420
3421// String returns the string representation
3422func (s ForbiddenException) String() string {
3423	return awsutil.Prettify(s)
3424}
3425
3426// GoString returns the string representation
3427func (s ForbiddenException) GoString() string {
3428	return s.String()
3429}
3430
3431func newErrorForbiddenException(v protocol.ResponseMetadata) error {
3432	return &ForbiddenException{
3433		respMetadata: v,
3434	}
3435}
3436
3437// Code returns the exception type name.
3438func (s ForbiddenException) Code() string {
3439	return "ForbiddenException"
3440}
3441
3442// Message returns the exception's message.
3443func (s ForbiddenException) Message() string {
3444	if s.Message_ != nil {
3445		return *s.Message_
3446	}
3447	return ""
3448}
3449
3450// OrigErr always returns nil, satisfies awserr.Error interface.
3451func (s ForbiddenException) OrigErr() error {
3452	return nil
3453}
3454
3455func (s ForbiddenException) Error() string {
3456	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3457}
3458
3459// Status code returns the HTTP status code for the request's response error.
3460func (s ForbiddenException) StatusCode() int {
3461	return s.respMetadata.StatusCode
3462}
3463
3464// RequestID returns the service's response RequestID for request.
3465func (s ForbiddenException) RequestID() string {
3466	return s.respMetadata.RequestID
3467}
3468
3469// A HarvestJob resource configuration
3470type HarvestJob struct {
3471	_ struct{} `type:"structure"`
3472
3473	// The Amazon Resource Name (ARN) assigned to the HarvestJob.
3474	Arn *string `locationName:"arn" type:"string"`
3475
3476	// The ID of the Channel that the HarvestJob will harvest from.
3477	ChannelId *string `locationName:"channelId" type:"string"`
3478
3479	// The time the HarvestJob was submitted
3480	CreatedAt *string `locationName:"createdAt" type:"string"`
3481
3482	// The end of the time-window which will be harvested.
3483	EndTime *string `locationName:"endTime" type:"string"`
3484
3485	// The ID of the HarvestJob. The ID must be unique within the regionand it cannot
3486	// be changed after the HarvestJob is submitted.
3487	Id *string `locationName:"id" type:"string"`
3488
3489	// The ID of the OriginEndpoint that the HarvestJob will harvest from.This cannot
3490	// be changed after the HarvestJob is submitted.
3491	OriginEndpointId *string `locationName:"originEndpointId" type:"string"`
3492
3493	// Configuration parameters for where in an S3 bucket to place the harvested
3494	// content
3495	S3Destination *S3Destination `locationName:"s3Destination" type:"structure"`
3496
3497	// The start of the time-window which will be harvested.
3498	StartTime *string `locationName:"startTime" type:"string"`
3499
3500	// The current status of the HarvestJob. Consider setting up a CloudWatch Event
3501	// to listen forHarvestJobs as they succeed or fail. In the event of failure,
3502	// the CloudWatch Event willinclude an explanation of why the HarvestJob failed.
3503	Status *string `locationName:"status" type:"string" enum:"Status"`
3504}
3505
3506// String returns the string representation
3507func (s HarvestJob) String() string {
3508	return awsutil.Prettify(s)
3509}
3510
3511// GoString returns the string representation
3512func (s HarvestJob) GoString() string {
3513	return s.String()
3514}
3515
3516// SetArn sets the Arn field's value.
3517func (s *HarvestJob) SetArn(v string) *HarvestJob {
3518	s.Arn = &v
3519	return s
3520}
3521
3522// SetChannelId sets the ChannelId field's value.
3523func (s *HarvestJob) SetChannelId(v string) *HarvestJob {
3524	s.ChannelId = &v
3525	return s
3526}
3527
3528// SetCreatedAt sets the CreatedAt field's value.
3529func (s *HarvestJob) SetCreatedAt(v string) *HarvestJob {
3530	s.CreatedAt = &v
3531	return s
3532}
3533
3534// SetEndTime sets the EndTime field's value.
3535func (s *HarvestJob) SetEndTime(v string) *HarvestJob {
3536	s.EndTime = &v
3537	return s
3538}
3539
3540// SetId sets the Id field's value.
3541func (s *HarvestJob) SetId(v string) *HarvestJob {
3542	s.Id = &v
3543	return s
3544}
3545
3546// SetOriginEndpointId sets the OriginEndpointId field's value.
3547func (s *HarvestJob) SetOriginEndpointId(v string) *HarvestJob {
3548	s.OriginEndpointId = &v
3549	return s
3550}
3551
3552// SetS3Destination sets the S3Destination field's value.
3553func (s *HarvestJob) SetS3Destination(v *S3Destination) *HarvestJob {
3554	s.S3Destination = v
3555	return s
3556}
3557
3558// SetStartTime sets the StartTime field's value.
3559func (s *HarvestJob) SetStartTime(v string) *HarvestJob {
3560	s.StartTime = &v
3561	return s
3562}
3563
3564// SetStatus sets the Status field's value.
3565func (s *HarvestJob) SetStatus(v string) *HarvestJob {
3566	s.Status = &v
3567	return s
3568}
3569
3570// An HTTP Live Streaming (HLS) encryption configuration.
3571type HlsEncryption struct {
3572	_ struct{} `type:"structure"`
3573
3574	// A constant initialization vector for encryption (optional).When not specified
3575	// the initialization vector will be periodically rotated.
3576	ConstantInitializationVector *string `locationName:"constantInitializationVector" type:"string"`
3577
3578	// The encryption method to use.
3579	EncryptionMethod *string `locationName:"encryptionMethod" type:"string" enum:"EncryptionMethod"`
3580
3581	// Interval (in seconds) between each encryption key rotation.
3582	KeyRotationIntervalSeconds *int64 `locationName:"keyRotationIntervalSeconds" type:"integer"`
3583
3584	// When enabled, the EXT-X-KEY tag will be repeated in output manifests.
3585	RepeatExtXKey *bool `locationName:"repeatExtXKey" type:"boolean"`
3586
3587	// A configuration for accessing an external Secure Packager and Encoder Key
3588	// Exchange (SPEKE) service that will provide encryption keys.
3589	//
3590	// SpekeKeyProvider is a required field
3591	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"`
3592}
3593
3594// String returns the string representation
3595func (s HlsEncryption) String() string {
3596	return awsutil.Prettify(s)
3597}
3598
3599// GoString returns the string representation
3600func (s HlsEncryption) GoString() string {
3601	return s.String()
3602}
3603
3604// Validate inspects the fields of the type to determine if they are valid.
3605func (s *HlsEncryption) Validate() error {
3606	invalidParams := request.ErrInvalidParams{Context: "HlsEncryption"}
3607	if s.SpekeKeyProvider == nil {
3608		invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider"))
3609	}
3610	if s.SpekeKeyProvider != nil {
3611		if err := s.SpekeKeyProvider.Validate(); err != nil {
3612			invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams))
3613		}
3614	}
3615
3616	if invalidParams.Len() > 0 {
3617		return invalidParams
3618	}
3619	return nil
3620}
3621
3622// SetConstantInitializationVector sets the ConstantInitializationVector field's value.
3623func (s *HlsEncryption) SetConstantInitializationVector(v string) *HlsEncryption {
3624	s.ConstantInitializationVector = &v
3625	return s
3626}
3627
3628// SetEncryptionMethod sets the EncryptionMethod field's value.
3629func (s *HlsEncryption) SetEncryptionMethod(v string) *HlsEncryption {
3630	s.EncryptionMethod = &v
3631	return s
3632}
3633
3634// SetKeyRotationIntervalSeconds sets the KeyRotationIntervalSeconds field's value.
3635func (s *HlsEncryption) SetKeyRotationIntervalSeconds(v int64) *HlsEncryption {
3636	s.KeyRotationIntervalSeconds = &v
3637	return s
3638}
3639
3640// SetRepeatExtXKey sets the RepeatExtXKey field's value.
3641func (s *HlsEncryption) SetRepeatExtXKey(v bool) *HlsEncryption {
3642	s.RepeatExtXKey = &v
3643	return s
3644}
3645
3646// SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
3647func (s *HlsEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *HlsEncryption {
3648	s.SpekeKeyProvider = v
3649	return s
3650}
3651
3652// An HTTP Live Streaming (HLS) ingest resource configuration.
3653type HlsIngest struct {
3654	_ struct{} `type:"structure"`
3655
3656	// A list of endpoints to which the source stream should be sent.
3657	IngestEndpoints []*IngestEndpoint `locationName:"ingestEndpoints" type:"list"`
3658}
3659
3660// String returns the string representation
3661func (s HlsIngest) String() string {
3662	return awsutil.Prettify(s)
3663}
3664
3665// GoString returns the string representation
3666func (s HlsIngest) GoString() string {
3667	return s.String()
3668}
3669
3670// SetIngestEndpoints sets the IngestEndpoints field's value.
3671func (s *HlsIngest) SetIngestEndpoints(v []*IngestEndpoint) *HlsIngest {
3672	s.IngestEndpoints = v
3673	return s
3674}
3675
3676// A HTTP Live Streaming (HLS) manifest configuration.
3677type HlsManifest struct {
3678	_ struct{} `type:"structure"`
3679
3680	// This setting controls how ad markers are included in the packaged OriginEndpoint."NONE"
3681	// will omit all SCTE-35 ad markers from the output."PASSTHROUGH" causes the
3682	// manifest to contain a copy of the SCTE-35 admarkers (comments) taken directly
3683	// from the input HTTP Live Streaming (HLS) manifest."SCTE35_ENHANCED" generates
3684	// ad markers and blackout tags based on SCTE-35messages in the input source.
3685	AdMarkers *string `locationName:"adMarkers" type:"string" enum:"AdMarkers"`
3686
3687	// The ID of the manifest. The ID must be unique within the OriginEndpoint and
3688	// it cannot be changed after it is created.
3689	//
3690	// Id is a required field
3691	Id *string `locationName:"id" type:"string" required:"true"`
3692
3693	// When enabled, an I-Frame only stream will be included in the output.
3694	IncludeIframeOnlyStream *bool `locationName:"includeIframeOnlyStream" type:"boolean"`
3695
3696	// An optional short string appended to the end of the OriginEndpoint URL. If
3697	// not specified, defaults to the manifestName for the OriginEndpoint.
3698	ManifestName *string `locationName:"manifestName" type:"string"`
3699
3700	// The HTTP Live Streaming (HLS) playlist type.When either "EVENT" or "VOD"
3701	// is specified, a corresponding EXT-X-PLAYLIST-TYPEentry will be included in
3702	// the media playlist.
3703	PlaylistType *string `locationName:"playlistType" type:"string" enum:"PlaylistType"`
3704
3705	// Time window (in seconds) contained in each parent manifest.
3706	PlaylistWindowSeconds *int64 `locationName:"playlistWindowSeconds" type:"integer"`
3707
3708	// The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME taginserted
3709	// into manifests. Additionally, when an interval is specifiedID3Timed Metadata
3710	// messages will be generated every 5 seconds using theingest time of the content.If
3711	// the interval is not specified, or set to 0, thenno EXT-X-PROGRAM-DATE-TIME
3712	// tags will be inserted into manifests and noID3Timed Metadata messages will
3713	// be generated. Note that irrespectiveof this parameter, if any ID3 Timed Metadata
3714	// is found in HTTP Live Streaming (HLS) input,it will be passed through to
3715	// HLS output.
3716	ProgramDateTimeIntervalSeconds *int64 `locationName:"programDateTimeIntervalSeconds" type:"integer"`
3717
3718	// The URL of the packaged OriginEndpoint for consumption.
3719	Url *string `locationName:"url" type:"string"`
3720}
3721
3722// String returns the string representation
3723func (s HlsManifest) String() string {
3724	return awsutil.Prettify(s)
3725}
3726
3727// GoString returns the string representation
3728func (s HlsManifest) GoString() string {
3729	return s.String()
3730}
3731
3732// SetAdMarkers sets the AdMarkers field's value.
3733func (s *HlsManifest) SetAdMarkers(v string) *HlsManifest {
3734	s.AdMarkers = &v
3735	return s
3736}
3737
3738// SetId sets the Id field's value.
3739func (s *HlsManifest) SetId(v string) *HlsManifest {
3740	s.Id = &v
3741	return s
3742}
3743
3744// SetIncludeIframeOnlyStream sets the IncludeIframeOnlyStream field's value.
3745func (s *HlsManifest) SetIncludeIframeOnlyStream(v bool) *HlsManifest {
3746	s.IncludeIframeOnlyStream = &v
3747	return s
3748}
3749
3750// SetManifestName sets the ManifestName field's value.
3751func (s *HlsManifest) SetManifestName(v string) *HlsManifest {
3752	s.ManifestName = &v
3753	return s
3754}
3755
3756// SetPlaylistType sets the PlaylistType field's value.
3757func (s *HlsManifest) SetPlaylistType(v string) *HlsManifest {
3758	s.PlaylistType = &v
3759	return s
3760}
3761
3762// SetPlaylistWindowSeconds sets the PlaylistWindowSeconds field's value.
3763func (s *HlsManifest) SetPlaylistWindowSeconds(v int64) *HlsManifest {
3764	s.PlaylistWindowSeconds = &v
3765	return s
3766}
3767
3768// SetProgramDateTimeIntervalSeconds sets the ProgramDateTimeIntervalSeconds field's value.
3769func (s *HlsManifest) SetProgramDateTimeIntervalSeconds(v int64) *HlsManifest {
3770	s.ProgramDateTimeIntervalSeconds = &v
3771	return s
3772}
3773
3774// SetUrl sets the Url field's value.
3775func (s *HlsManifest) SetUrl(v string) *HlsManifest {
3776	s.Url = &v
3777	return s
3778}
3779
3780// A HTTP Live Streaming (HLS) manifest configuration.
3781type HlsManifestCreateOrUpdateParameters struct {
3782	_ struct{} `type:"structure"`
3783
3784	// This setting controls how ad markers are included in the packaged OriginEndpoint."NONE"
3785	// will omit all SCTE-35 ad markers from the output."PASSTHROUGH" causes the
3786	// manifest to contain a copy of the SCTE-35 admarkers (comments) taken directly
3787	// from the input HTTP Live Streaming (HLS) manifest."SCTE35_ENHANCED" generates
3788	// ad markers and blackout tags based on SCTE-35messages in the input source.
3789	AdMarkers *string `locationName:"adMarkers" type:"string" enum:"AdMarkers"`
3790
3791	// A list of SCTE-35 message types that are treated as ad markers in the output.
3792	// If empty, noad markers are output. Specify multiple items to create ad markers
3793	// for all of the includedmessage types.
3794	AdTriggers []*string `locationName:"adTriggers" type:"list"`
3795
3796	// This setting allows the delivery restriction flags on SCTE-35 segmentation
3797	// descriptors todetermine whether a message signals an ad. Choosing "NONE"
3798	// means no SCTE-35 messages becomeads. Choosing "RESTRICTED" means SCTE-35
3799	// messages of the types specified in AdTriggers thatcontain delivery restrictions
3800	// will be treated as ads. Choosing "UNRESTRICTED" means SCTE-35messages of
3801	// the types specified in AdTriggers that do not contain delivery restrictions
3802	// willbe treated as ads. Choosing "BOTH" means all SCTE-35 messages of the
3803	// types specified inAdTriggers will be treated as ads. Note that Splice Insert
3804	// messages do not have these flagsand are always treated as ads if specified
3805	// in AdTriggers.
3806	AdsOnDeliveryRestrictions *string `locationName:"adsOnDeliveryRestrictions" type:"string" enum:"AdsOnDeliveryRestrictions"`
3807
3808	// The ID of the manifest. The ID must be unique within the OriginEndpoint and
3809	// it cannot be changed after it is created.
3810	//
3811	// Id is a required field
3812	Id *string `locationName:"id" type:"string" required:"true"`
3813
3814	// When enabled, an I-Frame only stream will be included in the output.
3815	IncludeIframeOnlyStream *bool `locationName:"includeIframeOnlyStream" type:"boolean"`
3816
3817	// An optional short string appended to the end of the OriginEndpoint URL. If
3818	// not specified, defaults to the manifestName for the OriginEndpoint.
3819	ManifestName *string `locationName:"manifestName" type:"string"`
3820
3821	// The HTTP Live Streaming (HLS) playlist type.When either "EVENT" or "VOD"
3822	// is specified, a corresponding EXT-X-PLAYLIST-TYPEentry will be included in
3823	// the media playlist.
3824	PlaylistType *string `locationName:"playlistType" type:"string" enum:"PlaylistType"`
3825
3826	// Time window (in seconds) contained in each parent manifest.
3827	PlaylistWindowSeconds *int64 `locationName:"playlistWindowSeconds" type:"integer"`
3828
3829	// The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME taginserted
3830	// into manifests. Additionally, when an interval is specifiedID3Timed Metadata
3831	// messages will be generated every 5 seconds using theingest time of the content.If
3832	// the interval is not specified, or set to 0, thenno EXT-X-PROGRAM-DATE-TIME
3833	// tags will be inserted into manifests and noID3Timed Metadata messages will
3834	// be generated. Note that irrespectiveof this parameter, if any ID3 Timed Metadata
3835	// is found in HTTP Live Streaming (HLS) input,it will be passed through to
3836	// HLS output.
3837	ProgramDateTimeIntervalSeconds *int64 `locationName:"programDateTimeIntervalSeconds" type:"integer"`
3838}
3839
3840// String returns the string representation
3841func (s HlsManifestCreateOrUpdateParameters) String() string {
3842	return awsutil.Prettify(s)
3843}
3844
3845// GoString returns the string representation
3846func (s HlsManifestCreateOrUpdateParameters) GoString() string {
3847	return s.String()
3848}
3849
3850// Validate inspects the fields of the type to determine if they are valid.
3851func (s *HlsManifestCreateOrUpdateParameters) Validate() error {
3852	invalidParams := request.ErrInvalidParams{Context: "HlsManifestCreateOrUpdateParameters"}
3853	if s.Id == nil {
3854		invalidParams.Add(request.NewErrParamRequired("Id"))
3855	}
3856
3857	if invalidParams.Len() > 0 {
3858		return invalidParams
3859	}
3860	return nil
3861}
3862
3863// SetAdMarkers sets the AdMarkers field's value.
3864func (s *HlsManifestCreateOrUpdateParameters) SetAdMarkers(v string) *HlsManifestCreateOrUpdateParameters {
3865	s.AdMarkers = &v
3866	return s
3867}
3868
3869// SetAdTriggers sets the AdTriggers field's value.
3870func (s *HlsManifestCreateOrUpdateParameters) SetAdTriggers(v []*string) *HlsManifestCreateOrUpdateParameters {
3871	s.AdTriggers = v
3872	return s
3873}
3874
3875// SetAdsOnDeliveryRestrictions sets the AdsOnDeliveryRestrictions field's value.
3876func (s *HlsManifestCreateOrUpdateParameters) SetAdsOnDeliveryRestrictions(v string) *HlsManifestCreateOrUpdateParameters {
3877	s.AdsOnDeliveryRestrictions = &v
3878	return s
3879}
3880
3881// SetId sets the Id field's value.
3882func (s *HlsManifestCreateOrUpdateParameters) SetId(v string) *HlsManifestCreateOrUpdateParameters {
3883	s.Id = &v
3884	return s
3885}
3886
3887// SetIncludeIframeOnlyStream sets the IncludeIframeOnlyStream field's value.
3888func (s *HlsManifestCreateOrUpdateParameters) SetIncludeIframeOnlyStream(v bool) *HlsManifestCreateOrUpdateParameters {
3889	s.IncludeIframeOnlyStream = &v
3890	return s
3891}
3892
3893// SetManifestName sets the ManifestName field's value.
3894func (s *HlsManifestCreateOrUpdateParameters) SetManifestName(v string) *HlsManifestCreateOrUpdateParameters {
3895	s.ManifestName = &v
3896	return s
3897}
3898
3899// SetPlaylistType sets the PlaylistType field's value.
3900func (s *HlsManifestCreateOrUpdateParameters) SetPlaylistType(v string) *HlsManifestCreateOrUpdateParameters {
3901	s.PlaylistType = &v
3902	return s
3903}
3904
3905// SetPlaylistWindowSeconds sets the PlaylistWindowSeconds field's value.
3906func (s *HlsManifestCreateOrUpdateParameters) SetPlaylistWindowSeconds(v int64) *HlsManifestCreateOrUpdateParameters {
3907	s.PlaylistWindowSeconds = &v
3908	return s
3909}
3910
3911// SetProgramDateTimeIntervalSeconds sets the ProgramDateTimeIntervalSeconds field's value.
3912func (s *HlsManifestCreateOrUpdateParameters) SetProgramDateTimeIntervalSeconds(v int64) *HlsManifestCreateOrUpdateParameters {
3913	s.ProgramDateTimeIntervalSeconds = &v
3914	return s
3915}
3916
3917// An HTTP Live Streaming (HLS) packaging configuration.
3918type HlsPackage struct {
3919	_ struct{} `type:"structure"`
3920
3921	// This setting controls how ad markers are included in the packaged OriginEndpoint."NONE"
3922	// will omit all SCTE-35 ad markers from the output."PASSTHROUGH" causes the
3923	// manifest to contain a copy of the SCTE-35 admarkers (comments) taken directly
3924	// from the input HTTP Live Streaming (HLS) manifest."SCTE35_ENHANCED" generates
3925	// ad markers and blackout tags based on SCTE-35messages in the input source.
3926	AdMarkers *string `locationName:"adMarkers" type:"string" enum:"AdMarkers"`
3927
3928	// A list of SCTE-35 message types that are treated as ad markers in the output.
3929	// If empty, noad markers are output. Specify multiple items to create ad markers
3930	// for all of the includedmessage types.
3931	AdTriggers []*string `locationName:"adTriggers" type:"list"`
3932
3933	// This setting allows the delivery restriction flags on SCTE-35 segmentation
3934	// descriptors todetermine whether a message signals an ad. Choosing "NONE"
3935	// means no SCTE-35 messages becomeads. Choosing "RESTRICTED" means SCTE-35
3936	// messages of the types specified in AdTriggers thatcontain delivery restrictions
3937	// will be treated as ads. Choosing "UNRESTRICTED" means SCTE-35messages of
3938	// the types specified in AdTriggers that do not contain delivery restrictions
3939	// willbe treated as ads. Choosing "BOTH" means all SCTE-35 messages of the
3940	// types specified inAdTriggers will be treated as ads. Note that Splice Insert
3941	// messages do not have these flagsand are always treated as ads if specified
3942	// in AdTriggers.
3943	AdsOnDeliveryRestrictions *string `locationName:"adsOnDeliveryRestrictions" type:"string" enum:"AdsOnDeliveryRestrictions"`
3944
3945	// An HTTP Live Streaming (HLS) encryption configuration.
3946	Encryption *HlsEncryption `locationName:"encryption" type:"structure"`
3947
3948	// When enabled, an I-Frame only stream will be included in the output.
3949	IncludeIframeOnlyStream *bool `locationName:"includeIframeOnlyStream" type:"boolean"`
3950
3951	// The HTTP Live Streaming (HLS) playlist type.When either "EVENT" or "VOD"
3952	// is specified, a corresponding EXT-X-PLAYLIST-TYPEentry will be included in
3953	// the media playlist.
3954	PlaylistType *string `locationName:"playlistType" type:"string" enum:"PlaylistType"`
3955
3956	// Time window (in seconds) contained in each parent manifest.
3957	PlaylistWindowSeconds *int64 `locationName:"playlistWindowSeconds" type:"integer"`
3958
3959	// The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME taginserted
3960	// into manifests. Additionally, when an interval is specifiedID3Timed Metadata
3961	// messages will be generated every 5 seconds using theingest time of the content.If
3962	// the interval is not specified, or set to 0, thenno EXT-X-PROGRAM-DATE-TIME
3963	// tags will be inserted into manifests and noID3Timed Metadata messages will
3964	// be generated. Note that irrespectiveof this parameter, if any ID3 Timed Metadata
3965	// is found in HTTP Live Streaming (HLS) input,it will be passed through to
3966	// HLS output.
3967	ProgramDateTimeIntervalSeconds *int64 `locationName:"programDateTimeIntervalSeconds" type:"integer"`
3968
3969	// Duration (in seconds) of each fragment. Actual fragments will berounded to
3970	// the nearest multiple of the source fragment duration.
3971	SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"`
3972
3973	// A StreamSelection configuration.
3974	StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"`
3975
3976	// When enabled, audio streams will be placed in rendition groups in the output.
3977	UseAudioRenditionGroup *bool `locationName:"useAudioRenditionGroup" type:"boolean"`
3978}
3979
3980// String returns the string representation
3981func (s HlsPackage) String() string {
3982	return awsutil.Prettify(s)
3983}
3984
3985// GoString returns the string representation
3986func (s HlsPackage) GoString() string {
3987	return s.String()
3988}
3989
3990// Validate inspects the fields of the type to determine if they are valid.
3991func (s *HlsPackage) Validate() error {
3992	invalidParams := request.ErrInvalidParams{Context: "HlsPackage"}
3993	if s.Encryption != nil {
3994		if err := s.Encryption.Validate(); err != nil {
3995			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
3996		}
3997	}
3998
3999	if invalidParams.Len() > 0 {
4000		return invalidParams
4001	}
4002	return nil
4003}
4004
4005// SetAdMarkers sets the AdMarkers field's value.
4006func (s *HlsPackage) SetAdMarkers(v string) *HlsPackage {
4007	s.AdMarkers = &v
4008	return s
4009}
4010
4011// SetAdTriggers sets the AdTriggers field's value.
4012func (s *HlsPackage) SetAdTriggers(v []*string) *HlsPackage {
4013	s.AdTriggers = v
4014	return s
4015}
4016
4017// SetAdsOnDeliveryRestrictions sets the AdsOnDeliveryRestrictions field's value.
4018func (s *HlsPackage) SetAdsOnDeliveryRestrictions(v string) *HlsPackage {
4019	s.AdsOnDeliveryRestrictions = &v
4020	return s
4021}
4022
4023// SetEncryption sets the Encryption field's value.
4024func (s *HlsPackage) SetEncryption(v *HlsEncryption) *HlsPackage {
4025	s.Encryption = v
4026	return s
4027}
4028
4029// SetIncludeIframeOnlyStream sets the IncludeIframeOnlyStream field's value.
4030func (s *HlsPackage) SetIncludeIframeOnlyStream(v bool) *HlsPackage {
4031	s.IncludeIframeOnlyStream = &v
4032	return s
4033}
4034
4035// SetPlaylistType sets the PlaylistType field's value.
4036func (s *HlsPackage) SetPlaylistType(v string) *HlsPackage {
4037	s.PlaylistType = &v
4038	return s
4039}
4040
4041// SetPlaylistWindowSeconds sets the PlaylistWindowSeconds field's value.
4042func (s *HlsPackage) SetPlaylistWindowSeconds(v int64) *HlsPackage {
4043	s.PlaylistWindowSeconds = &v
4044	return s
4045}
4046
4047// SetProgramDateTimeIntervalSeconds sets the ProgramDateTimeIntervalSeconds field's value.
4048func (s *HlsPackage) SetProgramDateTimeIntervalSeconds(v int64) *HlsPackage {
4049	s.ProgramDateTimeIntervalSeconds = &v
4050	return s
4051}
4052
4053// SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value.
4054func (s *HlsPackage) SetSegmentDurationSeconds(v int64) *HlsPackage {
4055	s.SegmentDurationSeconds = &v
4056	return s
4057}
4058
4059// SetStreamSelection sets the StreamSelection field's value.
4060func (s *HlsPackage) SetStreamSelection(v *StreamSelection) *HlsPackage {
4061	s.StreamSelection = v
4062	return s
4063}
4064
4065// SetUseAudioRenditionGroup sets the UseAudioRenditionGroup field's value.
4066func (s *HlsPackage) SetUseAudioRenditionGroup(v bool) *HlsPackage {
4067	s.UseAudioRenditionGroup = &v
4068	return s
4069}
4070
4071// An endpoint for ingesting source content for a Channel.
4072type IngestEndpoint struct {
4073	_ struct{} `type:"structure"`
4074
4075	// The system generated unique identifier for the IngestEndpoint
4076	Id *string `locationName:"id" type:"string"`
4077
4078	// The system generated password for ingest authentication.
4079	Password *string `locationName:"password" type:"string"`
4080
4081	// The ingest URL to which the source stream should be sent.
4082	Url *string `locationName:"url" type:"string"`
4083
4084	// The system generated username for ingest authentication.
4085	Username *string `locationName:"username" type:"string"`
4086}
4087
4088// String returns the string representation
4089func (s IngestEndpoint) String() string {
4090	return awsutil.Prettify(s)
4091}
4092
4093// GoString returns the string representation
4094func (s IngestEndpoint) GoString() string {
4095	return s.String()
4096}
4097
4098// SetId sets the Id field's value.
4099func (s *IngestEndpoint) SetId(v string) *IngestEndpoint {
4100	s.Id = &v
4101	return s
4102}
4103
4104// SetPassword sets the Password field's value.
4105func (s *IngestEndpoint) SetPassword(v string) *IngestEndpoint {
4106	s.Password = &v
4107	return s
4108}
4109
4110// SetUrl sets the Url field's value.
4111func (s *IngestEndpoint) SetUrl(v string) *IngestEndpoint {
4112	s.Url = &v
4113	return s
4114}
4115
4116// SetUsername sets the Username field's value.
4117func (s *IngestEndpoint) SetUsername(v string) *IngestEndpoint {
4118	s.Username = &v
4119	return s
4120}
4121
4122type InternalServerErrorException struct {
4123	_            struct{} `type:"structure"`
4124	respMetadata protocol.ResponseMetadata
4125
4126	Message_ *string `locationName:"message" type:"string"`
4127}
4128
4129// String returns the string representation
4130func (s InternalServerErrorException) String() string {
4131	return awsutil.Prettify(s)
4132}
4133
4134// GoString returns the string representation
4135func (s InternalServerErrorException) GoString() string {
4136	return s.String()
4137}
4138
4139func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error {
4140	return &InternalServerErrorException{
4141		respMetadata: v,
4142	}
4143}
4144
4145// Code returns the exception type name.
4146func (s InternalServerErrorException) Code() string {
4147	return "InternalServerErrorException"
4148}
4149
4150// Message returns the exception's message.
4151func (s InternalServerErrorException) Message() string {
4152	if s.Message_ != nil {
4153		return *s.Message_
4154	}
4155	return ""
4156}
4157
4158// OrigErr always returns nil, satisfies awserr.Error interface.
4159func (s InternalServerErrorException) OrigErr() error {
4160	return nil
4161}
4162
4163func (s InternalServerErrorException) Error() string {
4164	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4165}
4166
4167// Status code returns the HTTP status code for the request's response error.
4168func (s InternalServerErrorException) StatusCode() int {
4169	return s.respMetadata.StatusCode
4170}
4171
4172// RequestID returns the service's response RequestID for request.
4173func (s InternalServerErrorException) RequestID() string {
4174	return s.respMetadata.RequestID
4175}
4176
4177type ListChannelsInput struct {
4178	_ struct{} `type:"structure"`
4179
4180	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
4181
4182	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
4183}
4184
4185// String returns the string representation
4186func (s ListChannelsInput) String() string {
4187	return awsutil.Prettify(s)
4188}
4189
4190// GoString returns the string representation
4191func (s ListChannelsInput) GoString() string {
4192	return s.String()
4193}
4194
4195// Validate inspects the fields of the type to determine if they are valid.
4196func (s *ListChannelsInput) Validate() error {
4197	invalidParams := request.ErrInvalidParams{Context: "ListChannelsInput"}
4198	if s.MaxResults != nil && *s.MaxResults < 1 {
4199		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4200	}
4201
4202	if invalidParams.Len() > 0 {
4203		return invalidParams
4204	}
4205	return nil
4206}
4207
4208// SetMaxResults sets the MaxResults field's value.
4209func (s *ListChannelsInput) SetMaxResults(v int64) *ListChannelsInput {
4210	s.MaxResults = &v
4211	return s
4212}
4213
4214// SetNextToken sets the NextToken field's value.
4215func (s *ListChannelsInput) SetNextToken(v string) *ListChannelsInput {
4216	s.NextToken = &v
4217	return s
4218}
4219
4220type ListChannelsOutput struct {
4221	_ struct{} `type:"structure"`
4222
4223	Channels []*Channel `locationName:"channels" type:"list"`
4224
4225	NextToken *string `locationName:"nextToken" type:"string"`
4226}
4227
4228// String returns the string representation
4229func (s ListChannelsOutput) String() string {
4230	return awsutil.Prettify(s)
4231}
4232
4233// GoString returns the string representation
4234func (s ListChannelsOutput) GoString() string {
4235	return s.String()
4236}
4237
4238// SetChannels sets the Channels field's value.
4239func (s *ListChannelsOutput) SetChannels(v []*Channel) *ListChannelsOutput {
4240	s.Channels = v
4241	return s
4242}
4243
4244// SetNextToken sets the NextToken field's value.
4245func (s *ListChannelsOutput) SetNextToken(v string) *ListChannelsOutput {
4246	s.NextToken = &v
4247	return s
4248}
4249
4250type ListHarvestJobsInput struct {
4251	_ struct{} `type:"structure"`
4252
4253	IncludeChannelId *string `location:"querystring" locationName:"includeChannelId" type:"string"`
4254
4255	IncludeStatus *string `location:"querystring" locationName:"includeStatus" type:"string"`
4256
4257	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
4258
4259	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
4260}
4261
4262// String returns the string representation
4263func (s ListHarvestJobsInput) String() string {
4264	return awsutil.Prettify(s)
4265}
4266
4267// GoString returns the string representation
4268func (s ListHarvestJobsInput) GoString() string {
4269	return s.String()
4270}
4271
4272// Validate inspects the fields of the type to determine if they are valid.
4273func (s *ListHarvestJobsInput) Validate() error {
4274	invalidParams := request.ErrInvalidParams{Context: "ListHarvestJobsInput"}
4275	if s.MaxResults != nil && *s.MaxResults < 1 {
4276		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4277	}
4278
4279	if invalidParams.Len() > 0 {
4280		return invalidParams
4281	}
4282	return nil
4283}
4284
4285// SetIncludeChannelId sets the IncludeChannelId field's value.
4286func (s *ListHarvestJobsInput) SetIncludeChannelId(v string) *ListHarvestJobsInput {
4287	s.IncludeChannelId = &v
4288	return s
4289}
4290
4291// SetIncludeStatus sets the IncludeStatus field's value.
4292func (s *ListHarvestJobsInput) SetIncludeStatus(v string) *ListHarvestJobsInput {
4293	s.IncludeStatus = &v
4294	return s
4295}
4296
4297// SetMaxResults sets the MaxResults field's value.
4298func (s *ListHarvestJobsInput) SetMaxResults(v int64) *ListHarvestJobsInput {
4299	s.MaxResults = &v
4300	return s
4301}
4302
4303// SetNextToken sets the NextToken field's value.
4304func (s *ListHarvestJobsInput) SetNextToken(v string) *ListHarvestJobsInput {
4305	s.NextToken = &v
4306	return s
4307}
4308
4309type ListHarvestJobsOutput struct {
4310	_ struct{} `type:"structure"`
4311
4312	HarvestJobs []*HarvestJob `locationName:"harvestJobs" type:"list"`
4313
4314	NextToken *string `locationName:"nextToken" type:"string"`
4315}
4316
4317// String returns the string representation
4318func (s ListHarvestJobsOutput) String() string {
4319	return awsutil.Prettify(s)
4320}
4321
4322// GoString returns the string representation
4323func (s ListHarvestJobsOutput) GoString() string {
4324	return s.String()
4325}
4326
4327// SetHarvestJobs sets the HarvestJobs field's value.
4328func (s *ListHarvestJobsOutput) SetHarvestJobs(v []*HarvestJob) *ListHarvestJobsOutput {
4329	s.HarvestJobs = v
4330	return s
4331}
4332
4333// SetNextToken sets the NextToken field's value.
4334func (s *ListHarvestJobsOutput) SetNextToken(v string) *ListHarvestJobsOutput {
4335	s.NextToken = &v
4336	return s
4337}
4338
4339type ListOriginEndpointsInput struct {
4340	_ struct{} `type:"structure"`
4341
4342	ChannelId *string `location:"querystring" locationName:"channelId" type:"string"`
4343
4344	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
4345
4346	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
4347}
4348
4349// String returns the string representation
4350func (s ListOriginEndpointsInput) String() string {
4351	return awsutil.Prettify(s)
4352}
4353
4354// GoString returns the string representation
4355func (s ListOriginEndpointsInput) GoString() string {
4356	return s.String()
4357}
4358
4359// Validate inspects the fields of the type to determine if they are valid.
4360func (s *ListOriginEndpointsInput) Validate() error {
4361	invalidParams := request.ErrInvalidParams{Context: "ListOriginEndpointsInput"}
4362	if s.MaxResults != nil && *s.MaxResults < 1 {
4363		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4364	}
4365
4366	if invalidParams.Len() > 0 {
4367		return invalidParams
4368	}
4369	return nil
4370}
4371
4372// SetChannelId sets the ChannelId field's value.
4373func (s *ListOriginEndpointsInput) SetChannelId(v string) *ListOriginEndpointsInput {
4374	s.ChannelId = &v
4375	return s
4376}
4377
4378// SetMaxResults sets the MaxResults field's value.
4379func (s *ListOriginEndpointsInput) SetMaxResults(v int64) *ListOriginEndpointsInput {
4380	s.MaxResults = &v
4381	return s
4382}
4383
4384// SetNextToken sets the NextToken field's value.
4385func (s *ListOriginEndpointsInput) SetNextToken(v string) *ListOriginEndpointsInput {
4386	s.NextToken = &v
4387	return s
4388}
4389
4390type ListOriginEndpointsOutput struct {
4391	_ struct{} `type:"structure"`
4392
4393	NextToken *string `locationName:"nextToken" type:"string"`
4394
4395	OriginEndpoints []*OriginEndpoint `locationName:"originEndpoints" type:"list"`
4396}
4397
4398// String returns the string representation
4399func (s ListOriginEndpointsOutput) String() string {
4400	return awsutil.Prettify(s)
4401}
4402
4403// GoString returns the string representation
4404func (s ListOriginEndpointsOutput) GoString() string {
4405	return s.String()
4406}
4407
4408// SetNextToken sets the NextToken field's value.
4409func (s *ListOriginEndpointsOutput) SetNextToken(v string) *ListOriginEndpointsOutput {
4410	s.NextToken = &v
4411	return s
4412}
4413
4414// SetOriginEndpoints sets the OriginEndpoints field's value.
4415func (s *ListOriginEndpointsOutput) SetOriginEndpoints(v []*OriginEndpoint) *ListOriginEndpointsOutput {
4416	s.OriginEndpoints = v
4417	return s
4418}
4419
4420type ListTagsForResourceInput struct {
4421	_ struct{} `type:"structure"`
4422
4423	// ResourceArn is a required field
4424	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
4425}
4426
4427// String returns the string representation
4428func (s ListTagsForResourceInput) String() string {
4429	return awsutil.Prettify(s)
4430}
4431
4432// GoString returns the string representation
4433func (s ListTagsForResourceInput) GoString() string {
4434	return s.String()
4435}
4436
4437// Validate inspects the fields of the type to determine if they are valid.
4438func (s *ListTagsForResourceInput) Validate() error {
4439	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
4440	if s.ResourceArn == nil {
4441		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
4442	}
4443	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
4444		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
4445	}
4446
4447	if invalidParams.Len() > 0 {
4448		return invalidParams
4449	}
4450	return nil
4451}
4452
4453// SetResourceArn sets the ResourceArn field's value.
4454func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
4455	s.ResourceArn = &v
4456	return s
4457}
4458
4459type ListTagsForResourceOutput struct {
4460	_ struct{} `type:"structure"`
4461
4462	Tags map[string]*string `locationName:"tags" type:"map"`
4463}
4464
4465// String returns the string representation
4466func (s ListTagsForResourceOutput) String() string {
4467	return awsutil.Prettify(s)
4468}
4469
4470// GoString returns the string representation
4471func (s ListTagsForResourceOutput) GoString() string {
4472	return s.String()
4473}
4474
4475// SetTags sets the Tags field's value.
4476func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
4477	s.Tags = v
4478	return s
4479}
4480
4481// A Microsoft Smooth Streaming (MSS) encryption configuration.
4482type MssEncryption struct {
4483	_ struct{} `type:"structure"`
4484
4485	// A configuration for accessing an external Secure Packager and Encoder Key
4486	// Exchange (SPEKE) service that will provide encryption keys.
4487	//
4488	// SpekeKeyProvider is a required field
4489	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"`
4490}
4491
4492// String returns the string representation
4493func (s MssEncryption) String() string {
4494	return awsutil.Prettify(s)
4495}
4496
4497// GoString returns the string representation
4498func (s MssEncryption) GoString() string {
4499	return s.String()
4500}
4501
4502// Validate inspects the fields of the type to determine if they are valid.
4503func (s *MssEncryption) Validate() error {
4504	invalidParams := request.ErrInvalidParams{Context: "MssEncryption"}
4505	if s.SpekeKeyProvider == nil {
4506		invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider"))
4507	}
4508	if s.SpekeKeyProvider != nil {
4509		if err := s.SpekeKeyProvider.Validate(); err != nil {
4510			invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams))
4511		}
4512	}
4513
4514	if invalidParams.Len() > 0 {
4515		return invalidParams
4516	}
4517	return nil
4518}
4519
4520// SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
4521func (s *MssEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *MssEncryption {
4522	s.SpekeKeyProvider = v
4523	return s
4524}
4525
4526// A Microsoft Smooth Streaming (MSS) packaging configuration.
4527type MssPackage struct {
4528	_ struct{} `type:"structure"`
4529
4530	// A Microsoft Smooth Streaming (MSS) encryption configuration.
4531	Encryption *MssEncryption `locationName:"encryption" type:"structure"`
4532
4533	// The time window (in seconds) contained in each manifest.
4534	ManifestWindowSeconds *int64 `locationName:"manifestWindowSeconds" type:"integer"`
4535
4536	// The duration (in seconds) of each segment.
4537	SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"`
4538
4539	// A StreamSelection configuration.
4540	StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"`
4541}
4542
4543// String returns the string representation
4544func (s MssPackage) String() string {
4545	return awsutil.Prettify(s)
4546}
4547
4548// GoString returns the string representation
4549func (s MssPackage) GoString() string {
4550	return s.String()
4551}
4552
4553// Validate inspects the fields of the type to determine if they are valid.
4554func (s *MssPackage) Validate() error {
4555	invalidParams := request.ErrInvalidParams{Context: "MssPackage"}
4556	if s.Encryption != nil {
4557		if err := s.Encryption.Validate(); err != nil {
4558			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
4559		}
4560	}
4561
4562	if invalidParams.Len() > 0 {
4563		return invalidParams
4564	}
4565	return nil
4566}
4567
4568// SetEncryption sets the Encryption field's value.
4569func (s *MssPackage) SetEncryption(v *MssEncryption) *MssPackage {
4570	s.Encryption = v
4571	return s
4572}
4573
4574// SetManifestWindowSeconds sets the ManifestWindowSeconds field's value.
4575func (s *MssPackage) SetManifestWindowSeconds(v int64) *MssPackage {
4576	s.ManifestWindowSeconds = &v
4577	return s
4578}
4579
4580// SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value.
4581func (s *MssPackage) SetSegmentDurationSeconds(v int64) *MssPackage {
4582	s.SegmentDurationSeconds = &v
4583	return s
4584}
4585
4586// SetStreamSelection sets the StreamSelection field's value.
4587func (s *MssPackage) SetStreamSelection(v *StreamSelection) *MssPackage {
4588	s.StreamSelection = v
4589	return s
4590}
4591
4592type NotFoundException struct {
4593	_            struct{} `type:"structure"`
4594	respMetadata protocol.ResponseMetadata
4595
4596	Message_ *string `locationName:"message" type:"string"`
4597}
4598
4599// String returns the string representation
4600func (s NotFoundException) String() string {
4601	return awsutil.Prettify(s)
4602}
4603
4604// GoString returns the string representation
4605func (s NotFoundException) GoString() string {
4606	return s.String()
4607}
4608
4609func newErrorNotFoundException(v protocol.ResponseMetadata) error {
4610	return &NotFoundException{
4611		respMetadata: v,
4612	}
4613}
4614
4615// Code returns the exception type name.
4616func (s NotFoundException) Code() string {
4617	return "NotFoundException"
4618}
4619
4620// Message returns the exception's message.
4621func (s NotFoundException) Message() string {
4622	if s.Message_ != nil {
4623		return *s.Message_
4624	}
4625	return ""
4626}
4627
4628// OrigErr always returns nil, satisfies awserr.Error interface.
4629func (s NotFoundException) OrigErr() error {
4630	return nil
4631}
4632
4633func (s NotFoundException) Error() string {
4634	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4635}
4636
4637// Status code returns the HTTP status code for the request's response error.
4638func (s NotFoundException) StatusCode() int {
4639	return s.respMetadata.StatusCode
4640}
4641
4642// RequestID returns the service's response RequestID for request.
4643func (s NotFoundException) RequestID() string {
4644	return s.respMetadata.RequestID
4645}
4646
4647// An OriginEndpoint resource configuration.
4648type OriginEndpoint struct {
4649	_ struct{} `type:"structure"`
4650
4651	// The Amazon Resource Name (ARN) assigned to the OriginEndpoint.
4652	Arn *string `locationName:"arn" type:"string"`
4653
4654	// CDN Authorization credentials
4655	Authorization *Authorization `locationName:"authorization" type:"structure"`
4656
4657	// The ID of the Channel the OriginEndpoint is associated with.
4658	ChannelId *string `locationName:"channelId" type:"string"`
4659
4660	// A Common Media Application Format (CMAF) packaging configuration.
4661	CmafPackage *CmafPackage `locationName:"cmafPackage" type:"structure"`
4662
4663	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
4664	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
4665
4666	// A short text description of the OriginEndpoint.
4667	Description *string `locationName:"description" type:"string"`
4668
4669	// An HTTP Live Streaming (HLS) packaging configuration.
4670	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
4671
4672	// The ID of the OriginEndpoint.
4673	Id *string `locationName:"id" type:"string"`
4674
4675	// A short string appended to the end of the OriginEndpoint URL.
4676	ManifestName *string `locationName:"manifestName" type:"string"`
4677
4678	// A Microsoft Smooth Streaming (MSS) packaging configuration.
4679	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
4680
4681	// Control whether origination of video is allowed for this OriginEndpoint.
4682	// If set to ALLOW, the OriginEndpointmay by requested, pursuant to any other
4683	// form of access control. If set to DENY, the OriginEndpoint may not berequested.
4684	// This can be helpful for Live to VOD harvesting, or for temporarily disabling
4685	// origination
4686	Origination *string `locationName:"origination" type:"string" enum:"Origination"`
4687
4688	// Maximum duration (seconds) of content to retain for startover playback.If
4689	// not specified, startover playback will be disabled for the OriginEndpoint.
4690	StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"`
4691
4692	// A collection of tags associated with a resource
4693	Tags map[string]*string `locationName:"tags" type:"map"`
4694
4695	// Amount of delay (seconds) to enforce on the playback of live content.If not
4696	// specified, there will be no time delay in effect for the OriginEndpoint.
4697	TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"`
4698
4699	// The URL of the packaged OriginEndpoint for consumption.
4700	Url *string `locationName:"url" type:"string"`
4701
4702	// A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.
4703	Whitelist []*string `locationName:"whitelist" type:"list"`
4704}
4705
4706// String returns the string representation
4707func (s OriginEndpoint) String() string {
4708	return awsutil.Prettify(s)
4709}
4710
4711// GoString returns the string representation
4712func (s OriginEndpoint) GoString() string {
4713	return s.String()
4714}
4715
4716// SetArn sets the Arn field's value.
4717func (s *OriginEndpoint) SetArn(v string) *OriginEndpoint {
4718	s.Arn = &v
4719	return s
4720}
4721
4722// SetAuthorization sets the Authorization field's value.
4723func (s *OriginEndpoint) SetAuthorization(v *Authorization) *OriginEndpoint {
4724	s.Authorization = v
4725	return s
4726}
4727
4728// SetChannelId sets the ChannelId field's value.
4729func (s *OriginEndpoint) SetChannelId(v string) *OriginEndpoint {
4730	s.ChannelId = &v
4731	return s
4732}
4733
4734// SetCmafPackage sets the CmafPackage field's value.
4735func (s *OriginEndpoint) SetCmafPackage(v *CmafPackage) *OriginEndpoint {
4736	s.CmafPackage = v
4737	return s
4738}
4739
4740// SetDashPackage sets the DashPackage field's value.
4741func (s *OriginEndpoint) SetDashPackage(v *DashPackage) *OriginEndpoint {
4742	s.DashPackage = v
4743	return s
4744}
4745
4746// SetDescription sets the Description field's value.
4747func (s *OriginEndpoint) SetDescription(v string) *OriginEndpoint {
4748	s.Description = &v
4749	return s
4750}
4751
4752// SetHlsPackage sets the HlsPackage field's value.
4753func (s *OriginEndpoint) SetHlsPackage(v *HlsPackage) *OriginEndpoint {
4754	s.HlsPackage = v
4755	return s
4756}
4757
4758// SetId sets the Id field's value.
4759func (s *OriginEndpoint) SetId(v string) *OriginEndpoint {
4760	s.Id = &v
4761	return s
4762}
4763
4764// SetManifestName sets the ManifestName field's value.
4765func (s *OriginEndpoint) SetManifestName(v string) *OriginEndpoint {
4766	s.ManifestName = &v
4767	return s
4768}
4769
4770// SetMssPackage sets the MssPackage field's value.
4771func (s *OriginEndpoint) SetMssPackage(v *MssPackage) *OriginEndpoint {
4772	s.MssPackage = v
4773	return s
4774}
4775
4776// SetOrigination sets the Origination field's value.
4777func (s *OriginEndpoint) SetOrigination(v string) *OriginEndpoint {
4778	s.Origination = &v
4779	return s
4780}
4781
4782// SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value.
4783func (s *OriginEndpoint) SetStartoverWindowSeconds(v int64) *OriginEndpoint {
4784	s.StartoverWindowSeconds = &v
4785	return s
4786}
4787
4788// SetTags sets the Tags field's value.
4789func (s *OriginEndpoint) SetTags(v map[string]*string) *OriginEndpoint {
4790	s.Tags = v
4791	return s
4792}
4793
4794// SetTimeDelaySeconds sets the TimeDelaySeconds field's value.
4795func (s *OriginEndpoint) SetTimeDelaySeconds(v int64) *OriginEndpoint {
4796	s.TimeDelaySeconds = &v
4797	return s
4798}
4799
4800// SetUrl sets the Url field's value.
4801func (s *OriginEndpoint) SetUrl(v string) *OriginEndpoint {
4802	s.Url = &v
4803	return s
4804}
4805
4806// SetWhitelist sets the Whitelist field's value.
4807func (s *OriginEndpoint) SetWhitelist(v []*string) *OriginEndpoint {
4808	s.Whitelist = v
4809	return s
4810}
4811
4812// Deprecated: RotateChannelCredentialsInput has been deprecated
4813type RotateChannelCredentialsInput struct {
4814	_ struct{} `deprecated:"true" type:"structure"`
4815
4816	// Id is a required field
4817	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
4818}
4819
4820// String returns the string representation
4821func (s RotateChannelCredentialsInput) String() string {
4822	return awsutil.Prettify(s)
4823}
4824
4825// GoString returns the string representation
4826func (s RotateChannelCredentialsInput) GoString() string {
4827	return s.String()
4828}
4829
4830// Validate inspects the fields of the type to determine if they are valid.
4831func (s *RotateChannelCredentialsInput) Validate() error {
4832	invalidParams := request.ErrInvalidParams{Context: "RotateChannelCredentialsInput"}
4833	if s.Id == nil {
4834		invalidParams.Add(request.NewErrParamRequired("Id"))
4835	}
4836	if s.Id != nil && len(*s.Id) < 1 {
4837		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
4838	}
4839
4840	if invalidParams.Len() > 0 {
4841		return invalidParams
4842	}
4843	return nil
4844}
4845
4846// SetId sets the Id field's value.
4847func (s *RotateChannelCredentialsInput) SetId(v string) *RotateChannelCredentialsInput {
4848	s.Id = &v
4849	return s
4850}
4851
4852// Deprecated: RotateChannelCredentialsOutput has been deprecated
4853type RotateChannelCredentialsOutput struct {
4854	_ struct{} `deprecated:"true" type:"structure"`
4855
4856	Arn *string `locationName:"arn" type:"string"`
4857
4858	Description *string `locationName:"description" type:"string"`
4859
4860	// An HTTP Live Streaming (HLS) ingest resource configuration.
4861	HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"`
4862
4863	Id *string `locationName:"id" type:"string"`
4864
4865	// A collection of tags associated with a resource
4866	Tags map[string]*string `locationName:"tags" type:"map"`
4867}
4868
4869// String returns the string representation
4870func (s RotateChannelCredentialsOutput) String() string {
4871	return awsutil.Prettify(s)
4872}
4873
4874// GoString returns the string representation
4875func (s RotateChannelCredentialsOutput) GoString() string {
4876	return s.String()
4877}
4878
4879// SetArn sets the Arn field's value.
4880func (s *RotateChannelCredentialsOutput) SetArn(v string) *RotateChannelCredentialsOutput {
4881	s.Arn = &v
4882	return s
4883}
4884
4885// SetDescription sets the Description field's value.
4886func (s *RotateChannelCredentialsOutput) SetDescription(v string) *RotateChannelCredentialsOutput {
4887	s.Description = &v
4888	return s
4889}
4890
4891// SetHlsIngest sets the HlsIngest field's value.
4892func (s *RotateChannelCredentialsOutput) SetHlsIngest(v *HlsIngest) *RotateChannelCredentialsOutput {
4893	s.HlsIngest = v
4894	return s
4895}
4896
4897// SetId sets the Id field's value.
4898func (s *RotateChannelCredentialsOutput) SetId(v string) *RotateChannelCredentialsOutput {
4899	s.Id = &v
4900	return s
4901}
4902
4903// SetTags sets the Tags field's value.
4904func (s *RotateChannelCredentialsOutput) SetTags(v map[string]*string) *RotateChannelCredentialsOutput {
4905	s.Tags = v
4906	return s
4907}
4908
4909type RotateIngestEndpointCredentialsInput struct {
4910	_ struct{} `type:"structure"`
4911
4912	// Id is a required field
4913	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
4914
4915	// IngestEndpointId is a required field
4916	IngestEndpointId *string `location:"uri" locationName:"ingest_endpoint_id" type:"string" required:"true"`
4917}
4918
4919// String returns the string representation
4920func (s RotateIngestEndpointCredentialsInput) String() string {
4921	return awsutil.Prettify(s)
4922}
4923
4924// GoString returns the string representation
4925func (s RotateIngestEndpointCredentialsInput) GoString() string {
4926	return s.String()
4927}
4928
4929// Validate inspects the fields of the type to determine if they are valid.
4930func (s *RotateIngestEndpointCredentialsInput) Validate() error {
4931	invalidParams := request.ErrInvalidParams{Context: "RotateIngestEndpointCredentialsInput"}
4932	if s.Id == nil {
4933		invalidParams.Add(request.NewErrParamRequired("Id"))
4934	}
4935	if s.Id != nil && len(*s.Id) < 1 {
4936		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
4937	}
4938	if s.IngestEndpointId == nil {
4939		invalidParams.Add(request.NewErrParamRequired("IngestEndpointId"))
4940	}
4941	if s.IngestEndpointId != nil && len(*s.IngestEndpointId) < 1 {
4942		invalidParams.Add(request.NewErrParamMinLen("IngestEndpointId", 1))
4943	}
4944
4945	if invalidParams.Len() > 0 {
4946		return invalidParams
4947	}
4948	return nil
4949}
4950
4951// SetId sets the Id field's value.
4952func (s *RotateIngestEndpointCredentialsInput) SetId(v string) *RotateIngestEndpointCredentialsInput {
4953	s.Id = &v
4954	return s
4955}
4956
4957// SetIngestEndpointId sets the IngestEndpointId field's value.
4958func (s *RotateIngestEndpointCredentialsInput) SetIngestEndpointId(v string) *RotateIngestEndpointCredentialsInput {
4959	s.IngestEndpointId = &v
4960	return s
4961}
4962
4963type RotateIngestEndpointCredentialsOutput struct {
4964	_ struct{} `type:"structure"`
4965
4966	Arn *string `locationName:"arn" type:"string"`
4967
4968	Description *string `locationName:"description" type:"string"`
4969
4970	// An HTTP Live Streaming (HLS) ingest resource configuration.
4971	HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"`
4972
4973	Id *string `locationName:"id" type:"string"`
4974
4975	// A collection of tags associated with a resource
4976	Tags map[string]*string `locationName:"tags" type:"map"`
4977}
4978
4979// String returns the string representation
4980func (s RotateIngestEndpointCredentialsOutput) String() string {
4981	return awsutil.Prettify(s)
4982}
4983
4984// GoString returns the string representation
4985func (s RotateIngestEndpointCredentialsOutput) GoString() string {
4986	return s.String()
4987}
4988
4989// SetArn sets the Arn field's value.
4990func (s *RotateIngestEndpointCredentialsOutput) SetArn(v string) *RotateIngestEndpointCredentialsOutput {
4991	s.Arn = &v
4992	return s
4993}
4994
4995// SetDescription sets the Description field's value.
4996func (s *RotateIngestEndpointCredentialsOutput) SetDescription(v string) *RotateIngestEndpointCredentialsOutput {
4997	s.Description = &v
4998	return s
4999}
5000
5001// SetHlsIngest sets the HlsIngest field's value.
5002func (s *RotateIngestEndpointCredentialsOutput) SetHlsIngest(v *HlsIngest) *RotateIngestEndpointCredentialsOutput {
5003	s.HlsIngest = v
5004	return s
5005}
5006
5007// SetId sets the Id field's value.
5008func (s *RotateIngestEndpointCredentialsOutput) SetId(v string) *RotateIngestEndpointCredentialsOutput {
5009	s.Id = &v
5010	return s
5011}
5012
5013// SetTags sets the Tags field's value.
5014func (s *RotateIngestEndpointCredentialsOutput) SetTags(v map[string]*string) *RotateIngestEndpointCredentialsOutput {
5015	s.Tags = v
5016	return s
5017}
5018
5019// Configuration parameters for where in an S3 bucket to place the harvested
5020// content
5021type S3Destination struct {
5022	_ struct{} `type:"structure"`
5023
5024	// The name of an S3 bucket within which harvested content will be exported
5025	//
5026	// BucketName is a required field
5027	BucketName *string `locationName:"bucketName" type:"string" required:"true"`
5028
5029	// The key in the specified S3 bucket where the harvested top-level manifest
5030	// will be placed.
5031	//
5032	// ManifestKey is a required field
5033	ManifestKey *string `locationName:"manifestKey" type:"string" required:"true"`
5034
5035	// The IAM role used to write to the specified S3 bucket
5036	//
5037	// RoleArn is a required field
5038	RoleArn *string `locationName:"roleArn" type:"string" required:"true"`
5039}
5040
5041// String returns the string representation
5042func (s S3Destination) String() string {
5043	return awsutil.Prettify(s)
5044}
5045
5046// GoString returns the string representation
5047func (s S3Destination) GoString() string {
5048	return s.String()
5049}
5050
5051// Validate inspects the fields of the type to determine if they are valid.
5052func (s *S3Destination) Validate() error {
5053	invalidParams := request.ErrInvalidParams{Context: "S3Destination"}
5054	if s.BucketName == nil {
5055		invalidParams.Add(request.NewErrParamRequired("BucketName"))
5056	}
5057	if s.ManifestKey == nil {
5058		invalidParams.Add(request.NewErrParamRequired("ManifestKey"))
5059	}
5060	if s.RoleArn == nil {
5061		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
5062	}
5063
5064	if invalidParams.Len() > 0 {
5065		return invalidParams
5066	}
5067	return nil
5068}
5069
5070// SetBucketName sets the BucketName field's value.
5071func (s *S3Destination) SetBucketName(v string) *S3Destination {
5072	s.BucketName = &v
5073	return s
5074}
5075
5076// SetManifestKey sets the ManifestKey field's value.
5077func (s *S3Destination) SetManifestKey(v string) *S3Destination {
5078	s.ManifestKey = &v
5079	return s
5080}
5081
5082// SetRoleArn sets the RoleArn field's value.
5083func (s *S3Destination) SetRoleArn(v string) *S3Destination {
5084	s.RoleArn = &v
5085	return s
5086}
5087
5088type ServiceUnavailableException struct {
5089	_            struct{} `type:"structure"`
5090	respMetadata protocol.ResponseMetadata
5091
5092	Message_ *string `locationName:"message" type:"string"`
5093}
5094
5095// String returns the string representation
5096func (s ServiceUnavailableException) String() string {
5097	return awsutil.Prettify(s)
5098}
5099
5100// GoString returns the string representation
5101func (s ServiceUnavailableException) GoString() string {
5102	return s.String()
5103}
5104
5105func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
5106	return &ServiceUnavailableException{
5107		respMetadata: v,
5108	}
5109}
5110
5111// Code returns the exception type name.
5112func (s ServiceUnavailableException) Code() string {
5113	return "ServiceUnavailableException"
5114}
5115
5116// Message returns the exception's message.
5117func (s ServiceUnavailableException) Message() string {
5118	if s.Message_ != nil {
5119		return *s.Message_
5120	}
5121	return ""
5122}
5123
5124// OrigErr always returns nil, satisfies awserr.Error interface.
5125func (s ServiceUnavailableException) OrigErr() error {
5126	return nil
5127}
5128
5129func (s ServiceUnavailableException) Error() string {
5130	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5131}
5132
5133// Status code returns the HTTP status code for the request's response error.
5134func (s ServiceUnavailableException) StatusCode() int {
5135	return s.respMetadata.StatusCode
5136}
5137
5138// RequestID returns the service's response RequestID for request.
5139func (s ServiceUnavailableException) RequestID() string {
5140	return s.respMetadata.RequestID
5141}
5142
5143// A configuration for accessing an external Secure Packager and Encoder Key
5144// Exchange (SPEKE) service that will provide encryption keys.
5145type SpekeKeyProvider struct {
5146	_ struct{} `type:"structure"`
5147
5148	// An Amazon Resource Name (ARN) of a Certificate Manager certificatethat MediaPackage
5149	// will use for enforcing secure end-to-end datatransfer with the key provider
5150	// service.
5151	CertificateArn *string `locationName:"certificateArn" type:"string"`
5152
5153	// The resource ID to include in key requests.
5154	//
5155	// ResourceId is a required field
5156	ResourceId *string `locationName:"resourceId" type:"string" required:"true"`
5157
5158	// An Amazon Resource Name (ARN) of an IAM role that AWS ElementalMediaPackage
5159	// will assume when accessing the key provider service.
5160	//
5161	// RoleArn is a required field
5162	RoleArn *string `locationName:"roleArn" type:"string" required:"true"`
5163
5164	// The system IDs to include in key requests.
5165	//
5166	// SystemIds is a required field
5167	SystemIds []*string `locationName:"systemIds" type:"list" required:"true"`
5168
5169	// The URL of the external key provider service.
5170	//
5171	// Url is a required field
5172	Url *string `locationName:"url" type:"string" required:"true"`
5173}
5174
5175// String returns the string representation
5176func (s SpekeKeyProvider) String() string {
5177	return awsutil.Prettify(s)
5178}
5179
5180// GoString returns the string representation
5181func (s SpekeKeyProvider) GoString() string {
5182	return s.String()
5183}
5184
5185// Validate inspects the fields of the type to determine if they are valid.
5186func (s *SpekeKeyProvider) Validate() error {
5187	invalidParams := request.ErrInvalidParams{Context: "SpekeKeyProvider"}
5188	if s.ResourceId == nil {
5189		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
5190	}
5191	if s.RoleArn == nil {
5192		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
5193	}
5194	if s.SystemIds == nil {
5195		invalidParams.Add(request.NewErrParamRequired("SystemIds"))
5196	}
5197	if s.Url == nil {
5198		invalidParams.Add(request.NewErrParamRequired("Url"))
5199	}
5200
5201	if invalidParams.Len() > 0 {
5202		return invalidParams
5203	}
5204	return nil
5205}
5206
5207// SetCertificateArn sets the CertificateArn field's value.
5208func (s *SpekeKeyProvider) SetCertificateArn(v string) *SpekeKeyProvider {
5209	s.CertificateArn = &v
5210	return s
5211}
5212
5213// SetResourceId sets the ResourceId field's value.
5214func (s *SpekeKeyProvider) SetResourceId(v string) *SpekeKeyProvider {
5215	s.ResourceId = &v
5216	return s
5217}
5218
5219// SetRoleArn sets the RoleArn field's value.
5220func (s *SpekeKeyProvider) SetRoleArn(v string) *SpekeKeyProvider {
5221	s.RoleArn = &v
5222	return s
5223}
5224
5225// SetSystemIds sets the SystemIds field's value.
5226func (s *SpekeKeyProvider) SetSystemIds(v []*string) *SpekeKeyProvider {
5227	s.SystemIds = v
5228	return s
5229}
5230
5231// SetUrl sets the Url field's value.
5232func (s *SpekeKeyProvider) SetUrl(v string) *SpekeKeyProvider {
5233	s.Url = &v
5234	return s
5235}
5236
5237// A StreamSelection configuration.
5238type StreamSelection struct {
5239	_ struct{} `type:"structure"`
5240
5241	// The maximum video bitrate (bps) to include in output.
5242	MaxVideoBitsPerSecond *int64 `locationName:"maxVideoBitsPerSecond" type:"integer"`
5243
5244	// The minimum video bitrate (bps) to include in output.
5245	MinVideoBitsPerSecond *int64 `locationName:"minVideoBitsPerSecond" type:"integer"`
5246
5247	// A directive that determines the order of streams in the output.
5248	StreamOrder *string `locationName:"streamOrder" type:"string" enum:"StreamOrder"`
5249}
5250
5251// String returns the string representation
5252func (s StreamSelection) String() string {
5253	return awsutil.Prettify(s)
5254}
5255
5256// GoString returns the string representation
5257func (s StreamSelection) GoString() string {
5258	return s.String()
5259}
5260
5261// SetMaxVideoBitsPerSecond sets the MaxVideoBitsPerSecond field's value.
5262func (s *StreamSelection) SetMaxVideoBitsPerSecond(v int64) *StreamSelection {
5263	s.MaxVideoBitsPerSecond = &v
5264	return s
5265}
5266
5267// SetMinVideoBitsPerSecond sets the MinVideoBitsPerSecond field's value.
5268func (s *StreamSelection) SetMinVideoBitsPerSecond(v int64) *StreamSelection {
5269	s.MinVideoBitsPerSecond = &v
5270	return s
5271}
5272
5273// SetStreamOrder sets the StreamOrder field's value.
5274func (s *StreamSelection) SetStreamOrder(v string) *StreamSelection {
5275	s.StreamOrder = &v
5276	return s
5277}
5278
5279type TagResourceInput struct {
5280	_ struct{} `type:"structure"`
5281
5282	// ResourceArn is a required field
5283	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
5284
5285	// Tags is a required field
5286	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
5287}
5288
5289// String returns the string representation
5290func (s TagResourceInput) String() string {
5291	return awsutil.Prettify(s)
5292}
5293
5294// GoString returns the string representation
5295func (s TagResourceInput) GoString() string {
5296	return s.String()
5297}
5298
5299// Validate inspects the fields of the type to determine if they are valid.
5300func (s *TagResourceInput) Validate() error {
5301	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
5302	if s.ResourceArn == nil {
5303		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
5304	}
5305	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
5306		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
5307	}
5308	if s.Tags == nil {
5309		invalidParams.Add(request.NewErrParamRequired("Tags"))
5310	}
5311
5312	if invalidParams.Len() > 0 {
5313		return invalidParams
5314	}
5315	return nil
5316}
5317
5318// SetResourceArn sets the ResourceArn field's value.
5319func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
5320	s.ResourceArn = &v
5321	return s
5322}
5323
5324// SetTags sets the Tags field's value.
5325func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
5326	s.Tags = v
5327	return s
5328}
5329
5330type TagResourceOutput struct {
5331	_ struct{} `type:"structure"`
5332}
5333
5334// String returns the string representation
5335func (s TagResourceOutput) String() string {
5336	return awsutil.Prettify(s)
5337}
5338
5339// GoString returns the string representation
5340func (s TagResourceOutput) GoString() string {
5341	return s.String()
5342}
5343
5344type TooManyRequestsException struct {
5345	_            struct{} `type:"structure"`
5346	respMetadata protocol.ResponseMetadata
5347
5348	Message_ *string `locationName:"message" type:"string"`
5349}
5350
5351// String returns the string representation
5352func (s TooManyRequestsException) String() string {
5353	return awsutil.Prettify(s)
5354}
5355
5356// GoString returns the string representation
5357func (s TooManyRequestsException) GoString() string {
5358	return s.String()
5359}
5360
5361func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
5362	return &TooManyRequestsException{
5363		respMetadata: v,
5364	}
5365}
5366
5367// Code returns the exception type name.
5368func (s TooManyRequestsException) Code() string {
5369	return "TooManyRequestsException"
5370}
5371
5372// Message returns the exception's message.
5373func (s TooManyRequestsException) Message() string {
5374	if s.Message_ != nil {
5375		return *s.Message_
5376	}
5377	return ""
5378}
5379
5380// OrigErr always returns nil, satisfies awserr.Error interface.
5381func (s TooManyRequestsException) OrigErr() error {
5382	return nil
5383}
5384
5385func (s TooManyRequestsException) Error() string {
5386	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5387}
5388
5389// Status code returns the HTTP status code for the request's response error.
5390func (s TooManyRequestsException) StatusCode() int {
5391	return s.respMetadata.StatusCode
5392}
5393
5394// RequestID returns the service's response RequestID for request.
5395func (s TooManyRequestsException) RequestID() string {
5396	return s.respMetadata.RequestID
5397}
5398
5399type UnprocessableEntityException struct {
5400	_            struct{} `type:"structure"`
5401	respMetadata protocol.ResponseMetadata
5402
5403	Message_ *string `locationName:"message" type:"string"`
5404}
5405
5406// String returns the string representation
5407func (s UnprocessableEntityException) String() string {
5408	return awsutil.Prettify(s)
5409}
5410
5411// GoString returns the string representation
5412func (s UnprocessableEntityException) GoString() string {
5413	return s.String()
5414}
5415
5416func newErrorUnprocessableEntityException(v protocol.ResponseMetadata) error {
5417	return &UnprocessableEntityException{
5418		respMetadata: v,
5419	}
5420}
5421
5422// Code returns the exception type name.
5423func (s UnprocessableEntityException) Code() string {
5424	return "UnprocessableEntityException"
5425}
5426
5427// Message returns the exception's message.
5428func (s UnprocessableEntityException) Message() string {
5429	if s.Message_ != nil {
5430		return *s.Message_
5431	}
5432	return ""
5433}
5434
5435// OrigErr always returns nil, satisfies awserr.Error interface.
5436func (s UnprocessableEntityException) OrigErr() error {
5437	return nil
5438}
5439
5440func (s UnprocessableEntityException) Error() string {
5441	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5442}
5443
5444// Status code returns the HTTP status code for the request's response error.
5445func (s UnprocessableEntityException) StatusCode() int {
5446	return s.respMetadata.StatusCode
5447}
5448
5449// RequestID returns the service's response RequestID for request.
5450func (s UnprocessableEntityException) RequestID() string {
5451	return s.respMetadata.RequestID
5452}
5453
5454type UntagResourceInput struct {
5455	_ struct{} `type:"structure"`
5456
5457	// ResourceArn is a required field
5458	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
5459
5460	// TagKeys is a required field
5461	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
5462}
5463
5464// String returns the string representation
5465func (s UntagResourceInput) String() string {
5466	return awsutil.Prettify(s)
5467}
5468
5469// GoString returns the string representation
5470func (s UntagResourceInput) GoString() string {
5471	return s.String()
5472}
5473
5474// Validate inspects the fields of the type to determine if they are valid.
5475func (s *UntagResourceInput) Validate() error {
5476	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
5477	if s.ResourceArn == nil {
5478		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
5479	}
5480	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
5481		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
5482	}
5483	if s.TagKeys == nil {
5484		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
5485	}
5486
5487	if invalidParams.Len() > 0 {
5488		return invalidParams
5489	}
5490	return nil
5491}
5492
5493// SetResourceArn sets the ResourceArn field's value.
5494func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
5495	s.ResourceArn = &v
5496	return s
5497}
5498
5499// SetTagKeys sets the TagKeys field's value.
5500func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
5501	s.TagKeys = v
5502	return s
5503}
5504
5505type UntagResourceOutput struct {
5506	_ struct{} `type:"structure"`
5507}
5508
5509// String returns the string representation
5510func (s UntagResourceOutput) String() string {
5511	return awsutil.Prettify(s)
5512}
5513
5514// GoString returns the string representation
5515func (s UntagResourceOutput) GoString() string {
5516	return s.String()
5517}
5518
5519type UpdateChannelInput struct {
5520	_ struct{} `type:"structure"`
5521
5522	Description *string `locationName:"description" type:"string"`
5523
5524	// Id is a required field
5525	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
5526}
5527
5528// String returns the string representation
5529func (s UpdateChannelInput) String() string {
5530	return awsutil.Prettify(s)
5531}
5532
5533// GoString returns the string representation
5534func (s UpdateChannelInput) GoString() string {
5535	return s.String()
5536}
5537
5538// Validate inspects the fields of the type to determine if they are valid.
5539func (s *UpdateChannelInput) Validate() error {
5540	invalidParams := request.ErrInvalidParams{Context: "UpdateChannelInput"}
5541	if s.Id == nil {
5542		invalidParams.Add(request.NewErrParamRequired("Id"))
5543	}
5544	if s.Id != nil && len(*s.Id) < 1 {
5545		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
5546	}
5547
5548	if invalidParams.Len() > 0 {
5549		return invalidParams
5550	}
5551	return nil
5552}
5553
5554// SetDescription sets the Description field's value.
5555func (s *UpdateChannelInput) SetDescription(v string) *UpdateChannelInput {
5556	s.Description = &v
5557	return s
5558}
5559
5560// SetId sets the Id field's value.
5561func (s *UpdateChannelInput) SetId(v string) *UpdateChannelInput {
5562	s.Id = &v
5563	return s
5564}
5565
5566type UpdateChannelOutput struct {
5567	_ struct{} `type:"structure"`
5568
5569	Arn *string `locationName:"arn" type:"string"`
5570
5571	Description *string `locationName:"description" type:"string"`
5572
5573	// An HTTP Live Streaming (HLS) ingest resource configuration.
5574	HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"`
5575
5576	Id *string `locationName:"id" type:"string"`
5577
5578	// A collection of tags associated with a resource
5579	Tags map[string]*string `locationName:"tags" type:"map"`
5580}
5581
5582// String returns the string representation
5583func (s UpdateChannelOutput) String() string {
5584	return awsutil.Prettify(s)
5585}
5586
5587// GoString returns the string representation
5588func (s UpdateChannelOutput) GoString() string {
5589	return s.String()
5590}
5591
5592// SetArn sets the Arn field's value.
5593func (s *UpdateChannelOutput) SetArn(v string) *UpdateChannelOutput {
5594	s.Arn = &v
5595	return s
5596}
5597
5598// SetDescription sets the Description field's value.
5599func (s *UpdateChannelOutput) SetDescription(v string) *UpdateChannelOutput {
5600	s.Description = &v
5601	return s
5602}
5603
5604// SetHlsIngest sets the HlsIngest field's value.
5605func (s *UpdateChannelOutput) SetHlsIngest(v *HlsIngest) *UpdateChannelOutput {
5606	s.HlsIngest = v
5607	return s
5608}
5609
5610// SetId sets the Id field's value.
5611func (s *UpdateChannelOutput) SetId(v string) *UpdateChannelOutput {
5612	s.Id = &v
5613	return s
5614}
5615
5616// SetTags sets the Tags field's value.
5617func (s *UpdateChannelOutput) SetTags(v map[string]*string) *UpdateChannelOutput {
5618	s.Tags = v
5619	return s
5620}
5621
5622type UpdateOriginEndpointInput struct {
5623	_ struct{} `type:"structure"`
5624
5625	// CDN Authorization credentials
5626	Authorization *Authorization `locationName:"authorization" type:"structure"`
5627
5628	// A Common Media Application Format (CMAF) packaging configuration.
5629	CmafPackage *CmafPackageCreateOrUpdateParameters `locationName:"cmafPackage" type:"structure"`
5630
5631	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
5632	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
5633
5634	Description *string `locationName:"description" type:"string"`
5635
5636	// An HTTP Live Streaming (HLS) packaging configuration.
5637	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
5638
5639	// Id is a required field
5640	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
5641
5642	ManifestName *string `locationName:"manifestName" type:"string"`
5643
5644	// A Microsoft Smooth Streaming (MSS) packaging configuration.
5645	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
5646
5647	Origination *string `locationName:"origination" type:"string" enum:"Origination"`
5648
5649	StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"`
5650
5651	TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"`
5652
5653	Whitelist []*string `locationName:"whitelist" type:"list"`
5654}
5655
5656// String returns the string representation
5657func (s UpdateOriginEndpointInput) String() string {
5658	return awsutil.Prettify(s)
5659}
5660
5661// GoString returns the string representation
5662func (s UpdateOriginEndpointInput) GoString() string {
5663	return s.String()
5664}
5665
5666// Validate inspects the fields of the type to determine if they are valid.
5667func (s *UpdateOriginEndpointInput) Validate() error {
5668	invalidParams := request.ErrInvalidParams{Context: "UpdateOriginEndpointInput"}
5669	if s.Id == nil {
5670		invalidParams.Add(request.NewErrParamRequired("Id"))
5671	}
5672	if s.Id != nil && len(*s.Id) < 1 {
5673		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
5674	}
5675	if s.Authorization != nil {
5676		if err := s.Authorization.Validate(); err != nil {
5677			invalidParams.AddNested("Authorization", err.(request.ErrInvalidParams))
5678		}
5679	}
5680	if s.CmafPackage != nil {
5681		if err := s.CmafPackage.Validate(); err != nil {
5682			invalidParams.AddNested("CmafPackage", err.(request.ErrInvalidParams))
5683		}
5684	}
5685	if s.DashPackage != nil {
5686		if err := s.DashPackage.Validate(); err != nil {
5687			invalidParams.AddNested("DashPackage", err.(request.ErrInvalidParams))
5688		}
5689	}
5690	if s.HlsPackage != nil {
5691		if err := s.HlsPackage.Validate(); err != nil {
5692			invalidParams.AddNested("HlsPackage", err.(request.ErrInvalidParams))
5693		}
5694	}
5695	if s.MssPackage != nil {
5696		if err := s.MssPackage.Validate(); err != nil {
5697			invalidParams.AddNested("MssPackage", err.(request.ErrInvalidParams))
5698		}
5699	}
5700
5701	if invalidParams.Len() > 0 {
5702		return invalidParams
5703	}
5704	return nil
5705}
5706
5707// SetAuthorization sets the Authorization field's value.
5708func (s *UpdateOriginEndpointInput) SetAuthorization(v *Authorization) *UpdateOriginEndpointInput {
5709	s.Authorization = v
5710	return s
5711}
5712
5713// SetCmafPackage sets the CmafPackage field's value.
5714func (s *UpdateOriginEndpointInput) SetCmafPackage(v *CmafPackageCreateOrUpdateParameters) *UpdateOriginEndpointInput {
5715	s.CmafPackage = v
5716	return s
5717}
5718
5719// SetDashPackage sets the DashPackage field's value.
5720func (s *UpdateOriginEndpointInput) SetDashPackage(v *DashPackage) *UpdateOriginEndpointInput {
5721	s.DashPackage = v
5722	return s
5723}
5724
5725// SetDescription sets the Description field's value.
5726func (s *UpdateOriginEndpointInput) SetDescription(v string) *UpdateOriginEndpointInput {
5727	s.Description = &v
5728	return s
5729}
5730
5731// SetHlsPackage sets the HlsPackage field's value.
5732func (s *UpdateOriginEndpointInput) SetHlsPackage(v *HlsPackage) *UpdateOriginEndpointInput {
5733	s.HlsPackage = v
5734	return s
5735}
5736
5737// SetId sets the Id field's value.
5738func (s *UpdateOriginEndpointInput) SetId(v string) *UpdateOriginEndpointInput {
5739	s.Id = &v
5740	return s
5741}
5742
5743// SetManifestName sets the ManifestName field's value.
5744func (s *UpdateOriginEndpointInput) SetManifestName(v string) *UpdateOriginEndpointInput {
5745	s.ManifestName = &v
5746	return s
5747}
5748
5749// SetMssPackage sets the MssPackage field's value.
5750func (s *UpdateOriginEndpointInput) SetMssPackage(v *MssPackage) *UpdateOriginEndpointInput {
5751	s.MssPackage = v
5752	return s
5753}
5754
5755// SetOrigination sets the Origination field's value.
5756func (s *UpdateOriginEndpointInput) SetOrigination(v string) *UpdateOriginEndpointInput {
5757	s.Origination = &v
5758	return s
5759}
5760
5761// SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value.
5762func (s *UpdateOriginEndpointInput) SetStartoverWindowSeconds(v int64) *UpdateOriginEndpointInput {
5763	s.StartoverWindowSeconds = &v
5764	return s
5765}
5766
5767// SetTimeDelaySeconds sets the TimeDelaySeconds field's value.
5768func (s *UpdateOriginEndpointInput) SetTimeDelaySeconds(v int64) *UpdateOriginEndpointInput {
5769	s.TimeDelaySeconds = &v
5770	return s
5771}
5772
5773// SetWhitelist sets the Whitelist field's value.
5774func (s *UpdateOriginEndpointInput) SetWhitelist(v []*string) *UpdateOriginEndpointInput {
5775	s.Whitelist = v
5776	return s
5777}
5778
5779type UpdateOriginEndpointOutput struct {
5780	_ struct{} `type:"structure"`
5781
5782	Arn *string `locationName:"arn" type:"string"`
5783
5784	// CDN Authorization credentials
5785	Authorization *Authorization `locationName:"authorization" type:"structure"`
5786
5787	ChannelId *string `locationName:"channelId" type:"string"`
5788
5789	// A Common Media Application Format (CMAF) packaging configuration.
5790	CmafPackage *CmafPackage `locationName:"cmafPackage" type:"structure"`
5791
5792	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
5793	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
5794
5795	Description *string `locationName:"description" type:"string"`
5796
5797	// An HTTP Live Streaming (HLS) packaging configuration.
5798	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
5799
5800	Id *string `locationName:"id" type:"string"`
5801
5802	ManifestName *string `locationName:"manifestName" type:"string"`
5803
5804	// A Microsoft Smooth Streaming (MSS) packaging configuration.
5805	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
5806
5807	Origination *string `locationName:"origination" type:"string" enum:"Origination"`
5808
5809	StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"`
5810
5811	// A collection of tags associated with a resource
5812	Tags map[string]*string `locationName:"tags" type:"map"`
5813
5814	TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"`
5815
5816	Url *string `locationName:"url" type:"string"`
5817
5818	Whitelist []*string `locationName:"whitelist" type:"list"`
5819}
5820
5821// String returns the string representation
5822func (s UpdateOriginEndpointOutput) String() string {
5823	return awsutil.Prettify(s)
5824}
5825
5826// GoString returns the string representation
5827func (s UpdateOriginEndpointOutput) GoString() string {
5828	return s.String()
5829}
5830
5831// SetArn sets the Arn field's value.
5832func (s *UpdateOriginEndpointOutput) SetArn(v string) *UpdateOriginEndpointOutput {
5833	s.Arn = &v
5834	return s
5835}
5836
5837// SetAuthorization sets the Authorization field's value.
5838func (s *UpdateOriginEndpointOutput) SetAuthorization(v *Authorization) *UpdateOriginEndpointOutput {
5839	s.Authorization = v
5840	return s
5841}
5842
5843// SetChannelId sets the ChannelId field's value.
5844func (s *UpdateOriginEndpointOutput) SetChannelId(v string) *UpdateOriginEndpointOutput {
5845	s.ChannelId = &v
5846	return s
5847}
5848
5849// SetCmafPackage sets the CmafPackage field's value.
5850func (s *UpdateOriginEndpointOutput) SetCmafPackage(v *CmafPackage) *UpdateOriginEndpointOutput {
5851	s.CmafPackage = v
5852	return s
5853}
5854
5855// SetDashPackage sets the DashPackage field's value.
5856func (s *UpdateOriginEndpointOutput) SetDashPackage(v *DashPackage) *UpdateOriginEndpointOutput {
5857	s.DashPackage = v
5858	return s
5859}
5860
5861// SetDescription sets the Description field's value.
5862func (s *UpdateOriginEndpointOutput) SetDescription(v string) *UpdateOriginEndpointOutput {
5863	s.Description = &v
5864	return s
5865}
5866
5867// SetHlsPackage sets the HlsPackage field's value.
5868func (s *UpdateOriginEndpointOutput) SetHlsPackage(v *HlsPackage) *UpdateOriginEndpointOutput {
5869	s.HlsPackage = v
5870	return s
5871}
5872
5873// SetId sets the Id field's value.
5874func (s *UpdateOriginEndpointOutput) SetId(v string) *UpdateOriginEndpointOutput {
5875	s.Id = &v
5876	return s
5877}
5878
5879// SetManifestName sets the ManifestName field's value.
5880func (s *UpdateOriginEndpointOutput) SetManifestName(v string) *UpdateOriginEndpointOutput {
5881	s.ManifestName = &v
5882	return s
5883}
5884
5885// SetMssPackage sets the MssPackage field's value.
5886func (s *UpdateOriginEndpointOutput) SetMssPackage(v *MssPackage) *UpdateOriginEndpointOutput {
5887	s.MssPackage = v
5888	return s
5889}
5890
5891// SetOrigination sets the Origination field's value.
5892func (s *UpdateOriginEndpointOutput) SetOrigination(v string) *UpdateOriginEndpointOutput {
5893	s.Origination = &v
5894	return s
5895}
5896
5897// SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value.
5898func (s *UpdateOriginEndpointOutput) SetStartoverWindowSeconds(v int64) *UpdateOriginEndpointOutput {
5899	s.StartoverWindowSeconds = &v
5900	return s
5901}
5902
5903// SetTags sets the Tags field's value.
5904func (s *UpdateOriginEndpointOutput) SetTags(v map[string]*string) *UpdateOriginEndpointOutput {
5905	s.Tags = v
5906	return s
5907}
5908
5909// SetTimeDelaySeconds sets the TimeDelaySeconds field's value.
5910func (s *UpdateOriginEndpointOutput) SetTimeDelaySeconds(v int64) *UpdateOriginEndpointOutput {
5911	s.TimeDelaySeconds = &v
5912	return s
5913}
5914
5915// SetUrl sets the Url field's value.
5916func (s *UpdateOriginEndpointOutput) SetUrl(v string) *UpdateOriginEndpointOutput {
5917	s.Url = &v
5918	return s
5919}
5920
5921// SetWhitelist sets the Whitelist field's value.
5922func (s *UpdateOriginEndpointOutput) SetWhitelist(v []*string) *UpdateOriginEndpointOutput {
5923	s.Whitelist = v
5924	return s
5925}
5926
5927const (
5928	// AdMarkersNone is a AdMarkers enum value
5929	AdMarkersNone = "NONE"
5930
5931	// AdMarkersScte35Enhanced is a AdMarkers enum value
5932	AdMarkersScte35Enhanced = "SCTE35_ENHANCED"
5933
5934	// AdMarkersPassthrough is a AdMarkers enum value
5935	AdMarkersPassthrough = "PASSTHROUGH"
5936)
5937
5938// This setting allows the delivery restriction flags on SCTE-35 segmentation
5939// descriptors todetermine whether a message signals an ad. Choosing "NONE"
5940// means no SCTE-35 messages becomeads. Choosing "RESTRICTED" means SCTE-35
5941// messages of the types specified in AdTriggers thatcontain delivery restrictions
5942// will be treated as ads. Choosing "UNRESTRICTED" means SCTE-35messages of
5943// the types specified in AdTriggers that do not contain delivery restrictions
5944// willbe treated as ads. Choosing "BOTH" means all SCTE-35 messages of the
5945// types specified inAdTriggers will be treated as ads. Note that Splice Insert
5946// messages do not have these flagsand are always treated as ads if specified
5947// in AdTriggers.
5948const (
5949	// AdsOnDeliveryRestrictionsNone is a AdsOnDeliveryRestrictions enum value
5950	AdsOnDeliveryRestrictionsNone = "NONE"
5951
5952	// AdsOnDeliveryRestrictionsRestricted is a AdsOnDeliveryRestrictions enum value
5953	AdsOnDeliveryRestrictionsRestricted = "RESTRICTED"
5954
5955	// AdsOnDeliveryRestrictionsUnrestricted is a AdsOnDeliveryRestrictions enum value
5956	AdsOnDeliveryRestrictionsUnrestricted = "UNRESTRICTED"
5957
5958	// AdsOnDeliveryRestrictionsBoth is a AdsOnDeliveryRestrictions enum value
5959	AdsOnDeliveryRestrictionsBoth = "BOTH"
5960)
5961
5962const (
5963	// EncryptionMethodAes128 is a EncryptionMethod enum value
5964	EncryptionMethodAes128 = "AES_128"
5965
5966	// EncryptionMethodSampleAes is a EncryptionMethod enum value
5967	EncryptionMethodSampleAes = "SAMPLE_AES"
5968)
5969
5970const (
5971	// ManifestLayoutFull is a ManifestLayout enum value
5972	ManifestLayoutFull = "FULL"
5973
5974	// ManifestLayoutCompact is a ManifestLayout enum value
5975	ManifestLayoutCompact = "COMPACT"
5976)
5977
5978const (
5979	// OriginationAllow is a Origination enum value
5980	OriginationAllow = "ALLOW"
5981
5982	// OriginationDeny is a Origination enum value
5983	OriginationDeny = "DENY"
5984)
5985
5986const (
5987	// PlaylistTypeNone is a PlaylistType enum value
5988	PlaylistTypeNone = "NONE"
5989
5990	// PlaylistTypeEvent is a PlaylistType enum value
5991	PlaylistTypeEvent = "EVENT"
5992
5993	// PlaylistTypeVod is a PlaylistType enum value
5994	PlaylistTypeVod = "VOD"
5995)
5996
5997const (
5998	// ProfileNone is a Profile enum value
5999	ProfileNone = "NONE"
6000
6001	// ProfileHbbtv15 is a Profile enum value
6002	ProfileHbbtv15 = "HBBTV_1_5"
6003)
6004
6005const (
6006	// SegmentTemplateFormatNumberWithTimeline is a SegmentTemplateFormat enum value
6007	SegmentTemplateFormatNumberWithTimeline = "NUMBER_WITH_TIMELINE"
6008
6009	// SegmentTemplateFormatTimeWithTimeline is a SegmentTemplateFormat enum value
6010	SegmentTemplateFormatTimeWithTimeline = "TIME_WITH_TIMELINE"
6011
6012	// SegmentTemplateFormatNumberWithDuration is a SegmentTemplateFormat enum value
6013	SegmentTemplateFormatNumberWithDuration = "NUMBER_WITH_DURATION"
6014)
6015
6016const (
6017	// StatusInProgress is a Status enum value
6018	StatusInProgress = "IN_PROGRESS"
6019
6020	// StatusSucceeded is a Status enum value
6021	StatusSucceeded = "SUCCEEDED"
6022
6023	// StatusFailed is a Status enum value
6024	StatusFailed = "FAILED"
6025)
6026
6027const (
6028	// StreamOrderOriginal is a StreamOrder enum value
6029	StreamOrderOriginal = "ORIGINAL"
6030
6031	// StreamOrderVideoBitrateAscending is a StreamOrder enum value
6032	StreamOrderVideoBitrateAscending = "VIDEO_BITRATE_ASCENDING"
6033
6034	// StreamOrderVideoBitrateDescending is a StreamOrder enum value
6035	StreamOrderVideoBitrateDescending = "VIDEO_BITRATE_DESCENDING"
6036)
6037
6038const (
6039	// __AdTriggersElementSpliceInsert is a __AdTriggersElement enum value
6040	__AdTriggersElementSpliceInsert = "SPLICE_INSERT"
6041
6042	// __AdTriggersElementBreak is a __AdTriggersElement enum value
6043	__AdTriggersElementBreak = "BREAK"
6044
6045	// __AdTriggersElementProviderAdvertisement is a __AdTriggersElement enum value
6046	__AdTriggersElementProviderAdvertisement = "PROVIDER_ADVERTISEMENT"
6047
6048	// __AdTriggersElementDistributorAdvertisement is a __AdTriggersElement enum value
6049	__AdTriggersElementDistributorAdvertisement = "DISTRIBUTOR_ADVERTISEMENT"
6050
6051	// __AdTriggersElementProviderPlacementOpportunity is a __AdTriggersElement enum value
6052	__AdTriggersElementProviderPlacementOpportunity = "PROVIDER_PLACEMENT_OPPORTUNITY"
6053
6054	// __AdTriggersElementDistributorPlacementOpportunity is a __AdTriggersElement enum value
6055	__AdTriggersElementDistributorPlacementOpportunity = "DISTRIBUTOR_PLACEMENT_OPPORTUNITY"
6056
6057	// __AdTriggersElementProviderOverlayPlacementOpportunity is a __AdTriggersElement enum value
6058	__AdTriggersElementProviderOverlayPlacementOpportunity = "PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY"
6059
6060	// __AdTriggersElementDistributorOverlayPlacementOpportunity is a __AdTriggersElement enum value
6061	__AdTriggersElementDistributorOverlayPlacementOpportunity = "DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY"
6062)
6063
6064const (
6065	// __PeriodTriggersElementAds is a __PeriodTriggersElement enum value
6066	__PeriodTriggersElementAds = "ADS"
6067)
6068