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