1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package mediapackagevod
4
5import (
6	"fmt"
7
8	"github.com/aws/aws-sdk-go/aws"
9	"github.com/aws/aws-sdk-go/aws/awsutil"
10	"github.com/aws/aws-sdk-go/aws/request"
11	"github.com/aws/aws-sdk-go/private/protocol"
12	"github.com/aws/aws-sdk-go/private/protocol/restjson"
13)
14
15const opCreateAsset = "CreateAsset"
16
17// CreateAssetRequest generates a "aws/request.Request" representing the
18// client's request for the CreateAsset operation. The "output" return
19// value will be populated with the request's response once the request completes
20// successfully.
21//
22// Use "Send" method on the returned Request to send the API call to the service.
23// the "output" return value is not valid until after Send returns without error.
24//
25// See CreateAsset for more information on using the CreateAsset
26// API call, and error handling.
27//
28// This method is useful when you want to inject custom logic or configuration
29// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30//
31//
32//    // Example sending a request using the CreateAssetRequest method.
33//    req, resp := client.CreateAssetRequest(params)
34//
35//    err := req.Send()
36//    if err == nil { // resp is now filled
37//        fmt.Println(resp)
38//    }
39//
40// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/CreateAsset
41func (c *MediaPackageVod) CreateAssetRequest(input *CreateAssetInput) (req *request.Request, output *CreateAssetOutput) {
42	op := &request.Operation{
43		Name:       opCreateAsset,
44		HTTPMethod: "POST",
45		HTTPPath:   "/assets",
46	}
47
48	if input == nil {
49		input = &CreateAssetInput{}
50	}
51
52	output = &CreateAssetOutput{}
53	req = c.newRequest(op, input, output)
54	return
55}
56
57// CreateAsset API operation for AWS Elemental MediaPackage VOD.
58//
59// Creates a new MediaPackage VOD Asset resource.
60//
61// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
62// with awserr.Error's Code and Message methods to get detailed information about
63// the error.
64//
65// See the AWS API reference guide for AWS Elemental MediaPackage VOD's
66// API operation CreateAsset for usage and error information.
67//
68// Returned Error Types:
69//   * UnprocessableEntityException
70//
71//   * InternalServerErrorException
72//
73//   * ForbiddenException
74//
75//   * NotFoundException
76//
77//   * ServiceUnavailableException
78//
79//   * TooManyRequestsException
80//
81// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/CreateAsset
82func (c *MediaPackageVod) CreateAsset(input *CreateAssetInput) (*CreateAssetOutput, error) {
83	req, out := c.CreateAssetRequest(input)
84	return out, req.Send()
85}
86
87// CreateAssetWithContext is the same as CreateAsset with the addition of
88// the ability to pass a context and additional request options.
89//
90// See CreateAsset for details on how to use this API operation.
91//
92// The context must be non-nil and will be used for request cancellation. If
93// the context is nil a panic will occur. In the future the SDK may create
94// sub-contexts for http.Requests. See https://golang.org/pkg/context/
95// for more information on using Contexts.
96func (c *MediaPackageVod) CreateAssetWithContext(ctx aws.Context, input *CreateAssetInput, opts ...request.Option) (*CreateAssetOutput, error) {
97	req, out := c.CreateAssetRequest(input)
98	req.SetContext(ctx)
99	req.ApplyOptions(opts...)
100	return out, req.Send()
101}
102
103const opCreatePackagingConfiguration = "CreatePackagingConfiguration"
104
105// CreatePackagingConfigurationRequest generates a "aws/request.Request" representing the
106// client's request for the CreatePackagingConfiguration operation. The "output" return
107// value will be populated with the request's response once the request completes
108// successfully.
109//
110// Use "Send" method on the returned Request to send the API call to the service.
111// the "output" return value is not valid until after Send returns without error.
112//
113// See CreatePackagingConfiguration for more information on using the CreatePackagingConfiguration
114// API call, and error handling.
115//
116// This method is useful when you want to inject custom logic or configuration
117// into the SDK's request lifecycle. Such as custom headers, or retry logic.
118//
119//
120//    // Example sending a request using the CreatePackagingConfigurationRequest method.
121//    req, resp := client.CreatePackagingConfigurationRequest(params)
122//
123//    err := req.Send()
124//    if err == nil { // resp is now filled
125//        fmt.Println(resp)
126//    }
127//
128// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/CreatePackagingConfiguration
129func (c *MediaPackageVod) CreatePackagingConfigurationRequest(input *CreatePackagingConfigurationInput) (req *request.Request, output *CreatePackagingConfigurationOutput) {
130	op := &request.Operation{
131		Name:       opCreatePackagingConfiguration,
132		HTTPMethod: "POST",
133		HTTPPath:   "/packaging_configurations",
134	}
135
136	if input == nil {
137		input = &CreatePackagingConfigurationInput{}
138	}
139
140	output = &CreatePackagingConfigurationOutput{}
141	req = c.newRequest(op, input, output)
142	return
143}
144
145// CreatePackagingConfiguration API operation for AWS Elemental MediaPackage VOD.
146//
147// Creates a new MediaPackage VOD PackagingConfiguration resource.
148//
149// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
150// with awserr.Error's Code and Message methods to get detailed information about
151// the error.
152//
153// See the AWS API reference guide for AWS Elemental MediaPackage VOD's
154// API operation CreatePackagingConfiguration for usage and error information.
155//
156// Returned Error Types:
157//   * UnprocessableEntityException
158//
159//   * InternalServerErrorException
160//
161//   * ForbiddenException
162//
163//   * NotFoundException
164//
165//   * ServiceUnavailableException
166//
167//   * TooManyRequestsException
168//
169// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/CreatePackagingConfiguration
170func (c *MediaPackageVod) CreatePackagingConfiguration(input *CreatePackagingConfigurationInput) (*CreatePackagingConfigurationOutput, error) {
171	req, out := c.CreatePackagingConfigurationRequest(input)
172	return out, req.Send()
173}
174
175// CreatePackagingConfigurationWithContext is the same as CreatePackagingConfiguration with the addition of
176// the ability to pass a context and additional request options.
177//
178// See CreatePackagingConfiguration for details on how to use this API operation.
179//
180// The context must be non-nil and will be used for request cancellation. If
181// the context is nil a panic will occur. In the future the SDK may create
182// sub-contexts for http.Requests. See https://golang.org/pkg/context/
183// for more information on using Contexts.
184func (c *MediaPackageVod) CreatePackagingConfigurationWithContext(ctx aws.Context, input *CreatePackagingConfigurationInput, opts ...request.Option) (*CreatePackagingConfigurationOutput, error) {
185	req, out := c.CreatePackagingConfigurationRequest(input)
186	req.SetContext(ctx)
187	req.ApplyOptions(opts...)
188	return out, req.Send()
189}
190
191const opCreatePackagingGroup = "CreatePackagingGroup"
192
193// CreatePackagingGroupRequest generates a "aws/request.Request" representing the
194// client's request for the CreatePackagingGroup operation. The "output" return
195// value will be populated with the request's response once the request completes
196// successfully.
197//
198// Use "Send" method on the returned Request to send the API call to the service.
199// the "output" return value is not valid until after Send returns without error.
200//
201// See CreatePackagingGroup for more information on using the CreatePackagingGroup
202// API call, and error handling.
203//
204// This method is useful when you want to inject custom logic or configuration
205// into the SDK's request lifecycle. Such as custom headers, or retry logic.
206//
207//
208//    // Example sending a request using the CreatePackagingGroupRequest method.
209//    req, resp := client.CreatePackagingGroupRequest(params)
210//
211//    err := req.Send()
212//    if err == nil { // resp is now filled
213//        fmt.Println(resp)
214//    }
215//
216// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/CreatePackagingGroup
217func (c *MediaPackageVod) CreatePackagingGroupRequest(input *CreatePackagingGroupInput) (req *request.Request, output *CreatePackagingGroupOutput) {
218	op := &request.Operation{
219		Name:       opCreatePackagingGroup,
220		HTTPMethod: "POST",
221		HTTPPath:   "/packaging_groups",
222	}
223
224	if input == nil {
225		input = &CreatePackagingGroupInput{}
226	}
227
228	output = &CreatePackagingGroupOutput{}
229	req = c.newRequest(op, input, output)
230	return
231}
232
233// CreatePackagingGroup API operation for AWS Elemental MediaPackage VOD.
234//
235// Creates a new MediaPackage VOD PackagingGroup resource.
236//
237// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
238// with awserr.Error's Code and Message methods to get detailed information about
239// the error.
240//
241// See the AWS API reference guide for AWS Elemental MediaPackage VOD's
242// API operation CreatePackagingGroup for usage and error information.
243//
244// Returned Error Types:
245//   * UnprocessableEntityException
246//
247//   * InternalServerErrorException
248//
249//   * ForbiddenException
250//
251//   * NotFoundException
252//
253//   * ServiceUnavailableException
254//
255//   * TooManyRequestsException
256//
257// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/CreatePackagingGroup
258func (c *MediaPackageVod) CreatePackagingGroup(input *CreatePackagingGroupInput) (*CreatePackagingGroupOutput, error) {
259	req, out := c.CreatePackagingGroupRequest(input)
260	return out, req.Send()
261}
262
263// CreatePackagingGroupWithContext is the same as CreatePackagingGroup with the addition of
264// the ability to pass a context and additional request options.
265//
266// See CreatePackagingGroup for details on how to use this API operation.
267//
268// The context must be non-nil and will be used for request cancellation. If
269// the context is nil a panic will occur. In the future the SDK may create
270// sub-contexts for http.Requests. See https://golang.org/pkg/context/
271// for more information on using Contexts.
272func (c *MediaPackageVod) CreatePackagingGroupWithContext(ctx aws.Context, input *CreatePackagingGroupInput, opts ...request.Option) (*CreatePackagingGroupOutput, error) {
273	req, out := c.CreatePackagingGroupRequest(input)
274	req.SetContext(ctx)
275	req.ApplyOptions(opts...)
276	return out, req.Send()
277}
278
279const opDeleteAsset = "DeleteAsset"
280
281// DeleteAssetRequest generates a "aws/request.Request" representing the
282// client's request for the DeleteAsset operation. The "output" return
283// value will be populated with the request's response once the request completes
284// successfully.
285//
286// Use "Send" method on the returned Request to send the API call to the service.
287// the "output" return value is not valid until after Send returns without error.
288//
289// See DeleteAsset for more information on using the DeleteAsset
290// API call, and error handling.
291//
292// This method is useful when you want to inject custom logic or configuration
293// into the SDK's request lifecycle. Such as custom headers, or retry logic.
294//
295//
296//    // Example sending a request using the DeleteAssetRequest method.
297//    req, resp := client.DeleteAssetRequest(params)
298//
299//    err := req.Send()
300//    if err == nil { // resp is now filled
301//        fmt.Println(resp)
302//    }
303//
304// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DeleteAsset
305func (c *MediaPackageVod) DeleteAssetRequest(input *DeleteAssetInput) (req *request.Request, output *DeleteAssetOutput) {
306	op := &request.Operation{
307		Name:       opDeleteAsset,
308		HTTPMethod: "DELETE",
309		HTTPPath:   "/assets/{id}",
310	}
311
312	if input == nil {
313		input = &DeleteAssetInput{}
314	}
315
316	output = &DeleteAssetOutput{}
317	req = c.newRequest(op, input, output)
318	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
319	return
320}
321
322// DeleteAsset API operation for AWS Elemental MediaPackage VOD.
323//
324// Deletes an existing MediaPackage VOD Asset resource.
325//
326// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
327// with awserr.Error's Code and Message methods to get detailed information about
328// the error.
329//
330// See the AWS API reference guide for AWS Elemental MediaPackage VOD's
331// API operation DeleteAsset for usage and error information.
332//
333// Returned Error Types:
334//   * UnprocessableEntityException
335//
336//   * InternalServerErrorException
337//
338//   * ForbiddenException
339//
340//   * NotFoundException
341//
342//   * ServiceUnavailableException
343//
344//   * TooManyRequestsException
345//
346// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DeleteAsset
347func (c *MediaPackageVod) DeleteAsset(input *DeleteAssetInput) (*DeleteAssetOutput, error) {
348	req, out := c.DeleteAssetRequest(input)
349	return out, req.Send()
350}
351
352// DeleteAssetWithContext is the same as DeleteAsset with the addition of
353// the ability to pass a context and additional request options.
354//
355// See DeleteAsset for details on how to use this API operation.
356//
357// The context must be non-nil and will be used for request cancellation. If
358// the context is nil a panic will occur. In the future the SDK may create
359// sub-contexts for http.Requests. See https://golang.org/pkg/context/
360// for more information on using Contexts.
361func (c *MediaPackageVod) DeleteAssetWithContext(ctx aws.Context, input *DeleteAssetInput, opts ...request.Option) (*DeleteAssetOutput, error) {
362	req, out := c.DeleteAssetRequest(input)
363	req.SetContext(ctx)
364	req.ApplyOptions(opts...)
365	return out, req.Send()
366}
367
368const opDeletePackagingConfiguration = "DeletePackagingConfiguration"
369
370// DeletePackagingConfigurationRequest generates a "aws/request.Request" representing the
371// client's request for the DeletePackagingConfiguration operation. The "output" return
372// value will be populated with the request's response once the request completes
373// successfully.
374//
375// Use "Send" method on the returned Request to send the API call to the service.
376// the "output" return value is not valid until after Send returns without error.
377//
378// See DeletePackagingConfiguration for more information on using the DeletePackagingConfiguration
379// API call, and error handling.
380//
381// This method is useful when you want to inject custom logic or configuration
382// into the SDK's request lifecycle. Such as custom headers, or retry logic.
383//
384//
385//    // Example sending a request using the DeletePackagingConfigurationRequest method.
386//    req, resp := client.DeletePackagingConfigurationRequest(params)
387//
388//    err := req.Send()
389//    if err == nil { // resp is now filled
390//        fmt.Println(resp)
391//    }
392//
393// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DeletePackagingConfiguration
394func (c *MediaPackageVod) DeletePackagingConfigurationRequest(input *DeletePackagingConfigurationInput) (req *request.Request, output *DeletePackagingConfigurationOutput) {
395	op := &request.Operation{
396		Name:       opDeletePackagingConfiguration,
397		HTTPMethod: "DELETE",
398		HTTPPath:   "/packaging_configurations/{id}",
399	}
400
401	if input == nil {
402		input = &DeletePackagingConfigurationInput{}
403	}
404
405	output = &DeletePackagingConfigurationOutput{}
406	req = c.newRequest(op, input, output)
407	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
408	return
409}
410
411// DeletePackagingConfiguration API operation for AWS Elemental MediaPackage VOD.
412//
413// Deletes a MediaPackage VOD PackagingConfiguration resource.
414//
415// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
416// with awserr.Error's Code and Message methods to get detailed information about
417// the error.
418//
419// See the AWS API reference guide for AWS Elemental MediaPackage VOD's
420// API operation DeletePackagingConfiguration for usage and error information.
421//
422// Returned Error Types:
423//   * UnprocessableEntityException
424//
425//   * InternalServerErrorException
426//
427//   * ForbiddenException
428//
429//   * NotFoundException
430//
431//   * ServiceUnavailableException
432//
433//   * TooManyRequestsException
434//
435// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DeletePackagingConfiguration
436func (c *MediaPackageVod) DeletePackagingConfiguration(input *DeletePackagingConfigurationInput) (*DeletePackagingConfigurationOutput, error) {
437	req, out := c.DeletePackagingConfigurationRequest(input)
438	return out, req.Send()
439}
440
441// DeletePackagingConfigurationWithContext is the same as DeletePackagingConfiguration with the addition of
442// the ability to pass a context and additional request options.
443//
444// See DeletePackagingConfiguration for details on how to use this API operation.
445//
446// The context must be non-nil and will be used for request cancellation. If
447// the context is nil a panic will occur. In the future the SDK may create
448// sub-contexts for http.Requests. See https://golang.org/pkg/context/
449// for more information on using Contexts.
450func (c *MediaPackageVod) DeletePackagingConfigurationWithContext(ctx aws.Context, input *DeletePackagingConfigurationInput, opts ...request.Option) (*DeletePackagingConfigurationOutput, error) {
451	req, out := c.DeletePackagingConfigurationRequest(input)
452	req.SetContext(ctx)
453	req.ApplyOptions(opts...)
454	return out, req.Send()
455}
456
457const opDeletePackagingGroup = "DeletePackagingGroup"
458
459// DeletePackagingGroupRequest generates a "aws/request.Request" representing the
460// client's request for the DeletePackagingGroup operation. The "output" return
461// value will be populated with the request's response once the request completes
462// successfully.
463//
464// Use "Send" method on the returned Request to send the API call to the service.
465// the "output" return value is not valid until after Send returns without error.
466//
467// See DeletePackagingGroup for more information on using the DeletePackagingGroup
468// API call, and error handling.
469//
470// This method is useful when you want to inject custom logic or configuration
471// into the SDK's request lifecycle. Such as custom headers, or retry logic.
472//
473//
474//    // Example sending a request using the DeletePackagingGroupRequest method.
475//    req, resp := client.DeletePackagingGroupRequest(params)
476//
477//    err := req.Send()
478//    if err == nil { // resp is now filled
479//        fmt.Println(resp)
480//    }
481//
482// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DeletePackagingGroup
483func (c *MediaPackageVod) DeletePackagingGroupRequest(input *DeletePackagingGroupInput) (req *request.Request, output *DeletePackagingGroupOutput) {
484	op := &request.Operation{
485		Name:       opDeletePackagingGroup,
486		HTTPMethod: "DELETE",
487		HTTPPath:   "/packaging_groups/{id}",
488	}
489
490	if input == nil {
491		input = &DeletePackagingGroupInput{}
492	}
493
494	output = &DeletePackagingGroupOutput{}
495	req = c.newRequest(op, input, output)
496	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
497	return
498}
499
500// DeletePackagingGroup API operation for AWS Elemental MediaPackage VOD.
501//
502// Deletes a MediaPackage VOD PackagingGroup resource.
503//
504// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
505// with awserr.Error's Code and Message methods to get detailed information about
506// the error.
507//
508// See the AWS API reference guide for AWS Elemental MediaPackage VOD's
509// API operation DeletePackagingGroup for usage and error information.
510//
511// Returned Error Types:
512//   * UnprocessableEntityException
513//
514//   * InternalServerErrorException
515//
516//   * ForbiddenException
517//
518//   * NotFoundException
519//
520//   * ServiceUnavailableException
521//
522//   * TooManyRequestsException
523//
524// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DeletePackagingGroup
525func (c *MediaPackageVod) DeletePackagingGroup(input *DeletePackagingGroupInput) (*DeletePackagingGroupOutput, error) {
526	req, out := c.DeletePackagingGroupRequest(input)
527	return out, req.Send()
528}
529
530// DeletePackagingGroupWithContext is the same as DeletePackagingGroup with the addition of
531// the ability to pass a context and additional request options.
532//
533// See DeletePackagingGroup for details on how to use this API operation.
534//
535// The context must be non-nil and will be used for request cancellation. If
536// the context is nil a panic will occur. In the future the SDK may create
537// sub-contexts for http.Requests. See https://golang.org/pkg/context/
538// for more information on using Contexts.
539func (c *MediaPackageVod) DeletePackagingGroupWithContext(ctx aws.Context, input *DeletePackagingGroupInput, opts ...request.Option) (*DeletePackagingGroupOutput, error) {
540	req, out := c.DeletePackagingGroupRequest(input)
541	req.SetContext(ctx)
542	req.ApplyOptions(opts...)
543	return out, req.Send()
544}
545
546const opDescribeAsset = "DescribeAsset"
547
548// DescribeAssetRequest generates a "aws/request.Request" representing the
549// client's request for the DescribeAsset operation. The "output" return
550// value will be populated with the request's response once the request completes
551// successfully.
552//
553// Use "Send" method on the returned Request to send the API call to the service.
554// the "output" return value is not valid until after Send returns without error.
555//
556// See DescribeAsset for more information on using the DescribeAsset
557// API call, and error handling.
558//
559// This method is useful when you want to inject custom logic or configuration
560// into the SDK's request lifecycle. Such as custom headers, or retry logic.
561//
562//
563//    // Example sending a request using the DescribeAssetRequest method.
564//    req, resp := client.DescribeAssetRequest(params)
565//
566//    err := req.Send()
567//    if err == nil { // resp is now filled
568//        fmt.Println(resp)
569//    }
570//
571// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DescribeAsset
572func (c *MediaPackageVod) DescribeAssetRequest(input *DescribeAssetInput) (req *request.Request, output *DescribeAssetOutput) {
573	op := &request.Operation{
574		Name:       opDescribeAsset,
575		HTTPMethod: "GET",
576		HTTPPath:   "/assets/{id}",
577	}
578
579	if input == nil {
580		input = &DescribeAssetInput{}
581	}
582
583	output = &DescribeAssetOutput{}
584	req = c.newRequest(op, input, output)
585	return
586}
587
588// DescribeAsset API operation for AWS Elemental MediaPackage VOD.
589//
590// Returns a description of a MediaPackage VOD Asset resource.
591//
592// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
593// with awserr.Error's Code and Message methods to get detailed information about
594// the error.
595//
596// See the AWS API reference guide for AWS Elemental MediaPackage VOD's
597// API operation DescribeAsset for usage and error information.
598//
599// Returned Error Types:
600//   * UnprocessableEntityException
601//
602//   * InternalServerErrorException
603//
604//   * ForbiddenException
605//
606//   * NotFoundException
607//
608//   * ServiceUnavailableException
609//
610//   * TooManyRequestsException
611//
612// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DescribeAsset
613func (c *MediaPackageVod) DescribeAsset(input *DescribeAssetInput) (*DescribeAssetOutput, error) {
614	req, out := c.DescribeAssetRequest(input)
615	return out, req.Send()
616}
617
618// DescribeAssetWithContext is the same as DescribeAsset with the addition of
619// the ability to pass a context and additional request options.
620//
621// See DescribeAsset for details on how to use this API operation.
622//
623// The context must be non-nil and will be used for request cancellation. If
624// the context is nil a panic will occur. In the future the SDK may create
625// sub-contexts for http.Requests. See https://golang.org/pkg/context/
626// for more information on using Contexts.
627func (c *MediaPackageVod) DescribeAssetWithContext(ctx aws.Context, input *DescribeAssetInput, opts ...request.Option) (*DescribeAssetOutput, error) {
628	req, out := c.DescribeAssetRequest(input)
629	req.SetContext(ctx)
630	req.ApplyOptions(opts...)
631	return out, req.Send()
632}
633
634const opDescribePackagingConfiguration = "DescribePackagingConfiguration"
635
636// DescribePackagingConfigurationRequest generates a "aws/request.Request" representing the
637// client's request for the DescribePackagingConfiguration operation. The "output" return
638// value will be populated with the request's response once the request completes
639// successfully.
640//
641// Use "Send" method on the returned Request to send the API call to the service.
642// the "output" return value is not valid until after Send returns without error.
643//
644// See DescribePackagingConfiguration for more information on using the DescribePackagingConfiguration
645// API call, and error handling.
646//
647// This method is useful when you want to inject custom logic or configuration
648// into the SDK's request lifecycle. Such as custom headers, or retry logic.
649//
650//
651//    // Example sending a request using the DescribePackagingConfigurationRequest method.
652//    req, resp := client.DescribePackagingConfigurationRequest(params)
653//
654//    err := req.Send()
655//    if err == nil { // resp is now filled
656//        fmt.Println(resp)
657//    }
658//
659// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DescribePackagingConfiguration
660func (c *MediaPackageVod) DescribePackagingConfigurationRequest(input *DescribePackagingConfigurationInput) (req *request.Request, output *DescribePackagingConfigurationOutput) {
661	op := &request.Operation{
662		Name:       opDescribePackagingConfiguration,
663		HTTPMethod: "GET",
664		HTTPPath:   "/packaging_configurations/{id}",
665	}
666
667	if input == nil {
668		input = &DescribePackagingConfigurationInput{}
669	}
670
671	output = &DescribePackagingConfigurationOutput{}
672	req = c.newRequest(op, input, output)
673	return
674}
675
676// DescribePackagingConfiguration API operation for AWS Elemental MediaPackage VOD.
677//
678// Returns a description of a MediaPackage VOD PackagingConfiguration resource.
679//
680// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
681// with awserr.Error's Code and Message methods to get detailed information about
682// the error.
683//
684// See the AWS API reference guide for AWS Elemental MediaPackage VOD's
685// API operation DescribePackagingConfiguration for usage and error information.
686//
687// Returned Error Types:
688//   * UnprocessableEntityException
689//
690//   * InternalServerErrorException
691//
692//   * ForbiddenException
693//
694//   * NotFoundException
695//
696//   * ServiceUnavailableException
697//
698//   * TooManyRequestsException
699//
700// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DescribePackagingConfiguration
701func (c *MediaPackageVod) DescribePackagingConfiguration(input *DescribePackagingConfigurationInput) (*DescribePackagingConfigurationOutput, error) {
702	req, out := c.DescribePackagingConfigurationRequest(input)
703	return out, req.Send()
704}
705
706// DescribePackagingConfigurationWithContext is the same as DescribePackagingConfiguration with the addition of
707// the ability to pass a context and additional request options.
708//
709// See DescribePackagingConfiguration for details on how to use this API operation.
710//
711// The context must be non-nil and will be used for request cancellation. If
712// the context is nil a panic will occur. In the future the SDK may create
713// sub-contexts for http.Requests. See https://golang.org/pkg/context/
714// for more information on using Contexts.
715func (c *MediaPackageVod) DescribePackagingConfigurationWithContext(ctx aws.Context, input *DescribePackagingConfigurationInput, opts ...request.Option) (*DescribePackagingConfigurationOutput, error) {
716	req, out := c.DescribePackagingConfigurationRequest(input)
717	req.SetContext(ctx)
718	req.ApplyOptions(opts...)
719	return out, req.Send()
720}
721
722const opDescribePackagingGroup = "DescribePackagingGroup"
723
724// DescribePackagingGroupRequest generates a "aws/request.Request" representing the
725// client's request for the DescribePackagingGroup operation. The "output" return
726// value will be populated with the request's response once the request completes
727// successfully.
728//
729// Use "Send" method on the returned Request to send the API call to the service.
730// the "output" return value is not valid until after Send returns without error.
731//
732// See DescribePackagingGroup for more information on using the DescribePackagingGroup
733// API call, and error handling.
734//
735// This method is useful when you want to inject custom logic or configuration
736// into the SDK's request lifecycle. Such as custom headers, or retry logic.
737//
738//
739//    // Example sending a request using the DescribePackagingGroupRequest method.
740//    req, resp := client.DescribePackagingGroupRequest(params)
741//
742//    err := req.Send()
743//    if err == nil { // resp is now filled
744//        fmt.Println(resp)
745//    }
746//
747// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DescribePackagingGroup
748func (c *MediaPackageVod) DescribePackagingGroupRequest(input *DescribePackagingGroupInput) (req *request.Request, output *DescribePackagingGroupOutput) {
749	op := &request.Operation{
750		Name:       opDescribePackagingGroup,
751		HTTPMethod: "GET",
752		HTTPPath:   "/packaging_groups/{id}",
753	}
754
755	if input == nil {
756		input = &DescribePackagingGroupInput{}
757	}
758
759	output = &DescribePackagingGroupOutput{}
760	req = c.newRequest(op, input, output)
761	return
762}
763
764// DescribePackagingGroup API operation for AWS Elemental MediaPackage VOD.
765//
766// Returns a description of a MediaPackage VOD PackagingGroup resource.
767//
768// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
769// with awserr.Error's Code and Message methods to get detailed information about
770// the error.
771//
772// See the AWS API reference guide for AWS Elemental MediaPackage VOD's
773// API operation DescribePackagingGroup for usage and error information.
774//
775// Returned Error Types:
776//   * UnprocessableEntityException
777//
778//   * InternalServerErrorException
779//
780//   * ForbiddenException
781//
782//   * NotFoundException
783//
784//   * ServiceUnavailableException
785//
786//   * TooManyRequestsException
787//
788// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DescribePackagingGroup
789func (c *MediaPackageVod) DescribePackagingGroup(input *DescribePackagingGroupInput) (*DescribePackagingGroupOutput, error) {
790	req, out := c.DescribePackagingGroupRequest(input)
791	return out, req.Send()
792}
793
794// DescribePackagingGroupWithContext is the same as DescribePackagingGroup with the addition of
795// the ability to pass a context and additional request options.
796//
797// See DescribePackagingGroup for details on how to use this API operation.
798//
799// The context must be non-nil and will be used for request cancellation. If
800// the context is nil a panic will occur. In the future the SDK may create
801// sub-contexts for http.Requests. See https://golang.org/pkg/context/
802// for more information on using Contexts.
803func (c *MediaPackageVod) DescribePackagingGroupWithContext(ctx aws.Context, input *DescribePackagingGroupInput, opts ...request.Option) (*DescribePackagingGroupOutput, error) {
804	req, out := c.DescribePackagingGroupRequest(input)
805	req.SetContext(ctx)
806	req.ApplyOptions(opts...)
807	return out, req.Send()
808}
809
810const opListAssets = "ListAssets"
811
812// ListAssetsRequest generates a "aws/request.Request" representing the
813// client's request for the ListAssets operation. The "output" return
814// value will be populated with the request's response once the request completes
815// successfully.
816//
817// Use "Send" method on the returned Request to send the API call to the service.
818// the "output" return value is not valid until after Send returns without error.
819//
820// See ListAssets for more information on using the ListAssets
821// API call, and error handling.
822//
823// This method is useful when you want to inject custom logic or configuration
824// into the SDK's request lifecycle. Such as custom headers, or retry logic.
825//
826//
827//    // Example sending a request using the ListAssetsRequest method.
828//    req, resp := client.ListAssetsRequest(params)
829//
830//    err := req.Send()
831//    if err == nil { // resp is now filled
832//        fmt.Println(resp)
833//    }
834//
835// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/ListAssets
836func (c *MediaPackageVod) ListAssetsRequest(input *ListAssetsInput) (req *request.Request, output *ListAssetsOutput) {
837	op := &request.Operation{
838		Name:       opListAssets,
839		HTTPMethod: "GET",
840		HTTPPath:   "/assets",
841		Paginator: &request.Paginator{
842			InputTokens:     []string{"NextToken"},
843			OutputTokens:    []string{"NextToken"},
844			LimitToken:      "MaxResults",
845			TruncationToken: "",
846		},
847	}
848
849	if input == nil {
850		input = &ListAssetsInput{}
851	}
852
853	output = &ListAssetsOutput{}
854	req = c.newRequest(op, input, output)
855	return
856}
857
858// ListAssets API operation for AWS Elemental MediaPackage VOD.
859//
860// Returns a collection of MediaPackage VOD Asset resources.
861//
862// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
863// with awserr.Error's Code and Message methods to get detailed information about
864// the error.
865//
866// See the AWS API reference guide for AWS Elemental MediaPackage VOD's
867// API operation ListAssets for usage and error information.
868//
869// Returned Error Types:
870//   * UnprocessableEntityException
871//
872//   * InternalServerErrorException
873//
874//   * ForbiddenException
875//
876//   * NotFoundException
877//
878//   * ServiceUnavailableException
879//
880//   * TooManyRequestsException
881//
882// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/ListAssets
883func (c *MediaPackageVod) ListAssets(input *ListAssetsInput) (*ListAssetsOutput, error) {
884	req, out := c.ListAssetsRequest(input)
885	return out, req.Send()
886}
887
888// ListAssetsWithContext is the same as ListAssets with the addition of
889// the ability to pass a context and additional request options.
890//
891// See ListAssets for details on how to use this API operation.
892//
893// The context must be non-nil and will be used for request cancellation. If
894// the context is nil a panic will occur. In the future the SDK may create
895// sub-contexts for http.Requests. See https://golang.org/pkg/context/
896// for more information on using Contexts.
897func (c *MediaPackageVod) ListAssetsWithContext(ctx aws.Context, input *ListAssetsInput, opts ...request.Option) (*ListAssetsOutput, error) {
898	req, out := c.ListAssetsRequest(input)
899	req.SetContext(ctx)
900	req.ApplyOptions(opts...)
901	return out, req.Send()
902}
903
904// ListAssetsPages iterates over the pages of a ListAssets operation,
905// calling the "fn" function with the response data for each page. To stop
906// iterating, return false from the fn function.
907//
908// See ListAssets method for more information on how to use this operation.
909//
910// Note: This operation can generate multiple requests to a service.
911//
912//    // Example iterating over at most 3 pages of a ListAssets operation.
913//    pageNum := 0
914//    err := client.ListAssetsPages(params,
915//        func(page *mediapackagevod.ListAssetsOutput, lastPage bool) bool {
916//            pageNum++
917//            fmt.Println(page)
918//            return pageNum <= 3
919//        })
920//
921func (c *MediaPackageVod) ListAssetsPages(input *ListAssetsInput, fn func(*ListAssetsOutput, bool) bool) error {
922	return c.ListAssetsPagesWithContext(aws.BackgroundContext(), input, fn)
923}
924
925// ListAssetsPagesWithContext same as ListAssetsPages except
926// it takes a Context and allows setting request options on the pages.
927//
928// The context must be non-nil and will be used for request cancellation. If
929// the context is nil a panic will occur. In the future the SDK may create
930// sub-contexts for http.Requests. See https://golang.org/pkg/context/
931// for more information on using Contexts.
932func (c *MediaPackageVod) ListAssetsPagesWithContext(ctx aws.Context, input *ListAssetsInput, fn func(*ListAssetsOutput, bool) bool, opts ...request.Option) error {
933	p := request.Pagination{
934		NewRequest: func() (*request.Request, error) {
935			var inCpy *ListAssetsInput
936			if input != nil {
937				tmp := *input
938				inCpy = &tmp
939			}
940			req, _ := c.ListAssetsRequest(inCpy)
941			req.SetContext(ctx)
942			req.ApplyOptions(opts...)
943			return req, nil
944		},
945	}
946
947	for p.Next() {
948		if !fn(p.Page().(*ListAssetsOutput), !p.HasNextPage()) {
949			break
950		}
951	}
952
953	return p.Err()
954}
955
956const opListPackagingConfigurations = "ListPackagingConfigurations"
957
958// ListPackagingConfigurationsRequest generates a "aws/request.Request" representing the
959// client's request for the ListPackagingConfigurations operation. The "output" return
960// value will be populated with the request's response once the request completes
961// successfully.
962//
963// Use "Send" method on the returned Request to send the API call to the service.
964// the "output" return value is not valid until after Send returns without error.
965//
966// See ListPackagingConfigurations for more information on using the ListPackagingConfigurations
967// API call, and error handling.
968//
969// This method is useful when you want to inject custom logic or configuration
970// into the SDK's request lifecycle. Such as custom headers, or retry logic.
971//
972//
973//    // Example sending a request using the ListPackagingConfigurationsRequest method.
974//    req, resp := client.ListPackagingConfigurationsRequest(params)
975//
976//    err := req.Send()
977//    if err == nil { // resp is now filled
978//        fmt.Println(resp)
979//    }
980//
981// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/ListPackagingConfigurations
982func (c *MediaPackageVod) ListPackagingConfigurationsRequest(input *ListPackagingConfigurationsInput) (req *request.Request, output *ListPackagingConfigurationsOutput) {
983	op := &request.Operation{
984		Name:       opListPackagingConfigurations,
985		HTTPMethod: "GET",
986		HTTPPath:   "/packaging_configurations",
987		Paginator: &request.Paginator{
988			InputTokens:     []string{"NextToken"},
989			OutputTokens:    []string{"NextToken"},
990			LimitToken:      "MaxResults",
991			TruncationToken: "",
992		},
993	}
994
995	if input == nil {
996		input = &ListPackagingConfigurationsInput{}
997	}
998
999	output = &ListPackagingConfigurationsOutput{}
1000	req = c.newRequest(op, input, output)
1001	return
1002}
1003
1004// ListPackagingConfigurations API operation for AWS Elemental MediaPackage VOD.
1005//
1006// Returns a collection of MediaPackage VOD PackagingConfiguration resources.
1007//
1008// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1009// with awserr.Error's Code and Message methods to get detailed information about
1010// the error.
1011//
1012// See the AWS API reference guide for AWS Elemental MediaPackage VOD's
1013// API operation ListPackagingConfigurations for usage and error information.
1014//
1015// Returned Error Types:
1016//   * UnprocessableEntityException
1017//
1018//   * InternalServerErrorException
1019//
1020//   * ForbiddenException
1021//
1022//   * NotFoundException
1023//
1024//   * ServiceUnavailableException
1025//
1026//   * TooManyRequestsException
1027//
1028// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/ListPackagingConfigurations
1029func (c *MediaPackageVod) ListPackagingConfigurations(input *ListPackagingConfigurationsInput) (*ListPackagingConfigurationsOutput, error) {
1030	req, out := c.ListPackagingConfigurationsRequest(input)
1031	return out, req.Send()
1032}
1033
1034// ListPackagingConfigurationsWithContext is the same as ListPackagingConfigurations with the addition of
1035// the ability to pass a context and additional request options.
1036//
1037// See ListPackagingConfigurations for details on how to use this API operation.
1038//
1039// The context must be non-nil and will be used for request cancellation. If
1040// the context is nil a panic will occur. In the future the SDK may create
1041// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1042// for more information on using Contexts.
1043func (c *MediaPackageVod) ListPackagingConfigurationsWithContext(ctx aws.Context, input *ListPackagingConfigurationsInput, opts ...request.Option) (*ListPackagingConfigurationsOutput, error) {
1044	req, out := c.ListPackagingConfigurationsRequest(input)
1045	req.SetContext(ctx)
1046	req.ApplyOptions(opts...)
1047	return out, req.Send()
1048}
1049
1050// ListPackagingConfigurationsPages iterates over the pages of a ListPackagingConfigurations operation,
1051// calling the "fn" function with the response data for each page. To stop
1052// iterating, return false from the fn function.
1053//
1054// See ListPackagingConfigurations method for more information on how to use this operation.
1055//
1056// Note: This operation can generate multiple requests to a service.
1057//
1058//    // Example iterating over at most 3 pages of a ListPackagingConfigurations operation.
1059//    pageNum := 0
1060//    err := client.ListPackagingConfigurationsPages(params,
1061//        func(page *mediapackagevod.ListPackagingConfigurationsOutput, lastPage bool) bool {
1062//            pageNum++
1063//            fmt.Println(page)
1064//            return pageNum <= 3
1065//        })
1066//
1067func (c *MediaPackageVod) ListPackagingConfigurationsPages(input *ListPackagingConfigurationsInput, fn func(*ListPackagingConfigurationsOutput, bool) bool) error {
1068	return c.ListPackagingConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn)
1069}
1070
1071// ListPackagingConfigurationsPagesWithContext same as ListPackagingConfigurationsPages except
1072// it takes a Context and allows setting request options on the pages.
1073//
1074// The context must be non-nil and will be used for request cancellation. If
1075// the context is nil a panic will occur. In the future the SDK may create
1076// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1077// for more information on using Contexts.
1078func (c *MediaPackageVod) ListPackagingConfigurationsPagesWithContext(ctx aws.Context, input *ListPackagingConfigurationsInput, fn func(*ListPackagingConfigurationsOutput, bool) bool, opts ...request.Option) error {
1079	p := request.Pagination{
1080		NewRequest: func() (*request.Request, error) {
1081			var inCpy *ListPackagingConfigurationsInput
1082			if input != nil {
1083				tmp := *input
1084				inCpy = &tmp
1085			}
1086			req, _ := c.ListPackagingConfigurationsRequest(inCpy)
1087			req.SetContext(ctx)
1088			req.ApplyOptions(opts...)
1089			return req, nil
1090		},
1091	}
1092
1093	for p.Next() {
1094		if !fn(p.Page().(*ListPackagingConfigurationsOutput), !p.HasNextPage()) {
1095			break
1096		}
1097	}
1098
1099	return p.Err()
1100}
1101
1102const opListPackagingGroups = "ListPackagingGroups"
1103
1104// ListPackagingGroupsRequest generates a "aws/request.Request" representing the
1105// client's request for the ListPackagingGroups operation. The "output" return
1106// value will be populated with the request's response once the request completes
1107// successfully.
1108//
1109// Use "Send" method on the returned Request to send the API call to the service.
1110// the "output" return value is not valid until after Send returns without error.
1111//
1112// See ListPackagingGroups for more information on using the ListPackagingGroups
1113// API call, and error handling.
1114//
1115// This method is useful when you want to inject custom logic or configuration
1116// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1117//
1118//
1119//    // Example sending a request using the ListPackagingGroupsRequest method.
1120//    req, resp := client.ListPackagingGroupsRequest(params)
1121//
1122//    err := req.Send()
1123//    if err == nil { // resp is now filled
1124//        fmt.Println(resp)
1125//    }
1126//
1127// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/ListPackagingGroups
1128func (c *MediaPackageVod) ListPackagingGroupsRequest(input *ListPackagingGroupsInput) (req *request.Request, output *ListPackagingGroupsOutput) {
1129	op := &request.Operation{
1130		Name:       opListPackagingGroups,
1131		HTTPMethod: "GET",
1132		HTTPPath:   "/packaging_groups",
1133		Paginator: &request.Paginator{
1134			InputTokens:     []string{"NextToken"},
1135			OutputTokens:    []string{"NextToken"},
1136			LimitToken:      "MaxResults",
1137			TruncationToken: "",
1138		},
1139	}
1140
1141	if input == nil {
1142		input = &ListPackagingGroupsInput{}
1143	}
1144
1145	output = &ListPackagingGroupsOutput{}
1146	req = c.newRequest(op, input, output)
1147	return
1148}
1149
1150// ListPackagingGroups API operation for AWS Elemental MediaPackage VOD.
1151//
1152// Returns a collection of MediaPackage VOD PackagingGroup resources.
1153//
1154// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1155// with awserr.Error's Code and Message methods to get detailed information about
1156// the error.
1157//
1158// See the AWS API reference guide for AWS Elemental MediaPackage VOD's
1159// API operation ListPackagingGroups for usage and error information.
1160//
1161// Returned Error Types:
1162//   * UnprocessableEntityException
1163//
1164//   * InternalServerErrorException
1165//
1166//   * ForbiddenException
1167//
1168//   * NotFoundException
1169//
1170//   * ServiceUnavailableException
1171//
1172//   * TooManyRequestsException
1173//
1174// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/ListPackagingGroups
1175func (c *MediaPackageVod) ListPackagingGroups(input *ListPackagingGroupsInput) (*ListPackagingGroupsOutput, error) {
1176	req, out := c.ListPackagingGroupsRequest(input)
1177	return out, req.Send()
1178}
1179
1180// ListPackagingGroupsWithContext is the same as ListPackagingGroups with the addition of
1181// the ability to pass a context and additional request options.
1182//
1183// See ListPackagingGroups for details on how to use this API operation.
1184//
1185// The context must be non-nil and will be used for request cancellation. If
1186// the context is nil a panic will occur. In the future the SDK may create
1187// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1188// for more information on using Contexts.
1189func (c *MediaPackageVod) ListPackagingGroupsWithContext(ctx aws.Context, input *ListPackagingGroupsInput, opts ...request.Option) (*ListPackagingGroupsOutput, error) {
1190	req, out := c.ListPackagingGroupsRequest(input)
1191	req.SetContext(ctx)
1192	req.ApplyOptions(opts...)
1193	return out, req.Send()
1194}
1195
1196// ListPackagingGroupsPages iterates over the pages of a ListPackagingGroups operation,
1197// calling the "fn" function with the response data for each page. To stop
1198// iterating, return false from the fn function.
1199//
1200// See ListPackagingGroups method for more information on how to use this operation.
1201//
1202// Note: This operation can generate multiple requests to a service.
1203//
1204//    // Example iterating over at most 3 pages of a ListPackagingGroups operation.
1205//    pageNum := 0
1206//    err := client.ListPackagingGroupsPages(params,
1207//        func(page *mediapackagevod.ListPackagingGroupsOutput, lastPage bool) bool {
1208//            pageNum++
1209//            fmt.Println(page)
1210//            return pageNum <= 3
1211//        })
1212//
1213func (c *MediaPackageVod) ListPackagingGroupsPages(input *ListPackagingGroupsInput, fn func(*ListPackagingGroupsOutput, bool) bool) error {
1214	return c.ListPackagingGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
1215}
1216
1217// ListPackagingGroupsPagesWithContext same as ListPackagingGroupsPages except
1218// it takes a Context and allows setting request options on the pages.
1219//
1220// The context must be non-nil and will be used for request cancellation. If
1221// the context is nil a panic will occur. In the future the SDK may create
1222// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1223// for more information on using Contexts.
1224func (c *MediaPackageVod) ListPackagingGroupsPagesWithContext(ctx aws.Context, input *ListPackagingGroupsInput, fn func(*ListPackagingGroupsOutput, bool) bool, opts ...request.Option) error {
1225	p := request.Pagination{
1226		NewRequest: func() (*request.Request, error) {
1227			var inCpy *ListPackagingGroupsInput
1228			if input != nil {
1229				tmp := *input
1230				inCpy = &tmp
1231			}
1232			req, _ := c.ListPackagingGroupsRequest(inCpy)
1233			req.SetContext(ctx)
1234			req.ApplyOptions(opts...)
1235			return req, nil
1236		},
1237	}
1238
1239	for p.Next() {
1240		if !fn(p.Page().(*ListPackagingGroupsOutput), !p.HasNextPage()) {
1241			break
1242		}
1243	}
1244
1245	return p.Err()
1246}
1247
1248const opListTagsForResource = "ListTagsForResource"
1249
1250// ListTagsForResourceRequest generates a "aws/request.Request" representing the
1251// client's request for the ListTagsForResource operation. The "output" return
1252// value will be populated with the request's response once the request completes
1253// successfully.
1254//
1255// Use "Send" method on the returned Request to send the API call to the service.
1256// the "output" return value is not valid until after Send returns without error.
1257//
1258// See ListTagsForResource for more information on using the ListTagsForResource
1259// API call, and error handling.
1260//
1261// This method is useful when you want to inject custom logic or configuration
1262// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1263//
1264//
1265//    // Example sending a request using the ListTagsForResourceRequest method.
1266//    req, resp := client.ListTagsForResourceRequest(params)
1267//
1268//    err := req.Send()
1269//    if err == nil { // resp is now filled
1270//        fmt.Println(resp)
1271//    }
1272//
1273// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/ListTagsForResource
1274func (c *MediaPackageVod) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
1275	op := &request.Operation{
1276		Name:       opListTagsForResource,
1277		HTTPMethod: "GET",
1278		HTTPPath:   "/tags/{resource-arn}",
1279	}
1280
1281	if input == nil {
1282		input = &ListTagsForResourceInput{}
1283	}
1284
1285	output = &ListTagsForResourceOutput{}
1286	req = c.newRequest(op, input, output)
1287	return
1288}
1289
1290// ListTagsForResource API operation for AWS Elemental MediaPackage VOD.
1291//
1292// Returns a list of the tags assigned to the specified resource.
1293//
1294// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1295// with awserr.Error's Code and Message methods to get detailed information about
1296// the error.
1297//
1298// See the AWS API reference guide for AWS Elemental MediaPackage VOD's
1299// API operation ListTagsForResource for usage and error information.
1300// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/ListTagsForResource
1301func (c *MediaPackageVod) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
1302	req, out := c.ListTagsForResourceRequest(input)
1303	return out, req.Send()
1304}
1305
1306// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
1307// the ability to pass a context and additional request options.
1308//
1309// See ListTagsForResource for details on how to use this API operation.
1310//
1311// The context must be non-nil and will be used for request cancellation. If
1312// the context is nil a panic will occur. In the future the SDK may create
1313// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1314// for more information on using Contexts.
1315func (c *MediaPackageVod) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
1316	req, out := c.ListTagsForResourceRequest(input)
1317	req.SetContext(ctx)
1318	req.ApplyOptions(opts...)
1319	return out, req.Send()
1320}
1321
1322const opTagResource = "TagResource"
1323
1324// TagResourceRequest generates a "aws/request.Request" representing the
1325// client's request for the TagResource operation. The "output" return
1326// value will be populated with the request's response once the request completes
1327// successfully.
1328//
1329// Use "Send" method on the returned Request to send the API call to the service.
1330// the "output" return value is not valid until after Send returns without error.
1331//
1332// See TagResource for more information on using the TagResource
1333// API call, and error handling.
1334//
1335// This method is useful when you want to inject custom logic or configuration
1336// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1337//
1338//
1339//    // Example sending a request using the TagResourceRequest method.
1340//    req, resp := client.TagResourceRequest(params)
1341//
1342//    err := req.Send()
1343//    if err == nil { // resp is now filled
1344//        fmt.Println(resp)
1345//    }
1346//
1347// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/TagResource
1348func (c *MediaPackageVod) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
1349	op := &request.Operation{
1350		Name:       opTagResource,
1351		HTTPMethod: "POST",
1352		HTTPPath:   "/tags/{resource-arn}",
1353	}
1354
1355	if input == nil {
1356		input = &TagResourceInput{}
1357	}
1358
1359	output = &TagResourceOutput{}
1360	req = c.newRequest(op, input, output)
1361	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1362	return
1363}
1364
1365// TagResource API operation for AWS Elemental MediaPackage VOD.
1366//
1367// Adds tags to the specified resource. You can specify one or more tags to
1368// add.
1369//
1370// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1371// with awserr.Error's Code and Message methods to get detailed information about
1372// the error.
1373//
1374// See the AWS API reference guide for AWS Elemental MediaPackage VOD's
1375// API operation TagResource for usage and error information.
1376// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/TagResource
1377func (c *MediaPackageVod) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
1378	req, out := c.TagResourceRequest(input)
1379	return out, req.Send()
1380}
1381
1382// TagResourceWithContext is the same as TagResource with the addition of
1383// the ability to pass a context and additional request options.
1384//
1385// See TagResource for details on how to use this API operation.
1386//
1387// The context must be non-nil and will be used for request cancellation. If
1388// the context is nil a panic will occur. In the future the SDK may create
1389// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1390// for more information on using Contexts.
1391func (c *MediaPackageVod) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
1392	req, out := c.TagResourceRequest(input)
1393	req.SetContext(ctx)
1394	req.ApplyOptions(opts...)
1395	return out, req.Send()
1396}
1397
1398const opUntagResource = "UntagResource"
1399
1400// UntagResourceRequest generates a "aws/request.Request" representing the
1401// client's request for the UntagResource operation. The "output" return
1402// value will be populated with the request's response once the request completes
1403// successfully.
1404//
1405// Use "Send" method on the returned Request to send the API call to the service.
1406// the "output" return value is not valid until after Send returns without error.
1407//
1408// See UntagResource for more information on using the UntagResource
1409// API call, and error handling.
1410//
1411// This method is useful when you want to inject custom logic or configuration
1412// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1413//
1414//
1415//    // Example sending a request using the UntagResourceRequest method.
1416//    req, resp := client.UntagResourceRequest(params)
1417//
1418//    err := req.Send()
1419//    if err == nil { // resp is now filled
1420//        fmt.Println(resp)
1421//    }
1422//
1423// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/UntagResource
1424func (c *MediaPackageVod) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
1425	op := &request.Operation{
1426		Name:       opUntagResource,
1427		HTTPMethod: "DELETE",
1428		HTTPPath:   "/tags/{resource-arn}",
1429	}
1430
1431	if input == nil {
1432		input = &UntagResourceInput{}
1433	}
1434
1435	output = &UntagResourceOutput{}
1436	req = c.newRequest(op, input, output)
1437	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1438	return
1439}
1440
1441// UntagResource API operation for AWS Elemental MediaPackage VOD.
1442//
1443// Removes tags from the specified resource. You can specify one or more tags
1444// to remove.
1445//
1446// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1447// with awserr.Error's Code and Message methods to get detailed information about
1448// the error.
1449//
1450// See the AWS API reference guide for AWS Elemental MediaPackage VOD's
1451// API operation UntagResource for usage and error information.
1452// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/UntagResource
1453func (c *MediaPackageVod) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
1454	req, out := c.UntagResourceRequest(input)
1455	return out, req.Send()
1456}
1457
1458// UntagResourceWithContext is the same as UntagResource with the addition of
1459// the ability to pass a context and additional request options.
1460//
1461// See UntagResource for details on how to use this API operation.
1462//
1463// The context must be non-nil and will be used for request cancellation. If
1464// the context is nil a panic will occur. In the future the SDK may create
1465// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1466// for more information on using Contexts.
1467func (c *MediaPackageVod) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
1468	req, out := c.UntagResourceRequest(input)
1469	req.SetContext(ctx)
1470	req.ApplyOptions(opts...)
1471	return out, req.Send()
1472}
1473
1474const opUpdatePackagingGroup = "UpdatePackagingGroup"
1475
1476// UpdatePackagingGroupRequest generates a "aws/request.Request" representing the
1477// client's request for the UpdatePackagingGroup operation. The "output" return
1478// value will be populated with the request's response once the request completes
1479// successfully.
1480//
1481// Use "Send" method on the returned Request to send the API call to the service.
1482// the "output" return value is not valid until after Send returns without error.
1483//
1484// See UpdatePackagingGroup for more information on using the UpdatePackagingGroup
1485// API call, and error handling.
1486//
1487// This method is useful when you want to inject custom logic or configuration
1488// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1489//
1490//
1491//    // Example sending a request using the UpdatePackagingGroupRequest method.
1492//    req, resp := client.UpdatePackagingGroupRequest(params)
1493//
1494//    err := req.Send()
1495//    if err == nil { // resp is now filled
1496//        fmt.Println(resp)
1497//    }
1498//
1499// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/UpdatePackagingGroup
1500func (c *MediaPackageVod) UpdatePackagingGroupRequest(input *UpdatePackagingGroupInput) (req *request.Request, output *UpdatePackagingGroupOutput) {
1501	op := &request.Operation{
1502		Name:       opUpdatePackagingGroup,
1503		HTTPMethod: "PUT",
1504		HTTPPath:   "/packaging_groups/{id}",
1505	}
1506
1507	if input == nil {
1508		input = &UpdatePackagingGroupInput{}
1509	}
1510
1511	output = &UpdatePackagingGroupOutput{}
1512	req = c.newRequest(op, input, output)
1513	return
1514}
1515
1516// UpdatePackagingGroup API operation for AWS Elemental MediaPackage VOD.
1517//
1518// Updates a specific packaging group. You can't change the id attribute or
1519// any other system-generated attributes.
1520//
1521// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1522// with awserr.Error's Code and Message methods to get detailed information about
1523// the error.
1524//
1525// See the AWS API reference guide for AWS Elemental MediaPackage VOD's
1526// API operation UpdatePackagingGroup for usage and error information.
1527//
1528// Returned Error Types:
1529//   * UnprocessableEntityException
1530//
1531//   * InternalServerErrorException
1532//
1533//   * ForbiddenException
1534//
1535//   * NotFoundException
1536//
1537//   * ServiceUnavailableException
1538//
1539//   * TooManyRequestsException
1540//
1541// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/UpdatePackagingGroup
1542func (c *MediaPackageVod) UpdatePackagingGroup(input *UpdatePackagingGroupInput) (*UpdatePackagingGroupOutput, error) {
1543	req, out := c.UpdatePackagingGroupRequest(input)
1544	return out, req.Send()
1545}
1546
1547// UpdatePackagingGroupWithContext is the same as UpdatePackagingGroup with the addition of
1548// the ability to pass a context and additional request options.
1549//
1550// See UpdatePackagingGroup for details on how to use this API operation.
1551//
1552// The context must be non-nil and will be used for request cancellation. If
1553// the context is nil a panic will occur. In the future the SDK may create
1554// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1555// for more information on using Contexts.
1556func (c *MediaPackageVod) UpdatePackagingGroupWithContext(ctx aws.Context, input *UpdatePackagingGroupInput, opts ...request.Option) (*UpdatePackagingGroupOutput, error) {
1557	req, out := c.UpdatePackagingGroupRequest(input)
1558	req.SetContext(ctx)
1559	req.ApplyOptions(opts...)
1560	return out, req.Send()
1561}
1562
1563// A MediaPackage VOD Asset resource.
1564type AssetShallow struct {
1565	_ struct{} `type:"structure"`
1566
1567	// The ARN of the Asset.
1568	Arn *string `locationName:"arn" type:"string"`
1569
1570	// The time the Asset was initially submitted for Ingest.
1571	CreatedAt *string `locationName:"createdAt" type:"string"`
1572
1573	// The unique identifier for the Asset.
1574	Id *string `locationName:"id" type:"string"`
1575
1576	// The ID of the PackagingGroup for the Asset.
1577	PackagingGroupId *string `locationName:"packagingGroupId" type:"string"`
1578
1579	// The resource ID to include in SPEKE key requests.
1580	ResourceId *string `locationName:"resourceId" type:"string"`
1581
1582	// ARN of the source object in S3.
1583	SourceArn *string `locationName:"sourceArn" type:"string"`
1584
1585	// The IAM role ARN used to access the source S3 bucket.
1586	SourceRoleArn *string `locationName:"sourceRoleArn" type:"string"`
1587
1588	// A collection of tags associated with a resource
1589	Tags map[string]*string `locationName:"tags" type:"map"`
1590}
1591
1592// String returns the string representation
1593func (s AssetShallow) String() string {
1594	return awsutil.Prettify(s)
1595}
1596
1597// GoString returns the string representation
1598func (s AssetShallow) GoString() string {
1599	return s.String()
1600}
1601
1602// SetArn sets the Arn field's value.
1603func (s *AssetShallow) SetArn(v string) *AssetShallow {
1604	s.Arn = &v
1605	return s
1606}
1607
1608// SetCreatedAt sets the CreatedAt field's value.
1609func (s *AssetShallow) SetCreatedAt(v string) *AssetShallow {
1610	s.CreatedAt = &v
1611	return s
1612}
1613
1614// SetId sets the Id field's value.
1615func (s *AssetShallow) SetId(v string) *AssetShallow {
1616	s.Id = &v
1617	return s
1618}
1619
1620// SetPackagingGroupId sets the PackagingGroupId field's value.
1621func (s *AssetShallow) SetPackagingGroupId(v string) *AssetShallow {
1622	s.PackagingGroupId = &v
1623	return s
1624}
1625
1626// SetResourceId sets the ResourceId field's value.
1627func (s *AssetShallow) SetResourceId(v string) *AssetShallow {
1628	s.ResourceId = &v
1629	return s
1630}
1631
1632// SetSourceArn sets the SourceArn field's value.
1633func (s *AssetShallow) SetSourceArn(v string) *AssetShallow {
1634	s.SourceArn = &v
1635	return s
1636}
1637
1638// SetSourceRoleArn sets the SourceRoleArn field's value.
1639func (s *AssetShallow) SetSourceRoleArn(v string) *AssetShallow {
1640	s.SourceRoleArn = &v
1641	return s
1642}
1643
1644// SetTags sets the Tags field's value.
1645func (s *AssetShallow) SetTags(v map[string]*string) *AssetShallow {
1646	s.Tags = v
1647	return s
1648}
1649
1650// CDN Authorization credentials
1651type Authorization struct {
1652	_ struct{} `type:"structure"`
1653
1654	// The Amazon Resource Name (ARN) for the secret in AWS Secrets Manager that
1655	// is used for CDN authorization.
1656	//
1657	// CdnIdentifierSecret is a required field
1658	CdnIdentifierSecret *string `locationName:"cdnIdentifierSecret" type:"string" required:"true"`
1659
1660	// The Amazon Resource Name (ARN) for the IAM role that allows MediaPackage
1661	// to communicate with AWS Secrets Manager.
1662	//
1663	// SecretsRoleArn is a required field
1664	SecretsRoleArn *string `locationName:"secretsRoleArn" type:"string" required:"true"`
1665}
1666
1667// String returns the string representation
1668func (s Authorization) String() string {
1669	return awsutil.Prettify(s)
1670}
1671
1672// GoString returns the string representation
1673func (s Authorization) GoString() string {
1674	return s.String()
1675}
1676
1677// Validate inspects the fields of the type to determine if they are valid.
1678func (s *Authorization) Validate() error {
1679	invalidParams := request.ErrInvalidParams{Context: "Authorization"}
1680	if s.CdnIdentifierSecret == nil {
1681		invalidParams.Add(request.NewErrParamRequired("CdnIdentifierSecret"))
1682	}
1683	if s.SecretsRoleArn == nil {
1684		invalidParams.Add(request.NewErrParamRequired("SecretsRoleArn"))
1685	}
1686
1687	if invalidParams.Len() > 0 {
1688		return invalidParams
1689	}
1690	return nil
1691}
1692
1693// SetCdnIdentifierSecret sets the CdnIdentifierSecret field's value.
1694func (s *Authorization) SetCdnIdentifierSecret(v string) *Authorization {
1695	s.CdnIdentifierSecret = &v
1696	return s
1697}
1698
1699// SetSecretsRoleArn sets the SecretsRoleArn field's value.
1700func (s *Authorization) SetSecretsRoleArn(v string) *Authorization {
1701	s.SecretsRoleArn = &v
1702	return s
1703}
1704
1705// A CMAF encryption configuration.
1706type CmafEncryption struct {
1707	_ struct{} `type:"structure"`
1708
1709	// A configuration for accessing an external Secure Packager and Encoder Key
1710	// Exchange (SPEKE) service that will provide encryption keys.
1711	//
1712	// SpekeKeyProvider is a required field
1713	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"`
1714}
1715
1716// String returns the string representation
1717func (s CmafEncryption) String() string {
1718	return awsutil.Prettify(s)
1719}
1720
1721// GoString returns the string representation
1722func (s CmafEncryption) GoString() string {
1723	return s.String()
1724}
1725
1726// Validate inspects the fields of the type to determine if they are valid.
1727func (s *CmafEncryption) Validate() error {
1728	invalidParams := request.ErrInvalidParams{Context: "CmafEncryption"}
1729	if s.SpekeKeyProvider == nil {
1730		invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider"))
1731	}
1732	if s.SpekeKeyProvider != nil {
1733		if err := s.SpekeKeyProvider.Validate(); err != nil {
1734			invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams))
1735		}
1736	}
1737
1738	if invalidParams.Len() > 0 {
1739		return invalidParams
1740	}
1741	return nil
1742}
1743
1744// SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
1745func (s *CmafEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *CmafEncryption {
1746	s.SpekeKeyProvider = v
1747	return s
1748}
1749
1750// A CMAF packaging configuration.
1751type CmafPackage struct {
1752	_ struct{} `type:"structure"`
1753
1754	// A CMAF encryption configuration.
1755	Encryption *CmafEncryption `locationName:"encryption" type:"structure"`
1756
1757	// A list of HLS manifest configurations.
1758	//
1759	// HlsManifests is a required field
1760	HlsManifests []*HlsManifest `locationName:"hlsManifests" type:"list" required:"true"`
1761
1762	// Duration (in seconds) of each fragment. Actual fragments will berounded to
1763	// the nearest multiple of the source fragment duration.
1764	SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"`
1765}
1766
1767// String returns the string representation
1768func (s CmafPackage) String() string {
1769	return awsutil.Prettify(s)
1770}
1771
1772// GoString returns the string representation
1773func (s CmafPackage) GoString() string {
1774	return s.String()
1775}
1776
1777// Validate inspects the fields of the type to determine if they are valid.
1778func (s *CmafPackage) Validate() error {
1779	invalidParams := request.ErrInvalidParams{Context: "CmafPackage"}
1780	if s.HlsManifests == nil {
1781		invalidParams.Add(request.NewErrParamRequired("HlsManifests"))
1782	}
1783	if s.Encryption != nil {
1784		if err := s.Encryption.Validate(); err != nil {
1785			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
1786		}
1787	}
1788
1789	if invalidParams.Len() > 0 {
1790		return invalidParams
1791	}
1792	return nil
1793}
1794
1795// SetEncryption sets the Encryption field's value.
1796func (s *CmafPackage) SetEncryption(v *CmafEncryption) *CmafPackage {
1797	s.Encryption = v
1798	return s
1799}
1800
1801// SetHlsManifests sets the HlsManifests field's value.
1802func (s *CmafPackage) SetHlsManifests(v []*HlsManifest) *CmafPackage {
1803	s.HlsManifests = v
1804	return s
1805}
1806
1807// SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value.
1808func (s *CmafPackage) SetSegmentDurationSeconds(v int64) *CmafPackage {
1809	s.SegmentDurationSeconds = &v
1810	return s
1811}
1812
1813type CreateAssetInput struct {
1814	_ struct{} `type:"structure"`
1815
1816	// Id is a required field
1817	Id *string `locationName:"id" type:"string" required:"true"`
1818
1819	// PackagingGroupId is a required field
1820	PackagingGroupId *string `locationName:"packagingGroupId" type:"string" required:"true"`
1821
1822	ResourceId *string `locationName:"resourceId" type:"string"`
1823
1824	// SourceArn is a required field
1825	SourceArn *string `locationName:"sourceArn" type:"string" required:"true"`
1826
1827	// SourceRoleArn is a required field
1828	SourceRoleArn *string `locationName:"sourceRoleArn" type:"string" required:"true"`
1829
1830	// A collection of tags associated with a resource
1831	Tags map[string]*string `locationName:"tags" type:"map"`
1832}
1833
1834// String returns the string representation
1835func (s CreateAssetInput) String() string {
1836	return awsutil.Prettify(s)
1837}
1838
1839// GoString returns the string representation
1840func (s CreateAssetInput) GoString() string {
1841	return s.String()
1842}
1843
1844// Validate inspects the fields of the type to determine if they are valid.
1845func (s *CreateAssetInput) Validate() error {
1846	invalidParams := request.ErrInvalidParams{Context: "CreateAssetInput"}
1847	if s.Id == nil {
1848		invalidParams.Add(request.NewErrParamRequired("Id"))
1849	}
1850	if s.PackagingGroupId == nil {
1851		invalidParams.Add(request.NewErrParamRequired("PackagingGroupId"))
1852	}
1853	if s.SourceArn == nil {
1854		invalidParams.Add(request.NewErrParamRequired("SourceArn"))
1855	}
1856	if s.SourceRoleArn == nil {
1857		invalidParams.Add(request.NewErrParamRequired("SourceRoleArn"))
1858	}
1859
1860	if invalidParams.Len() > 0 {
1861		return invalidParams
1862	}
1863	return nil
1864}
1865
1866// SetId sets the Id field's value.
1867func (s *CreateAssetInput) SetId(v string) *CreateAssetInput {
1868	s.Id = &v
1869	return s
1870}
1871
1872// SetPackagingGroupId sets the PackagingGroupId field's value.
1873func (s *CreateAssetInput) SetPackagingGroupId(v string) *CreateAssetInput {
1874	s.PackagingGroupId = &v
1875	return s
1876}
1877
1878// SetResourceId sets the ResourceId field's value.
1879func (s *CreateAssetInput) SetResourceId(v string) *CreateAssetInput {
1880	s.ResourceId = &v
1881	return s
1882}
1883
1884// SetSourceArn sets the SourceArn field's value.
1885func (s *CreateAssetInput) SetSourceArn(v string) *CreateAssetInput {
1886	s.SourceArn = &v
1887	return s
1888}
1889
1890// SetSourceRoleArn sets the SourceRoleArn field's value.
1891func (s *CreateAssetInput) SetSourceRoleArn(v string) *CreateAssetInput {
1892	s.SourceRoleArn = &v
1893	return s
1894}
1895
1896// SetTags sets the Tags field's value.
1897func (s *CreateAssetInput) SetTags(v map[string]*string) *CreateAssetInput {
1898	s.Tags = v
1899	return s
1900}
1901
1902type CreateAssetOutput struct {
1903	_ struct{} `type:"structure"`
1904
1905	Arn *string `locationName:"arn" type:"string"`
1906
1907	CreatedAt *string `locationName:"createdAt" type:"string"`
1908
1909	EgressEndpoints []*EgressEndpoint `locationName:"egressEndpoints" type:"list"`
1910
1911	Id *string `locationName:"id" type:"string"`
1912
1913	PackagingGroupId *string `locationName:"packagingGroupId" type:"string"`
1914
1915	ResourceId *string `locationName:"resourceId" type:"string"`
1916
1917	SourceArn *string `locationName:"sourceArn" type:"string"`
1918
1919	SourceRoleArn *string `locationName:"sourceRoleArn" type:"string"`
1920
1921	// A collection of tags associated with a resource
1922	Tags map[string]*string `locationName:"tags" type:"map"`
1923}
1924
1925// String returns the string representation
1926func (s CreateAssetOutput) String() string {
1927	return awsutil.Prettify(s)
1928}
1929
1930// GoString returns the string representation
1931func (s CreateAssetOutput) GoString() string {
1932	return s.String()
1933}
1934
1935// SetArn sets the Arn field's value.
1936func (s *CreateAssetOutput) SetArn(v string) *CreateAssetOutput {
1937	s.Arn = &v
1938	return s
1939}
1940
1941// SetCreatedAt sets the CreatedAt field's value.
1942func (s *CreateAssetOutput) SetCreatedAt(v string) *CreateAssetOutput {
1943	s.CreatedAt = &v
1944	return s
1945}
1946
1947// SetEgressEndpoints sets the EgressEndpoints field's value.
1948func (s *CreateAssetOutput) SetEgressEndpoints(v []*EgressEndpoint) *CreateAssetOutput {
1949	s.EgressEndpoints = v
1950	return s
1951}
1952
1953// SetId sets the Id field's value.
1954func (s *CreateAssetOutput) SetId(v string) *CreateAssetOutput {
1955	s.Id = &v
1956	return s
1957}
1958
1959// SetPackagingGroupId sets the PackagingGroupId field's value.
1960func (s *CreateAssetOutput) SetPackagingGroupId(v string) *CreateAssetOutput {
1961	s.PackagingGroupId = &v
1962	return s
1963}
1964
1965// SetResourceId sets the ResourceId field's value.
1966func (s *CreateAssetOutput) SetResourceId(v string) *CreateAssetOutput {
1967	s.ResourceId = &v
1968	return s
1969}
1970
1971// SetSourceArn sets the SourceArn field's value.
1972func (s *CreateAssetOutput) SetSourceArn(v string) *CreateAssetOutput {
1973	s.SourceArn = &v
1974	return s
1975}
1976
1977// SetSourceRoleArn sets the SourceRoleArn field's value.
1978func (s *CreateAssetOutput) SetSourceRoleArn(v string) *CreateAssetOutput {
1979	s.SourceRoleArn = &v
1980	return s
1981}
1982
1983// SetTags sets the Tags field's value.
1984func (s *CreateAssetOutput) SetTags(v map[string]*string) *CreateAssetOutput {
1985	s.Tags = v
1986	return s
1987}
1988
1989type CreatePackagingConfigurationInput struct {
1990	_ struct{} `type:"structure"`
1991
1992	// A CMAF packaging configuration.
1993	CmafPackage *CmafPackage `locationName:"cmafPackage" type:"structure"`
1994
1995	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
1996	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
1997
1998	// An HTTP Live Streaming (HLS) packaging configuration.
1999	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
2000
2001	// Id is a required field
2002	Id *string `locationName:"id" type:"string" required:"true"`
2003
2004	// A Microsoft Smooth Streaming (MSS) PackagingConfiguration.
2005	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
2006
2007	// PackagingGroupId is a required field
2008	PackagingGroupId *string `locationName:"packagingGroupId" type:"string" required:"true"`
2009
2010	// A collection of tags associated with a resource
2011	Tags map[string]*string `locationName:"tags" type:"map"`
2012}
2013
2014// String returns the string representation
2015func (s CreatePackagingConfigurationInput) String() string {
2016	return awsutil.Prettify(s)
2017}
2018
2019// GoString returns the string representation
2020func (s CreatePackagingConfigurationInput) GoString() string {
2021	return s.String()
2022}
2023
2024// Validate inspects the fields of the type to determine if they are valid.
2025func (s *CreatePackagingConfigurationInput) Validate() error {
2026	invalidParams := request.ErrInvalidParams{Context: "CreatePackagingConfigurationInput"}
2027	if s.Id == nil {
2028		invalidParams.Add(request.NewErrParamRequired("Id"))
2029	}
2030	if s.PackagingGroupId == nil {
2031		invalidParams.Add(request.NewErrParamRequired("PackagingGroupId"))
2032	}
2033	if s.CmafPackage != nil {
2034		if err := s.CmafPackage.Validate(); err != nil {
2035			invalidParams.AddNested("CmafPackage", err.(request.ErrInvalidParams))
2036		}
2037	}
2038	if s.DashPackage != nil {
2039		if err := s.DashPackage.Validate(); err != nil {
2040			invalidParams.AddNested("DashPackage", err.(request.ErrInvalidParams))
2041		}
2042	}
2043	if s.HlsPackage != nil {
2044		if err := s.HlsPackage.Validate(); err != nil {
2045			invalidParams.AddNested("HlsPackage", err.(request.ErrInvalidParams))
2046		}
2047	}
2048	if s.MssPackage != nil {
2049		if err := s.MssPackage.Validate(); err != nil {
2050			invalidParams.AddNested("MssPackage", err.(request.ErrInvalidParams))
2051		}
2052	}
2053
2054	if invalidParams.Len() > 0 {
2055		return invalidParams
2056	}
2057	return nil
2058}
2059
2060// SetCmafPackage sets the CmafPackage field's value.
2061func (s *CreatePackagingConfigurationInput) SetCmafPackage(v *CmafPackage) *CreatePackagingConfigurationInput {
2062	s.CmafPackage = v
2063	return s
2064}
2065
2066// SetDashPackage sets the DashPackage field's value.
2067func (s *CreatePackagingConfigurationInput) SetDashPackage(v *DashPackage) *CreatePackagingConfigurationInput {
2068	s.DashPackage = v
2069	return s
2070}
2071
2072// SetHlsPackage sets the HlsPackage field's value.
2073func (s *CreatePackagingConfigurationInput) SetHlsPackage(v *HlsPackage) *CreatePackagingConfigurationInput {
2074	s.HlsPackage = v
2075	return s
2076}
2077
2078// SetId sets the Id field's value.
2079func (s *CreatePackagingConfigurationInput) SetId(v string) *CreatePackagingConfigurationInput {
2080	s.Id = &v
2081	return s
2082}
2083
2084// SetMssPackage sets the MssPackage field's value.
2085func (s *CreatePackagingConfigurationInput) SetMssPackage(v *MssPackage) *CreatePackagingConfigurationInput {
2086	s.MssPackage = v
2087	return s
2088}
2089
2090// SetPackagingGroupId sets the PackagingGroupId field's value.
2091func (s *CreatePackagingConfigurationInput) SetPackagingGroupId(v string) *CreatePackagingConfigurationInput {
2092	s.PackagingGroupId = &v
2093	return s
2094}
2095
2096// SetTags sets the Tags field's value.
2097func (s *CreatePackagingConfigurationInput) SetTags(v map[string]*string) *CreatePackagingConfigurationInput {
2098	s.Tags = v
2099	return s
2100}
2101
2102type CreatePackagingConfigurationOutput struct {
2103	_ struct{} `type:"structure"`
2104
2105	Arn *string `locationName:"arn" type:"string"`
2106
2107	// A CMAF packaging configuration.
2108	CmafPackage *CmafPackage `locationName:"cmafPackage" type:"structure"`
2109
2110	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
2111	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
2112
2113	// An HTTP Live Streaming (HLS) packaging configuration.
2114	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
2115
2116	Id *string `locationName:"id" type:"string"`
2117
2118	// A Microsoft Smooth Streaming (MSS) PackagingConfiguration.
2119	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
2120
2121	PackagingGroupId *string `locationName:"packagingGroupId" type:"string"`
2122
2123	// A collection of tags associated with a resource
2124	Tags map[string]*string `locationName:"tags" type:"map"`
2125}
2126
2127// String returns the string representation
2128func (s CreatePackagingConfigurationOutput) String() string {
2129	return awsutil.Prettify(s)
2130}
2131
2132// GoString returns the string representation
2133func (s CreatePackagingConfigurationOutput) GoString() string {
2134	return s.String()
2135}
2136
2137// SetArn sets the Arn field's value.
2138func (s *CreatePackagingConfigurationOutput) SetArn(v string) *CreatePackagingConfigurationOutput {
2139	s.Arn = &v
2140	return s
2141}
2142
2143// SetCmafPackage sets the CmafPackage field's value.
2144func (s *CreatePackagingConfigurationOutput) SetCmafPackage(v *CmafPackage) *CreatePackagingConfigurationOutput {
2145	s.CmafPackage = v
2146	return s
2147}
2148
2149// SetDashPackage sets the DashPackage field's value.
2150func (s *CreatePackagingConfigurationOutput) SetDashPackage(v *DashPackage) *CreatePackagingConfigurationOutput {
2151	s.DashPackage = v
2152	return s
2153}
2154
2155// SetHlsPackage sets the HlsPackage field's value.
2156func (s *CreatePackagingConfigurationOutput) SetHlsPackage(v *HlsPackage) *CreatePackagingConfigurationOutput {
2157	s.HlsPackage = v
2158	return s
2159}
2160
2161// SetId sets the Id field's value.
2162func (s *CreatePackagingConfigurationOutput) SetId(v string) *CreatePackagingConfigurationOutput {
2163	s.Id = &v
2164	return s
2165}
2166
2167// SetMssPackage sets the MssPackage field's value.
2168func (s *CreatePackagingConfigurationOutput) SetMssPackage(v *MssPackage) *CreatePackagingConfigurationOutput {
2169	s.MssPackage = v
2170	return s
2171}
2172
2173// SetPackagingGroupId sets the PackagingGroupId field's value.
2174func (s *CreatePackagingConfigurationOutput) SetPackagingGroupId(v string) *CreatePackagingConfigurationOutput {
2175	s.PackagingGroupId = &v
2176	return s
2177}
2178
2179// SetTags sets the Tags field's value.
2180func (s *CreatePackagingConfigurationOutput) SetTags(v map[string]*string) *CreatePackagingConfigurationOutput {
2181	s.Tags = v
2182	return s
2183}
2184
2185type CreatePackagingGroupInput struct {
2186	_ struct{} `type:"structure"`
2187
2188	// CDN Authorization credentials
2189	Authorization *Authorization `locationName:"authorization" type:"structure"`
2190
2191	// Id is a required field
2192	Id *string `locationName:"id" type:"string" required:"true"`
2193
2194	// A collection of tags associated with a resource
2195	Tags map[string]*string `locationName:"tags" type:"map"`
2196}
2197
2198// String returns the string representation
2199func (s CreatePackagingGroupInput) String() string {
2200	return awsutil.Prettify(s)
2201}
2202
2203// GoString returns the string representation
2204func (s CreatePackagingGroupInput) GoString() string {
2205	return s.String()
2206}
2207
2208// Validate inspects the fields of the type to determine if they are valid.
2209func (s *CreatePackagingGroupInput) Validate() error {
2210	invalidParams := request.ErrInvalidParams{Context: "CreatePackagingGroupInput"}
2211	if s.Id == nil {
2212		invalidParams.Add(request.NewErrParamRequired("Id"))
2213	}
2214	if s.Authorization != nil {
2215		if err := s.Authorization.Validate(); err != nil {
2216			invalidParams.AddNested("Authorization", err.(request.ErrInvalidParams))
2217		}
2218	}
2219
2220	if invalidParams.Len() > 0 {
2221		return invalidParams
2222	}
2223	return nil
2224}
2225
2226// SetAuthorization sets the Authorization field's value.
2227func (s *CreatePackagingGroupInput) SetAuthorization(v *Authorization) *CreatePackagingGroupInput {
2228	s.Authorization = v
2229	return s
2230}
2231
2232// SetId sets the Id field's value.
2233func (s *CreatePackagingGroupInput) SetId(v string) *CreatePackagingGroupInput {
2234	s.Id = &v
2235	return s
2236}
2237
2238// SetTags sets the Tags field's value.
2239func (s *CreatePackagingGroupInput) SetTags(v map[string]*string) *CreatePackagingGroupInput {
2240	s.Tags = v
2241	return s
2242}
2243
2244type CreatePackagingGroupOutput struct {
2245	_ struct{} `type:"structure"`
2246
2247	Arn *string `locationName:"arn" type:"string"`
2248
2249	// CDN Authorization credentials
2250	Authorization *Authorization `locationName:"authorization" type:"structure"`
2251
2252	DomainName *string `locationName:"domainName" type:"string"`
2253
2254	Id *string `locationName:"id" type:"string"`
2255
2256	// A collection of tags associated with a resource
2257	Tags map[string]*string `locationName:"tags" type:"map"`
2258}
2259
2260// String returns the string representation
2261func (s CreatePackagingGroupOutput) String() string {
2262	return awsutil.Prettify(s)
2263}
2264
2265// GoString returns the string representation
2266func (s CreatePackagingGroupOutput) GoString() string {
2267	return s.String()
2268}
2269
2270// SetArn sets the Arn field's value.
2271func (s *CreatePackagingGroupOutput) SetArn(v string) *CreatePackagingGroupOutput {
2272	s.Arn = &v
2273	return s
2274}
2275
2276// SetAuthorization sets the Authorization field's value.
2277func (s *CreatePackagingGroupOutput) SetAuthorization(v *Authorization) *CreatePackagingGroupOutput {
2278	s.Authorization = v
2279	return s
2280}
2281
2282// SetDomainName sets the DomainName field's value.
2283func (s *CreatePackagingGroupOutput) SetDomainName(v string) *CreatePackagingGroupOutput {
2284	s.DomainName = &v
2285	return s
2286}
2287
2288// SetId sets the Id field's value.
2289func (s *CreatePackagingGroupOutput) SetId(v string) *CreatePackagingGroupOutput {
2290	s.Id = &v
2291	return s
2292}
2293
2294// SetTags sets the Tags field's value.
2295func (s *CreatePackagingGroupOutput) SetTags(v map[string]*string) *CreatePackagingGroupOutput {
2296	s.Tags = v
2297	return s
2298}
2299
2300// A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration.
2301type DashEncryption struct {
2302	_ struct{} `type:"structure"`
2303
2304	// A configuration for accessing an external Secure Packager and Encoder Key
2305	// Exchange (SPEKE) service that will provide encryption keys.
2306	//
2307	// SpekeKeyProvider is a required field
2308	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"`
2309}
2310
2311// String returns the string representation
2312func (s DashEncryption) String() string {
2313	return awsutil.Prettify(s)
2314}
2315
2316// GoString returns the string representation
2317func (s DashEncryption) GoString() string {
2318	return s.String()
2319}
2320
2321// Validate inspects the fields of the type to determine if they are valid.
2322func (s *DashEncryption) Validate() error {
2323	invalidParams := request.ErrInvalidParams{Context: "DashEncryption"}
2324	if s.SpekeKeyProvider == nil {
2325		invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider"))
2326	}
2327	if s.SpekeKeyProvider != nil {
2328		if err := s.SpekeKeyProvider.Validate(); err != nil {
2329			invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams))
2330		}
2331	}
2332
2333	if invalidParams.Len() > 0 {
2334		return invalidParams
2335	}
2336	return nil
2337}
2338
2339// SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
2340func (s *DashEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *DashEncryption {
2341	s.SpekeKeyProvider = v
2342	return s
2343}
2344
2345// A DASH manifest configuration.
2346type DashManifest struct {
2347	_ struct{} `type:"structure"`
2348
2349	// Determines the position of some tags in the Media Presentation Description
2350	// (MPD). When set to FULL, elements like SegmentTemplate and ContentProtection
2351	// are included in each Representation. When set to COMPACT, duplicate elements
2352	// are combined and presented at the AdaptationSet level.
2353	ManifestLayout *string `locationName:"manifestLayout" type:"string" enum:"ManifestLayout"`
2354
2355	// An optional string to include in the name of the manifest.
2356	ManifestName *string `locationName:"manifestName" type:"string"`
2357
2358	// Minimum duration (in seconds) that a player will buffer media before starting
2359	// the presentation.
2360	MinBufferTimeSeconds *int64 `locationName:"minBufferTimeSeconds" type:"integer"`
2361
2362	// The Dynamic Adaptive Streaming over HTTP (DASH) profile type. When set to
2363	// "HBBTV_1_5", HbbTV 1.5 compliant output is enabled.
2364	Profile *string `locationName:"profile" type:"string" enum:"Profile"`
2365
2366	// A StreamSelection configuration.
2367	StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"`
2368}
2369
2370// String returns the string representation
2371func (s DashManifest) String() string {
2372	return awsutil.Prettify(s)
2373}
2374
2375// GoString returns the string representation
2376func (s DashManifest) GoString() string {
2377	return s.String()
2378}
2379
2380// SetManifestLayout sets the ManifestLayout field's value.
2381func (s *DashManifest) SetManifestLayout(v string) *DashManifest {
2382	s.ManifestLayout = &v
2383	return s
2384}
2385
2386// SetManifestName sets the ManifestName field's value.
2387func (s *DashManifest) SetManifestName(v string) *DashManifest {
2388	s.ManifestName = &v
2389	return s
2390}
2391
2392// SetMinBufferTimeSeconds sets the MinBufferTimeSeconds field's value.
2393func (s *DashManifest) SetMinBufferTimeSeconds(v int64) *DashManifest {
2394	s.MinBufferTimeSeconds = &v
2395	return s
2396}
2397
2398// SetProfile sets the Profile field's value.
2399func (s *DashManifest) SetProfile(v string) *DashManifest {
2400	s.Profile = &v
2401	return s
2402}
2403
2404// SetStreamSelection sets the StreamSelection field's value.
2405func (s *DashManifest) SetStreamSelection(v *StreamSelection) *DashManifest {
2406	s.StreamSelection = v
2407	return s
2408}
2409
2410// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
2411type DashPackage struct {
2412	_ struct{} `type:"structure"`
2413
2414	// A list of DASH manifest configurations.
2415	//
2416	// DashManifests is a required field
2417	DashManifests []*DashManifest `locationName:"dashManifests" type:"list" required:"true"`
2418
2419	// A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration.
2420	Encryption *DashEncryption `locationName:"encryption" type:"structure"`
2421
2422	// A list of triggers that controls when the outgoing Dynamic Adaptive Streaming
2423	// over HTTP (DASH)Media Presentation Description (MPD) will be partitioned
2424	// into multiple periods. If empty, the content will notbe partitioned into
2425	// more than one period. If the list contains "ADS", new periods will be created
2426	// wherethe Asset contains SCTE-35 ad markers.
2427	PeriodTriggers []*string `locationName:"periodTriggers" type:"list"`
2428
2429	// Duration (in seconds) of each segment. Actual segments will berounded to
2430	// the nearest multiple of the source segment duration.
2431	SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"`
2432
2433	// Determines the type of SegmentTemplate included in the Media Presentation
2434	// Description (MPD). When set to NUMBER_WITH_TIMELINE, a full timeline is presented
2435	// in each SegmentTemplate, with $Number$ media URLs. When set to TIME_WITH_TIMELINE,
2436	// a full timeline is presented in each SegmentTemplate, with $Time$ media URLs.
2437	// When set to NUMBER_WITH_DURATION, only a duration is included in each SegmentTemplate,
2438	// with $Number$ media URLs.
2439	SegmentTemplateFormat *string `locationName:"segmentTemplateFormat" type:"string" enum:"SegmentTemplateFormat"`
2440}
2441
2442// String returns the string representation
2443func (s DashPackage) String() string {
2444	return awsutil.Prettify(s)
2445}
2446
2447// GoString returns the string representation
2448func (s DashPackage) GoString() string {
2449	return s.String()
2450}
2451
2452// Validate inspects the fields of the type to determine if they are valid.
2453func (s *DashPackage) Validate() error {
2454	invalidParams := request.ErrInvalidParams{Context: "DashPackage"}
2455	if s.DashManifests == nil {
2456		invalidParams.Add(request.NewErrParamRequired("DashManifests"))
2457	}
2458	if s.Encryption != nil {
2459		if err := s.Encryption.Validate(); err != nil {
2460			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
2461		}
2462	}
2463
2464	if invalidParams.Len() > 0 {
2465		return invalidParams
2466	}
2467	return nil
2468}
2469
2470// SetDashManifests sets the DashManifests field's value.
2471func (s *DashPackage) SetDashManifests(v []*DashManifest) *DashPackage {
2472	s.DashManifests = v
2473	return s
2474}
2475
2476// SetEncryption sets the Encryption field's value.
2477func (s *DashPackage) SetEncryption(v *DashEncryption) *DashPackage {
2478	s.Encryption = v
2479	return s
2480}
2481
2482// SetPeriodTriggers sets the PeriodTriggers field's value.
2483func (s *DashPackage) SetPeriodTriggers(v []*string) *DashPackage {
2484	s.PeriodTriggers = v
2485	return s
2486}
2487
2488// SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value.
2489func (s *DashPackage) SetSegmentDurationSeconds(v int64) *DashPackage {
2490	s.SegmentDurationSeconds = &v
2491	return s
2492}
2493
2494// SetSegmentTemplateFormat sets the SegmentTemplateFormat field's value.
2495func (s *DashPackage) SetSegmentTemplateFormat(v string) *DashPackage {
2496	s.SegmentTemplateFormat = &v
2497	return s
2498}
2499
2500type DeleteAssetInput struct {
2501	_ struct{} `type:"structure"`
2502
2503	// Id is a required field
2504	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
2505}
2506
2507// String returns the string representation
2508func (s DeleteAssetInput) String() string {
2509	return awsutil.Prettify(s)
2510}
2511
2512// GoString returns the string representation
2513func (s DeleteAssetInput) GoString() string {
2514	return s.String()
2515}
2516
2517// Validate inspects the fields of the type to determine if they are valid.
2518func (s *DeleteAssetInput) Validate() error {
2519	invalidParams := request.ErrInvalidParams{Context: "DeleteAssetInput"}
2520	if s.Id == nil {
2521		invalidParams.Add(request.NewErrParamRequired("Id"))
2522	}
2523	if s.Id != nil && len(*s.Id) < 1 {
2524		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
2525	}
2526
2527	if invalidParams.Len() > 0 {
2528		return invalidParams
2529	}
2530	return nil
2531}
2532
2533// SetId sets the Id field's value.
2534func (s *DeleteAssetInput) SetId(v string) *DeleteAssetInput {
2535	s.Id = &v
2536	return s
2537}
2538
2539type DeleteAssetOutput struct {
2540	_ struct{} `type:"structure"`
2541}
2542
2543// String returns the string representation
2544func (s DeleteAssetOutput) String() string {
2545	return awsutil.Prettify(s)
2546}
2547
2548// GoString returns the string representation
2549func (s DeleteAssetOutput) GoString() string {
2550	return s.String()
2551}
2552
2553type DeletePackagingConfigurationInput struct {
2554	_ struct{} `type:"structure"`
2555
2556	// Id is a required field
2557	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
2558}
2559
2560// String returns the string representation
2561func (s DeletePackagingConfigurationInput) String() string {
2562	return awsutil.Prettify(s)
2563}
2564
2565// GoString returns the string representation
2566func (s DeletePackagingConfigurationInput) GoString() string {
2567	return s.String()
2568}
2569
2570// Validate inspects the fields of the type to determine if they are valid.
2571func (s *DeletePackagingConfigurationInput) Validate() error {
2572	invalidParams := request.ErrInvalidParams{Context: "DeletePackagingConfigurationInput"}
2573	if s.Id == nil {
2574		invalidParams.Add(request.NewErrParamRequired("Id"))
2575	}
2576	if s.Id != nil && len(*s.Id) < 1 {
2577		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
2578	}
2579
2580	if invalidParams.Len() > 0 {
2581		return invalidParams
2582	}
2583	return nil
2584}
2585
2586// SetId sets the Id field's value.
2587func (s *DeletePackagingConfigurationInput) SetId(v string) *DeletePackagingConfigurationInput {
2588	s.Id = &v
2589	return s
2590}
2591
2592type DeletePackagingConfigurationOutput struct {
2593	_ struct{} `type:"structure"`
2594}
2595
2596// String returns the string representation
2597func (s DeletePackagingConfigurationOutput) String() string {
2598	return awsutil.Prettify(s)
2599}
2600
2601// GoString returns the string representation
2602func (s DeletePackagingConfigurationOutput) GoString() string {
2603	return s.String()
2604}
2605
2606type DeletePackagingGroupInput struct {
2607	_ struct{} `type:"structure"`
2608
2609	// Id is a required field
2610	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
2611}
2612
2613// String returns the string representation
2614func (s DeletePackagingGroupInput) String() string {
2615	return awsutil.Prettify(s)
2616}
2617
2618// GoString returns the string representation
2619func (s DeletePackagingGroupInput) GoString() string {
2620	return s.String()
2621}
2622
2623// Validate inspects the fields of the type to determine if they are valid.
2624func (s *DeletePackagingGroupInput) Validate() error {
2625	invalidParams := request.ErrInvalidParams{Context: "DeletePackagingGroupInput"}
2626	if s.Id == nil {
2627		invalidParams.Add(request.NewErrParamRequired("Id"))
2628	}
2629	if s.Id != nil && len(*s.Id) < 1 {
2630		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
2631	}
2632
2633	if invalidParams.Len() > 0 {
2634		return invalidParams
2635	}
2636	return nil
2637}
2638
2639// SetId sets the Id field's value.
2640func (s *DeletePackagingGroupInput) SetId(v string) *DeletePackagingGroupInput {
2641	s.Id = &v
2642	return s
2643}
2644
2645type DeletePackagingGroupOutput struct {
2646	_ struct{} `type:"structure"`
2647}
2648
2649// String returns the string representation
2650func (s DeletePackagingGroupOutput) String() string {
2651	return awsutil.Prettify(s)
2652}
2653
2654// GoString returns the string representation
2655func (s DeletePackagingGroupOutput) GoString() string {
2656	return s.String()
2657}
2658
2659type DescribeAssetInput struct {
2660	_ struct{} `type:"structure"`
2661
2662	// Id is a required field
2663	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
2664}
2665
2666// String returns the string representation
2667func (s DescribeAssetInput) String() string {
2668	return awsutil.Prettify(s)
2669}
2670
2671// GoString returns the string representation
2672func (s DescribeAssetInput) GoString() string {
2673	return s.String()
2674}
2675
2676// Validate inspects the fields of the type to determine if they are valid.
2677func (s *DescribeAssetInput) Validate() error {
2678	invalidParams := request.ErrInvalidParams{Context: "DescribeAssetInput"}
2679	if s.Id == nil {
2680		invalidParams.Add(request.NewErrParamRequired("Id"))
2681	}
2682	if s.Id != nil && len(*s.Id) < 1 {
2683		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
2684	}
2685
2686	if invalidParams.Len() > 0 {
2687		return invalidParams
2688	}
2689	return nil
2690}
2691
2692// SetId sets the Id field's value.
2693func (s *DescribeAssetInput) SetId(v string) *DescribeAssetInput {
2694	s.Id = &v
2695	return s
2696}
2697
2698type DescribeAssetOutput struct {
2699	_ struct{} `type:"structure"`
2700
2701	Arn *string `locationName:"arn" type:"string"`
2702
2703	CreatedAt *string `locationName:"createdAt" type:"string"`
2704
2705	EgressEndpoints []*EgressEndpoint `locationName:"egressEndpoints" type:"list"`
2706
2707	Id *string `locationName:"id" type:"string"`
2708
2709	PackagingGroupId *string `locationName:"packagingGroupId" type:"string"`
2710
2711	ResourceId *string `locationName:"resourceId" type:"string"`
2712
2713	SourceArn *string `locationName:"sourceArn" type:"string"`
2714
2715	SourceRoleArn *string `locationName:"sourceRoleArn" type:"string"`
2716
2717	// A collection of tags associated with a resource
2718	Tags map[string]*string `locationName:"tags" type:"map"`
2719}
2720
2721// String returns the string representation
2722func (s DescribeAssetOutput) String() string {
2723	return awsutil.Prettify(s)
2724}
2725
2726// GoString returns the string representation
2727func (s DescribeAssetOutput) GoString() string {
2728	return s.String()
2729}
2730
2731// SetArn sets the Arn field's value.
2732func (s *DescribeAssetOutput) SetArn(v string) *DescribeAssetOutput {
2733	s.Arn = &v
2734	return s
2735}
2736
2737// SetCreatedAt sets the CreatedAt field's value.
2738func (s *DescribeAssetOutput) SetCreatedAt(v string) *DescribeAssetOutput {
2739	s.CreatedAt = &v
2740	return s
2741}
2742
2743// SetEgressEndpoints sets the EgressEndpoints field's value.
2744func (s *DescribeAssetOutput) SetEgressEndpoints(v []*EgressEndpoint) *DescribeAssetOutput {
2745	s.EgressEndpoints = v
2746	return s
2747}
2748
2749// SetId sets the Id field's value.
2750func (s *DescribeAssetOutput) SetId(v string) *DescribeAssetOutput {
2751	s.Id = &v
2752	return s
2753}
2754
2755// SetPackagingGroupId sets the PackagingGroupId field's value.
2756func (s *DescribeAssetOutput) SetPackagingGroupId(v string) *DescribeAssetOutput {
2757	s.PackagingGroupId = &v
2758	return s
2759}
2760
2761// SetResourceId sets the ResourceId field's value.
2762func (s *DescribeAssetOutput) SetResourceId(v string) *DescribeAssetOutput {
2763	s.ResourceId = &v
2764	return s
2765}
2766
2767// SetSourceArn sets the SourceArn field's value.
2768func (s *DescribeAssetOutput) SetSourceArn(v string) *DescribeAssetOutput {
2769	s.SourceArn = &v
2770	return s
2771}
2772
2773// SetSourceRoleArn sets the SourceRoleArn field's value.
2774func (s *DescribeAssetOutput) SetSourceRoleArn(v string) *DescribeAssetOutput {
2775	s.SourceRoleArn = &v
2776	return s
2777}
2778
2779// SetTags sets the Tags field's value.
2780func (s *DescribeAssetOutput) SetTags(v map[string]*string) *DescribeAssetOutput {
2781	s.Tags = v
2782	return s
2783}
2784
2785type DescribePackagingConfigurationInput struct {
2786	_ struct{} `type:"structure"`
2787
2788	// Id is a required field
2789	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
2790}
2791
2792// String returns the string representation
2793func (s DescribePackagingConfigurationInput) String() string {
2794	return awsutil.Prettify(s)
2795}
2796
2797// GoString returns the string representation
2798func (s DescribePackagingConfigurationInput) GoString() string {
2799	return s.String()
2800}
2801
2802// Validate inspects the fields of the type to determine if they are valid.
2803func (s *DescribePackagingConfigurationInput) Validate() error {
2804	invalidParams := request.ErrInvalidParams{Context: "DescribePackagingConfigurationInput"}
2805	if s.Id == nil {
2806		invalidParams.Add(request.NewErrParamRequired("Id"))
2807	}
2808	if s.Id != nil && len(*s.Id) < 1 {
2809		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
2810	}
2811
2812	if invalidParams.Len() > 0 {
2813		return invalidParams
2814	}
2815	return nil
2816}
2817
2818// SetId sets the Id field's value.
2819func (s *DescribePackagingConfigurationInput) SetId(v string) *DescribePackagingConfigurationInput {
2820	s.Id = &v
2821	return s
2822}
2823
2824type DescribePackagingConfigurationOutput struct {
2825	_ struct{} `type:"structure"`
2826
2827	Arn *string `locationName:"arn" type:"string"`
2828
2829	// A CMAF packaging configuration.
2830	CmafPackage *CmafPackage `locationName:"cmafPackage" type:"structure"`
2831
2832	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
2833	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
2834
2835	// An HTTP Live Streaming (HLS) packaging configuration.
2836	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
2837
2838	Id *string `locationName:"id" type:"string"`
2839
2840	// A Microsoft Smooth Streaming (MSS) PackagingConfiguration.
2841	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
2842
2843	PackagingGroupId *string `locationName:"packagingGroupId" type:"string"`
2844
2845	// A collection of tags associated with a resource
2846	Tags map[string]*string `locationName:"tags" type:"map"`
2847}
2848
2849// String returns the string representation
2850func (s DescribePackagingConfigurationOutput) String() string {
2851	return awsutil.Prettify(s)
2852}
2853
2854// GoString returns the string representation
2855func (s DescribePackagingConfigurationOutput) GoString() string {
2856	return s.String()
2857}
2858
2859// SetArn sets the Arn field's value.
2860func (s *DescribePackagingConfigurationOutput) SetArn(v string) *DescribePackagingConfigurationOutput {
2861	s.Arn = &v
2862	return s
2863}
2864
2865// SetCmafPackage sets the CmafPackage field's value.
2866func (s *DescribePackagingConfigurationOutput) SetCmafPackage(v *CmafPackage) *DescribePackagingConfigurationOutput {
2867	s.CmafPackage = v
2868	return s
2869}
2870
2871// SetDashPackage sets the DashPackage field's value.
2872func (s *DescribePackagingConfigurationOutput) SetDashPackage(v *DashPackage) *DescribePackagingConfigurationOutput {
2873	s.DashPackage = v
2874	return s
2875}
2876
2877// SetHlsPackage sets the HlsPackage field's value.
2878func (s *DescribePackagingConfigurationOutput) SetHlsPackage(v *HlsPackage) *DescribePackagingConfigurationOutput {
2879	s.HlsPackage = v
2880	return s
2881}
2882
2883// SetId sets the Id field's value.
2884func (s *DescribePackagingConfigurationOutput) SetId(v string) *DescribePackagingConfigurationOutput {
2885	s.Id = &v
2886	return s
2887}
2888
2889// SetMssPackage sets the MssPackage field's value.
2890func (s *DescribePackagingConfigurationOutput) SetMssPackage(v *MssPackage) *DescribePackagingConfigurationOutput {
2891	s.MssPackage = v
2892	return s
2893}
2894
2895// SetPackagingGroupId sets the PackagingGroupId field's value.
2896func (s *DescribePackagingConfigurationOutput) SetPackagingGroupId(v string) *DescribePackagingConfigurationOutput {
2897	s.PackagingGroupId = &v
2898	return s
2899}
2900
2901// SetTags sets the Tags field's value.
2902func (s *DescribePackagingConfigurationOutput) SetTags(v map[string]*string) *DescribePackagingConfigurationOutput {
2903	s.Tags = v
2904	return s
2905}
2906
2907type DescribePackagingGroupInput struct {
2908	_ struct{} `type:"structure"`
2909
2910	// Id is a required field
2911	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
2912}
2913
2914// String returns the string representation
2915func (s DescribePackagingGroupInput) String() string {
2916	return awsutil.Prettify(s)
2917}
2918
2919// GoString returns the string representation
2920func (s DescribePackagingGroupInput) GoString() string {
2921	return s.String()
2922}
2923
2924// Validate inspects the fields of the type to determine if they are valid.
2925func (s *DescribePackagingGroupInput) Validate() error {
2926	invalidParams := request.ErrInvalidParams{Context: "DescribePackagingGroupInput"}
2927	if s.Id == nil {
2928		invalidParams.Add(request.NewErrParamRequired("Id"))
2929	}
2930	if s.Id != nil && len(*s.Id) < 1 {
2931		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
2932	}
2933
2934	if invalidParams.Len() > 0 {
2935		return invalidParams
2936	}
2937	return nil
2938}
2939
2940// SetId sets the Id field's value.
2941func (s *DescribePackagingGroupInput) SetId(v string) *DescribePackagingGroupInput {
2942	s.Id = &v
2943	return s
2944}
2945
2946type DescribePackagingGroupOutput struct {
2947	_ struct{} `type:"structure"`
2948
2949	Arn *string `locationName:"arn" type:"string"`
2950
2951	// CDN Authorization credentials
2952	Authorization *Authorization `locationName:"authorization" type:"structure"`
2953
2954	DomainName *string `locationName:"domainName" type:"string"`
2955
2956	Id *string `locationName:"id" type:"string"`
2957
2958	// A collection of tags associated with a resource
2959	Tags map[string]*string `locationName:"tags" type:"map"`
2960}
2961
2962// String returns the string representation
2963func (s DescribePackagingGroupOutput) String() string {
2964	return awsutil.Prettify(s)
2965}
2966
2967// GoString returns the string representation
2968func (s DescribePackagingGroupOutput) GoString() string {
2969	return s.String()
2970}
2971
2972// SetArn sets the Arn field's value.
2973func (s *DescribePackagingGroupOutput) SetArn(v string) *DescribePackagingGroupOutput {
2974	s.Arn = &v
2975	return s
2976}
2977
2978// SetAuthorization sets the Authorization field's value.
2979func (s *DescribePackagingGroupOutput) SetAuthorization(v *Authorization) *DescribePackagingGroupOutput {
2980	s.Authorization = v
2981	return s
2982}
2983
2984// SetDomainName sets the DomainName field's value.
2985func (s *DescribePackagingGroupOutput) SetDomainName(v string) *DescribePackagingGroupOutput {
2986	s.DomainName = &v
2987	return s
2988}
2989
2990// SetId sets the Id field's value.
2991func (s *DescribePackagingGroupOutput) SetId(v string) *DescribePackagingGroupOutput {
2992	s.Id = &v
2993	return s
2994}
2995
2996// SetTags sets the Tags field's value.
2997func (s *DescribePackagingGroupOutput) SetTags(v map[string]*string) *DescribePackagingGroupOutput {
2998	s.Tags = v
2999	return s
3000}
3001
3002// The endpoint URL used to access an Asset using one PackagingConfiguration.
3003type EgressEndpoint struct {
3004	_ struct{} `type:"structure"`
3005
3006	// The ID of the PackagingConfiguration being applied to the Asset.
3007	PackagingConfigurationId *string `locationName:"packagingConfigurationId" type:"string"`
3008
3009	// The URL of the parent manifest for the repackaged Asset.
3010	Url *string `locationName:"url" type:"string"`
3011}
3012
3013// String returns the string representation
3014func (s EgressEndpoint) String() string {
3015	return awsutil.Prettify(s)
3016}
3017
3018// GoString returns the string representation
3019func (s EgressEndpoint) GoString() string {
3020	return s.String()
3021}
3022
3023// SetPackagingConfigurationId sets the PackagingConfigurationId field's value.
3024func (s *EgressEndpoint) SetPackagingConfigurationId(v string) *EgressEndpoint {
3025	s.PackagingConfigurationId = &v
3026	return s
3027}
3028
3029// SetUrl sets the Url field's value.
3030func (s *EgressEndpoint) SetUrl(v string) *EgressEndpoint {
3031	s.Url = &v
3032	return s
3033}
3034
3035type ForbiddenException struct {
3036	_            struct{}                  `type:"structure"`
3037	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3038
3039	Message_ *string `locationName:"message" type:"string"`
3040}
3041
3042// String returns the string representation
3043func (s ForbiddenException) String() string {
3044	return awsutil.Prettify(s)
3045}
3046
3047// GoString returns the string representation
3048func (s ForbiddenException) GoString() string {
3049	return s.String()
3050}
3051
3052func newErrorForbiddenException(v protocol.ResponseMetadata) error {
3053	return &ForbiddenException{
3054		RespMetadata: v,
3055	}
3056}
3057
3058// Code returns the exception type name.
3059func (s *ForbiddenException) Code() string {
3060	return "ForbiddenException"
3061}
3062
3063// Message returns the exception's message.
3064func (s *ForbiddenException) Message() string {
3065	if s.Message_ != nil {
3066		return *s.Message_
3067	}
3068	return ""
3069}
3070
3071// OrigErr always returns nil, satisfies awserr.Error interface.
3072func (s *ForbiddenException) OrigErr() error {
3073	return nil
3074}
3075
3076func (s *ForbiddenException) Error() string {
3077	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3078}
3079
3080// Status code returns the HTTP status code for the request's response error.
3081func (s *ForbiddenException) StatusCode() int {
3082	return s.RespMetadata.StatusCode
3083}
3084
3085// RequestID returns the service's response RequestID for request.
3086func (s *ForbiddenException) RequestID() string {
3087	return s.RespMetadata.RequestID
3088}
3089
3090// An HTTP Live Streaming (HLS) encryption configuration.
3091type HlsEncryption struct {
3092	_ struct{} `type:"structure"`
3093
3094	// A constant initialization vector for encryption (optional).When not specified
3095	// the initialization vector will be periodically rotated.
3096	ConstantInitializationVector *string `locationName:"constantInitializationVector" type:"string"`
3097
3098	// The encryption method to use.
3099	EncryptionMethod *string `locationName:"encryptionMethod" type:"string" enum:"EncryptionMethod"`
3100
3101	// A configuration for accessing an external Secure Packager and Encoder Key
3102	// Exchange (SPEKE) service that will provide encryption keys.
3103	//
3104	// SpekeKeyProvider is a required field
3105	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"`
3106}
3107
3108// String returns the string representation
3109func (s HlsEncryption) String() string {
3110	return awsutil.Prettify(s)
3111}
3112
3113// GoString returns the string representation
3114func (s HlsEncryption) GoString() string {
3115	return s.String()
3116}
3117
3118// Validate inspects the fields of the type to determine if they are valid.
3119func (s *HlsEncryption) Validate() error {
3120	invalidParams := request.ErrInvalidParams{Context: "HlsEncryption"}
3121	if s.SpekeKeyProvider == nil {
3122		invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider"))
3123	}
3124	if s.SpekeKeyProvider != nil {
3125		if err := s.SpekeKeyProvider.Validate(); err != nil {
3126			invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams))
3127		}
3128	}
3129
3130	if invalidParams.Len() > 0 {
3131		return invalidParams
3132	}
3133	return nil
3134}
3135
3136// SetConstantInitializationVector sets the ConstantInitializationVector field's value.
3137func (s *HlsEncryption) SetConstantInitializationVector(v string) *HlsEncryption {
3138	s.ConstantInitializationVector = &v
3139	return s
3140}
3141
3142// SetEncryptionMethod sets the EncryptionMethod field's value.
3143func (s *HlsEncryption) SetEncryptionMethod(v string) *HlsEncryption {
3144	s.EncryptionMethod = &v
3145	return s
3146}
3147
3148// SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
3149func (s *HlsEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *HlsEncryption {
3150	s.SpekeKeyProvider = v
3151	return s
3152}
3153
3154// An HTTP Live Streaming (HLS) manifest configuration.
3155type HlsManifest struct {
3156	_ struct{} `type:"structure"`
3157
3158	// This setting controls how ad markers are included in the packaged OriginEndpoint."NONE"
3159	// will omit all SCTE-35 ad markers from the output."PASSTHROUGH" causes the
3160	// manifest to contain a copy of the SCTE-35 admarkers (comments) taken directly
3161	// from the input HTTP Live Streaming (HLS) manifest."SCTE35_ENHANCED" generates
3162	// ad markers and blackout tags based on SCTE-35messages in the input source.
3163	AdMarkers *string `locationName:"adMarkers" type:"string" enum:"AdMarkers"`
3164
3165	// When enabled, an I-Frame only stream will be included in the output.
3166	IncludeIframeOnlyStream *bool `locationName:"includeIframeOnlyStream" type:"boolean"`
3167
3168	// An optional string to include in the name of the manifest.
3169	ManifestName *string `locationName:"manifestName" type:"string"`
3170
3171	// The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME taginserted
3172	// into manifests. Additionally, when an interval is specifiedID3Timed Metadata
3173	// messages will be generated every 5 seconds using theingest time of the content.If
3174	// the interval is not specified, or set to 0, thenno EXT-X-PROGRAM-DATE-TIME
3175	// tags will be inserted into manifests and noID3Timed Metadata messages will
3176	// be generated. Note that irrespectiveof this parameter, if any ID3 Timed Metadata
3177	// is found in HTTP Live Streaming (HLS) input,it will be passed through to
3178	// HLS output.
3179	ProgramDateTimeIntervalSeconds *int64 `locationName:"programDateTimeIntervalSeconds" type:"integer"`
3180
3181	// When enabled, the EXT-X-KEY tag will be repeated in output manifests.
3182	RepeatExtXKey *bool `locationName:"repeatExtXKey" type:"boolean"`
3183
3184	// A StreamSelection configuration.
3185	StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"`
3186}
3187
3188// String returns the string representation
3189func (s HlsManifest) String() string {
3190	return awsutil.Prettify(s)
3191}
3192
3193// GoString returns the string representation
3194func (s HlsManifest) GoString() string {
3195	return s.String()
3196}
3197
3198// SetAdMarkers sets the AdMarkers field's value.
3199func (s *HlsManifest) SetAdMarkers(v string) *HlsManifest {
3200	s.AdMarkers = &v
3201	return s
3202}
3203
3204// SetIncludeIframeOnlyStream sets the IncludeIframeOnlyStream field's value.
3205func (s *HlsManifest) SetIncludeIframeOnlyStream(v bool) *HlsManifest {
3206	s.IncludeIframeOnlyStream = &v
3207	return s
3208}
3209
3210// SetManifestName sets the ManifestName field's value.
3211func (s *HlsManifest) SetManifestName(v string) *HlsManifest {
3212	s.ManifestName = &v
3213	return s
3214}
3215
3216// SetProgramDateTimeIntervalSeconds sets the ProgramDateTimeIntervalSeconds field's value.
3217func (s *HlsManifest) SetProgramDateTimeIntervalSeconds(v int64) *HlsManifest {
3218	s.ProgramDateTimeIntervalSeconds = &v
3219	return s
3220}
3221
3222// SetRepeatExtXKey sets the RepeatExtXKey field's value.
3223func (s *HlsManifest) SetRepeatExtXKey(v bool) *HlsManifest {
3224	s.RepeatExtXKey = &v
3225	return s
3226}
3227
3228// SetStreamSelection sets the StreamSelection field's value.
3229func (s *HlsManifest) SetStreamSelection(v *StreamSelection) *HlsManifest {
3230	s.StreamSelection = v
3231	return s
3232}
3233
3234// An HTTP Live Streaming (HLS) packaging configuration.
3235type HlsPackage struct {
3236	_ struct{} `type:"structure"`
3237
3238	// An HTTP Live Streaming (HLS) encryption configuration.
3239	Encryption *HlsEncryption `locationName:"encryption" type:"structure"`
3240
3241	// A list of HLS manifest configurations.
3242	//
3243	// HlsManifests is a required field
3244	HlsManifests []*HlsManifest `locationName:"hlsManifests" type:"list" required:"true"`
3245
3246	// Duration (in seconds) of each fragment. Actual fragments will berounded to
3247	// the nearest multiple of the source fragment duration.
3248	SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"`
3249
3250	// When enabled, audio streams will be placed in rendition groups in the output.
3251	UseAudioRenditionGroup *bool `locationName:"useAudioRenditionGroup" type:"boolean"`
3252}
3253
3254// String returns the string representation
3255func (s HlsPackage) String() string {
3256	return awsutil.Prettify(s)
3257}
3258
3259// GoString returns the string representation
3260func (s HlsPackage) GoString() string {
3261	return s.String()
3262}
3263
3264// Validate inspects the fields of the type to determine if they are valid.
3265func (s *HlsPackage) Validate() error {
3266	invalidParams := request.ErrInvalidParams{Context: "HlsPackage"}
3267	if s.HlsManifests == nil {
3268		invalidParams.Add(request.NewErrParamRequired("HlsManifests"))
3269	}
3270	if s.Encryption != nil {
3271		if err := s.Encryption.Validate(); err != nil {
3272			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
3273		}
3274	}
3275
3276	if invalidParams.Len() > 0 {
3277		return invalidParams
3278	}
3279	return nil
3280}
3281
3282// SetEncryption sets the Encryption field's value.
3283func (s *HlsPackage) SetEncryption(v *HlsEncryption) *HlsPackage {
3284	s.Encryption = v
3285	return s
3286}
3287
3288// SetHlsManifests sets the HlsManifests field's value.
3289func (s *HlsPackage) SetHlsManifests(v []*HlsManifest) *HlsPackage {
3290	s.HlsManifests = v
3291	return s
3292}
3293
3294// SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value.
3295func (s *HlsPackage) SetSegmentDurationSeconds(v int64) *HlsPackage {
3296	s.SegmentDurationSeconds = &v
3297	return s
3298}
3299
3300// SetUseAudioRenditionGroup sets the UseAudioRenditionGroup field's value.
3301func (s *HlsPackage) SetUseAudioRenditionGroup(v bool) *HlsPackage {
3302	s.UseAudioRenditionGroup = &v
3303	return s
3304}
3305
3306type InternalServerErrorException struct {
3307	_            struct{}                  `type:"structure"`
3308	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3309
3310	Message_ *string `locationName:"message" type:"string"`
3311}
3312
3313// String returns the string representation
3314func (s InternalServerErrorException) String() string {
3315	return awsutil.Prettify(s)
3316}
3317
3318// GoString returns the string representation
3319func (s InternalServerErrorException) GoString() string {
3320	return s.String()
3321}
3322
3323func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error {
3324	return &InternalServerErrorException{
3325		RespMetadata: v,
3326	}
3327}
3328
3329// Code returns the exception type name.
3330func (s *InternalServerErrorException) Code() string {
3331	return "InternalServerErrorException"
3332}
3333
3334// Message returns the exception's message.
3335func (s *InternalServerErrorException) Message() string {
3336	if s.Message_ != nil {
3337		return *s.Message_
3338	}
3339	return ""
3340}
3341
3342// OrigErr always returns nil, satisfies awserr.Error interface.
3343func (s *InternalServerErrorException) OrigErr() error {
3344	return nil
3345}
3346
3347func (s *InternalServerErrorException) Error() string {
3348	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3349}
3350
3351// Status code returns the HTTP status code for the request's response error.
3352func (s *InternalServerErrorException) StatusCode() int {
3353	return s.RespMetadata.StatusCode
3354}
3355
3356// RequestID returns the service's response RequestID for request.
3357func (s *InternalServerErrorException) RequestID() string {
3358	return s.RespMetadata.RequestID
3359}
3360
3361type ListAssetsInput struct {
3362	_ struct{} `type:"structure"`
3363
3364	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
3365
3366	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
3367
3368	PackagingGroupId *string `location:"querystring" locationName:"packagingGroupId" type:"string"`
3369}
3370
3371// String returns the string representation
3372func (s ListAssetsInput) String() string {
3373	return awsutil.Prettify(s)
3374}
3375
3376// GoString returns the string representation
3377func (s ListAssetsInput) GoString() string {
3378	return s.String()
3379}
3380
3381// Validate inspects the fields of the type to determine if they are valid.
3382func (s *ListAssetsInput) Validate() error {
3383	invalidParams := request.ErrInvalidParams{Context: "ListAssetsInput"}
3384	if s.MaxResults != nil && *s.MaxResults < 1 {
3385		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3386	}
3387
3388	if invalidParams.Len() > 0 {
3389		return invalidParams
3390	}
3391	return nil
3392}
3393
3394// SetMaxResults sets the MaxResults field's value.
3395func (s *ListAssetsInput) SetMaxResults(v int64) *ListAssetsInput {
3396	s.MaxResults = &v
3397	return s
3398}
3399
3400// SetNextToken sets the NextToken field's value.
3401func (s *ListAssetsInput) SetNextToken(v string) *ListAssetsInput {
3402	s.NextToken = &v
3403	return s
3404}
3405
3406// SetPackagingGroupId sets the PackagingGroupId field's value.
3407func (s *ListAssetsInput) SetPackagingGroupId(v string) *ListAssetsInput {
3408	s.PackagingGroupId = &v
3409	return s
3410}
3411
3412type ListAssetsOutput struct {
3413	_ struct{} `type:"structure"`
3414
3415	Assets []*AssetShallow `locationName:"assets" type:"list"`
3416
3417	NextToken *string `locationName:"nextToken" type:"string"`
3418}
3419
3420// String returns the string representation
3421func (s ListAssetsOutput) String() string {
3422	return awsutil.Prettify(s)
3423}
3424
3425// GoString returns the string representation
3426func (s ListAssetsOutput) GoString() string {
3427	return s.String()
3428}
3429
3430// SetAssets sets the Assets field's value.
3431func (s *ListAssetsOutput) SetAssets(v []*AssetShallow) *ListAssetsOutput {
3432	s.Assets = v
3433	return s
3434}
3435
3436// SetNextToken sets the NextToken field's value.
3437func (s *ListAssetsOutput) SetNextToken(v string) *ListAssetsOutput {
3438	s.NextToken = &v
3439	return s
3440}
3441
3442type ListPackagingConfigurationsInput struct {
3443	_ struct{} `type:"structure"`
3444
3445	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
3446
3447	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
3448
3449	PackagingGroupId *string `location:"querystring" locationName:"packagingGroupId" type:"string"`
3450}
3451
3452// String returns the string representation
3453func (s ListPackagingConfigurationsInput) String() string {
3454	return awsutil.Prettify(s)
3455}
3456
3457// GoString returns the string representation
3458func (s ListPackagingConfigurationsInput) GoString() string {
3459	return s.String()
3460}
3461
3462// Validate inspects the fields of the type to determine if they are valid.
3463func (s *ListPackagingConfigurationsInput) Validate() error {
3464	invalidParams := request.ErrInvalidParams{Context: "ListPackagingConfigurationsInput"}
3465	if s.MaxResults != nil && *s.MaxResults < 1 {
3466		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3467	}
3468
3469	if invalidParams.Len() > 0 {
3470		return invalidParams
3471	}
3472	return nil
3473}
3474
3475// SetMaxResults sets the MaxResults field's value.
3476func (s *ListPackagingConfigurationsInput) SetMaxResults(v int64) *ListPackagingConfigurationsInput {
3477	s.MaxResults = &v
3478	return s
3479}
3480
3481// SetNextToken sets the NextToken field's value.
3482func (s *ListPackagingConfigurationsInput) SetNextToken(v string) *ListPackagingConfigurationsInput {
3483	s.NextToken = &v
3484	return s
3485}
3486
3487// SetPackagingGroupId sets the PackagingGroupId field's value.
3488func (s *ListPackagingConfigurationsInput) SetPackagingGroupId(v string) *ListPackagingConfigurationsInput {
3489	s.PackagingGroupId = &v
3490	return s
3491}
3492
3493type ListPackagingConfigurationsOutput struct {
3494	_ struct{} `type:"structure"`
3495
3496	NextToken *string `locationName:"nextToken" type:"string"`
3497
3498	PackagingConfigurations []*PackagingConfiguration `locationName:"packagingConfigurations" type:"list"`
3499}
3500
3501// String returns the string representation
3502func (s ListPackagingConfigurationsOutput) String() string {
3503	return awsutil.Prettify(s)
3504}
3505
3506// GoString returns the string representation
3507func (s ListPackagingConfigurationsOutput) GoString() string {
3508	return s.String()
3509}
3510
3511// SetNextToken sets the NextToken field's value.
3512func (s *ListPackagingConfigurationsOutput) SetNextToken(v string) *ListPackagingConfigurationsOutput {
3513	s.NextToken = &v
3514	return s
3515}
3516
3517// SetPackagingConfigurations sets the PackagingConfigurations field's value.
3518func (s *ListPackagingConfigurationsOutput) SetPackagingConfigurations(v []*PackagingConfiguration) *ListPackagingConfigurationsOutput {
3519	s.PackagingConfigurations = v
3520	return s
3521}
3522
3523type ListPackagingGroupsInput struct {
3524	_ struct{} `type:"structure"`
3525
3526	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
3527
3528	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
3529}
3530
3531// String returns the string representation
3532func (s ListPackagingGroupsInput) String() string {
3533	return awsutil.Prettify(s)
3534}
3535
3536// GoString returns the string representation
3537func (s ListPackagingGroupsInput) GoString() string {
3538	return s.String()
3539}
3540
3541// Validate inspects the fields of the type to determine if they are valid.
3542func (s *ListPackagingGroupsInput) Validate() error {
3543	invalidParams := request.ErrInvalidParams{Context: "ListPackagingGroupsInput"}
3544	if s.MaxResults != nil && *s.MaxResults < 1 {
3545		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3546	}
3547
3548	if invalidParams.Len() > 0 {
3549		return invalidParams
3550	}
3551	return nil
3552}
3553
3554// SetMaxResults sets the MaxResults field's value.
3555func (s *ListPackagingGroupsInput) SetMaxResults(v int64) *ListPackagingGroupsInput {
3556	s.MaxResults = &v
3557	return s
3558}
3559
3560// SetNextToken sets the NextToken field's value.
3561func (s *ListPackagingGroupsInput) SetNextToken(v string) *ListPackagingGroupsInput {
3562	s.NextToken = &v
3563	return s
3564}
3565
3566type ListPackagingGroupsOutput struct {
3567	_ struct{} `type:"structure"`
3568
3569	NextToken *string `locationName:"nextToken" type:"string"`
3570
3571	PackagingGroups []*PackagingGroup `locationName:"packagingGroups" type:"list"`
3572}
3573
3574// String returns the string representation
3575func (s ListPackagingGroupsOutput) String() string {
3576	return awsutil.Prettify(s)
3577}
3578
3579// GoString returns the string representation
3580func (s ListPackagingGroupsOutput) GoString() string {
3581	return s.String()
3582}
3583
3584// SetNextToken sets the NextToken field's value.
3585func (s *ListPackagingGroupsOutput) SetNextToken(v string) *ListPackagingGroupsOutput {
3586	s.NextToken = &v
3587	return s
3588}
3589
3590// SetPackagingGroups sets the PackagingGroups field's value.
3591func (s *ListPackagingGroupsOutput) SetPackagingGroups(v []*PackagingGroup) *ListPackagingGroupsOutput {
3592	s.PackagingGroups = v
3593	return s
3594}
3595
3596type ListTagsForResourceInput struct {
3597	_ struct{} `type:"structure"`
3598
3599	// ResourceArn is a required field
3600	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
3601}
3602
3603// String returns the string representation
3604func (s ListTagsForResourceInput) String() string {
3605	return awsutil.Prettify(s)
3606}
3607
3608// GoString returns the string representation
3609func (s ListTagsForResourceInput) GoString() string {
3610	return s.String()
3611}
3612
3613// Validate inspects the fields of the type to determine if they are valid.
3614func (s *ListTagsForResourceInput) Validate() error {
3615	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
3616	if s.ResourceArn == nil {
3617		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
3618	}
3619	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
3620		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
3621	}
3622
3623	if invalidParams.Len() > 0 {
3624		return invalidParams
3625	}
3626	return nil
3627}
3628
3629// SetResourceArn sets the ResourceArn field's value.
3630func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
3631	s.ResourceArn = &v
3632	return s
3633}
3634
3635type ListTagsForResourceOutput struct {
3636	_ struct{} `type:"structure"`
3637
3638	Tags map[string]*string `locationName:"tags" type:"map"`
3639}
3640
3641// String returns the string representation
3642func (s ListTagsForResourceOutput) String() string {
3643	return awsutil.Prettify(s)
3644}
3645
3646// GoString returns the string representation
3647func (s ListTagsForResourceOutput) GoString() string {
3648	return s.String()
3649}
3650
3651// SetTags sets the Tags field's value.
3652func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
3653	s.Tags = v
3654	return s
3655}
3656
3657// A Microsoft Smooth Streaming (MSS) encryption configuration.
3658type MssEncryption struct {
3659	_ struct{} `type:"structure"`
3660
3661	// A configuration for accessing an external Secure Packager and Encoder Key
3662	// Exchange (SPEKE) service that will provide encryption keys.
3663	//
3664	// SpekeKeyProvider is a required field
3665	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"`
3666}
3667
3668// String returns the string representation
3669func (s MssEncryption) String() string {
3670	return awsutil.Prettify(s)
3671}
3672
3673// GoString returns the string representation
3674func (s MssEncryption) GoString() string {
3675	return s.String()
3676}
3677
3678// Validate inspects the fields of the type to determine if they are valid.
3679func (s *MssEncryption) Validate() error {
3680	invalidParams := request.ErrInvalidParams{Context: "MssEncryption"}
3681	if s.SpekeKeyProvider == nil {
3682		invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider"))
3683	}
3684	if s.SpekeKeyProvider != nil {
3685		if err := s.SpekeKeyProvider.Validate(); err != nil {
3686			invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams))
3687		}
3688	}
3689
3690	if invalidParams.Len() > 0 {
3691		return invalidParams
3692	}
3693	return nil
3694}
3695
3696// SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
3697func (s *MssEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *MssEncryption {
3698	s.SpekeKeyProvider = v
3699	return s
3700}
3701
3702// A Microsoft Smooth Streaming (MSS) manifest configuration.
3703type MssManifest struct {
3704	_ struct{} `type:"structure"`
3705
3706	// An optional string to include in the name of the manifest.
3707	ManifestName *string `locationName:"manifestName" type:"string"`
3708
3709	// A StreamSelection configuration.
3710	StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"`
3711}
3712
3713// String returns the string representation
3714func (s MssManifest) String() string {
3715	return awsutil.Prettify(s)
3716}
3717
3718// GoString returns the string representation
3719func (s MssManifest) GoString() string {
3720	return s.String()
3721}
3722
3723// SetManifestName sets the ManifestName field's value.
3724func (s *MssManifest) SetManifestName(v string) *MssManifest {
3725	s.ManifestName = &v
3726	return s
3727}
3728
3729// SetStreamSelection sets the StreamSelection field's value.
3730func (s *MssManifest) SetStreamSelection(v *StreamSelection) *MssManifest {
3731	s.StreamSelection = v
3732	return s
3733}
3734
3735// A Microsoft Smooth Streaming (MSS) PackagingConfiguration.
3736type MssPackage struct {
3737	_ struct{} `type:"structure"`
3738
3739	// A Microsoft Smooth Streaming (MSS) encryption configuration.
3740	Encryption *MssEncryption `locationName:"encryption" type:"structure"`
3741
3742	// A list of MSS manifest configurations.
3743	//
3744	// MssManifests is a required field
3745	MssManifests []*MssManifest `locationName:"mssManifests" type:"list" required:"true"`
3746
3747	// The duration (in seconds) of each segment.
3748	SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"`
3749}
3750
3751// String returns the string representation
3752func (s MssPackage) String() string {
3753	return awsutil.Prettify(s)
3754}
3755
3756// GoString returns the string representation
3757func (s MssPackage) GoString() string {
3758	return s.String()
3759}
3760
3761// Validate inspects the fields of the type to determine if they are valid.
3762func (s *MssPackage) Validate() error {
3763	invalidParams := request.ErrInvalidParams{Context: "MssPackage"}
3764	if s.MssManifests == nil {
3765		invalidParams.Add(request.NewErrParamRequired("MssManifests"))
3766	}
3767	if s.Encryption != nil {
3768		if err := s.Encryption.Validate(); err != nil {
3769			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
3770		}
3771	}
3772
3773	if invalidParams.Len() > 0 {
3774		return invalidParams
3775	}
3776	return nil
3777}
3778
3779// SetEncryption sets the Encryption field's value.
3780func (s *MssPackage) SetEncryption(v *MssEncryption) *MssPackage {
3781	s.Encryption = v
3782	return s
3783}
3784
3785// SetMssManifests sets the MssManifests field's value.
3786func (s *MssPackage) SetMssManifests(v []*MssManifest) *MssPackage {
3787	s.MssManifests = v
3788	return s
3789}
3790
3791// SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value.
3792func (s *MssPackage) SetSegmentDurationSeconds(v int64) *MssPackage {
3793	s.SegmentDurationSeconds = &v
3794	return s
3795}
3796
3797type NotFoundException struct {
3798	_            struct{}                  `type:"structure"`
3799	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3800
3801	Message_ *string `locationName:"message" type:"string"`
3802}
3803
3804// String returns the string representation
3805func (s NotFoundException) String() string {
3806	return awsutil.Prettify(s)
3807}
3808
3809// GoString returns the string representation
3810func (s NotFoundException) GoString() string {
3811	return s.String()
3812}
3813
3814func newErrorNotFoundException(v protocol.ResponseMetadata) error {
3815	return &NotFoundException{
3816		RespMetadata: v,
3817	}
3818}
3819
3820// Code returns the exception type name.
3821func (s *NotFoundException) Code() string {
3822	return "NotFoundException"
3823}
3824
3825// Message returns the exception's message.
3826func (s *NotFoundException) Message() string {
3827	if s.Message_ != nil {
3828		return *s.Message_
3829	}
3830	return ""
3831}
3832
3833// OrigErr always returns nil, satisfies awserr.Error interface.
3834func (s *NotFoundException) OrigErr() error {
3835	return nil
3836}
3837
3838func (s *NotFoundException) Error() string {
3839	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3840}
3841
3842// Status code returns the HTTP status code for the request's response error.
3843func (s *NotFoundException) StatusCode() int {
3844	return s.RespMetadata.StatusCode
3845}
3846
3847// RequestID returns the service's response RequestID for request.
3848func (s *NotFoundException) RequestID() string {
3849	return s.RespMetadata.RequestID
3850}
3851
3852// A MediaPackage VOD PackagingConfiguration resource.
3853type PackagingConfiguration struct {
3854	_ struct{} `type:"structure"`
3855
3856	// The ARN of the PackagingConfiguration.
3857	Arn *string `locationName:"arn" type:"string"`
3858
3859	// A CMAF packaging configuration.
3860	CmafPackage *CmafPackage `locationName:"cmafPackage" type:"structure"`
3861
3862	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
3863	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
3864
3865	// An HTTP Live Streaming (HLS) packaging configuration.
3866	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
3867
3868	// The ID of the PackagingConfiguration.
3869	Id *string `locationName:"id" type:"string"`
3870
3871	// A Microsoft Smooth Streaming (MSS) PackagingConfiguration.
3872	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
3873
3874	// The ID of a PackagingGroup.
3875	PackagingGroupId *string `locationName:"packagingGroupId" type:"string"`
3876
3877	// A collection of tags associated with a resource
3878	Tags map[string]*string `locationName:"tags" type:"map"`
3879}
3880
3881// String returns the string representation
3882func (s PackagingConfiguration) String() string {
3883	return awsutil.Prettify(s)
3884}
3885
3886// GoString returns the string representation
3887func (s PackagingConfiguration) GoString() string {
3888	return s.String()
3889}
3890
3891// SetArn sets the Arn field's value.
3892func (s *PackagingConfiguration) SetArn(v string) *PackagingConfiguration {
3893	s.Arn = &v
3894	return s
3895}
3896
3897// SetCmafPackage sets the CmafPackage field's value.
3898func (s *PackagingConfiguration) SetCmafPackage(v *CmafPackage) *PackagingConfiguration {
3899	s.CmafPackage = v
3900	return s
3901}
3902
3903// SetDashPackage sets the DashPackage field's value.
3904func (s *PackagingConfiguration) SetDashPackage(v *DashPackage) *PackagingConfiguration {
3905	s.DashPackage = v
3906	return s
3907}
3908
3909// SetHlsPackage sets the HlsPackage field's value.
3910func (s *PackagingConfiguration) SetHlsPackage(v *HlsPackage) *PackagingConfiguration {
3911	s.HlsPackage = v
3912	return s
3913}
3914
3915// SetId sets the Id field's value.
3916func (s *PackagingConfiguration) SetId(v string) *PackagingConfiguration {
3917	s.Id = &v
3918	return s
3919}
3920
3921// SetMssPackage sets the MssPackage field's value.
3922func (s *PackagingConfiguration) SetMssPackage(v *MssPackage) *PackagingConfiguration {
3923	s.MssPackage = v
3924	return s
3925}
3926
3927// SetPackagingGroupId sets the PackagingGroupId field's value.
3928func (s *PackagingConfiguration) SetPackagingGroupId(v string) *PackagingConfiguration {
3929	s.PackagingGroupId = &v
3930	return s
3931}
3932
3933// SetTags sets the Tags field's value.
3934func (s *PackagingConfiguration) SetTags(v map[string]*string) *PackagingConfiguration {
3935	s.Tags = v
3936	return s
3937}
3938
3939// A MediaPackage VOD PackagingGroup resource.
3940type PackagingGroup struct {
3941	_ struct{} `type:"structure"`
3942
3943	// The ARN of the PackagingGroup.
3944	Arn *string `locationName:"arn" type:"string"`
3945
3946	// CDN Authorization credentials
3947	Authorization *Authorization `locationName:"authorization" type:"structure"`
3948
3949	// The fully qualified domain name for Assets in the PackagingGroup.
3950	DomainName *string `locationName:"domainName" type:"string"`
3951
3952	// The ID of the PackagingGroup.
3953	Id *string `locationName:"id" type:"string"`
3954
3955	// A collection of tags associated with a resource
3956	Tags map[string]*string `locationName:"tags" type:"map"`
3957}
3958
3959// String returns the string representation
3960func (s PackagingGroup) String() string {
3961	return awsutil.Prettify(s)
3962}
3963
3964// GoString returns the string representation
3965func (s PackagingGroup) GoString() string {
3966	return s.String()
3967}
3968
3969// SetArn sets the Arn field's value.
3970func (s *PackagingGroup) SetArn(v string) *PackagingGroup {
3971	s.Arn = &v
3972	return s
3973}
3974
3975// SetAuthorization sets the Authorization field's value.
3976func (s *PackagingGroup) SetAuthorization(v *Authorization) *PackagingGroup {
3977	s.Authorization = v
3978	return s
3979}
3980
3981// SetDomainName sets the DomainName field's value.
3982func (s *PackagingGroup) SetDomainName(v string) *PackagingGroup {
3983	s.DomainName = &v
3984	return s
3985}
3986
3987// SetId sets the Id field's value.
3988func (s *PackagingGroup) SetId(v string) *PackagingGroup {
3989	s.Id = &v
3990	return s
3991}
3992
3993// SetTags sets the Tags field's value.
3994func (s *PackagingGroup) SetTags(v map[string]*string) *PackagingGroup {
3995	s.Tags = v
3996	return s
3997}
3998
3999type ServiceUnavailableException struct {
4000	_            struct{}                  `type:"structure"`
4001	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4002
4003	Message_ *string `locationName:"message" type:"string"`
4004}
4005
4006// String returns the string representation
4007func (s ServiceUnavailableException) String() string {
4008	return awsutil.Prettify(s)
4009}
4010
4011// GoString returns the string representation
4012func (s ServiceUnavailableException) GoString() string {
4013	return s.String()
4014}
4015
4016func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
4017	return &ServiceUnavailableException{
4018		RespMetadata: v,
4019	}
4020}
4021
4022// Code returns the exception type name.
4023func (s *ServiceUnavailableException) Code() string {
4024	return "ServiceUnavailableException"
4025}
4026
4027// Message returns the exception's message.
4028func (s *ServiceUnavailableException) Message() string {
4029	if s.Message_ != nil {
4030		return *s.Message_
4031	}
4032	return ""
4033}
4034
4035// OrigErr always returns nil, satisfies awserr.Error interface.
4036func (s *ServiceUnavailableException) OrigErr() error {
4037	return nil
4038}
4039
4040func (s *ServiceUnavailableException) Error() string {
4041	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4042}
4043
4044// Status code returns the HTTP status code for the request's response error.
4045func (s *ServiceUnavailableException) StatusCode() int {
4046	return s.RespMetadata.StatusCode
4047}
4048
4049// RequestID returns the service's response RequestID for request.
4050func (s *ServiceUnavailableException) RequestID() string {
4051	return s.RespMetadata.RequestID
4052}
4053
4054// A configuration for accessing an external Secure Packager and Encoder Key
4055// Exchange (SPEKE) service that will provide encryption keys.
4056type SpekeKeyProvider struct {
4057	_ struct{} `type:"structure"`
4058
4059	// An Amazon Resource Name (ARN) of an IAM role that AWS ElementalMediaPackage
4060	// will assume when accessing the key provider service.
4061	//
4062	// RoleArn is a required field
4063	RoleArn *string `locationName:"roleArn" type:"string" required:"true"`
4064
4065	// The system IDs to include in key requests.
4066	//
4067	// SystemIds is a required field
4068	SystemIds []*string `locationName:"systemIds" type:"list" required:"true"`
4069
4070	// The URL of the external key provider service.
4071	//
4072	// Url is a required field
4073	Url *string `locationName:"url" type:"string" required:"true"`
4074}
4075
4076// String returns the string representation
4077func (s SpekeKeyProvider) String() string {
4078	return awsutil.Prettify(s)
4079}
4080
4081// GoString returns the string representation
4082func (s SpekeKeyProvider) GoString() string {
4083	return s.String()
4084}
4085
4086// Validate inspects the fields of the type to determine if they are valid.
4087func (s *SpekeKeyProvider) Validate() error {
4088	invalidParams := request.ErrInvalidParams{Context: "SpekeKeyProvider"}
4089	if s.RoleArn == nil {
4090		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
4091	}
4092	if s.SystemIds == nil {
4093		invalidParams.Add(request.NewErrParamRequired("SystemIds"))
4094	}
4095	if s.Url == nil {
4096		invalidParams.Add(request.NewErrParamRequired("Url"))
4097	}
4098
4099	if invalidParams.Len() > 0 {
4100		return invalidParams
4101	}
4102	return nil
4103}
4104
4105// SetRoleArn sets the RoleArn field's value.
4106func (s *SpekeKeyProvider) SetRoleArn(v string) *SpekeKeyProvider {
4107	s.RoleArn = &v
4108	return s
4109}
4110
4111// SetSystemIds sets the SystemIds field's value.
4112func (s *SpekeKeyProvider) SetSystemIds(v []*string) *SpekeKeyProvider {
4113	s.SystemIds = v
4114	return s
4115}
4116
4117// SetUrl sets the Url field's value.
4118func (s *SpekeKeyProvider) SetUrl(v string) *SpekeKeyProvider {
4119	s.Url = &v
4120	return s
4121}
4122
4123// A StreamSelection configuration.
4124type StreamSelection struct {
4125	_ struct{} `type:"structure"`
4126
4127	// The maximum video bitrate (bps) to include in output.
4128	MaxVideoBitsPerSecond *int64 `locationName:"maxVideoBitsPerSecond" type:"integer"`
4129
4130	// The minimum video bitrate (bps) to include in output.
4131	MinVideoBitsPerSecond *int64 `locationName:"minVideoBitsPerSecond" type:"integer"`
4132
4133	// A directive that determines the order of streams in the output.
4134	StreamOrder *string `locationName:"streamOrder" type:"string" enum:"StreamOrder"`
4135}
4136
4137// String returns the string representation
4138func (s StreamSelection) String() string {
4139	return awsutil.Prettify(s)
4140}
4141
4142// GoString returns the string representation
4143func (s StreamSelection) GoString() string {
4144	return s.String()
4145}
4146
4147// SetMaxVideoBitsPerSecond sets the MaxVideoBitsPerSecond field's value.
4148func (s *StreamSelection) SetMaxVideoBitsPerSecond(v int64) *StreamSelection {
4149	s.MaxVideoBitsPerSecond = &v
4150	return s
4151}
4152
4153// SetMinVideoBitsPerSecond sets the MinVideoBitsPerSecond field's value.
4154func (s *StreamSelection) SetMinVideoBitsPerSecond(v int64) *StreamSelection {
4155	s.MinVideoBitsPerSecond = &v
4156	return s
4157}
4158
4159// SetStreamOrder sets the StreamOrder field's value.
4160func (s *StreamSelection) SetStreamOrder(v string) *StreamSelection {
4161	s.StreamOrder = &v
4162	return s
4163}
4164
4165type TagResourceInput struct {
4166	_ struct{} `type:"structure"`
4167
4168	// ResourceArn is a required field
4169	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
4170
4171	// Tags is a required field
4172	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
4173}
4174
4175// String returns the string representation
4176func (s TagResourceInput) String() string {
4177	return awsutil.Prettify(s)
4178}
4179
4180// GoString returns the string representation
4181func (s TagResourceInput) GoString() string {
4182	return s.String()
4183}
4184
4185// Validate inspects the fields of the type to determine if they are valid.
4186func (s *TagResourceInput) Validate() error {
4187	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
4188	if s.ResourceArn == nil {
4189		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
4190	}
4191	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
4192		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
4193	}
4194	if s.Tags == nil {
4195		invalidParams.Add(request.NewErrParamRequired("Tags"))
4196	}
4197
4198	if invalidParams.Len() > 0 {
4199		return invalidParams
4200	}
4201	return nil
4202}
4203
4204// SetResourceArn sets the ResourceArn field's value.
4205func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
4206	s.ResourceArn = &v
4207	return s
4208}
4209
4210// SetTags sets the Tags field's value.
4211func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
4212	s.Tags = v
4213	return s
4214}
4215
4216type TagResourceOutput struct {
4217	_ struct{} `type:"structure"`
4218}
4219
4220// String returns the string representation
4221func (s TagResourceOutput) String() string {
4222	return awsutil.Prettify(s)
4223}
4224
4225// GoString returns the string representation
4226func (s TagResourceOutput) GoString() string {
4227	return s.String()
4228}
4229
4230type TooManyRequestsException struct {
4231	_            struct{}                  `type:"structure"`
4232	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4233
4234	Message_ *string `locationName:"message" type:"string"`
4235}
4236
4237// String returns the string representation
4238func (s TooManyRequestsException) String() string {
4239	return awsutil.Prettify(s)
4240}
4241
4242// GoString returns the string representation
4243func (s TooManyRequestsException) GoString() string {
4244	return s.String()
4245}
4246
4247func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
4248	return &TooManyRequestsException{
4249		RespMetadata: v,
4250	}
4251}
4252
4253// Code returns the exception type name.
4254func (s *TooManyRequestsException) Code() string {
4255	return "TooManyRequestsException"
4256}
4257
4258// Message returns the exception's message.
4259func (s *TooManyRequestsException) Message() string {
4260	if s.Message_ != nil {
4261		return *s.Message_
4262	}
4263	return ""
4264}
4265
4266// OrigErr always returns nil, satisfies awserr.Error interface.
4267func (s *TooManyRequestsException) OrigErr() error {
4268	return nil
4269}
4270
4271func (s *TooManyRequestsException) Error() string {
4272	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4273}
4274
4275// Status code returns the HTTP status code for the request's response error.
4276func (s *TooManyRequestsException) StatusCode() int {
4277	return s.RespMetadata.StatusCode
4278}
4279
4280// RequestID returns the service's response RequestID for request.
4281func (s *TooManyRequestsException) RequestID() string {
4282	return s.RespMetadata.RequestID
4283}
4284
4285type UnprocessableEntityException struct {
4286	_            struct{}                  `type:"structure"`
4287	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4288
4289	Message_ *string `locationName:"message" type:"string"`
4290}
4291
4292// String returns the string representation
4293func (s UnprocessableEntityException) String() string {
4294	return awsutil.Prettify(s)
4295}
4296
4297// GoString returns the string representation
4298func (s UnprocessableEntityException) GoString() string {
4299	return s.String()
4300}
4301
4302func newErrorUnprocessableEntityException(v protocol.ResponseMetadata) error {
4303	return &UnprocessableEntityException{
4304		RespMetadata: v,
4305	}
4306}
4307
4308// Code returns the exception type name.
4309func (s *UnprocessableEntityException) Code() string {
4310	return "UnprocessableEntityException"
4311}
4312
4313// Message returns the exception's message.
4314func (s *UnprocessableEntityException) Message() string {
4315	if s.Message_ != nil {
4316		return *s.Message_
4317	}
4318	return ""
4319}
4320
4321// OrigErr always returns nil, satisfies awserr.Error interface.
4322func (s *UnprocessableEntityException) OrigErr() error {
4323	return nil
4324}
4325
4326func (s *UnprocessableEntityException) Error() string {
4327	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4328}
4329
4330// Status code returns the HTTP status code for the request's response error.
4331func (s *UnprocessableEntityException) StatusCode() int {
4332	return s.RespMetadata.StatusCode
4333}
4334
4335// RequestID returns the service's response RequestID for request.
4336func (s *UnprocessableEntityException) RequestID() string {
4337	return s.RespMetadata.RequestID
4338}
4339
4340type UntagResourceInput struct {
4341	_ struct{} `type:"structure"`
4342
4343	// ResourceArn is a required field
4344	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
4345
4346	// TagKeys is a required field
4347	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
4348}
4349
4350// String returns the string representation
4351func (s UntagResourceInput) String() string {
4352	return awsutil.Prettify(s)
4353}
4354
4355// GoString returns the string representation
4356func (s UntagResourceInput) GoString() string {
4357	return s.String()
4358}
4359
4360// Validate inspects the fields of the type to determine if they are valid.
4361func (s *UntagResourceInput) Validate() error {
4362	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
4363	if s.ResourceArn == nil {
4364		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
4365	}
4366	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
4367		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
4368	}
4369	if s.TagKeys == nil {
4370		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
4371	}
4372
4373	if invalidParams.Len() > 0 {
4374		return invalidParams
4375	}
4376	return nil
4377}
4378
4379// SetResourceArn sets the ResourceArn field's value.
4380func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
4381	s.ResourceArn = &v
4382	return s
4383}
4384
4385// SetTagKeys sets the TagKeys field's value.
4386func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
4387	s.TagKeys = v
4388	return s
4389}
4390
4391type UntagResourceOutput struct {
4392	_ struct{} `type:"structure"`
4393}
4394
4395// String returns the string representation
4396func (s UntagResourceOutput) String() string {
4397	return awsutil.Prettify(s)
4398}
4399
4400// GoString returns the string representation
4401func (s UntagResourceOutput) GoString() string {
4402	return s.String()
4403}
4404
4405type UpdatePackagingGroupInput struct {
4406	_ struct{} `type:"structure"`
4407
4408	// CDN Authorization credentials
4409	Authorization *Authorization `locationName:"authorization" type:"structure"`
4410
4411	// Id is a required field
4412	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
4413}
4414
4415// String returns the string representation
4416func (s UpdatePackagingGroupInput) String() string {
4417	return awsutil.Prettify(s)
4418}
4419
4420// GoString returns the string representation
4421func (s UpdatePackagingGroupInput) GoString() string {
4422	return s.String()
4423}
4424
4425// Validate inspects the fields of the type to determine if they are valid.
4426func (s *UpdatePackagingGroupInput) Validate() error {
4427	invalidParams := request.ErrInvalidParams{Context: "UpdatePackagingGroupInput"}
4428	if s.Id == nil {
4429		invalidParams.Add(request.NewErrParamRequired("Id"))
4430	}
4431	if s.Id != nil && len(*s.Id) < 1 {
4432		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
4433	}
4434	if s.Authorization != nil {
4435		if err := s.Authorization.Validate(); err != nil {
4436			invalidParams.AddNested("Authorization", err.(request.ErrInvalidParams))
4437		}
4438	}
4439
4440	if invalidParams.Len() > 0 {
4441		return invalidParams
4442	}
4443	return nil
4444}
4445
4446// SetAuthorization sets the Authorization field's value.
4447func (s *UpdatePackagingGroupInput) SetAuthorization(v *Authorization) *UpdatePackagingGroupInput {
4448	s.Authorization = v
4449	return s
4450}
4451
4452// SetId sets the Id field's value.
4453func (s *UpdatePackagingGroupInput) SetId(v string) *UpdatePackagingGroupInput {
4454	s.Id = &v
4455	return s
4456}
4457
4458type UpdatePackagingGroupOutput struct {
4459	_ struct{} `type:"structure"`
4460
4461	Arn *string `locationName:"arn" type:"string"`
4462
4463	// CDN Authorization credentials
4464	Authorization *Authorization `locationName:"authorization" type:"structure"`
4465
4466	DomainName *string `locationName:"domainName" type:"string"`
4467
4468	Id *string `locationName:"id" type:"string"`
4469
4470	// A collection of tags associated with a resource
4471	Tags map[string]*string `locationName:"tags" type:"map"`
4472}
4473
4474// String returns the string representation
4475func (s UpdatePackagingGroupOutput) String() string {
4476	return awsutil.Prettify(s)
4477}
4478
4479// GoString returns the string representation
4480func (s UpdatePackagingGroupOutput) GoString() string {
4481	return s.String()
4482}
4483
4484// SetArn sets the Arn field's value.
4485func (s *UpdatePackagingGroupOutput) SetArn(v string) *UpdatePackagingGroupOutput {
4486	s.Arn = &v
4487	return s
4488}
4489
4490// SetAuthorization sets the Authorization field's value.
4491func (s *UpdatePackagingGroupOutput) SetAuthorization(v *Authorization) *UpdatePackagingGroupOutput {
4492	s.Authorization = v
4493	return s
4494}
4495
4496// SetDomainName sets the DomainName field's value.
4497func (s *UpdatePackagingGroupOutput) SetDomainName(v string) *UpdatePackagingGroupOutput {
4498	s.DomainName = &v
4499	return s
4500}
4501
4502// SetId sets the Id field's value.
4503func (s *UpdatePackagingGroupOutput) SetId(v string) *UpdatePackagingGroupOutput {
4504	s.Id = &v
4505	return s
4506}
4507
4508// SetTags sets the Tags field's value.
4509func (s *UpdatePackagingGroupOutput) SetTags(v map[string]*string) *UpdatePackagingGroupOutput {
4510	s.Tags = v
4511	return s
4512}
4513
4514const (
4515	// AdMarkersNone is a AdMarkers enum value
4516	AdMarkersNone = "NONE"
4517
4518	// AdMarkersScte35Enhanced is a AdMarkers enum value
4519	AdMarkersScte35Enhanced = "SCTE35_ENHANCED"
4520
4521	// AdMarkersPassthrough is a AdMarkers enum value
4522	AdMarkersPassthrough = "PASSTHROUGH"
4523)
4524
4525// AdMarkers_Values returns all elements of the AdMarkers enum
4526func AdMarkers_Values() []string {
4527	return []string{
4528		AdMarkersNone,
4529		AdMarkersScte35Enhanced,
4530		AdMarkersPassthrough,
4531	}
4532}
4533
4534const (
4535	// EncryptionMethodAes128 is a EncryptionMethod enum value
4536	EncryptionMethodAes128 = "AES_128"
4537
4538	// EncryptionMethodSampleAes is a EncryptionMethod enum value
4539	EncryptionMethodSampleAes = "SAMPLE_AES"
4540)
4541
4542// EncryptionMethod_Values returns all elements of the EncryptionMethod enum
4543func EncryptionMethod_Values() []string {
4544	return []string{
4545		EncryptionMethodAes128,
4546		EncryptionMethodSampleAes,
4547	}
4548}
4549
4550const (
4551	// ManifestLayoutFull is a ManifestLayout enum value
4552	ManifestLayoutFull = "FULL"
4553
4554	// ManifestLayoutCompact is a ManifestLayout enum value
4555	ManifestLayoutCompact = "COMPACT"
4556)
4557
4558// ManifestLayout_Values returns all elements of the ManifestLayout enum
4559func ManifestLayout_Values() []string {
4560	return []string{
4561		ManifestLayoutFull,
4562		ManifestLayoutCompact,
4563	}
4564}
4565
4566const (
4567	// PeriodTriggersElementAds is a PeriodTriggersElement enum value
4568	PeriodTriggersElementAds = "ADS"
4569)
4570
4571// PeriodTriggersElement_Values returns all elements of the PeriodTriggersElement enum
4572func PeriodTriggersElement_Values() []string {
4573	return []string{
4574		PeriodTriggersElementAds,
4575	}
4576}
4577
4578const (
4579	// ProfileNone is a Profile enum value
4580	ProfileNone = "NONE"
4581
4582	// ProfileHbbtv15 is a Profile enum value
4583	ProfileHbbtv15 = "HBBTV_1_5"
4584)
4585
4586// Profile_Values returns all elements of the Profile enum
4587func Profile_Values() []string {
4588	return []string{
4589		ProfileNone,
4590		ProfileHbbtv15,
4591	}
4592}
4593
4594const (
4595	// SegmentTemplateFormatNumberWithTimeline is a SegmentTemplateFormat enum value
4596	SegmentTemplateFormatNumberWithTimeline = "NUMBER_WITH_TIMELINE"
4597
4598	// SegmentTemplateFormatTimeWithTimeline is a SegmentTemplateFormat enum value
4599	SegmentTemplateFormatTimeWithTimeline = "TIME_WITH_TIMELINE"
4600
4601	// SegmentTemplateFormatNumberWithDuration is a SegmentTemplateFormat enum value
4602	SegmentTemplateFormatNumberWithDuration = "NUMBER_WITH_DURATION"
4603)
4604
4605// SegmentTemplateFormat_Values returns all elements of the SegmentTemplateFormat enum
4606func SegmentTemplateFormat_Values() []string {
4607	return []string{
4608		SegmentTemplateFormatNumberWithTimeline,
4609		SegmentTemplateFormatTimeWithTimeline,
4610		SegmentTemplateFormatNumberWithDuration,
4611	}
4612}
4613
4614const (
4615	// StreamOrderOriginal is a StreamOrder enum value
4616	StreamOrderOriginal = "ORIGINAL"
4617
4618	// StreamOrderVideoBitrateAscending is a StreamOrder enum value
4619	StreamOrderVideoBitrateAscending = "VIDEO_BITRATE_ASCENDING"
4620
4621	// StreamOrderVideoBitrateDescending is a StreamOrder enum value
4622	StreamOrderVideoBitrateDescending = "VIDEO_BITRATE_DESCENDING"
4623)
4624
4625// StreamOrder_Values returns all elements of the StreamOrder enum
4626func StreamOrder_Values() []string {
4627	return []string{
4628		StreamOrderOriginal,
4629		StreamOrderVideoBitrateAscending,
4630		StreamOrderVideoBitrateDescending,
4631	}
4632}
4633