1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package mediapackage
4
5import (
6	"github.com/aws/aws-sdk-go/aws"
7	"github.com/aws/aws-sdk-go/aws/awsutil"
8	"github.com/aws/aws-sdk-go/aws/request"
9)
10
11const opCreateChannel = "CreateChannel"
12
13// CreateChannelRequest generates a "aws/request.Request" representing the
14// client's request for the CreateChannel operation. The "output" return
15// value will be populated with the request's response once the request complets
16// successfuly.
17//
18// Use "Send" method on the returned Request to send the API call to the service.
19// the "output" return value is not valid until after Send returns without error.
20//
21// See CreateChannel for more information on using the CreateChannel
22// API call, and error handling.
23//
24// This method is useful when you want to inject custom logic or configuration
25// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26//
27//
28//    // Example sending a request using the CreateChannelRequest method.
29//    req, resp := client.CreateChannelRequest(params)
30//
31//    err := req.Send()
32//    if err == nil { // resp is now filled
33//        fmt.Println(resp)
34//    }
35//
36// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/CreateChannel
37func (c *MediaPackage) CreateChannelRequest(input *CreateChannelInput) (req *request.Request, output *CreateChannelOutput) {
38	op := &request.Operation{
39		Name:       opCreateChannel,
40		HTTPMethod: "POST",
41		HTTPPath:   "/channels",
42	}
43
44	if input == nil {
45		input = &CreateChannelInput{}
46	}
47
48	output = &CreateChannelOutput{}
49	req = c.newRequest(op, input, output)
50	return
51}
52
53// CreateChannel API operation for AWS Elemental MediaPackage.
54//
55// Creates a new Channel.
56//
57// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
58// with awserr.Error's Code and Message methods to get detailed information about
59// the error.
60//
61// See the AWS API reference guide for AWS Elemental MediaPackage's
62// API operation CreateChannel for usage and error information.
63//
64// Returned Error Codes:
65//   * ErrCodeUnprocessableEntityException "UnprocessableEntityException"
66//
67//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
68//
69//   * ErrCodeForbiddenException "ForbiddenException"
70//
71//   * ErrCodeNotFoundException "NotFoundException"
72//
73//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
74//
75//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
76//
77// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/CreateChannel
78func (c *MediaPackage) CreateChannel(input *CreateChannelInput) (*CreateChannelOutput, error) {
79	req, out := c.CreateChannelRequest(input)
80	return out, req.Send()
81}
82
83// CreateChannelWithContext is the same as CreateChannel with the addition of
84// the ability to pass a context and additional request options.
85//
86// See CreateChannel for details on how to use this API operation.
87//
88// The context must be non-nil and will be used for request cancellation. If
89// the context is nil a panic will occur. In the future the SDK may create
90// sub-contexts for http.Requests. See https://golang.org/pkg/context/
91// for more information on using Contexts.
92func (c *MediaPackage) CreateChannelWithContext(ctx aws.Context, input *CreateChannelInput, opts ...request.Option) (*CreateChannelOutput, error) {
93	req, out := c.CreateChannelRequest(input)
94	req.SetContext(ctx)
95	req.ApplyOptions(opts...)
96	return out, req.Send()
97}
98
99const opCreateOriginEndpoint = "CreateOriginEndpoint"
100
101// CreateOriginEndpointRequest generates a "aws/request.Request" representing the
102// client's request for the CreateOriginEndpoint operation. The "output" return
103// value will be populated with the request's response once the request complets
104// successfuly.
105//
106// Use "Send" method on the returned Request to send the API call to the service.
107// the "output" return value is not valid until after Send returns without error.
108//
109// See CreateOriginEndpoint for more information on using the CreateOriginEndpoint
110// API call, and error handling.
111//
112// This method is useful when you want to inject custom logic or configuration
113// into the SDK's request lifecycle. Such as custom headers, or retry logic.
114//
115//
116//    // Example sending a request using the CreateOriginEndpointRequest method.
117//    req, resp := client.CreateOriginEndpointRequest(params)
118//
119//    err := req.Send()
120//    if err == nil { // resp is now filled
121//        fmt.Println(resp)
122//    }
123//
124// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/CreateOriginEndpoint
125func (c *MediaPackage) CreateOriginEndpointRequest(input *CreateOriginEndpointInput) (req *request.Request, output *CreateOriginEndpointOutput) {
126	op := &request.Operation{
127		Name:       opCreateOriginEndpoint,
128		HTTPMethod: "POST",
129		HTTPPath:   "/origin_endpoints",
130	}
131
132	if input == nil {
133		input = &CreateOriginEndpointInput{}
134	}
135
136	output = &CreateOriginEndpointOutput{}
137	req = c.newRequest(op, input, output)
138	return
139}
140
141// CreateOriginEndpoint API operation for AWS Elemental MediaPackage.
142//
143// Creates a new OriginEndpoint record.
144//
145// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
146// with awserr.Error's Code and Message methods to get detailed information about
147// the error.
148//
149// See the AWS API reference guide for AWS Elemental MediaPackage's
150// API operation CreateOriginEndpoint for usage and error information.
151//
152// Returned Error Codes:
153//   * ErrCodeUnprocessableEntityException "UnprocessableEntityException"
154//
155//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
156//
157//   * ErrCodeForbiddenException "ForbiddenException"
158//
159//   * ErrCodeNotFoundException "NotFoundException"
160//
161//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
162//
163//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
164//
165// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/CreateOriginEndpoint
166func (c *MediaPackage) CreateOriginEndpoint(input *CreateOriginEndpointInput) (*CreateOriginEndpointOutput, error) {
167	req, out := c.CreateOriginEndpointRequest(input)
168	return out, req.Send()
169}
170
171// CreateOriginEndpointWithContext is the same as CreateOriginEndpoint with the addition of
172// the ability to pass a context and additional request options.
173//
174// See CreateOriginEndpoint for details on how to use this API operation.
175//
176// The context must be non-nil and will be used for request cancellation. If
177// the context is nil a panic will occur. In the future the SDK may create
178// sub-contexts for http.Requests. See https://golang.org/pkg/context/
179// for more information on using Contexts.
180func (c *MediaPackage) CreateOriginEndpointWithContext(ctx aws.Context, input *CreateOriginEndpointInput, opts ...request.Option) (*CreateOriginEndpointOutput, error) {
181	req, out := c.CreateOriginEndpointRequest(input)
182	req.SetContext(ctx)
183	req.ApplyOptions(opts...)
184	return out, req.Send()
185}
186
187const opDeleteChannel = "DeleteChannel"
188
189// DeleteChannelRequest generates a "aws/request.Request" representing the
190// client's request for the DeleteChannel operation. The "output" return
191// value will be populated with the request's response once the request complets
192// successfuly.
193//
194// Use "Send" method on the returned Request to send the API call to the service.
195// the "output" return value is not valid until after Send returns without error.
196//
197// See DeleteChannel for more information on using the DeleteChannel
198// API call, and error handling.
199//
200// This method is useful when you want to inject custom logic or configuration
201// into the SDK's request lifecycle. Such as custom headers, or retry logic.
202//
203//
204//    // Example sending a request using the DeleteChannelRequest method.
205//    req, resp := client.DeleteChannelRequest(params)
206//
207//    err := req.Send()
208//    if err == nil { // resp is now filled
209//        fmt.Println(resp)
210//    }
211//
212// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DeleteChannel
213func (c *MediaPackage) DeleteChannelRequest(input *DeleteChannelInput) (req *request.Request, output *DeleteChannelOutput) {
214	op := &request.Operation{
215		Name:       opDeleteChannel,
216		HTTPMethod: "DELETE",
217		HTTPPath:   "/channels/{id}",
218	}
219
220	if input == nil {
221		input = &DeleteChannelInput{}
222	}
223
224	output = &DeleteChannelOutput{}
225	req = c.newRequest(op, input, output)
226	return
227}
228
229// DeleteChannel API operation for AWS Elemental MediaPackage.
230//
231// Deletes an existing Channel.
232//
233// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
234// with awserr.Error's Code and Message methods to get detailed information about
235// the error.
236//
237// See the AWS API reference guide for AWS Elemental MediaPackage's
238// API operation DeleteChannel for usage and error information.
239//
240// Returned Error Codes:
241//   * ErrCodeUnprocessableEntityException "UnprocessableEntityException"
242//
243//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
244//
245//   * ErrCodeForbiddenException "ForbiddenException"
246//
247//   * ErrCodeNotFoundException "NotFoundException"
248//
249//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
250//
251//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
252//
253// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DeleteChannel
254func (c *MediaPackage) DeleteChannel(input *DeleteChannelInput) (*DeleteChannelOutput, error) {
255	req, out := c.DeleteChannelRequest(input)
256	return out, req.Send()
257}
258
259// DeleteChannelWithContext is the same as DeleteChannel with the addition of
260// the ability to pass a context and additional request options.
261//
262// See DeleteChannel for details on how to use this API operation.
263//
264// The context must be non-nil and will be used for request cancellation. If
265// the context is nil a panic will occur. In the future the SDK may create
266// sub-contexts for http.Requests. See https://golang.org/pkg/context/
267// for more information on using Contexts.
268func (c *MediaPackage) DeleteChannelWithContext(ctx aws.Context, input *DeleteChannelInput, opts ...request.Option) (*DeleteChannelOutput, error) {
269	req, out := c.DeleteChannelRequest(input)
270	req.SetContext(ctx)
271	req.ApplyOptions(opts...)
272	return out, req.Send()
273}
274
275const opDeleteOriginEndpoint = "DeleteOriginEndpoint"
276
277// DeleteOriginEndpointRequest generates a "aws/request.Request" representing the
278// client's request for the DeleteOriginEndpoint operation. The "output" return
279// value will be populated with the request's response once the request complets
280// successfuly.
281//
282// Use "Send" method on the returned Request to send the API call to the service.
283// the "output" return value is not valid until after Send returns without error.
284//
285// See DeleteOriginEndpoint for more information on using the DeleteOriginEndpoint
286// API call, and error handling.
287//
288// This method is useful when you want to inject custom logic or configuration
289// into the SDK's request lifecycle. Such as custom headers, or retry logic.
290//
291//
292//    // Example sending a request using the DeleteOriginEndpointRequest method.
293//    req, resp := client.DeleteOriginEndpointRequest(params)
294//
295//    err := req.Send()
296//    if err == nil { // resp is now filled
297//        fmt.Println(resp)
298//    }
299//
300// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DeleteOriginEndpoint
301func (c *MediaPackage) DeleteOriginEndpointRequest(input *DeleteOriginEndpointInput) (req *request.Request, output *DeleteOriginEndpointOutput) {
302	op := &request.Operation{
303		Name:       opDeleteOriginEndpoint,
304		HTTPMethod: "DELETE",
305		HTTPPath:   "/origin_endpoints/{id}",
306	}
307
308	if input == nil {
309		input = &DeleteOriginEndpointInput{}
310	}
311
312	output = &DeleteOriginEndpointOutput{}
313	req = c.newRequest(op, input, output)
314	return
315}
316
317// DeleteOriginEndpoint API operation for AWS Elemental MediaPackage.
318//
319// Deletes an existing OriginEndpoint.
320//
321// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
322// with awserr.Error's Code and Message methods to get detailed information about
323// the error.
324//
325// See the AWS API reference guide for AWS Elemental MediaPackage's
326// API operation DeleteOriginEndpoint for usage and error information.
327//
328// Returned Error Codes:
329//   * ErrCodeUnprocessableEntityException "UnprocessableEntityException"
330//
331//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
332//
333//   * ErrCodeForbiddenException "ForbiddenException"
334//
335//   * ErrCodeNotFoundException "NotFoundException"
336//
337//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
338//
339//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
340//
341// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DeleteOriginEndpoint
342func (c *MediaPackage) DeleteOriginEndpoint(input *DeleteOriginEndpointInput) (*DeleteOriginEndpointOutput, error) {
343	req, out := c.DeleteOriginEndpointRequest(input)
344	return out, req.Send()
345}
346
347// DeleteOriginEndpointWithContext is the same as DeleteOriginEndpoint with the addition of
348// the ability to pass a context and additional request options.
349//
350// See DeleteOriginEndpoint for details on how to use this API operation.
351//
352// The context must be non-nil and will be used for request cancellation. If
353// the context is nil a panic will occur. In the future the SDK may create
354// sub-contexts for http.Requests. See https://golang.org/pkg/context/
355// for more information on using Contexts.
356func (c *MediaPackage) DeleteOriginEndpointWithContext(ctx aws.Context, input *DeleteOriginEndpointInput, opts ...request.Option) (*DeleteOriginEndpointOutput, error) {
357	req, out := c.DeleteOriginEndpointRequest(input)
358	req.SetContext(ctx)
359	req.ApplyOptions(opts...)
360	return out, req.Send()
361}
362
363const opDescribeChannel = "DescribeChannel"
364
365// DescribeChannelRequest generates a "aws/request.Request" representing the
366// client's request for the DescribeChannel operation. The "output" return
367// value will be populated with the request's response once the request complets
368// successfuly.
369//
370// Use "Send" method on the returned Request to send the API call to the service.
371// the "output" return value is not valid until after Send returns without error.
372//
373// See DescribeChannel for more information on using the DescribeChannel
374// API call, and error handling.
375//
376// This method is useful when you want to inject custom logic or configuration
377// into the SDK's request lifecycle. Such as custom headers, or retry logic.
378//
379//
380//    // Example sending a request using the DescribeChannelRequest method.
381//    req, resp := client.DescribeChannelRequest(params)
382//
383//    err := req.Send()
384//    if err == nil { // resp is now filled
385//        fmt.Println(resp)
386//    }
387//
388// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeChannel
389func (c *MediaPackage) DescribeChannelRequest(input *DescribeChannelInput) (req *request.Request, output *DescribeChannelOutput) {
390	op := &request.Operation{
391		Name:       opDescribeChannel,
392		HTTPMethod: "GET",
393		HTTPPath:   "/channels/{id}",
394	}
395
396	if input == nil {
397		input = &DescribeChannelInput{}
398	}
399
400	output = &DescribeChannelOutput{}
401	req = c.newRequest(op, input, output)
402	return
403}
404
405// DescribeChannel API operation for AWS Elemental MediaPackage.
406//
407// Gets details about a Channel.
408//
409// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
410// with awserr.Error's Code and Message methods to get detailed information about
411// the error.
412//
413// See the AWS API reference guide for AWS Elemental MediaPackage's
414// API operation DescribeChannel for usage and error information.
415//
416// Returned Error Codes:
417//   * ErrCodeUnprocessableEntityException "UnprocessableEntityException"
418//
419//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
420//
421//   * ErrCodeForbiddenException "ForbiddenException"
422//
423//   * ErrCodeNotFoundException "NotFoundException"
424//
425//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
426//
427//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
428//
429// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeChannel
430func (c *MediaPackage) DescribeChannel(input *DescribeChannelInput) (*DescribeChannelOutput, error) {
431	req, out := c.DescribeChannelRequest(input)
432	return out, req.Send()
433}
434
435// DescribeChannelWithContext is the same as DescribeChannel with the addition of
436// the ability to pass a context and additional request options.
437//
438// See DescribeChannel for details on how to use this API operation.
439//
440// The context must be non-nil and will be used for request cancellation. If
441// the context is nil a panic will occur. In the future the SDK may create
442// sub-contexts for http.Requests. See https://golang.org/pkg/context/
443// for more information on using Contexts.
444func (c *MediaPackage) DescribeChannelWithContext(ctx aws.Context, input *DescribeChannelInput, opts ...request.Option) (*DescribeChannelOutput, error) {
445	req, out := c.DescribeChannelRequest(input)
446	req.SetContext(ctx)
447	req.ApplyOptions(opts...)
448	return out, req.Send()
449}
450
451const opDescribeOriginEndpoint = "DescribeOriginEndpoint"
452
453// DescribeOriginEndpointRequest generates a "aws/request.Request" representing the
454// client's request for the DescribeOriginEndpoint operation. The "output" return
455// value will be populated with the request's response once the request complets
456// successfuly.
457//
458// Use "Send" method on the returned Request to send the API call to the service.
459// the "output" return value is not valid until after Send returns without error.
460//
461// See DescribeOriginEndpoint for more information on using the DescribeOriginEndpoint
462// API call, and error handling.
463//
464// This method is useful when you want to inject custom logic or configuration
465// into the SDK's request lifecycle. Such as custom headers, or retry logic.
466//
467//
468//    // Example sending a request using the DescribeOriginEndpointRequest method.
469//    req, resp := client.DescribeOriginEndpointRequest(params)
470//
471//    err := req.Send()
472//    if err == nil { // resp is now filled
473//        fmt.Println(resp)
474//    }
475//
476// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeOriginEndpoint
477func (c *MediaPackage) DescribeOriginEndpointRequest(input *DescribeOriginEndpointInput) (req *request.Request, output *DescribeOriginEndpointOutput) {
478	op := &request.Operation{
479		Name:       opDescribeOriginEndpoint,
480		HTTPMethod: "GET",
481		HTTPPath:   "/origin_endpoints/{id}",
482	}
483
484	if input == nil {
485		input = &DescribeOriginEndpointInput{}
486	}
487
488	output = &DescribeOriginEndpointOutput{}
489	req = c.newRequest(op, input, output)
490	return
491}
492
493// DescribeOriginEndpoint API operation for AWS Elemental MediaPackage.
494//
495// Gets details about an existing OriginEndpoint.
496//
497// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
498// with awserr.Error's Code and Message methods to get detailed information about
499// the error.
500//
501// See the AWS API reference guide for AWS Elemental MediaPackage's
502// API operation DescribeOriginEndpoint for usage and error information.
503//
504// Returned Error Codes:
505//   * ErrCodeUnprocessableEntityException "UnprocessableEntityException"
506//
507//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
508//
509//   * ErrCodeForbiddenException "ForbiddenException"
510//
511//   * ErrCodeNotFoundException "NotFoundException"
512//
513//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
514//
515//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
516//
517// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeOriginEndpoint
518func (c *MediaPackage) DescribeOriginEndpoint(input *DescribeOriginEndpointInput) (*DescribeOriginEndpointOutput, error) {
519	req, out := c.DescribeOriginEndpointRequest(input)
520	return out, req.Send()
521}
522
523// DescribeOriginEndpointWithContext is the same as DescribeOriginEndpoint with the addition of
524// the ability to pass a context and additional request options.
525//
526// See DescribeOriginEndpoint for details on how to use this API operation.
527//
528// The context must be non-nil and will be used for request cancellation. If
529// the context is nil a panic will occur. In the future the SDK may create
530// sub-contexts for http.Requests. See https://golang.org/pkg/context/
531// for more information on using Contexts.
532func (c *MediaPackage) DescribeOriginEndpointWithContext(ctx aws.Context, input *DescribeOriginEndpointInput, opts ...request.Option) (*DescribeOriginEndpointOutput, error) {
533	req, out := c.DescribeOriginEndpointRequest(input)
534	req.SetContext(ctx)
535	req.ApplyOptions(opts...)
536	return out, req.Send()
537}
538
539const opListChannels = "ListChannels"
540
541// ListChannelsRequest generates a "aws/request.Request" representing the
542// client's request for the ListChannels operation. The "output" return
543// value will be populated with the request's response once the request complets
544// successfuly.
545//
546// Use "Send" method on the returned Request to send the API call to the service.
547// the "output" return value is not valid until after Send returns without error.
548//
549// See ListChannels for more information on using the ListChannels
550// API call, and error handling.
551//
552// This method is useful when you want to inject custom logic or configuration
553// into the SDK's request lifecycle. Such as custom headers, or retry logic.
554//
555//
556//    // Example sending a request using the ListChannelsRequest method.
557//    req, resp := client.ListChannelsRequest(params)
558//
559//    err := req.Send()
560//    if err == nil { // resp is now filled
561//        fmt.Println(resp)
562//    }
563//
564// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListChannels
565func (c *MediaPackage) ListChannelsRequest(input *ListChannelsInput) (req *request.Request, output *ListChannelsOutput) {
566	op := &request.Operation{
567		Name:       opListChannels,
568		HTTPMethod: "GET",
569		HTTPPath:   "/channels",
570		Paginator: &request.Paginator{
571			InputTokens:     []string{"NextToken"},
572			OutputTokens:    []string{"NextToken"},
573			LimitToken:      "MaxResults",
574			TruncationToken: "",
575		},
576	}
577
578	if input == nil {
579		input = &ListChannelsInput{}
580	}
581
582	output = &ListChannelsOutput{}
583	req = c.newRequest(op, input, output)
584	return
585}
586
587// ListChannels API operation for AWS Elemental MediaPackage.
588//
589// Returns a collection of Channels.
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 ListChannels for usage and error information.
597//
598// Returned Error Codes:
599//   * ErrCodeUnprocessableEntityException "UnprocessableEntityException"
600//
601//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
602//
603//   * ErrCodeForbiddenException "ForbiddenException"
604//
605//   * ErrCodeNotFoundException "NotFoundException"
606//
607//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
608//
609//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
610//
611// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListChannels
612func (c *MediaPackage) ListChannels(input *ListChannelsInput) (*ListChannelsOutput, error) {
613	req, out := c.ListChannelsRequest(input)
614	return out, req.Send()
615}
616
617// ListChannelsWithContext is the same as ListChannels with the addition of
618// the ability to pass a context and additional request options.
619//
620// See ListChannels 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) ListChannelsWithContext(ctx aws.Context, input *ListChannelsInput, opts ...request.Option) (*ListChannelsOutput, error) {
627	req, out := c.ListChannelsRequest(input)
628	req.SetContext(ctx)
629	req.ApplyOptions(opts...)
630	return out, req.Send()
631}
632
633// ListChannelsPages iterates over the pages of a ListChannels operation,
634// calling the "fn" function with the response data for each page. To stop
635// iterating, return false from the fn function.
636//
637// See ListChannels method for more information on how to use this operation.
638//
639// Note: This operation can generate multiple requests to a service.
640//
641//    // Example iterating over at most 3 pages of a ListChannels operation.
642//    pageNum := 0
643//    err := client.ListChannelsPages(params,
644//        func(page *ListChannelsOutput, lastPage bool) bool {
645//            pageNum++
646//            fmt.Println(page)
647//            return pageNum <= 3
648//        })
649//
650func (c *MediaPackage) ListChannelsPages(input *ListChannelsInput, fn func(*ListChannelsOutput, bool) bool) error {
651	return c.ListChannelsPagesWithContext(aws.BackgroundContext(), input, fn)
652}
653
654// ListChannelsPagesWithContext same as ListChannelsPages except
655// it takes a Context and allows setting request options on the pages.
656//
657// The context must be non-nil and will be used for request cancellation. If
658// the context is nil a panic will occur. In the future the SDK may create
659// sub-contexts for http.Requests. See https://golang.org/pkg/context/
660// for more information on using Contexts.
661func (c *MediaPackage) ListChannelsPagesWithContext(ctx aws.Context, input *ListChannelsInput, fn func(*ListChannelsOutput, bool) bool, opts ...request.Option) error {
662	p := request.Pagination{
663		NewRequest: func() (*request.Request, error) {
664			var inCpy *ListChannelsInput
665			if input != nil {
666				tmp := *input
667				inCpy = &tmp
668			}
669			req, _ := c.ListChannelsRequest(inCpy)
670			req.SetContext(ctx)
671			req.ApplyOptions(opts...)
672			return req, nil
673		},
674	}
675
676	cont := true
677	for p.Next() && cont {
678		cont = fn(p.Page().(*ListChannelsOutput), !p.HasNextPage())
679	}
680	return p.Err()
681}
682
683const opListOriginEndpoints = "ListOriginEndpoints"
684
685// ListOriginEndpointsRequest generates a "aws/request.Request" representing the
686// client's request for the ListOriginEndpoints operation. The "output" return
687// value will be populated with the request's response once the request complets
688// successfuly.
689//
690// Use "Send" method on the returned Request to send the API call to the service.
691// the "output" return value is not valid until after Send returns without error.
692//
693// See ListOriginEndpoints for more information on using the ListOriginEndpoints
694// API call, and error handling.
695//
696// This method is useful when you want to inject custom logic or configuration
697// into the SDK's request lifecycle. Such as custom headers, or retry logic.
698//
699//
700//    // Example sending a request using the ListOriginEndpointsRequest method.
701//    req, resp := client.ListOriginEndpointsRequest(params)
702//
703//    err := req.Send()
704//    if err == nil { // resp is now filled
705//        fmt.Println(resp)
706//    }
707//
708// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListOriginEndpoints
709func (c *MediaPackage) ListOriginEndpointsRequest(input *ListOriginEndpointsInput) (req *request.Request, output *ListOriginEndpointsOutput) {
710	op := &request.Operation{
711		Name:       opListOriginEndpoints,
712		HTTPMethod: "GET",
713		HTTPPath:   "/origin_endpoints",
714		Paginator: &request.Paginator{
715			InputTokens:     []string{"NextToken"},
716			OutputTokens:    []string{"NextToken"},
717			LimitToken:      "MaxResults",
718			TruncationToken: "",
719		},
720	}
721
722	if input == nil {
723		input = &ListOriginEndpointsInput{}
724	}
725
726	output = &ListOriginEndpointsOutput{}
727	req = c.newRequest(op, input, output)
728	return
729}
730
731// ListOriginEndpoints API operation for AWS Elemental MediaPackage.
732//
733// Returns a collection of OriginEndpoint records.
734//
735// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
736// with awserr.Error's Code and Message methods to get detailed information about
737// the error.
738//
739// See the AWS API reference guide for AWS Elemental MediaPackage's
740// API operation ListOriginEndpoints for usage and error information.
741//
742// Returned Error Codes:
743//   * ErrCodeUnprocessableEntityException "UnprocessableEntityException"
744//
745//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
746//
747//   * ErrCodeForbiddenException "ForbiddenException"
748//
749//   * ErrCodeNotFoundException "NotFoundException"
750//
751//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
752//
753//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
754//
755// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListOriginEndpoints
756func (c *MediaPackage) ListOriginEndpoints(input *ListOriginEndpointsInput) (*ListOriginEndpointsOutput, error) {
757	req, out := c.ListOriginEndpointsRequest(input)
758	return out, req.Send()
759}
760
761// ListOriginEndpointsWithContext is the same as ListOriginEndpoints with the addition of
762// the ability to pass a context and additional request options.
763//
764// See ListOriginEndpoints for details on how to use this API operation.
765//
766// The context must be non-nil and will be used for request cancellation. If
767// the context is nil a panic will occur. In the future the SDK may create
768// sub-contexts for http.Requests. See https://golang.org/pkg/context/
769// for more information on using Contexts.
770func (c *MediaPackage) ListOriginEndpointsWithContext(ctx aws.Context, input *ListOriginEndpointsInput, opts ...request.Option) (*ListOriginEndpointsOutput, error) {
771	req, out := c.ListOriginEndpointsRequest(input)
772	req.SetContext(ctx)
773	req.ApplyOptions(opts...)
774	return out, req.Send()
775}
776
777// ListOriginEndpointsPages iterates over the pages of a ListOriginEndpoints operation,
778// calling the "fn" function with the response data for each page. To stop
779// iterating, return false from the fn function.
780//
781// See ListOriginEndpoints method for more information on how to use this operation.
782//
783// Note: This operation can generate multiple requests to a service.
784//
785//    // Example iterating over at most 3 pages of a ListOriginEndpoints operation.
786//    pageNum := 0
787//    err := client.ListOriginEndpointsPages(params,
788//        func(page *ListOriginEndpointsOutput, lastPage bool) bool {
789//            pageNum++
790//            fmt.Println(page)
791//            return pageNum <= 3
792//        })
793//
794func (c *MediaPackage) ListOriginEndpointsPages(input *ListOriginEndpointsInput, fn func(*ListOriginEndpointsOutput, bool) bool) error {
795	return c.ListOriginEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
796}
797
798// ListOriginEndpointsPagesWithContext same as ListOriginEndpointsPages except
799// it takes a Context and allows setting request options on the pages.
800//
801// The context must be non-nil and will be used for request cancellation. If
802// the context is nil a panic will occur. In the future the SDK may create
803// sub-contexts for http.Requests. See https://golang.org/pkg/context/
804// for more information on using Contexts.
805func (c *MediaPackage) ListOriginEndpointsPagesWithContext(ctx aws.Context, input *ListOriginEndpointsInput, fn func(*ListOriginEndpointsOutput, bool) bool, opts ...request.Option) error {
806	p := request.Pagination{
807		NewRequest: func() (*request.Request, error) {
808			var inCpy *ListOriginEndpointsInput
809			if input != nil {
810				tmp := *input
811				inCpy = &tmp
812			}
813			req, _ := c.ListOriginEndpointsRequest(inCpy)
814			req.SetContext(ctx)
815			req.ApplyOptions(opts...)
816			return req, nil
817		},
818	}
819
820	cont := true
821	for p.Next() && cont {
822		cont = fn(p.Page().(*ListOriginEndpointsOutput), !p.HasNextPage())
823	}
824	return p.Err()
825}
826
827const opRotateChannelCredentials = "RotateChannelCredentials"
828
829// RotateChannelCredentialsRequest generates a "aws/request.Request" representing the
830// client's request for the RotateChannelCredentials operation. The "output" return
831// value will be populated with the request's response once the request complets
832// successfuly.
833//
834// Use "Send" method on the returned Request to send the API call to the service.
835// the "output" return value is not valid until after Send returns without error.
836//
837// See RotateChannelCredentials for more information on using the RotateChannelCredentials
838// API call, and error handling.
839//
840// This method is useful when you want to inject custom logic or configuration
841// into the SDK's request lifecycle. Such as custom headers, or retry logic.
842//
843//
844//    // Example sending a request using the RotateChannelCredentialsRequest method.
845//    req, resp := client.RotateChannelCredentialsRequest(params)
846//
847//    err := req.Send()
848//    if err == nil { // resp is now filled
849//        fmt.Println(resp)
850//    }
851//
852// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/RotateChannelCredentials
853func (c *MediaPackage) RotateChannelCredentialsRequest(input *RotateChannelCredentialsInput) (req *request.Request, output *RotateChannelCredentialsOutput) {
854	op := &request.Operation{
855		Name:       opRotateChannelCredentials,
856		HTTPMethod: "PUT",
857		HTTPPath:   "/channels/{id}/credentials",
858	}
859
860	if input == nil {
861		input = &RotateChannelCredentialsInput{}
862	}
863
864	output = &RotateChannelCredentialsOutput{}
865	req = c.newRequest(op, input, output)
866	return
867}
868
869// RotateChannelCredentials API operation for AWS Elemental MediaPackage.
870//
871// Changes the Channel ingest username and password.
872//
873// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
874// with awserr.Error's Code and Message methods to get detailed information about
875// the error.
876//
877// See the AWS API reference guide for AWS Elemental MediaPackage's
878// API operation RotateChannelCredentials for usage and error information.
879//
880// Returned Error Codes:
881//   * ErrCodeUnprocessableEntityException "UnprocessableEntityException"
882//
883//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
884//
885//   * ErrCodeForbiddenException "ForbiddenException"
886//
887//   * ErrCodeNotFoundException "NotFoundException"
888//
889//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
890//
891//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
892//
893// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/RotateChannelCredentials
894func (c *MediaPackage) RotateChannelCredentials(input *RotateChannelCredentialsInput) (*RotateChannelCredentialsOutput, error) {
895	req, out := c.RotateChannelCredentialsRequest(input)
896	return out, req.Send()
897}
898
899// RotateChannelCredentialsWithContext is the same as RotateChannelCredentials with the addition of
900// the ability to pass a context and additional request options.
901//
902// See RotateChannelCredentials for details on how to use this API operation.
903//
904// The context must be non-nil and will be used for request cancellation. If
905// the context is nil a panic will occur. In the future the SDK may create
906// sub-contexts for http.Requests. See https://golang.org/pkg/context/
907// for more information on using Contexts.
908func (c *MediaPackage) RotateChannelCredentialsWithContext(ctx aws.Context, input *RotateChannelCredentialsInput, opts ...request.Option) (*RotateChannelCredentialsOutput, error) {
909	req, out := c.RotateChannelCredentialsRequest(input)
910	req.SetContext(ctx)
911	req.ApplyOptions(opts...)
912	return out, req.Send()
913}
914
915const opUpdateChannel = "UpdateChannel"
916
917// UpdateChannelRequest generates a "aws/request.Request" representing the
918// client's request for the UpdateChannel operation. The "output" return
919// value will be populated with the request's response once the request complets
920// successfuly.
921//
922// Use "Send" method on the returned Request to send the API call to the service.
923// the "output" return value is not valid until after Send returns without error.
924//
925// See UpdateChannel for more information on using the UpdateChannel
926// API call, and error handling.
927//
928// This method is useful when you want to inject custom logic or configuration
929// into the SDK's request lifecycle. Such as custom headers, or retry logic.
930//
931//
932//    // Example sending a request using the UpdateChannelRequest method.
933//    req, resp := client.UpdateChannelRequest(params)
934//
935//    err := req.Send()
936//    if err == nil { // resp is now filled
937//        fmt.Println(resp)
938//    }
939//
940// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UpdateChannel
941func (c *MediaPackage) UpdateChannelRequest(input *UpdateChannelInput) (req *request.Request, output *UpdateChannelOutput) {
942	op := &request.Operation{
943		Name:       opUpdateChannel,
944		HTTPMethod: "PUT",
945		HTTPPath:   "/channels/{id}",
946	}
947
948	if input == nil {
949		input = &UpdateChannelInput{}
950	}
951
952	output = &UpdateChannelOutput{}
953	req = c.newRequest(op, input, output)
954	return
955}
956
957// UpdateChannel API operation for AWS Elemental MediaPackage.
958//
959// Updates an existing Channel.
960//
961// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
962// with awserr.Error's Code and Message methods to get detailed information about
963// the error.
964//
965// See the AWS API reference guide for AWS Elemental MediaPackage's
966// API operation UpdateChannel for usage and error information.
967//
968// Returned Error Codes:
969//   * ErrCodeUnprocessableEntityException "UnprocessableEntityException"
970//
971//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
972//
973//   * ErrCodeForbiddenException "ForbiddenException"
974//
975//   * ErrCodeNotFoundException "NotFoundException"
976//
977//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
978//
979//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
980//
981// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UpdateChannel
982func (c *MediaPackage) UpdateChannel(input *UpdateChannelInput) (*UpdateChannelOutput, error) {
983	req, out := c.UpdateChannelRequest(input)
984	return out, req.Send()
985}
986
987// UpdateChannelWithContext is the same as UpdateChannel with the addition of
988// the ability to pass a context and additional request options.
989//
990// See UpdateChannel for details on how to use this API operation.
991//
992// The context must be non-nil and will be used for request cancellation. If
993// the context is nil a panic will occur. In the future the SDK may create
994// sub-contexts for http.Requests. See https://golang.org/pkg/context/
995// for more information on using Contexts.
996func (c *MediaPackage) UpdateChannelWithContext(ctx aws.Context, input *UpdateChannelInput, opts ...request.Option) (*UpdateChannelOutput, error) {
997	req, out := c.UpdateChannelRequest(input)
998	req.SetContext(ctx)
999	req.ApplyOptions(opts...)
1000	return out, req.Send()
1001}
1002
1003const opUpdateOriginEndpoint = "UpdateOriginEndpoint"
1004
1005// UpdateOriginEndpointRequest generates a "aws/request.Request" representing the
1006// client's request for the UpdateOriginEndpoint operation. The "output" return
1007// value will be populated with the request's response once the request complets
1008// successfuly.
1009//
1010// Use "Send" method on the returned Request to send the API call to the service.
1011// the "output" return value is not valid until after Send returns without error.
1012//
1013// See UpdateOriginEndpoint for more information on using the UpdateOriginEndpoint
1014// API call, and error handling.
1015//
1016// This method is useful when you want to inject custom logic or configuration
1017// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1018//
1019//
1020//    // Example sending a request using the UpdateOriginEndpointRequest method.
1021//    req, resp := client.UpdateOriginEndpointRequest(params)
1022//
1023//    err := req.Send()
1024//    if err == nil { // resp is now filled
1025//        fmt.Println(resp)
1026//    }
1027//
1028// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UpdateOriginEndpoint
1029func (c *MediaPackage) UpdateOriginEndpointRequest(input *UpdateOriginEndpointInput) (req *request.Request, output *UpdateOriginEndpointOutput) {
1030	op := &request.Operation{
1031		Name:       opUpdateOriginEndpoint,
1032		HTTPMethod: "PUT",
1033		HTTPPath:   "/origin_endpoints/{id}",
1034	}
1035
1036	if input == nil {
1037		input = &UpdateOriginEndpointInput{}
1038	}
1039
1040	output = &UpdateOriginEndpointOutput{}
1041	req = c.newRequest(op, input, output)
1042	return
1043}
1044
1045// UpdateOriginEndpoint API operation for AWS Elemental MediaPackage.
1046//
1047// Updates an existing OriginEndpoint.
1048//
1049// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1050// with awserr.Error's Code and Message methods to get detailed information about
1051// the error.
1052//
1053// See the AWS API reference guide for AWS Elemental MediaPackage's
1054// API operation UpdateOriginEndpoint for usage and error information.
1055//
1056// Returned Error Codes:
1057//   * ErrCodeUnprocessableEntityException "UnprocessableEntityException"
1058//
1059//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1060//
1061//   * ErrCodeForbiddenException "ForbiddenException"
1062//
1063//   * ErrCodeNotFoundException "NotFoundException"
1064//
1065//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
1066//
1067//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1068//
1069// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UpdateOriginEndpoint
1070func (c *MediaPackage) UpdateOriginEndpoint(input *UpdateOriginEndpointInput) (*UpdateOriginEndpointOutput, error) {
1071	req, out := c.UpdateOriginEndpointRequest(input)
1072	return out, req.Send()
1073}
1074
1075// UpdateOriginEndpointWithContext is the same as UpdateOriginEndpoint with the addition of
1076// the ability to pass a context and additional request options.
1077//
1078// See UpdateOriginEndpoint for details on how to use this API operation.
1079//
1080// The context must be non-nil and will be used for request cancellation. If
1081// the context is nil a panic will occur. In the future the SDK may create
1082// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1083// for more information on using Contexts.
1084func (c *MediaPackage) UpdateOriginEndpointWithContext(ctx aws.Context, input *UpdateOriginEndpointInput, opts ...request.Option) (*UpdateOriginEndpointOutput, error) {
1085	req, out := c.UpdateOriginEndpointRequest(input)
1086	req.SetContext(ctx)
1087	req.ApplyOptions(opts...)
1088	return out, req.Send()
1089}
1090
1091// A Channel resource configuration.
1092// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/Channel
1093type Channel struct {
1094	_ struct{} `type:"structure"`
1095
1096	// The Amazon Resource Name (ARN) assigned to the Channel.
1097	Arn *string `locationName:"arn" type:"string"`
1098
1099	// A short text description of the Channel.
1100	Description *string `locationName:"description" type:"string"`
1101
1102	// An HTTP Live Streaming (HLS) ingest resource configuration.
1103	HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"`
1104
1105	// The ID of the Channel.
1106	Id *string `locationName:"id" type:"string"`
1107}
1108
1109// String returns the string representation
1110func (s Channel) String() string {
1111	return awsutil.Prettify(s)
1112}
1113
1114// GoString returns the string representation
1115func (s Channel) GoString() string {
1116	return s.String()
1117}
1118
1119// SetArn sets the Arn field's value.
1120func (s *Channel) SetArn(v string) *Channel {
1121	s.Arn = &v
1122	return s
1123}
1124
1125// SetDescription sets the Description field's value.
1126func (s *Channel) SetDescription(v string) *Channel {
1127	s.Description = &v
1128	return s
1129}
1130
1131// SetHlsIngest sets the HlsIngest field's value.
1132func (s *Channel) SetHlsIngest(v *HlsIngest) *Channel {
1133	s.HlsIngest = v
1134	return s
1135}
1136
1137// SetId sets the Id field's value.
1138func (s *Channel) SetId(v string) *Channel {
1139	s.Id = &v
1140	return s
1141}
1142
1143// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/CreateChannelRequest
1144type CreateChannelInput struct {
1145	_ struct{} `type:"structure"`
1146
1147	Description *string `locationName:"description" type:"string"`
1148
1149	// Id is a required field
1150	Id *string `locationName:"id" type:"string" required:"true"`
1151}
1152
1153// String returns the string representation
1154func (s CreateChannelInput) String() string {
1155	return awsutil.Prettify(s)
1156}
1157
1158// GoString returns the string representation
1159func (s CreateChannelInput) GoString() string {
1160	return s.String()
1161}
1162
1163// Validate inspects the fields of the type to determine if they are valid.
1164func (s *CreateChannelInput) Validate() error {
1165	invalidParams := request.ErrInvalidParams{Context: "CreateChannelInput"}
1166	if s.Id == nil {
1167		invalidParams.Add(request.NewErrParamRequired("Id"))
1168	}
1169
1170	if invalidParams.Len() > 0 {
1171		return invalidParams
1172	}
1173	return nil
1174}
1175
1176// SetDescription sets the Description field's value.
1177func (s *CreateChannelInput) SetDescription(v string) *CreateChannelInput {
1178	s.Description = &v
1179	return s
1180}
1181
1182// SetId sets the Id field's value.
1183func (s *CreateChannelInput) SetId(v string) *CreateChannelInput {
1184	s.Id = &v
1185	return s
1186}
1187
1188// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/CreateChannelResponse
1189type CreateChannelOutput struct {
1190	_ struct{} `type:"structure"`
1191
1192	Arn *string `locationName:"arn" type:"string"`
1193
1194	Description *string `locationName:"description" type:"string"`
1195
1196	// An HTTP Live Streaming (HLS) ingest resource configuration.
1197	HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"`
1198
1199	Id *string `locationName:"id" type:"string"`
1200}
1201
1202// String returns the string representation
1203func (s CreateChannelOutput) String() string {
1204	return awsutil.Prettify(s)
1205}
1206
1207// GoString returns the string representation
1208func (s CreateChannelOutput) GoString() string {
1209	return s.String()
1210}
1211
1212// SetArn sets the Arn field's value.
1213func (s *CreateChannelOutput) SetArn(v string) *CreateChannelOutput {
1214	s.Arn = &v
1215	return s
1216}
1217
1218// SetDescription sets the Description field's value.
1219func (s *CreateChannelOutput) SetDescription(v string) *CreateChannelOutput {
1220	s.Description = &v
1221	return s
1222}
1223
1224// SetHlsIngest sets the HlsIngest field's value.
1225func (s *CreateChannelOutput) SetHlsIngest(v *HlsIngest) *CreateChannelOutput {
1226	s.HlsIngest = v
1227	return s
1228}
1229
1230// SetId sets the Id field's value.
1231func (s *CreateChannelOutput) SetId(v string) *CreateChannelOutput {
1232	s.Id = &v
1233	return s
1234}
1235
1236// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/CreateOriginEndpointRequest
1237type CreateOriginEndpointInput struct {
1238	_ struct{} `type:"structure"`
1239
1240	// ChannelId is a required field
1241	ChannelId *string `locationName:"channelId" type:"string" required:"true"`
1242
1243	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
1244	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
1245
1246	Description *string `locationName:"description" type:"string"`
1247
1248	// An HTTP Live Streaming (HLS) packaging configuration.
1249	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
1250
1251	// Id is a required field
1252	Id *string `locationName:"id" type:"string" required:"true"`
1253
1254	ManifestName *string `locationName:"manifestName" type:"string"`
1255
1256	// A Microsoft Smooth Streaming (MSS) packaging configuration.
1257	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
1258
1259	StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"`
1260
1261	TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"`
1262
1263	Whitelist []*string `locationName:"whitelist" type:"list"`
1264}
1265
1266// String returns the string representation
1267func (s CreateOriginEndpointInput) String() string {
1268	return awsutil.Prettify(s)
1269}
1270
1271// GoString returns the string representation
1272func (s CreateOriginEndpointInput) GoString() string {
1273	return s.String()
1274}
1275
1276// Validate inspects the fields of the type to determine if they are valid.
1277func (s *CreateOriginEndpointInput) Validate() error {
1278	invalidParams := request.ErrInvalidParams{Context: "CreateOriginEndpointInput"}
1279	if s.ChannelId == nil {
1280		invalidParams.Add(request.NewErrParamRequired("ChannelId"))
1281	}
1282	if s.Id == nil {
1283		invalidParams.Add(request.NewErrParamRequired("Id"))
1284	}
1285	if s.DashPackage != nil {
1286		if err := s.DashPackage.Validate(); err != nil {
1287			invalidParams.AddNested("DashPackage", err.(request.ErrInvalidParams))
1288		}
1289	}
1290	if s.HlsPackage != nil {
1291		if err := s.HlsPackage.Validate(); err != nil {
1292			invalidParams.AddNested("HlsPackage", err.(request.ErrInvalidParams))
1293		}
1294	}
1295	if s.MssPackage != nil {
1296		if err := s.MssPackage.Validate(); err != nil {
1297			invalidParams.AddNested("MssPackage", err.(request.ErrInvalidParams))
1298		}
1299	}
1300
1301	if invalidParams.Len() > 0 {
1302		return invalidParams
1303	}
1304	return nil
1305}
1306
1307// SetChannelId sets the ChannelId field's value.
1308func (s *CreateOriginEndpointInput) SetChannelId(v string) *CreateOriginEndpointInput {
1309	s.ChannelId = &v
1310	return s
1311}
1312
1313// SetDashPackage sets the DashPackage field's value.
1314func (s *CreateOriginEndpointInput) SetDashPackage(v *DashPackage) *CreateOriginEndpointInput {
1315	s.DashPackage = v
1316	return s
1317}
1318
1319// SetDescription sets the Description field's value.
1320func (s *CreateOriginEndpointInput) SetDescription(v string) *CreateOriginEndpointInput {
1321	s.Description = &v
1322	return s
1323}
1324
1325// SetHlsPackage sets the HlsPackage field's value.
1326func (s *CreateOriginEndpointInput) SetHlsPackage(v *HlsPackage) *CreateOriginEndpointInput {
1327	s.HlsPackage = v
1328	return s
1329}
1330
1331// SetId sets the Id field's value.
1332func (s *CreateOriginEndpointInput) SetId(v string) *CreateOriginEndpointInput {
1333	s.Id = &v
1334	return s
1335}
1336
1337// SetManifestName sets the ManifestName field's value.
1338func (s *CreateOriginEndpointInput) SetManifestName(v string) *CreateOriginEndpointInput {
1339	s.ManifestName = &v
1340	return s
1341}
1342
1343// SetMssPackage sets the MssPackage field's value.
1344func (s *CreateOriginEndpointInput) SetMssPackage(v *MssPackage) *CreateOriginEndpointInput {
1345	s.MssPackage = v
1346	return s
1347}
1348
1349// SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value.
1350func (s *CreateOriginEndpointInput) SetStartoverWindowSeconds(v int64) *CreateOriginEndpointInput {
1351	s.StartoverWindowSeconds = &v
1352	return s
1353}
1354
1355// SetTimeDelaySeconds sets the TimeDelaySeconds field's value.
1356func (s *CreateOriginEndpointInput) SetTimeDelaySeconds(v int64) *CreateOriginEndpointInput {
1357	s.TimeDelaySeconds = &v
1358	return s
1359}
1360
1361// SetWhitelist sets the Whitelist field's value.
1362func (s *CreateOriginEndpointInput) SetWhitelist(v []*string) *CreateOriginEndpointInput {
1363	s.Whitelist = v
1364	return s
1365}
1366
1367// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/CreateOriginEndpointResponse
1368type CreateOriginEndpointOutput struct {
1369	_ struct{} `type:"structure"`
1370
1371	Arn *string `locationName:"arn" type:"string"`
1372
1373	ChannelId *string `locationName:"channelId" type:"string"`
1374
1375	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
1376	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
1377
1378	Description *string `locationName:"description" type:"string"`
1379
1380	// An HTTP Live Streaming (HLS) packaging configuration.
1381	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
1382
1383	Id *string `locationName:"id" type:"string"`
1384
1385	ManifestName *string `locationName:"manifestName" type:"string"`
1386
1387	// A Microsoft Smooth Streaming (MSS) packaging configuration.
1388	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
1389
1390	StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"`
1391
1392	TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"`
1393
1394	Url *string `locationName:"url" type:"string"`
1395
1396	Whitelist []*string `locationName:"whitelist" type:"list"`
1397}
1398
1399// String returns the string representation
1400func (s CreateOriginEndpointOutput) String() string {
1401	return awsutil.Prettify(s)
1402}
1403
1404// GoString returns the string representation
1405func (s CreateOriginEndpointOutput) GoString() string {
1406	return s.String()
1407}
1408
1409// SetArn sets the Arn field's value.
1410func (s *CreateOriginEndpointOutput) SetArn(v string) *CreateOriginEndpointOutput {
1411	s.Arn = &v
1412	return s
1413}
1414
1415// SetChannelId sets the ChannelId field's value.
1416func (s *CreateOriginEndpointOutput) SetChannelId(v string) *CreateOriginEndpointOutput {
1417	s.ChannelId = &v
1418	return s
1419}
1420
1421// SetDashPackage sets the DashPackage field's value.
1422func (s *CreateOriginEndpointOutput) SetDashPackage(v *DashPackage) *CreateOriginEndpointOutput {
1423	s.DashPackage = v
1424	return s
1425}
1426
1427// SetDescription sets the Description field's value.
1428func (s *CreateOriginEndpointOutput) SetDescription(v string) *CreateOriginEndpointOutput {
1429	s.Description = &v
1430	return s
1431}
1432
1433// SetHlsPackage sets the HlsPackage field's value.
1434func (s *CreateOriginEndpointOutput) SetHlsPackage(v *HlsPackage) *CreateOriginEndpointOutput {
1435	s.HlsPackage = v
1436	return s
1437}
1438
1439// SetId sets the Id field's value.
1440func (s *CreateOriginEndpointOutput) SetId(v string) *CreateOriginEndpointOutput {
1441	s.Id = &v
1442	return s
1443}
1444
1445// SetManifestName sets the ManifestName field's value.
1446func (s *CreateOriginEndpointOutput) SetManifestName(v string) *CreateOriginEndpointOutput {
1447	s.ManifestName = &v
1448	return s
1449}
1450
1451// SetMssPackage sets the MssPackage field's value.
1452func (s *CreateOriginEndpointOutput) SetMssPackage(v *MssPackage) *CreateOriginEndpointOutput {
1453	s.MssPackage = v
1454	return s
1455}
1456
1457// SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value.
1458func (s *CreateOriginEndpointOutput) SetStartoverWindowSeconds(v int64) *CreateOriginEndpointOutput {
1459	s.StartoverWindowSeconds = &v
1460	return s
1461}
1462
1463// SetTimeDelaySeconds sets the TimeDelaySeconds field's value.
1464func (s *CreateOriginEndpointOutput) SetTimeDelaySeconds(v int64) *CreateOriginEndpointOutput {
1465	s.TimeDelaySeconds = &v
1466	return s
1467}
1468
1469// SetUrl sets the Url field's value.
1470func (s *CreateOriginEndpointOutput) SetUrl(v string) *CreateOriginEndpointOutput {
1471	s.Url = &v
1472	return s
1473}
1474
1475// SetWhitelist sets the Whitelist field's value.
1476func (s *CreateOriginEndpointOutput) SetWhitelist(v []*string) *CreateOriginEndpointOutput {
1477	s.Whitelist = v
1478	return s
1479}
1480
1481// A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration.
1482// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DashEncryption
1483type DashEncryption struct {
1484	_ struct{} `type:"structure"`
1485
1486	// Time (in seconds) between each encryption key rotation.
1487	KeyRotationIntervalSeconds *int64 `locationName:"keyRotationIntervalSeconds" type:"integer"`
1488
1489	// A configuration for accessing an external Secure Packager and Encoder Key
1490	// Exchange (SPEKE) service that will provide encryption keys.
1491	//
1492	// SpekeKeyProvider is a required field
1493	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"`
1494}
1495
1496// String returns the string representation
1497func (s DashEncryption) String() string {
1498	return awsutil.Prettify(s)
1499}
1500
1501// GoString returns the string representation
1502func (s DashEncryption) GoString() string {
1503	return s.String()
1504}
1505
1506// Validate inspects the fields of the type to determine if they are valid.
1507func (s *DashEncryption) Validate() error {
1508	invalidParams := request.ErrInvalidParams{Context: "DashEncryption"}
1509	if s.SpekeKeyProvider == nil {
1510		invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider"))
1511	}
1512	if s.SpekeKeyProvider != nil {
1513		if err := s.SpekeKeyProvider.Validate(); err != nil {
1514			invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams))
1515		}
1516	}
1517
1518	if invalidParams.Len() > 0 {
1519		return invalidParams
1520	}
1521	return nil
1522}
1523
1524// SetKeyRotationIntervalSeconds sets the KeyRotationIntervalSeconds field's value.
1525func (s *DashEncryption) SetKeyRotationIntervalSeconds(v int64) *DashEncryption {
1526	s.KeyRotationIntervalSeconds = &v
1527	return s
1528}
1529
1530// SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
1531func (s *DashEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *DashEncryption {
1532	s.SpekeKeyProvider = v
1533	return s
1534}
1535
1536// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
1537// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DashPackage
1538type DashPackage struct {
1539	_ struct{} `type:"structure"`
1540
1541	// A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration.
1542	Encryption *DashEncryption `locationName:"encryption" type:"structure"`
1543
1544	// Time window (in seconds) contained in each manifest.
1545	ManifestWindowSeconds *int64 `locationName:"manifestWindowSeconds" type:"integer"`
1546
1547	// Minimum duration (in seconds) that a player will buffer media before starting
1548	// the presentation.
1549	MinBufferTimeSeconds *int64 `locationName:"minBufferTimeSeconds" type:"integer"`
1550
1551	// Minimum duration (in seconds) between potential changes to the Dynamic Adaptive
1552	// Streaming over HTTP (DASH) Media Presentation Description (MPD).
1553	MinUpdatePeriodSeconds *int64 `locationName:"minUpdatePeriodSeconds" type:"integer"`
1554
1555	// The Dynamic Adaptive Streaming over HTTP (DASH) profile type. When set to
1556	// "HBBTV_1_5", HbbTV 1.5 compliant output is enabled.
1557	Profile *string `locationName:"profile" type:"string" enum:"Profile"`
1558
1559	// Duration (in seconds) of each segment. Actual segments will berounded to
1560	// the nearest multiple of the source segment duration.
1561	SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"`
1562
1563	// A StreamSelection configuration.
1564	StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"`
1565
1566	// Duration (in seconds) to delay live content before presentation.
1567	SuggestedPresentationDelaySeconds *int64 `locationName:"suggestedPresentationDelaySeconds" type:"integer"`
1568}
1569
1570// String returns the string representation
1571func (s DashPackage) String() string {
1572	return awsutil.Prettify(s)
1573}
1574
1575// GoString returns the string representation
1576func (s DashPackage) GoString() string {
1577	return s.String()
1578}
1579
1580// Validate inspects the fields of the type to determine if they are valid.
1581func (s *DashPackage) Validate() error {
1582	invalidParams := request.ErrInvalidParams{Context: "DashPackage"}
1583	if s.Encryption != nil {
1584		if err := s.Encryption.Validate(); err != nil {
1585			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
1586		}
1587	}
1588
1589	if invalidParams.Len() > 0 {
1590		return invalidParams
1591	}
1592	return nil
1593}
1594
1595// SetEncryption sets the Encryption field's value.
1596func (s *DashPackage) SetEncryption(v *DashEncryption) *DashPackage {
1597	s.Encryption = v
1598	return s
1599}
1600
1601// SetManifestWindowSeconds sets the ManifestWindowSeconds field's value.
1602func (s *DashPackage) SetManifestWindowSeconds(v int64) *DashPackage {
1603	s.ManifestWindowSeconds = &v
1604	return s
1605}
1606
1607// SetMinBufferTimeSeconds sets the MinBufferTimeSeconds field's value.
1608func (s *DashPackage) SetMinBufferTimeSeconds(v int64) *DashPackage {
1609	s.MinBufferTimeSeconds = &v
1610	return s
1611}
1612
1613// SetMinUpdatePeriodSeconds sets the MinUpdatePeriodSeconds field's value.
1614func (s *DashPackage) SetMinUpdatePeriodSeconds(v int64) *DashPackage {
1615	s.MinUpdatePeriodSeconds = &v
1616	return s
1617}
1618
1619// SetProfile sets the Profile field's value.
1620func (s *DashPackage) SetProfile(v string) *DashPackage {
1621	s.Profile = &v
1622	return s
1623}
1624
1625// SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value.
1626func (s *DashPackage) SetSegmentDurationSeconds(v int64) *DashPackage {
1627	s.SegmentDurationSeconds = &v
1628	return s
1629}
1630
1631// SetStreamSelection sets the StreamSelection field's value.
1632func (s *DashPackage) SetStreamSelection(v *StreamSelection) *DashPackage {
1633	s.StreamSelection = v
1634	return s
1635}
1636
1637// SetSuggestedPresentationDelaySeconds sets the SuggestedPresentationDelaySeconds field's value.
1638func (s *DashPackage) SetSuggestedPresentationDelaySeconds(v int64) *DashPackage {
1639	s.SuggestedPresentationDelaySeconds = &v
1640	return s
1641}
1642
1643// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DeleteChannelRequest
1644type DeleteChannelInput struct {
1645	_ struct{} `type:"structure"`
1646
1647	// Id is a required field
1648	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
1649}
1650
1651// String returns the string representation
1652func (s DeleteChannelInput) String() string {
1653	return awsutil.Prettify(s)
1654}
1655
1656// GoString returns the string representation
1657func (s DeleteChannelInput) GoString() string {
1658	return s.String()
1659}
1660
1661// Validate inspects the fields of the type to determine if they are valid.
1662func (s *DeleteChannelInput) Validate() error {
1663	invalidParams := request.ErrInvalidParams{Context: "DeleteChannelInput"}
1664	if s.Id == nil {
1665		invalidParams.Add(request.NewErrParamRequired("Id"))
1666	}
1667
1668	if invalidParams.Len() > 0 {
1669		return invalidParams
1670	}
1671	return nil
1672}
1673
1674// SetId sets the Id field's value.
1675func (s *DeleteChannelInput) SetId(v string) *DeleteChannelInput {
1676	s.Id = &v
1677	return s
1678}
1679
1680// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DeleteChannelResponse
1681type DeleteChannelOutput struct {
1682	_ struct{} `type:"structure"`
1683}
1684
1685// String returns the string representation
1686func (s DeleteChannelOutput) String() string {
1687	return awsutil.Prettify(s)
1688}
1689
1690// GoString returns the string representation
1691func (s DeleteChannelOutput) GoString() string {
1692	return s.String()
1693}
1694
1695// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DeleteOriginEndpointRequest
1696type DeleteOriginEndpointInput struct {
1697	_ struct{} `type:"structure"`
1698
1699	// Id is a required field
1700	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
1701}
1702
1703// String returns the string representation
1704func (s DeleteOriginEndpointInput) String() string {
1705	return awsutil.Prettify(s)
1706}
1707
1708// GoString returns the string representation
1709func (s DeleteOriginEndpointInput) GoString() string {
1710	return s.String()
1711}
1712
1713// Validate inspects the fields of the type to determine if they are valid.
1714func (s *DeleteOriginEndpointInput) Validate() error {
1715	invalidParams := request.ErrInvalidParams{Context: "DeleteOriginEndpointInput"}
1716	if s.Id == nil {
1717		invalidParams.Add(request.NewErrParamRequired("Id"))
1718	}
1719
1720	if invalidParams.Len() > 0 {
1721		return invalidParams
1722	}
1723	return nil
1724}
1725
1726// SetId sets the Id field's value.
1727func (s *DeleteOriginEndpointInput) SetId(v string) *DeleteOriginEndpointInput {
1728	s.Id = &v
1729	return s
1730}
1731
1732// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DeleteOriginEndpointResponse
1733type DeleteOriginEndpointOutput struct {
1734	_ struct{} `type:"structure"`
1735}
1736
1737// String returns the string representation
1738func (s DeleteOriginEndpointOutput) String() string {
1739	return awsutil.Prettify(s)
1740}
1741
1742// GoString returns the string representation
1743func (s DeleteOriginEndpointOutput) GoString() string {
1744	return s.String()
1745}
1746
1747// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeChannelRequest
1748type DescribeChannelInput struct {
1749	_ struct{} `type:"structure"`
1750
1751	// Id is a required field
1752	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
1753}
1754
1755// String returns the string representation
1756func (s DescribeChannelInput) String() string {
1757	return awsutil.Prettify(s)
1758}
1759
1760// GoString returns the string representation
1761func (s DescribeChannelInput) GoString() string {
1762	return s.String()
1763}
1764
1765// Validate inspects the fields of the type to determine if they are valid.
1766func (s *DescribeChannelInput) Validate() error {
1767	invalidParams := request.ErrInvalidParams{Context: "DescribeChannelInput"}
1768	if s.Id == nil {
1769		invalidParams.Add(request.NewErrParamRequired("Id"))
1770	}
1771
1772	if invalidParams.Len() > 0 {
1773		return invalidParams
1774	}
1775	return nil
1776}
1777
1778// SetId sets the Id field's value.
1779func (s *DescribeChannelInput) SetId(v string) *DescribeChannelInput {
1780	s.Id = &v
1781	return s
1782}
1783
1784// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeChannelResponse
1785type DescribeChannelOutput struct {
1786	_ struct{} `type:"structure"`
1787
1788	Arn *string `locationName:"arn" type:"string"`
1789
1790	Description *string `locationName:"description" type:"string"`
1791
1792	// An HTTP Live Streaming (HLS) ingest resource configuration.
1793	HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"`
1794
1795	Id *string `locationName:"id" type:"string"`
1796}
1797
1798// String returns the string representation
1799func (s DescribeChannelOutput) String() string {
1800	return awsutil.Prettify(s)
1801}
1802
1803// GoString returns the string representation
1804func (s DescribeChannelOutput) GoString() string {
1805	return s.String()
1806}
1807
1808// SetArn sets the Arn field's value.
1809func (s *DescribeChannelOutput) SetArn(v string) *DescribeChannelOutput {
1810	s.Arn = &v
1811	return s
1812}
1813
1814// SetDescription sets the Description field's value.
1815func (s *DescribeChannelOutput) SetDescription(v string) *DescribeChannelOutput {
1816	s.Description = &v
1817	return s
1818}
1819
1820// SetHlsIngest sets the HlsIngest field's value.
1821func (s *DescribeChannelOutput) SetHlsIngest(v *HlsIngest) *DescribeChannelOutput {
1822	s.HlsIngest = v
1823	return s
1824}
1825
1826// SetId sets the Id field's value.
1827func (s *DescribeChannelOutput) SetId(v string) *DescribeChannelOutput {
1828	s.Id = &v
1829	return s
1830}
1831
1832// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeOriginEndpointRequest
1833type DescribeOriginEndpointInput struct {
1834	_ struct{} `type:"structure"`
1835
1836	// Id is a required field
1837	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
1838}
1839
1840// String returns the string representation
1841func (s DescribeOriginEndpointInput) String() string {
1842	return awsutil.Prettify(s)
1843}
1844
1845// GoString returns the string representation
1846func (s DescribeOriginEndpointInput) GoString() string {
1847	return s.String()
1848}
1849
1850// Validate inspects the fields of the type to determine if they are valid.
1851func (s *DescribeOriginEndpointInput) Validate() error {
1852	invalidParams := request.ErrInvalidParams{Context: "DescribeOriginEndpointInput"}
1853	if s.Id == nil {
1854		invalidParams.Add(request.NewErrParamRequired("Id"))
1855	}
1856
1857	if invalidParams.Len() > 0 {
1858		return invalidParams
1859	}
1860	return nil
1861}
1862
1863// SetId sets the Id field's value.
1864func (s *DescribeOriginEndpointInput) SetId(v string) *DescribeOriginEndpointInput {
1865	s.Id = &v
1866	return s
1867}
1868
1869// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeOriginEndpointResponse
1870type DescribeOriginEndpointOutput struct {
1871	_ struct{} `type:"structure"`
1872
1873	Arn *string `locationName:"arn" type:"string"`
1874
1875	ChannelId *string `locationName:"channelId" type:"string"`
1876
1877	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
1878	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
1879
1880	Description *string `locationName:"description" type:"string"`
1881
1882	// An HTTP Live Streaming (HLS) packaging configuration.
1883	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
1884
1885	Id *string `locationName:"id" type:"string"`
1886
1887	ManifestName *string `locationName:"manifestName" type:"string"`
1888
1889	// A Microsoft Smooth Streaming (MSS) packaging configuration.
1890	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
1891
1892	StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"`
1893
1894	TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"`
1895
1896	Url *string `locationName:"url" type:"string"`
1897
1898	Whitelist []*string `locationName:"whitelist" type:"list"`
1899}
1900
1901// String returns the string representation
1902func (s DescribeOriginEndpointOutput) String() string {
1903	return awsutil.Prettify(s)
1904}
1905
1906// GoString returns the string representation
1907func (s DescribeOriginEndpointOutput) GoString() string {
1908	return s.String()
1909}
1910
1911// SetArn sets the Arn field's value.
1912func (s *DescribeOriginEndpointOutput) SetArn(v string) *DescribeOriginEndpointOutput {
1913	s.Arn = &v
1914	return s
1915}
1916
1917// SetChannelId sets the ChannelId field's value.
1918func (s *DescribeOriginEndpointOutput) SetChannelId(v string) *DescribeOriginEndpointOutput {
1919	s.ChannelId = &v
1920	return s
1921}
1922
1923// SetDashPackage sets the DashPackage field's value.
1924func (s *DescribeOriginEndpointOutput) SetDashPackage(v *DashPackage) *DescribeOriginEndpointOutput {
1925	s.DashPackage = v
1926	return s
1927}
1928
1929// SetDescription sets the Description field's value.
1930func (s *DescribeOriginEndpointOutput) SetDescription(v string) *DescribeOriginEndpointOutput {
1931	s.Description = &v
1932	return s
1933}
1934
1935// SetHlsPackage sets the HlsPackage field's value.
1936func (s *DescribeOriginEndpointOutput) SetHlsPackage(v *HlsPackage) *DescribeOriginEndpointOutput {
1937	s.HlsPackage = v
1938	return s
1939}
1940
1941// SetId sets the Id field's value.
1942func (s *DescribeOriginEndpointOutput) SetId(v string) *DescribeOriginEndpointOutput {
1943	s.Id = &v
1944	return s
1945}
1946
1947// SetManifestName sets the ManifestName field's value.
1948func (s *DescribeOriginEndpointOutput) SetManifestName(v string) *DescribeOriginEndpointOutput {
1949	s.ManifestName = &v
1950	return s
1951}
1952
1953// SetMssPackage sets the MssPackage field's value.
1954func (s *DescribeOriginEndpointOutput) SetMssPackage(v *MssPackage) *DescribeOriginEndpointOutput {
1955	s.MssPackage = v
1956	return s
1957}
1958
1959// SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value.
1960func (s *DescribeOriginEndpointOutput) SetStartoverWindowSeconds(v int64) *DescribeOriginEndpointOutput {
1961	s.StartoverWindowSeconds = &v
1962	return s
1963}
1964
1965// SetTimeDelaySeconds sets the TimeDelaySeconds field's value.
1966func (s *DescribeOriginEndpointOutput) SetTimeDelaySeconds(v int64) *DescribeOriginEndpointOutput {
1967	s.TimeDelaySeconds = &v
1968	return s
1969}
1970
1971// SetUrl sets the Url field's value.
1972func (s *DescribeOriginEndpointOutput) SetUrl(v string) *DescribeOriginEndpointOutput {
1973	s.Url = &v
1974	return s
1975}
1976
1977// SetWhitelist sets the Whitelist field's value.
1978func (s *DescribeOriginEndpointOutput) SetWhitelist(v []*string) *DescribeOriginEndpointOutput {
1979	s.Whitelist = v
1980	return s
1981}
1982
1983// An HTTP Live Streaming (HLS) encryption configuration.
1984// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/HlsEncryption
1985type HlsEncryption struct {
1986	_ struct{} `type:"structure"`
1987
1988	// A constant initialization vector for encryption (optional).When not specified
1989	// the initialization vector will be periodically rotated.
1990	ConstantInitializationVector *string `locationName:"constantInitializationVector" type:"string"`
1991
1992	// The encryption method to use.
1993	EncryptionMethod *string `locationName:"encryptionMethod" type:"string" enum:"EncryptionMethod"`
1994
1995	// Interval (in seconds) between each encryption key rotation.
1996	KeyRotationIntervalSeconds *int64 `locationName:"keyRotationIntervalSeconds" type:"integer"`
1997
1998	// When enabled, the EXT-X-KEY tag will be repeated in output manifests.
1999	RepeatExtXKey *bool `locationName:"repeatExtXKey" type:"boolean"`
2000
2001	// A configuration for accessing an external Secure Packager and Encoder Key
2002	// Exchange (SPEKE) service that will provide encryption keys.
2003	//
2004	// SpekeKeyProvider is a required field
2005	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"`
2006}
2007
2008// String returns the string representation
2009func (s HlsEncryption) String() string {
2010	return awsutil.Prettify(s)
2011}
2012
2013// GoString returns the string representation
2014func (s HlsEncryption) GoString() string {
2015	return s.String()
2016}
2017
2018// Validate inspects the fields of the type to determine if they are valid.
2019func (s *HlsEncryption) Validate() error {
2020	invalidParams := request.ErrInvalidParams{Context: "HlsEncryption"}
2021	if s.SpekeKeyProvider == nil {
2022		invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider"))
2023	}
2024	if s.SpekeKeyProvider != nil {
2025		if err := s.SpekeKeyProvider.Validate(); err != nil {
2026			invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams))
2027		}
2028	}
2029
2030	if invalidParams.Len() > 0 {
2031		return invalidParams
2032	}
2033	return nil
2034}
2035
2036// SetConstantInitializationVector sets the ConstantInitializationVector field's value.
2037func (s *HlsEncryption) SetConstantInitializationVector(v string) *HlsEncryption {
2038	s.ConstantInitializationVector = &v
2039	return s
2040}
2041
2042// SetEncryptionMethod sets the EncryptionMethod field's value.
2043func (s *HlsEncryption) SetEncryptionMethod(v string) *HlsEncryption {
2044	s.EncryptionMethod = &v
2045	return s
2046}
2047
2048// SetKeyRotationIntervalSeconds sets the KeyRotationIntervalSeconds field's value.
2049func (s *HlsEncryption) SetKeyRotationIntervalSeconds(v int64) *HlsEncryption {
2050	s.KeyRotationIntervalSeconds = &v
2051	return s
2052}
2053
2054// SetRepeatExtXKey sets the RepeatExtXKey field's value.
2055func (s *HlsEncryption) SetRepeatExtXKey(v bool) *HlsEncryption {
2056	s.RepeatExtXKey = &v
2057	return s
2058}
2059
2060// SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
2061func (s *HlsEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *HlsEncryption {
2062	s.SpekeKeyProvider = v
2063	return s
2064}
2065
2066// An HTTP Live Streaming (HLS) ingest resource configuration.
2067// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/HlsIngest
2068type HlsIngest struct {
2069	_ struct{} `type:"structure"`
2070
2071	// A list of endpoints to which the source stream should be sent.
2072	IngestEndpoints []*IngestEndpoint `locationName:"ingestEndpoints" type:"list"`
2073}
2074
2075// String returns the string representation
2076func (s HlsIngest) String() string {
2077	return awsutil.Prettify(s)
2078}
2079
2080// GoString returns the string representation
2081func (s HlsIngest) GoString() string {
2082	return s.String()
2083}
2084
2085// SetIngestEndpoints sets the IngestEndpoints field's value.
2086func (s *HlsIngest) SetIngestEndpoints(v []*IngestEndpoint) *HlsIngest {
2087	s.IngestEndpoints = v
2088	return s
2089}
2090
2091// An HTTP Live Streaming (HLS) packaging configuration.
2092// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/HlsPackage
2093type HlsPackage struct {
2094	_ struct{} `type:"structure"`
2095
2096	// This setting controls how ad markers are included in the packaged OriginEndpoint."NONE"
2097	// will omit all SCTE-35 ad markers from the output."PASSTHROUGH" causes the
2098	// manifest to contain a copy of the SCTE-35 admarkers (comments) taken directly
2099	// from the input HTTP Live Streaming (HLS) manifest."SCTE35_ENHANCED" generates
2100	// ad markers and blackout tags based on SCTE-35messages in the input source.
2101	AdMarkers *string `locationName:"adMarkers" type:"string" enum:"AdMarkers"`
2102
2103	// An HTTP Live Streaming (HLS) encryption configuration.
2104	Encryption *HlsEncryption `locationName:"encryption" type:"structure"`
2105
2106	// When enabled, an I-Frame only stream will be included in the output.
2107	IncludeIframeOnlyStream *bool `locationName:"includeIframeOnlyStream" type:"boolean"`
2108
2109	// The HTTP Live Streaming (HLS) playlist type.When either "EVENT" or "VOD"
2110	// is specified, a corresponding EXT-X-PLAYLIST-TYPEentry will be included in
2111	// the media playlist.
2112	PlaylistType *string `locationName:"playlistType" type:"string" enum:"PlaylistType"`
2113
2114	// Time window (in seconds) contained in each parent manifest.
2115	PlaylistWindowSeconds *int64 `locationName:"playlistWindowSeconds" type:"integer"`
2116
2117	// The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME taginserted
2118	// into manifests. Additionally, when an interval is specifiedID3Timed Metadata
2119	// messages will be generated every 5 seconds using the ingest time of the content.If
2120	// the interval is not specified, or set to 0, thenno EXT-X-PROGRAM-DATE-TIME
2121	// tags will be inserted into manifests and noID3Timed Metadata messages will
2122	// be generated. Note that irrespectiveof this parameter, if any ID3 Timed Metadata
2123	// is found in HTTP Live Streaming (HLS) input,it will be passed through to
2124	// HLS output.
2125	ProgramDateTimeIntervalSeconds *int64 `locationName:"programDateTimeIntervalSeconds" type:"integer"`
2126
2127	// Duration (in seconds) of each fragment. Actual fragments will berounded to
2128	// the nearest multiple of the source fragment duration.
2129	SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"`
2130
2131	// A StreamSelection configuration.
2132	StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"`
2133
2134	// When enabled, audio streams will be placed in rendition groups in the output.
2135	UseAudioRenditionGroup *bool `locationName:"useAudioRenditionGroup" type:"boolean"`
2136}
2137
2138// String returns the string representation
2139func (s HlsPackage) String() string {
2140	return awsutil.Prettify(s)
2141}
2142
2143// GoString returns the string representation
2144func (s HlsPackage) GoString() string {
2145	return s.String()
2146}
2147
2148// Validate inspects the fields of the type to determine if they are valid.
2149func (s *HlsPackage) Validate() error {
2150	invalidParams := request.ErrInvalidParams{Context: "HlsPackage"}
2151	if s.Encryption != nil {
2152		if err := s.Encryption.Validate(); err != nil {
2153			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
2154		}
2155	}
2156
2157	if invalidParams.Len() > 0 {
2158		return invalidParams
2159	}
2160	return nil
2161}
2162
2163// SetAdMarkers sets the AdMarkers field's value.
2164func (s *HlsPackage) SetAdMarkers(v string) *HlsPackage {
2165	s.AdMarkers = &v
2166	return s
2167}
2168
2169// SetEncryption sets the Encryption field's value.
2170func (s *HlsPackage) SetEncryption(v *HlsEncryption) *HlsPackage {
2171	s.Encryption = v
2172	return s
2173}
2174
2175// SetIncludeIframeOnlyStream sets the IncludeIframeOnlyStream field's value.
2176func (s *HlsPackage) SetIncludeIframeOnlyStream(v bool) *HlsPackage {
2177	s.IncludeIframeOnlyStream = &v
2178	return s
2179}
2180
2181// SetPlaylistType sets the PlaylistType field's value.
2182func (s *HlsPackage) SetPlaylistType(v string) *HlsPackage {
2183	s.PlaylistType = &v
2184	return s
2185}
2186
2187// SetPlaylistWindowSeconds sets the PlaylistWindowSeconds field's value.
2188func (s *HlsPackage) SetPlaylistWindowSeconds(v int64) *HlsPackage {
2189	s.PlaylistWindowSeconds = &v
2190	return s
2191}
2192
2193// SetProgramDateTimeIntervalSeconds sets the ProgramDateTimeIntervalSeconds field's value.
2194func (s *HlsPackage) SetProgramDateTimeIntervalSeconds(v int64) *HlsPackage {
2195	s.ProgramDateTimeIntervalSeconds = &v
2196	return s
2197}
2198
2199// SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value.
2200func (s *HlsPackage) SetSegmentDurationSeconds(v int64) *HlsPackage {
2201	s.SegmentDurationSeconds = &v
2202	return s
2203}
2204
2205// SetStreamSelection sets the StreamSelection field's value.
2206func (s *HlsPackage) SetStreamSelection(v *StreamSelection) *HlsPackage {
2207	s.StreamSelection = v
2208	return s
2209}
2210
2211// SetUseAudioRenditionGroup sets the UseAudioRenditionGroup field's value.
2212func (s *HlsPackage) SetUseAudioRenditionGroup(v bool) *HlsPackage {
2213	s.UseAudioRenditionGroup = &v
2214	return s
2215}
2216
2217// An endpoint for ingesting source content for a Channel.
2218// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/IngestEndpoint
2219type IngestEndpoint struct {
2220	_ struct{} `type:"structure"`
2221
2222	// The system generated password for ingest authentication.
2223	Password *string `locationName:"password" type:"string"`
2224
2225	// The ingest URL to which the source stream should be sent.
2226	Url *string `locationName:"url" type:"string"`
2227
2228	// The system generated username for ingest authentication.
2229	Username *string `locationName:"username" type:"string"`
2230}
2231
2232// String returns the string representation
2233func (s IngestEndpoint) String() string {
2234	return awsutil.Prettify(s)
2235}
2236
2237// GoString returns the string representation
2238func (s IngestEndpoint) GoString() string {
2239	return s.String()
2240}
2241
2242// SetPassword sets the Password field's value.
2243func (s *IngestEndpoint) SetPassword(v string) *IngestEndpoint {
2244	s.Password = &v
2245	return s
2246}
2247
2248// SetUrl sets the Url field's value.
2249func (s *IngestEndpoint) SetUrl(v string) *IngestEndpoint {
2250	s.Url = &v
2251	return s
2252}
2253
2254// SetUsername sets the Username field's value.
2255func (s *IngestEndpoint) SetUsername(v string) *IngestEndpoint {
2256	s.Username = &v
2257	return s
2258}
2259
2260// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListChannelsRequest
2261type ListChannelsInput struct {
2262	_ struct{} `type:"structure"`
2263
2264	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
2265
2266	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
2267}
2268
2269// String returns the string representation
2270func (s ListChannelsInput) String() string {
2271	return awsutil.Prettify(s)
2272}
2273
2274// GoString returns the string representation
2275func (s ListChannelsInput) GoString() string {
2276	return s.String()
2277}
2278
2279// Validate inspects the fields of the type to determine if they are valid.
2280func (s *ListChannelsInput) Validate() error {
2281	invalidParams := request.ErrInvalidParams{Context: "ListChannelsInput"}
2282	if s.MaxResults != nil && *s.MaxResults < 1 {
2283		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
2284	}
2285
2286	if invalidParams.Len() > 0 {
2287		return invalidParams
2288	}
2289	return nil
2290}
2291
2292// SetMaxResults sets the MaxResults field's value.
2293func (s *ListChannelsInput) SetMaxResults(v int64) *ListChannelsInput {
2294	s.MaxResults = &v
2295	return s
2296}
2297
2298// SetNextToken sets the NextToken field's value.
2299func (s *ListChannelsInput) SetNextToken(v string) *ListChannelsInput {
2300	s.NextToken = &v
2301	return s
2302}
2303
2304// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListChannelsResponse
2305type ListChannelsOutput struct {
2306	_ struct{} `type:"structure"`
2307
2308	Channels []*Channel `locationName:"channels" type:"list"`
2309
2310	NextToken *string `locationName:"nextToken" type:"string"`
2311}
2312
2313// String returns the string representation
2314func (s ListChannelsOutput) String() string {
2315	return awsutil.Prettify(s)
2316}
2317
2318// GoString returns the string representation
2319func (s ListChannelsOutput) GoString() string {
2320	return s.String()
2321}
2322
2323// SetChannels sets the Channels field's value.
2324func (s *ListChannelsOutput) SetChannels(v []*Channel) *ListChannelsOutput {
2325	s.Channels = v
2326	return s
2327}
2328
2329// SetNextToken sets the NextToken field's value.
2330func (s *ListChannelsOutput) SetNextToken(v string) *ListChannelsOutput {
2331	s.NextToken = &v
2332	return s
2333}
2334
2335// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListOriginEndpointsRequest
2336type ListOriginEndpointsInput struct {
2337	_ struct{} `type:"structure"`
2338
2339	ChannelId *string `location:"querystring" locationName:"channelId" type:"string"`
2340
2341	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
2342
2343	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
2344}
2345
2346// String returns the string representation
2347func (s ListOriginEndpointsInput) String() string {
2348	return awsutil.Prettify(s)
2349}
2350
2351// GoString returns the string representation
2352func (s ListOriginEndpointsInput) GoString() string {
2353	return s.String()
2354}
2355
2356// Validate inspects the fields of the type to determine if they are valid.
2357func (s *ListOriginEndpointsInput) Validate() error {
2358	invalidParams := request.ErrInvalidParams{Context: "ListOriginEndpointsInput"}
2359	if s.MaxResults != nil && *s.MaxResults < 1 {
2360		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
2361	}
2362
2363	if invalidParams.Len() > 0 {
2364		return invalidParams
2365	}
2366	return nil
2367}
2368
2369// SetChannelId sets the ChannelId field's value.
2370func (s *ListOriginEndpointsInput) SetChannelId(v string) *ListOriginEndpointsInput {
2371	s.ChannelId = &v
2372	return s
2373}
2374
2375// SetMaxResults sets the MaxResults field's value.
2376func (s *ListOriginEndpointsInput) SetMaxResults(v int64) *ListOriginEndpointsInput {
2377	s.MaxResults = &v
2378	return s
2379}
2380
2381// SetNextToken sets the NextToken field's value.
2382func (s *ListOriginEndpointsInput) SetNextToken(v string) *ListOriginEndpointsInput {
2383	s.NextToken = &v
2384	return s
2385}
2386
2387// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListOriginEndpointsResponse
2388type ListOriginEndpointsOutput struct {
2389	_ struct{} `type:"structure"`
2390
2391	NextToken *string `locationName:"nextToken" type:"string"`
2392
2393	OriginEndpoints []*OriginEndpoint `locationName:"originEndpoints" type:"list"`
2394}
2395
2396// String returns the string representation
2397func (s ListOriginEndpointsOutput) String() string {
2398	return awsutil.Prettify(s)
2399}
2400
2401// GoString returns the string representation
2402func (s ListOriginEndpointsOutput) GoString() string {
2403	return s.String()
2404}
2405
2406// SetNextToken sets the NextToken field's value.
2407func (s *ListOriginEndpointsOutput) SetNextToken(v string) *ListOriginEndpointsOutput {
2408	s.NextToken = &v
2409	return s
2410}
2411
2412// SetOriginEndpoints sets the OriginEndpoints field's value.
2413func (s *ListOriginEndpointsOutput) SetOriginEndpoints(v []*OriginEndpoint) *ListOriginEndpointsOutput {
2414	s.OriginEndpoints = v
2415	return s
2416}
2417
2418// A Microsoft Smooth Streaming (MSS) encryption configuration.
2419// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/MssEncryption
2420type MssEncryption struct {
2421	_ struct{} `type:"structure"`
2422
2423	// A configuration for accessing an external Secure Packager and Encoder Key
2424	// Exchange (SPEKE) service that will provide encryption keys.
2425	//
2426	// SpekeKeyProvider is a required field
2427	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"`
2428}
2429
2430// String returns the string representation
2431func (s MssEncryption) String() string {
2432	return awsutil.Prettify(s)
2433}
2434
2435// GoString returns the string representation
2436func (s MssEncryption) GoString() string {
2437	return s.String()
2438}
2439
2440// Validate inspects the fields of the type to determine if they are valid.
2441func (s *MssEncryption) Validate() error {
2442	invalidParams := request.ErrInvalidParams{Context: "MssEncryption"}
2443	if s.SpekeKeyProvider == nil {
2444		invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider"))
2445	}
2446	if s.SpekeKeyProvider != nil {
2447		if err := s.SpekeKeyProvider.Validate(); err != nil {
2448			invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams))
2449		}
2450	}
2451
2452	if invalidParams.Len() > 0 {
2453		return invalidParams
2454	}
2455	return nil
2456}
2457
2458// SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
2459func (s *MssEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *MssEncryption {
2460	s.SpekeKeyProvider = v
2461	return s
2462}
2463
2464// A Microsoft Smooth Streaming (MSS) packaging configuration.
2465// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/MssPackage
2466type MssPackage struct {
2467	_ struct{} `type:"structure"`
2468
2469	// A Microsoft Smooth Streaming (MSS) encryption configuration.
2470	Encryption *MssEncryption `locationName:"encryption" type:"structure"`
2471
2472	// The time window (in seconds) contained in each manifest.
2473	ManifestWindowSeconds *int64 `locationName:"manifestWindowSeconds" type:"integer"`
2474
2475	// The duration (in seconds) of each segment.
2476	SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"`
2477
2478	// A StreamSelection configuration.
2479	StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"`
2480}
2481
2482// String returns the string representation
2483func (s MssPackage) String() string {
2484	return awsutil.Prettify(s)
2485}
2486
2487// GoString returns the string representation
2488func (s MssPackage) GoString() string {
2489	return s.String()
2490}
2491
2492// Validate inspects the fields of the type to determine if they are valid.
2493func (s *MssPackage) Validate() error {
2494	invalidParams := request.ErrInvalidParams{Context: "MssPackage"}
2495	if s.Encryption != nil {
2496		if err := s.Encryption.Validate(); err != nil {
2497			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
2498		}
2499	}
2500
2501	if invalidParams.Len() > 0 {
2502		return invalidParams
2503	}
2504	return nil
2505}
2506
2507// SetEncryption sets the Encryption field's value.
2508func (s *MssPackage) SetEncryption(v *MssEncryption) *MssPackage {
2509	s.Encryption = v
2510	return s
2511}
2512
2513// SetManifestWindowSeconds sets the ManifestWindowSeconds field's value.
2514func (s *MssPackage) SetManifestWindowSeconds(v int64) *MssPackage {
2515	s.ManifestWindowSeconds = &v
2516	return s
2517}
2518
2519// SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value.
2520func (s *MssPackage) SetSegmentDurationSeconds(v int64) *MssPackage {
2521	s.SegmentDurationSeconds = &v
2522	return s
2523}
2524
2525// SetStreamSelection sets the StreamSelection field's value.
2526func (s *MssPackage) SetStreamSelection(v *StreamSelection) *MssPackage {
2527	s.StreamSelection = v
2528	return s
2529}
2530
2531// An OriginEndpoint resource configuration.
2532// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/OriginEndpoint
2533type OriginEndpoint struct {
2534	_ struct{} `type:"structure"`
2535
2536	// The Amazon Resource Name (ARN) assigned to the OriginEndpoint.
2537	Arn *string `locationName:"arn" type:"string"`
2538
2539	// The ID of the Channel the OriginEndpoint is associated with.
2540	ChannelId *string `locationName:"channelId" type:"string"`
2541
2542	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
2543	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
2544
2545	// A short text description of the OriginEndpoint.
2546	Description *string `locationName:"description" type:"string"`
2547
2548	// An HTTP Live Streaming (HLS) packaging configuration.
2549	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
2550
2551	// The ID of the OriginEndpoint.
2552	Id *string `locationName:"id" type:"string"`
2553
2554	// A short string appended to the end of the OriginEndpoint URL.
2555	ManifestName *string `locationName:"manifestName" type:"string"`
2556
2557	// A Microsoft Smooth Streaming (MSS) packaging configuration.
2558	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
2559
2560	// Maximum duration (seconds) of content to retain for startover playback.If
2561	// not specified, startover playback will be disabled for the OriginEndpoint.
2562	StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"`
2563
2564	// Amount of delay (seconds) to enforce on the playback of live content.If not
2565	// specified, there will be no time delay in effect for the OriginEndpoint.
2566	TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"`
2567
2568	// The URL of the packaged OriginEndpoint for consumption.
2569	Url *string `locationName:"url" type:"string"`
2570
2571	// A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.
2572	Whitelist []*string `locationName:"whitelist" type:"list"`
2573}
2574
2575// String returns the string representation
2576func (s OriginEndpoint) String() string {
2577	return awsutil.Prettify(s)
2578}
2579
2580// GoString returns the string representation
2581func (s OriginEndpoint) GoString() string {
2582	return s.String()
2583}
2584
2585// SetArn sets the Arn field's value.
2586func (s *OriginEndpoint) SetArn(v string) *OriginEndpoint {
2587	s.Arn = &v
2588	return s
2589}
2590
2591// SetChannelId sets the ChannelId field's value.
2592func (s *OriginEndpoint) SetChannelId(v string) *OriginEndpoint {
2593	s.ChannelId = &v
2594	return s
2595}
2596
2597// SetDashPackage sets the DashPackage field's value.
2598func (s *OriginEndpoint) SetDashPackage(v *DashPackage) *OriginEndpoint {
2599	s.DashPackage = v
2600	return s
2601}
2602
2603// SetDescription sets the Description field's value.
2604func (s *OriginEndpoint) SetDescription(v string) *OriginEndpoint {
2605	s.Description = &v
2606	return s
2607}
2608
2609// SetHlsPackage sets the HlsPackage field's value.
2610func (s *OriginEndpoint) SetHlsPackage(v *HlsPackage) *OriginEndpoint {
2611	s.HlsPackage = v
2612	return s
2613}
2614
2615// SetId sets the Id field's value.
2616func (s *OriginEndpoint) SetId(v string) *OriginEndpoint {
2617	s.Id = &v
2618	return s
2619}
2620
2621// SetManifestName sets the ManifestName field's value.
2622func (s *OriginEndpoint) SetManifestName(v string) *OriginEndpoint {
2623	s.ManifestName = &v
2624	return s
2625}
2626
2627// SetMssPackage sets the MssPackage field's value.
2628func (s *OriginEndpoint) SetMssPackage(v *MssPackage) *OriginEndpoint {
2629	s.MssPackage = v
2630	return s
2631}
2632
2633// SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value.
2634func (s *OriginEndpoint) SetStartoverWindowSeconds(v int64) *OriginEndpoint {
2635	s.StartoverWindowSeconds = &v
2636	return s
2637}
2638
2639// SetTimeDelaySeconds sets the TimeDelaySeconds field's value.
2640func (s *OriginEndpoint) SetTimeDelaySeconds(v int64) *OriginEndpoint {
2641	s.TimeDelaySeconds = &v
2642	return s
2643}
2644
2645// SetUrl sets the Url field's value.
2646func (s *OriginEndpoint) SetUrl(v string) *OriginEndpoint {
2647	s.Url = &v
2648	return s
2649}
2650
2651// SetWhitelist sets the Whitelist field's value.
2652func (s *OriginEndpoint) SetWhitelist(v []*string) *OriginEndpoint {
2653	s.Whitelist = v
2654	return s
2655}
2656
2657// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/RotateChannelCredentialsRequest
2658type RotateChannelCredentialsInput struct {
2659	_ struct{} `type:"structure"`
2660
2661	// Id is a required field
2662	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
2663}
2664
2665// String returns the string representation
2666func (s RotateChannelCredentialsInput) String() string {
2667	return awsutil.Prettify(s)
2668}
2669
2670// GoString returns the string representation
2671func (s RotateChannelCredentialsInput) GoString() string {
2672	return s.String()
2673}
2674
2675// Validate inspects the fields of the type to determine if they are valid.
2676func (s *RotateChannelCredentialsInput) Validate() error {
2677	invalidParams := request.ErrInvalidParams{Context: "RotateChannelCredentialsInput"}
2678	if s.Id == nil {
2679		invalidParams.Add(request.NewErrParamRequired("Id"))
2680	}
2681
2682	if invalidParams.Len() > 0 {
2683		return invalidParams
2684	}
2685	return nil
2686}
2687
2688// SetId sets the Id field's value.
2689func (s *RotateChannelCredentialsInput) SetId(v string) *RotateChannelCredentialsInput {
2690	s.Id = &v
2691	return s
2692}
2693
2694// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/RotateChannelCredentialsResponse
2695type RotateChannelCredentialsOutput struct {
2696	_ struct{} `type:"structure"`
2697
2698	Arn *string `locationName:"arn" type:"string"`
2699
2700	Description *string `locationName:"description" type:"string"`
2701
2702	// An HTTP Live Streaming (HLS) ingest resource configuration.
2703	HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"`
2704
2705	Id *string `locationName:"id" type:"string"`
2706}
2707
2708// String returns the string representation
2709func (s RotateChannelCredentialsOutput) String() string {
2710	return awsutil.Prettify(s)
2711}
2712
2713// GoString returns the string representation
2714func (s RotateChannelCredentialsOutput) GoString() string {
2715	return s.String()
2716}
2717
2718// SetArn sets the Arn field's value.
2719func (s *RotateChannelCredentialsOutput) SetArn(v string) *RotateChannelCredentialsOutput {
2720	s.Arn = &v
2721	return s
2722}
2723
2724// SetDescription sets the Description field's value.
2725func (s *RotateChannelCredentialsOutput) SetDescription(v string) *RotateChannelCredentialsOutput {
2726	s.Description = &v
2727	return s
2728}
2729
2730// SetHlsIngest sets the HlsIngest field's value.
2731func (s *RotateChannelCredentialsOutput) SetHlsIngest(v *HlsIngest) *RotateChannelCredentialsOutput {
2732	s.HlsIngest = v
2733	return s
2734}
2735
2736// SetId sets the Id field's value.
2737func (s *RotateChannelCredentialsOutput) SetId(v string) *RotateChannelCredentialsOutput {
2738	s.Id = &v
2739	return s
2740}
2741
2742// A configuration for accessing an external Secure Packager and Encoder Key
2743// Exchange (SPEKE) service that will provide encryption keys.
2744// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/SpekeKeyProvider
2745type SpekeKeyProvider struct {
2746	_ struct{} `type:"structure"`
2747
2748	// The resource ID to include in key requests.
2749	//
2750	// ResourceId is a required field
2751	ResourceId *string `locationName:"resourceId" type:"string" required:"true"`
2752
2753	// An Amazon Resource Name (ARN) of an IAM role that AWS ElementalMediaPackage
2754	// will assume when accessing the key provider service.
2755	//
2756	// RoleArn is a required field
2757	RoleArn *string `locationName:"roleArn" type:"string" required:"true"`
2758
2759	// The system IDs to include in key requests.
2760	//
2761	// SystemIds is a required field
2762	SystemIds []*string `locationName:"systemIds" type:"list" required:"true"`
2763
2764	// The URL of the external key provider service.
2765	//
2766	// Url is a required field
2767	Url *string `locationName:"url" type:"string" required:"true"`
2768}
2769
2770// String returns the string representation
2771func (s SpekeKeyProvider) String() string {
2772	return awsutil.Prettify(s)
2773}
2774
2775// GoString returns the string representation
2776func (s SpekeKeyProvider) GoString() string {
2777	return s.String()
2778}
2779
2780// Validate inspects the fields of the type to determine if they are valid.
2781func (s *SpekeKeyProvider) Validate() error {
2782	invalidParams := request.ErrInvalidParams{Context: "SpekeKeyProvider"}
2783	if s.ResourceId == nil {
2784		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
2785	}
2786	if s.RoleArn == nil {
2787		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
2788	}
2789	if s.SystemIds == nil {
2790		invalidParams.Add(request.NewErrParamRequired("SystemIds"))
2791	}
2792	if s.Url == nil {
2793		invalidParams.Add(request.NewErrParamRequired("Url"))
2794	}
2795
2796	if invalidParams.Len() > 0 {
2797		return invalidParams
2798	}
2799	return nil
2800}
2801
2802// SetResourceId sets the ResourceId field's value.
2803func (s *SpekeKeyProvider) SetResourceId(v string) *SpekeKeyProvider {
2804	s.ResourceId = &v
2805	return s
2806}
2807
2808// SetRoleArn sets the RoleArn field's value.
2809func (s *SpekeKeyProvider) SetRoleArn(v string) *SpekeKeyProvider {
2810	s.RoleArn = &v
2811	return s
2812}
2813
2814// SetSystemIds sets the SystemIds field's value.
2815func (s *SpekeKeyProvider) SetSystemIds(v []*string) *SpekeKeyProvider {
2816	s.SystemIds = v
2817	return s
2818}
2819
2820// SetUrl sets the Url field's value.
2821func (s *SpekeKeyProvider) SetUrl(v string) *SpekeKeyProvider {
2822	s.Url = &v
2823	return s
2824}
2825
2826// A StreamSelection configuration.
2827// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/StreamSelection
2828type StreamSelection struct {
2829	_ struct{} `type:"structure"`
2830
2831	// The maximum video bitrate (bps) to include in output.
2832	MaxVideoBitsPerSecond *int64 `locationName:"maxVideoBitsPerSecond" type:"integer"`
2833
2834	// The minimum video bitrate (bps) to include in output.
2835	MinVideoBitsPerSecond *int64 `locationName:"minVideoBitsPerSecond" type:"integer"`
2836
2837	// A directive that determines the order of streams in the output.
2838	StreamOrder *string `locationName:"streamOrder" type:"string" enum:"StreamOrder"`
2839}
2840
2841// String returns the string representation
2842func (s StreamSelection) String() string {
2843	return awsutil.Prettify(s)
2844}
2845
2846// GoString returns the string representation
2847func (s StreamSelection) GoString() string {
2848	return s.String()
2849}
2850
2851// SetMaxVideoBitsPerSecond sets the MaxVideoBitsPerSecond field's value.
2852func (s *StreamSelection) SetMaxVideoBitsPerSecond(v int64) *StreamSelection {
2853	s.MaxVideoBitsPerSecond = &v
2854	return s
2855}
2856
2857// SetMinVideoBitsPerSecond sets the MinVideoBitsPerSecond field's value.
2858func (s *StreamSelection) SetMinVideoBitsPerSecond(v int64) *StreamSelection {
2859	s.MinVideoBitsPerSecond = &v
2860	return s
2861}
2862
2863// SetStreamOrder sets the StreamOrder field's value.
2864func (s *StreamSelection) SetStreamOrder(v string) *StreamSelection {
2865	s.StreamOrder = &v
2866	return s
2867}
2868
2869// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UpdateChannelRequest
2870type UpdateChannelInput struct {
2871	_ struct{} `type:"structure"`
2872
2873	Description *string `locationName:"description" type:"string"`
2874
2875	// Id is a required field
2876	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
2877}
2878
2879// String returns the string representation
2880func (s UpdateChannelInput) String() string {
2881	return awsutil.Prettify(s)
2882}
2883
2884// GoString returns the string representation
2885func (s UpdateChannelInput) GoString() string {
2886	return s.String()
2887}
2888
2889// Validate inspects the fields of the type to determine if they are valid.
2890func (s *UpdateChannelInput) Validate() error {
2891	invalidParams := request.ErrInvalidParams{Context: "UpdateChannelInput"}
2892	if s.Id == nil {
2893		invalidParams.Add(request.NewErrParamRequired("Id"))
2894	}
2895
2896	if invalidParams.Len() > 0 {
2897		return invalidParams
2898	}
2899	return nil
2900}
2901
2902// SetDescription sets the Description field's value.
2903func (s *UpdateChannelInput) SetDescription(v string) *UpdateChannelInput {
2904	s.Description = &v
2905	return s
2906}
2907
2908// SetId sets the Id field's value.
2909func (s *UpdateChannelInput) SetId(v string) *UpdateChannelInput {
2910	s.Id = &v
2911	return s
2912}
2913
2914// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UpdateChannelResponse
2915type UpdateChannelOutput struct {
2916	_ struct{} `type:"structure"`
2917
2918	Arn *string `locationName:"arn" type:"string"`
2919
2920	Description *string `locationName:"description" type:"string"`
2921
2922	// An HTTP Live Streaming (HLS) ingest resource configuration.
2923	HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"`
2924
2925	Id *string `locationName:"id" type:"string"`
2926}
2927
2928// String returns the string representation
2929func (s UpdateChannelOutput) String() string {
2930	return awsutil.Prettify(s)
2931}
2932
2933// GoString returns the string representation
2934func (s UpdateChannelOutput) GoString() string {
2935	return s.String()
2936}
2937
2938// SetArn sets the Arn field's value.
2939func (s *UpdateChannelOutput) SetArn(v string) *UpdateChannelOutput {
2940	s.Arn = &v
2941	return s
2942}
2943
2944// SetDescription sets the Description field's value.
2945func (s *UpdateChannelOutput) SetDescription(v string) *UpdateChannelOutput {
2946	s.Description = &v
2947	return s
2948}
2949
2950// SetHlsIngest sets the HlsIngest field's value.
2951func (s *UpdateChannelOutput) SetHlsIngest(v *HlsIngest) *UpdateChannelOutput {
2952	s.HlsIngest = v
2953	return s
2954}
2955
2956// SetId sets the Id field's value.
2957func (s *UpdateChannelOutput) SetId(v string) *UpdateChannelOutput {
2958	s.Id = &v
2959	return s
2960}
2961
2962// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UpdateOriginEndpointRequest
2963type UpdateOriginEndpointInput struct {
2964	_ struct{} `type:"structure"`
2965
2966	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
2967	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
2968
2969	Description *string `locationName:"description" type:"string"`
2970
2971	// An HTTP Live Streaming (HLS) packaging configuration.
2972	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
2973
2974	// Id is a required field
2975	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
2976
2977	ManifestName *string `locationName:"manifestName" type:"string"`
2978
2979	// A Microsoft Smooth Streaming (MSS) packaging configuration.
2980	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
2981
2982	StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"`
2983
2984	TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"`
2985
2986	Whitelist []*string `locationName:"whitelist" type:"list"`
2987}
2988
2989// String returns the string representation
2990func (s UpdateOriginEndpointInput) String() string {
2991	return awsutil.Prettify(s)
2992}
2993
2994// GoString returns the string representation
2995func (s UpdateOriginEndpointInput) GoString() string {
2996	return s.String()
2997}
2998
2999// Validate inspects the fields of the type to determine if they are valid.
3000func (s *UpdateOriginEndpointInput) Validate() error {
3001	invalidParams := request.ErrInvalidParams{Context: "UpdateOriginEndpointInput"}
3002	if s.Id == nil {
3003		invalidParams.Add(request.NewErrParamRequired("Id"))
3004	}
3005	if s.DashPackage != nil {
3006		if err := s.DashPackage.Validate(); err != nil {
3007			invalidParams.AddNested("DashPackage", err.(request.ErrInvalidParams))
3008		}
3009	}
3010	if s.HlsPackage != nil {
3011		if err := s.HlsPackage.Validate(); err != nil {
3012			invalidParams.AddNested("HlsPackage", err.(request.ErrInvalidParams))
3013		}
3014	}
3015	if s.MssPackage != nil {
3016		if err := s.MssPackage.Validate(); err != nil {
3017			invalidParams.AddNested("MssPackage", err.(request.ErrInvalidParams))
3018		}
3019	}
3020
3021	if invalidParams.Len() > 0 {
3022		return invalidParams
3023	}
3024	return nil
3025}
3026
3027// SetDashPackage sets the DashPackage field's value.
3028func (s *UpdateOriginEndpointInput) SetDashPackage(v *DashPackage) *UpdateOriginEndpointInput {
3029	s.DashPackage = v
3030	return s
3031}
3032
3033// SetDescription sets the Description field's value.
3034func (s *UpdateOriginEndpointInput) SetDescription(v string) *UpdateOriginEndpointInput {
3035	s.Description = &v
3036	return s
3037}
3038
3039// SetHlsPackage sets the HlsPackage field's value.
3040func (s *UpdateOriginEndpointInput) SetHlsPackage(v *HlsPackage) *UpdateOriginEndpointInput {
3041	s.HlsPackage = v
3042	return s
3043}
3044
3045// SetId sets the Id field's value.
3046func (s *UpdateOriginEndpointInput) SetId(v string) *UpdateOriginEndpointInput {
3047	s.Id = &v
3048	return s
3049}
3050
3051// SetManifestName sets the ManifestName field's value.
3052func (s *UpdateOriginEndpointInput) SetManifestName(v string) *UpdateOriginEndpointInput {
3053	s.ManifestName = &v
3054	return s
3055}
3056
3057// SetMssPackage sets the MssPackage field's value.
3058func (s *UpdateOriginEndpointInput) SetMssPackage(v *MssPackage) *UpdateOriginEndpointInput {
3059	s.MssPackage = v
3060	return s
3061}
3062
3063// SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value.
3064func (s *UpdateOriginEndpointInput) SetStartoverWindowSeconds(v int64) *UpdateOriginEndpointInput {
3065	s.StartoverWindowSeconds = &v
3066	return s
3067}
3068
3069// SetTimeDelaySeconds sets the TimeDelaySeconds field's value.
3070func (s *UpdateOriginEndpointInput) SetTimeDelaySeconds(v int64) *UpdateOriginEndpointInput {
3071	s.TimeDelaySeconds = &v
3072	return s
3073}
3074
3075// SetWhitelist sets the Whitelist field's value.
3076func (s *UpdateOriginEndpointInput) SetWhitelist(v []*string) *UpdateOriginEndpointInput {
3077	s.Whitelist = v
3078	return s
3079}
3080
3081// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UpdateOriginEndpointResponse
3082type UpdateOriginEndpointOutput struct {
3083	_ struct{} `type:"structure"`
3084
3085	Arn *string `locationName:"arn" type:"string"`
3086
3087	ChannelId *string `locationName:"channelId" type:"string"`
3088
3089	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
3090	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
3091
3092	Description *string `locationName:"description" type:"string"`
3093
3094	// An HTTP Live Streaming (HLS) packaging configuration.
3095	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
3096
3097	Id *string `locationName:"id" type:"string"`
3098
3099	ManifestName *string `locationName:"manifestName" type:"string"`
3100
3101	// A Microsoft Smooth Streaming (MSS) packaging configuration.
3102	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
3103
3104	StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"`
3105
3106	TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"`
3107
3108	Url *string `locationName:"url" type:"string"`
3109
3110	Whitelist []*string `locationName:"whitelist" type:"list"`
3111}
3112
3113// String returns the string representation
3114func (s UpdateOriginEndpointOutput) String() string {
3115	return awsutil.Prettify(s)
3116}
3117
3118// GoString returns the string representation
3119func (s UpdateOriginEndpointOutput) GoString() string {
3120	return s.String()
3121}
3122
3123// SetArn sets the Arn field's value.
3124func (s *UpdateOriginEndpointOutput) SetArn(v string) *UpdateOriginEndpointOutput {
3125	s.Arn = &v
3126	return s
3127}
3128
3129// SetChannelId sets the ChannelId field's value.
3130func (s *UpdateOriginEndpointOutput) SetChannelId(v string) *UpdateOriginEndpointOutput {
3131	s.ChannelId = &v
3132	return s
3133}
3134
3135// SetDashPackage sets the DashPackage field's value.
3136func (s *UpdateOriginEndpointOutput) SetDashPackage(v *DashPackage) *UpdateOriginEndpointOutput {
3137	s.DashPackage = v
3138	return s
3139}
3140
3141// SetDescription sets the Description field's value.
3142func (s *UpdateOriginEndpointOutput) SetDescription(v string) *UpdateOriginEndpointOutput {
3143	s.Description = &v
3144	return s
3145}
3146
3147// SetHlsPackage sets the HlsPackage field's value.
3148func (s *UpdateOriginEndpointOutput) SetHlsPackage(v *HlsPackage) *UpdateOriginEndpointOutput {
3149	s.HlsPackage = v
3150	return s
3151}
3152
3153// SetId sets the Id field's value.
3154func (s *UpdateOriginEndpointOutput) SetId(v string) *UpdateOriginEndpointOutput {
3155	s.Id = &v
3156	return s
3157}
3158
3159// SetManifestName sets the ManifestName field's value.
3160func (s *UpdateOriginEndpointOutput) SetManifestName(v string) *UpdateOriginEndpointOutput {
3161	s.ManifestName = &v
3162	return s
3163}
3164
3165// SetMssPackage sets the MssPackage field's value.
3166func (s *UpdateOriginEndpointOutput) SetMssPackage(v *MssPackage) *UpdateOriginEndpointOutput {
3167	s.MssPackage = v
3168	return s
3169}
3170
3171// SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value.
3172func (s *UpdateOriginEndpointOutput) SetStartoverWindowSeconds(v int64) *UpdateOriginEndpointOutput {
3173	s.StartoverWindowSeconds = &v
3174	return s
3175}
3176
3177// SetTimeDelaySeconds sets the TimeDelaySeconds field's value.
3178func (s *UpdateOriginEndpointOutput) SetTimeDelaySeconds(v int64) *UpdateOriginEndpointOutput {
3179	s.TimeDelaySeconds = &v
3180	return s
3181}
3182
3183// SetUrl sets the Url field's value.
3184func (s *UpdateOriginEndpointOutput) SetUrl(v string) *UpdateOriginEndpointOutput {
3185	s.Url = &v
3186	return s
3187}
3188
3189// SetWhitelist sets the Whitelist field's value.
3190func (s *UpdateOriginEndpointOutput) SetWhitelist(v []*string) *UpdateOriginEndpointOutput {
3191	s.Whitelist = v
3192	return s
3193}
3194
3195const (
3196	// AdMarkersNone is a AdMarkers enum value
3197	AdMarkersNone = "NONE"
3198
3199	// AdMarkersScte35Enhanced is a AdMarkers enum value
3200	AdMarkersScte35Enhanced = "SCTE35_ENHANCED"
3201
3202	// AdMarkersPassthrough is a AdMarkers enum value
3203	AdMarkersPassthrough = "PASSTHROUGH"
3204)
3205
3206const (
3207	// EncryptionMethodAes128 is a EncryptionMethod enum value
3208	EncryptionMethodAes128 = "AES_128"
3209
3210	// EncryptionMethodSampleAes is a EncryptionMethod enum value
3211	EncryptionMethodSampleAes = "SAMPLE_AES"
3212)
3213
3214const (
3215	// PlaylistTypeNone is a PlaylistType enum value
3216	PlaylistTypeNone = "NONE"
3217
3218	// PlaylistTypeEvent is a PlaylistType enum value
3219	PlaylistTypeEvent = "EVENT"
3220
3221	// PlaylistTypeVod is a PlaylistType enum value
3222	PlaylistTypeVod = "VOD"
3223)
3224
3225const (
3226	// ProfileNone is a Profile enum value
3227	ProfileNone = "NONE"
3228
3229	// ProfileHbbtv15 is a Profile enum value
3230	ProfileHbbtv15 = "HBBTV_1_5"
3231)
3232
3233const (
3234	// StreamOrderOriginal is a StreamOrder enum value
3235	StreamOrderOriginal = "ORIGINAL"
3236
3237	// StreamOrderVideoBitrateAscending is a StreamOrder enum value
3238	StreamOrderVideoBitrateAscending = "VIDEO_BITRATE_ASCENDING"
3239
3240	// StreamOrderVideoBitrateDescending is a StreamOrder enum value
3241	StreamOrderVideoBitrateDescending = "VIDEO_BITRATE_DESCENDING"
3242)
3243